Kenali Data Type Supaya Tidak Salah Pilih

2:29 PM , 1 Comments

Selamat sore para pembaca yang baik hatinya, berjumpa lagi dengan saya mantan mahasiswa ekonomi yang konon katanya nyasar. Pada curhatan sebelumnya  saya beberapa kali menyebut kata "data type". Apa sih data type? Ya kalo diterjemahin mentah ke dalam bahasa Indonesia jadinya tipe data. :P
~ Udah? Gitu aja?
* Enggak juga sih, mari kita lanjutkan.
Bahasa Java ga sesimple bahasa jawa, apalagi bahasa Indonesia, bahasa Java adalah strongly typed language. Ketika kita membuat program dalam bahasa Java kita harus mendefinisikan tipe-tipe data yang akan kita buat dalam program tersebut. Misalnya kita akan membuat variable jumlahPintu yang merepresentasikan berapa banyaknya pintu yang ada dalam rumah atau kamar atau gedung, seperti yang kita tahu "jumlah" merepresentasikan "angka" sehingga untuk variable jumlahPintu harus kita definisikan sebagai variable dengan data type yang merepresentasikan numerical value seperti int, long, double, dll. Contoh,
int jumlahPintu;

Java berbeda dengan javascript yang ketika membuat variable cukup dengan menambahkan kata "var" sebelum nama variablenya, atau PHP yang cukup dengan menggunakan simbol dollar ($) sebagai awalan nama variable. Untuk mendeklarasikan sebuah variable dalam Java harus diawali dengan data type identifier yang kita inginkan.

Dalam bahasa Java ada 3 bentuk data type, yaitu Primitive Type, User-Defined Type, dan Array Type.

1. Primitive Type

Oke, kita masuk ke data type pertama, Primitive Type.
~Makanan apakah itu?
~Apakah dia makhluk yang hidup di jaman purba?
Bukan, primitive type adalah katagori tipe data yang didefinisikan atau dibuat oleh si Java itu sendiri, kita sebagai (calon) developer tinggal memanfaatkan saja, nilai yang disimpan dalam data bertipe primitive ini adalah non-objek, hanya data biasa, seperti angka 1, atau huruf a, atau nilai benar atau salah. Berikut ringkasan jenis primitive data type.

Primitive Type Reserved WordSizeMin ValueMax Value
Booleanboolean------
Characterchar16-bitUnicode 0Unicode 65,535
Byte integerbyte8-bit-128+127
Short integershort16-bit-32,768+32,767
Integerint32–bit-2,147,483,648+2,147,483,647
Long integerlong64-bit-9,223,372,036,
854,775,808
+9,223,372,036,
854,775,807
Floating-pointfloat32–bitIEEE 754IEEE 754
Double precision floating-pointdouble64-bitIEEE 754IEEE 754

Mari gali sedikit saja apa maksudnya dari tabel diatas (cuma tahu sedikit, hehehe).

Yang pertama, yang paling atas, adalah data type Boolean. Variable yang didefinisikan ke dalam data type Boolean akan memiliki nilai berupa true atau false. Contoh pendeklarasian,
boolean bisaTerbang;

Lanjut ke nomor 2, kita ketemu dengan Character. Pada dasarnya setiap yang kita ketik adalah character, bisa berupa angka, huruf, simbol, tanda baca, dll. Character memiliki ukuran sebesar 16 bit, maksudnya adalah setiap kita mendeklarasikan sebuah variable bertipe char komputer akan mengalokasikan memori sebesar 16 bit untuk menyimpan nilai yang akan dimasukan ke dalam variable tersebut. Character memiliki nilai minimum Unicode 0, yang maksudnya Unicode code point pertama. Karena namanya character maka data yang bisa disimpan hanya "sebuah" character. Contoh pendeklarasian,
char letter;

Berikutnya, ada 4 data type untuk menyimpan data berupa angka bulat.
~ Semuanya untuk menyimpan angka bulat?
* Ya
~ Terus kenapa harus ada 4 kalo semuanya sama-sama untuk menyimpan angka bulat?
* Karena...
Jika diperhatikan keempat data type tersebut memiliki ukuran, nilai minimum, dan nilai maksimum yang berbeda, makin ke bawah makin besar. Ukuran data dan nilai minimum-maksimum memiliki hubungan. Untuk memahami konsepnya sepertinya cukup dijelaskan untuk yang tipe byte sebagai ilustrasi.

byte memiliki ukuran sebesar 8 bit. Tadi di atas sudah dijelaskan masalah memori, maka variable bertipe byte akan membutuhkan alokasi memori sebesar 8 bit untuk menyimpan data. Dari dalam tabel dapat dilihat bahwa semakin besar ukurannya maka jangkauan nilainya juga semakin besar.
~ Kenapa bisa begitu?
Karena setiap bit itu merepresentasikan banyaknya digit kode binary, pernah denger binary? Ya, itu, yang angka 01010101 dst. Jadi jika sebuah data berukuran 8 bit dia akan menggunakan 8 digit kode binary yang diisi angka 0 atau 1.
~ Terus hubungannya sama jangkauan nilai gimana?
Jadi, misalnya memori yang dialokasikan sebesar 8 bit maka nilai minimumnya adalah sebesar -(28-1) atau -(27) = -128 dan nilai maksimumnya sebesar 28-1-1 = 27-1 = 127. Angka 127 akan memiliki kode binary 01111111. Angka yang paling kiri menunjukan positif atau negatif, jika 0 maka positif jika 1 maka negatif. Untuk ilustrasi kode binary dibawah merepresentasikan angka 19,
0 0 0 1 0 0 1 1
0 x 27 0 x 26 0 x 25 1 x 24 0 x 23 0 x 22 1 x 21 1 x 20

0 + 0 + 0 + 16 + 0 + 0 + 2 + 1 = 19

Sedangkan untuk angkan -19 tidak semena-mena mengubah angka 0 di depan menjadi 1. Kode binary untuk angka -19 adalah 11101101. Sebenarnya saya masih belum paham masalah kode binary untuk yang minus ini. Jika pembaca ada yang mengerti tolong dijelaskan dengan simpel kepada saya yang masih pemula ini.

Tapi yang saya pahami dari angka -19 adalah kode binarynya 19 dibalik dari 0 jadi 1 dan 1 jadi 0 kemudian ditambahkan 1. Kode binary 19 adalah 00010011 dibalik menjadi 11101100 kemudian ditambahkan 1 jadi 11101101.
~Gimana kalo 2? kan 00000010 dibalik jadi 11111101, di ujung
kanan sudah 1
Karena sudah 1 maka ditambah 1 jadi 0, seperti 5+6, ada sisa lagi 1 digeser ke kiri, karena dikirinya 0 maka jadi 1, selesai, jadinya 11111110. Contoh lagi misalnya 4, kode binarynya 000000100 dibalik jadi 11111011 ditambah 1 jadi 11111100. (Mohon dikoreksi kalo salah :D)

====================
UPDATE 22 Juni 2015:
Akhirnya saya paham mengenai kode binary untuk nilai negatif, lupakan penjelasan binary negatif sebelumnya, agak ngasal memang.
Kita ambil contoh terakhir, yaitu 4, kode binarynya adalah 000000100, sedangkan -4 kode binarynya 11111100 (sama kayak penjelasan sebelumnya). Dengan penjelasan:

1 1 1 1 1 1 0 0
- (1 x 27) 1 x 26 1 x 25 1 x 24 1 x 23 1 x 22 0 x 21 0 x 20

-128 + 64 + 32 + 16 + 8 + 4 + 0 + 0 = -4

====================

Kembali kepada inti masalah, karena setiap tipe butuh alokasi memori yang berbeda maka bijaklah dalam menentukan data type yang akan dipake karena akan mempengaruhi penggunaan memori dan ujung-ujungnya mempengaruhi performance aplikasi kita. Jika hanya menyimpan angka dari 0 - 100 maka cukup gunakan short. Tapi ada kabar baik juga, dari buku yang saya baca, karena jaman sekarang komputer dan perangkat mobile sudah canggih punya power dan memori yang gede maka urusan data type ini sudah bukan jadi barang yang harus dipusingkan. Kalo mau pake long ya silakan-silakan saja.

Yang perlu diingat untuk angka bulat, ketika memberikan nilai pada variable bertipe long tambahkan huruf l atau L dibelakang angka. Untuk tahu bedanya silakan buat variable bertipe long yang berada diluar jangkauan int, misalnya 10,000,000,000.


Berdasarkan pesan errornya jika kita tidak menambahkan hurf L (atau l) dibelakang angka maka compiler akan menganggapnya sebagai int. Walaupun terasa aneh (angka ada hurufnya) tapi demi kesuksesan masa bodo aja. :D

*Untuk lebih lengkap masalah binary code tadi silakan baca disini: http://en.wikipedia.org/wiki/Two%27s_complement

Lupakan masalah binary code jika Anda senasib dengan saya (ga mudeng). Kita lanjut ke 2 data type terkahir, yaitu Floating-point dan Double precision floating-point. Keduanya dipakai untuk menyimpan data berupa angka desimal. Masalah nilai minimum dan maksimumnya silakan baca di sini http://en.wikipedia.org/wiki/IEEE_floating_point.

Yang agak ngeselin dari float dan double adalah jika kita melakukan operasi aritmatik terhadap data float atau double hasilnya bisa saja tidak sesuai dengan yang diharapkan, memang sih bedanya sangat tidak signifikan, tapi sebagai math-holic bikin agak kesel. Silakan dicoba kode berikut,
public class Main {
 
   static float a = 1.242f;
   static float b = 24.02f;
   static double x = 1.242d;
   static double y = 24.02d;
   
   public static void main(String[] args){
      System.out.println(a * 5 / 100); 
      //Output 0.0621
      System.out.println(b * 5 / 100); 
      //Output 1.2010001, kalo pake kalkulator hasilnya 1.201
      System.out.println(x * 5 / 100); 
      //Output 0.0621
      System.out.print(y * 5 / 100); 
      //Output 1.2009999999999998, kalo pake kalkulator hasilnya 1.201
   }
}

Tapi seharusnya ketidak-presisian itu tidak menjadi masalah, karena bedanya kecil sekali.

2. User-Defined Data Type

Sekarang saatnya masuk ke data type berikutnya, yaitu User-Defined Data Type, atau dalam bahasa manusianya tipe data buatan user. Dalam pembuatan data type biasanya user menggunakan konsep dari dunia nyata. Jika Java membuat primitive data type seperti int, boolean, double yang kita ga kenal sebelumnya, user biasanya membuat data type mereka sendiri seperti Color, Account, dll. Untuk membuat data type sendiri user menggunakan class, interface, enum, atau annotation type, karena itu nilai yang tersimpan dalam variable bertipe data buatan user akan selalu berupa objek.

User-defined data type disebut juga sebagai reference type dimana si variable tidak menyimpan objek secara langsung tapi hanya menyimpan "alamat"nya dimana si objek tersebut disimpan dalam memori, sedangkan variable bertipe primitive menyimpan nilainya sendiri secara langsung.

3. Array Type

Yang terakhir, Array Type, berfungsi untuk menyimpan data yang memiliki beberapa nilai ke dalam satu variable. Nilai yang disimpan bisa berupa primitive data atau objek. Deretan nilai yang disimpan disebut dengan element dimana element array dimulai dari 0. Untuk mendeklarasika array dibutuhkan tanda []. Contoh ilustrasi
public class Main {
   int[] x; //Hanya deklarasi tanpa assignment
   int[] no = {1,2,3,4,5}; // Deklarasi dan assigment
   int[] i = new int[5];/* Deklarasi tanpa assignment tapi mereserve element sebanyak 5 element */
}
Tanda [] bisa juga diletakan setelah pendeklarasian nama variable seperti int x[], namun biasanya diletakan setelah pendeklarasian tipe datanya. Tapi peletakan di belakang nama variable kadang-kadang bisa berguna jika kasusnya seperti ini,
public class Main {
   int x = 5, y[] = {1,2,3,4};
}
Yang menarik dari array adalah kemampuan yang dia miliki tidak hanya menyimpan banyak data dalam satu dimensi tapi bisa sampai 3 dimensi. Bayangkan sebuah array satu dimensi (array biasa) sebagai kaleng kecil yang dijejer (berperan sebagai element) yang masing-masing kaleng berisi permen (berperan sebagai value). Array dua dimensi bisa dibayangkan sebagai kaleng yang besar dijejer dan masing-masing kaleng berisi kaleng kecil dengan jumlah yang sama dan masing-masing kaleng kecil berisi permen (Atau bisa juga dibayangkan sebagai tabel yang dia punya baris dan kolom). Nah, untuk yang array tiga dimensi bisa dibayangkan sebagai kardus dijejer yang masing-masing berisi kaleng besar dengan jumlah yang sama, masing-masing kaleng besar berisi kaleng kecil dengan jumlah yang sama, dan masing-masing kaleng kecil berisi....., ya Anda benar, permen. :D

Untuk mengambil permennya kita hanya nunjuk dimana letak permen yang kita ambil. Kalo array satu dimensi tinggal tunjuk dia ada di kaleng nomer berapa (element ke berapa). Kalo array dua dimensi kita tunjuk dia di kaleng besar ke berapa dan kaleng kecil ke berapa. Kalo dibayangkan sebagai tabel kita tunjuk dia di BARIS berapa dan KOLOM berapa, bahasa kerennya dia ada di koordinat berapa (x,y). Untuk yang tiga dimensi tinggal ngikutin aja polanya. hahaha

Sepertinya semua unek-unek saya soal Data Type sudah keluar semua. Jadi saya sudahi saja sesi curhat kali ini, semoga pembaca semuanya enggak neg dan bosen. Jangan sungkan-sungkan jika ada yang salah, silakan diprotes. Saya sangat terbuka menerima kritik.

Oke, sampai di sini saja, jumpa lagi di curhatan berikutnya

1 comments:

Identifiers Dalam Java, Mari Berkenalan

4:35 PM , 1 Comments

Halo pembaca yang budiman, berjumpa lagi dengan saya sang calon programmer. Kali ini saya ingin mengeluarkan uneg-uneg/curhatan saya tentang Identifiers.

Pas pertama kali baca kata "identifiers" tiba-tiba saya langsung teringat sebuah adegan film dimana seseorang berkata kepada robot, "identify yourself", yang intinya orang tersebut meminta identitas si robot, kalo yang ditanya orang mungkin yang dimaksud adalah nama.

Ya, nama. Pembahasan Identifiers ini hanyalah masalah nama dalam bahasa pemrograman Java. Setiap kita membuat sebuah class, method, atau variable pasti membutuhkan nama, jika tidak bernama gimana caranya kita mengakses (manggil) mereka?

Identifier, atau nama, terdiri dari:
1. Huruf, A-Z, a-z, atau huruf-huruf lain, kanji misalnya.
2. Angka, 0-9
3. Karakter penghubung, seperti underscore ( _ )
4. Simbol mata uang, seperti $, £, dll

Dalam membuat nama, bisa dipakai semua jenis karakter di atas, tapi dilarang menggunakan angka sebagai awalan. Contoh nama yang valid seperti:
1. π
2. i
3. mobil
4. Ak47
5. anakIbu
6. _dia
7. roda$dua
8. silakan coba-coba sendiri, jika Anda menggunakan tool semacam Eclipse atau Netbeans atau yang lain pasti akan ada pesan error jika nama yang Anda buat adalah nama terlarang

Bahasa pemrograman Java sangat menuntut kita untuk memperhatikan penggunakan huruf kapital karena Java adalah bahasa yang case-sensitive. Misalnya, jika di awal kita men-declare sebuah variable dengan nama restuBundo, maka ketika kita memanggil variable tersebut harus dengan restuBundo juga. Dia tidak akan mau noleh jika dipanggil restubundo atau Restubundo atau RestuBundo, dll.

Perhatikan ilustrasi berikut,
package basic;

public class Main {

   String message;
   
   public static void main(String[] args){
       System.out.println(Message);/* Ini adalah contoh code yang buruk, message tidak sama dengan Message*/
       new Main().SomeMethod();/* Ini juga contoh code yang buruk, someMethod tidak sama dengan SomeMethod*/
   }
 
   void someMethod(){
   }
}
Banyak orang berkata "apalah arti sebuah nama". Well, dalam bahasa Java nama sangat berarti dan harus berhati-hati dalam membuat nama.

Dalam dunia persilatan Java ada sebuah ke-umum-an dalam penamaan, dan sebaiknya kita ikut juga
1. Untuk penamaan class dan interface (selalu) menggunakan huruf kapital (uppercase) untuk awal katanya, jika lebih dari satu kata maka setiap katanya diawali dengan huruf kapital. Contoh: Mobil, AngkutanUmum
2. Untuk penamaan package, variable non-konstan, dan method (selalu) digunakan huruf kecil, jika namanya lebih dari satu kata maka gunakan huruf kapital untuk setiap awal kata kecuali kata pertama. Contoh: int jumlahRoda, belokKanan()
3. Untuk penamaan variable konstan (selalu) digunakan huruf kapital seluruhnya, jika lebih dari satu kata maka disambung dengan "underscore" (_). Contoh: final String NAME, KOTA_TUA

Dalam memberikan sebuah nama biasakan untuk memberikan nama yang merepresentasikan "barang" yang memiliki nama tersebut.
package basic;

public class Kendaraan {

   int jumlahRoda;
   String warna;
   boolean bisaBelok;
   
   void gantiGigi(int gigiBaru){
   }

   void takeOff(){
   }
}
Dalam ilustrasi di atas saya membuat sebuah class bernama Kendaraan. Kenapa saya memberi nama class tersebut Kendaraan? Karena (ingat!) Java adalah bahasa berorientasi objek (Object Oriented Programming - OOP). Dalam OOP, class adalah blueprint atau cetakan atau model dari sebuah objek. Dari class nanti akan dibentuk sebuah objek dengan cara
Object obj = new Object();
Atau dalam kasus class Kendaraan saya tadi maka saya bisa membuat objek mobil dengan cara
Kendaraan mobil = new Kendaraan();
Jadi biasakan menamakan sebuah class dengan nama yang merepresentasikan sebuah objek.

Kemudian saya membuat sebuah variable dengan data type primitive int bernama jumlahRoda, sebuah variable dengan data type String bernama warna, dan sebuah variable dengan data type boolean bernama bisaBelok. Kita semua pasti tahu bahwa Kendaraan punya ciri-ciri, salah tiganya dia punya roda (kecuali kapal) dan warna dan apakah dia bisa belok atau tidak. Jadi untuk menamakan sebuah variable biasakan dengan nama-nama yang merepresentasikan apa yang dimiliki atau apa yang menjadi ciri-ciri objek yang akan dibuat dari class tersebut.

Untuk class Kendaraan tersebut saya membuat sebuah method bernama gantiGigi dan takeOff. Nama method ini merepresentasikan apa yang bisa dilakukan oleh sebuah kendaraan.

Kesimpulan dari pembahasan Identifier ini adalah kita bisa sebebas-bebasnya mebuat class, variable, dan method dengan nama semaunya kita. Tapi sangat disarankan untuk mengikuti kaidah-kidah yang telah berlaku umum untuk mempermudah pekerjaan kita nanti, terutama ketika kita bekerja dalam sebuah tim.

Cukup sekian curhatan saya kali ini, semoga Anda tidak mengantuk, jika mengantuk lain kali siapkan kopi dan singkong rebus jika ingin membaca curhatan yang lain. Sampai jumpa :D

1 comments:

Menggunakan Comments dalam Java untuk Mendeskripsikan Program

7:06 AM , 0 Comments

Selamat siang kawan-kawan, berjumpa lagi dengan saya sang mantan auditor. Kali ini saya mau posting masalah comments.

Hari ini saya belajar comments, apa itu comments? Dari yang sudah saya baca, comments itu hal yang sepele tapi punya manfaat yang luar biasa, yaitu untuk mendokumentasikan program atau code yang telah kita tulis.

Coba bayangkan Anda sudah capek-capek nulis ratusan atau bahkan ribuan baris code, menemukan sebuah terobosan baru, tapi tanpa ada keterangan apa-apa masalah code yang sudah Anda tulis. Kemudian Anda disibukkan oleh pekerjaan lain selama beberapa lama, setahun misalnya, tanpa melirik sedikitpun code-code yang sudah anda ciptakan. Sampai pada akhirnya pekerjaan Anda selesai dan Anda bisa kembali pada code-code Anda. Ketika dibuka Anda akan bingung dan berfikir
"Dulu bikin code ini buat apa ya?"
"Kata ini maksudnya apa ya?"
"Method ini kerjaannya ngapain ya?"
Alhasil Anda pun stres sendiri dan ujung-ujungnya memutuskan untuk mengulang pekerjaan yang sudah bertahun-tahun dikerjakan.

Dengan comments kita bisa memberikan penjelasan untuk setiap code yang kita buat agar nanti suatu saat jika kita membuka kembali code tersebut setelah sekian lama dianggurkan kita akan dengan mudah mengerti apa yang sudah kita kerjakan. Atau misalnya ketika kita bekerja dalam sebuah tim untuk membangun sebuah aplikasi maka rekan satu tim kita dapat mengerti apa dan bagaimana code kita bekerja sehingga mereka bisa menggunakan code kita tanpa harus dikit-dikit nanya kita.

Cara kerja comments sangat sederhana, setiap karakter (apapun) yang ada di dalam jangkauan comments akan diabaikan oleh komputer (compiler) sehingga tidak dieksekusi menjadi bagian dari program.

Dalam Java ada 3 macam comments yang bisa kita pakai untuk mendokumentasikan pekerjaan kita.
1. Single-Line Comments
Single-Line Comments mencakup satu baris (namanya juga single-line) dalam program kita yang akan diabaikan oleh komputer. Untuk membuat Single-Line Comments dimulai dengan "//" (tanpa petik) kemudian diikuti komen (keterangan) kita. Meneruskan contoh pada postingan sebelumnya saya akan memasukan comment ke dalam code HelloWorld saya
package greetings;

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World"); //Untuk menge-print satu baris tulisan "Hello World"
        System.out.println(Math.sqrt(3*3 + 4*4)); //Output = jarak koordinat (0,0) dan (3,4)
    }

}
Gunakan Single-Line Comments untuk memberikan penjelasan yang singkat namun bermakna. Jangan gunakan Single-Line Comments untuk memberikan penjelasan yang tidak perlu, seperti
package basic;

public class Comments{

    int i = 10; //Variable i untuk menyimpan data berupa primitive int

    public static void main(String[] args) {
        System.out.println(i);
    }

}

2. Multiline Comments
Jika Single-Line Comments hanya mencakup satu baris maka Multiline Comments mencakup lebih dari satu baris. Untuk membuat Multiline Comments dimulai dengan "/*" (tanpa petik) kemudian diikuti keterangan atau komen dan diakhiri dengan "*/" (tanpa petik).
package basic;

public class Comments {

   /*
    * Anggap saja ini adalah sebuah
    * method ga sederhana, sehingga
    * saya perlu memberikan penjelasan
    * agak panjang
    */
    double someMethod(int par1, int par2){
        return par1 * par2;
    }
}

Dalam Multiline Comment tidak diperbolehkan memasukan Multiline Comment lagi di dalamnya karena akan menyebabkan error. Contoh Multiline Comment terlarang:
package basic;

public class Comments {

   /*
    * Penjelasan pertama
    * /* terus ada penjelasan lagi */  << TERLARANG
    */
    double someMethod(int par1, int par2){
        return par1 * par2;
    }
}

Tanda * sebelum tiap kalimat jangan dipusingkan, hanyalah untuk memperindah. :D

3. Javadoc Comments
Javadoc Comments ini sangat bermanfaat, terutama jika bekerja dalam sebuah tim. Dengan Javadoc Comments kita tidak perlu membuka file Java atau class ketika ingin mengakses sebuah method dalam class tersebut. Semua keterangan yang kita berikan pada method tersebut akan muncul jika diakses dari class lain. Javadoc Comments dimulai dengan "/**" (lagi, tanpa petik) kemudian diikuti penjelasan dan diakhiri dengan "*/".
package basic;

public class Comments { 
   /** 
    * @param par1 sebuah angka dengan data type primitive int
    * @param par2 sebuah angka dengan data type primitive int
    * @return par1 * par2 sebuah angka dengan data type primitive double hasil perkalian par1 dan par2
    * @author Harry Marwanto
    * @category latihan
    * @since 28 January 2015
    */
    double someMethod(int par1, int par2){
        return par1 * par2;
    }

}

Kemudian beberapa bulan kemudian saya membuat class baru dengan nama Main dan ingin mengakses someMethod-nya class Comments dari class Main
package basic;

public class Main {
 
   public static void main(String[] args){
       Comments com = new Comments();
       com.someMethod(3, 2);
   }

}

Yang akan terjadi ketika ketikan code saya sampai pada "com.som" adalah Eclipse akan memunculkan sebuah window yang berisi informasi mengenai someMethod yang telah kita tulis di class Comments seperti berikut

Berikut adalah daftar identifier yang dipakai dalam Javadoc Comments:
1. @author untuk menjelaskan nama penulis program
2. @deprecated untuk menjelaskan bahwa code atau method sudah kadaluarsa, menekankan kepada pengguna code bahwa code atau method tersebut sebaiknya tidak digunakan lagi
3. @param untuk menjelaskan parameter apa yang digunakan/dibutuhkan oleh program
4. @see untuk memberikan referensi lain (see also....)
5. @since untuk memberitahukan kapan program tersebut direlease
6. @return untuk memberitahukan jenis data type yang diberikan oleh method, dalam contoh di atas adalah berupa data type primitive double
7. @throws menjelaskan exception apa yang dilempar oleh method

Oke, sekian dulu curhatan saya tentang Comments, jangan sungkan untuk protes jika ada yang salah dengan postingan saya, semoga curhatan saya ini tidak merusak mood Anda hari ini. Terima kasih sudah mampir, sampai jumpa di curhatan berikutnya. :D

0 comments:

Hello World

4:38 PM , 1 Comments

Halo pembaca yang masih ga bosen baca curhatan saya, berjumpa lagi dengan saya calon pelajar Computer Science.

HELLO WORLD, itulah pembahasan pertama dari setiap buku Java (juga PHP, mungkin semua bahasa juga).

Untuk tujuan latihan saya membuat project Java baru dengan nama Latihan. Kalo Anda terserah mau pake nama apapun.


Pertama buka menu File >> New >> Java Project

New Java Project
New Java Project

Berikutnya akan muncul window seperti ini

New Java Project

Karena saya baru belajar saya langsung saja klik Finish.


Oke, Siap untuk bertempur.


Sebelum menulis kode saya harus membuat Package. Package adalah cara untuk mengelompokan Class (file java), jika diilustrasikan Package itu adalah folder dalam komputer untuk menyimpan file. Untuk membuat package klik kanan di folder "src" >> New >> Package

New Package

Kemudian akan muncul window seperti ini

Greetings
Untuk latihan mencetak Hello World ini saya membuat package dengan nama greetings.

Woke, saatnya menulis code. Tapi sebelumnya saya harus membuat class baru, saya namakan class saya HelloWorld. Cara membuat class baru yaitu klik kanan pada package "greetings" >> New >> Class

New Java Class
New Class
Kemudian akan muncul window seperti ini
Java: HelloWorld
HelloWorld
Note: dalam penamaan Class tidak boleh ada spasi dan biasanya dimulai dengan huruf capital.

Setelah klik finish. Class HelloWorld akan otomatis memiliki code sebagai berikut

package greetings;

public class HelloWorld {

    public static void main(String[] args) {
    }

}
Ubah code tersebut menjadi seperti ini
package greetings;

public class HelloWorld {

    public static void main(String[] args) {
     System.out.println("Hello World");
    }

}
1. package greetings;
Ingat bahwa tadi saya membuat class HelloWorld ini di dalam package greetings. Sangat dianjurkan bagi pemula untuk selalu memulai code Java dengan deklarasi package-nya. Sebenernya tidak wajib, tapi sangat dianjurkan.

2. public class HelloWorld

Baris ini adalah untuk mendeklarasikan nama class-nya.
public, apa itu public? kenapa public? ini namanya access control level, fungsinya untuk menentukan class HelloWorld ini bisa diakses dari mana. Akan dijelaskan lebih detail nanti.
class, kata ini adalah yang paling wajib, harus ada, karena kata ini yang menentukan kita mau bikin apa, HelloWorld itu apa, apakah class, atau interface, atau method, atau variable.
HelloWorld, adalah nama class-nya. Untuk penamaan class biasanya dimulai dengan huruf kapital, jika terdiri dari lebih dari 1 kata maka semua katanya disambung (wajib) dengan masing-masing kata dimulai dengan huruf kapital, misalnya SatuDuaTiga. Cara penamaan seperti ini tidak wajib, tapi pada umumnya seperti itu untuk memudahkan kita nantinya.


3. public static void main (String[] args)
baris ini adalah pendeklarasian method. Dalam setiap aplikasi java wajib ada method ini karena Java Virtual Machine akan mencari method ini sebagai titik awal untuk mengeksekusi program.
Lagi-lagi public. Ya, access control level bisa digunakan untuk apapun, bisa untuk variable, class, method, interface & enum. 
static (opo meneh iki), dengan adanya static ini method main() menjadi miliknya class bukan miliknya object yang dibuat dari class ini. Bingung? Gapapa, nanti akan dibahas.
void, kata ini mengindikasikan bahwa method main() tidak memberikan return apa-apa, dia hanya melakukan sesuatu pekerjaan. Akan dibahas nanti lebih detail.
main(String[] args), ini adalah nama methodnya, yaitu main, dengan argument String[] args. String mengindikasikan bahwa argumennya merupakan data type String, tanda [] mengindikasikan bahwa dia berupa array, dan args adalah nama argumennya. Penamaan argument ini bisa juga dengan cara String args[], tapi pada umumnya tanda [] selalu melekat pada data typenya bukan pada nama argumentnya.

4. System.out.println("Hello World")
Inilah yang bertugas untuk memunculkan tulisan "Hello World" di console Anda. System adalah sebuah class di API Java, kemudian out adalah sebuah variable object yang ada di dalam class system, dan yang terakhir println (baca: print line) adalah method yang bertugas menge-print apapun yang ada di dalam tanda kurung (). Tanda petik "" tidak dibutuhkan jika Anda memasukan angka karena tanda "" hanya sebagai tanda untuk memberitahu komputer bahwa kita memasukan data type String sebagai argument.


Untuk mencoba menjalankan aplikasi pertama saya klik kanan file HelloWorld>>Run As>>Java Application. Perhatikan di bawah di bagian concole akan mucul tulisan "Hello World"

Jika Anda tidak menemukan window console silakan buka menu Window>>Show View>>Console


Oke, sekian dulu curhatan hari ini, postingannya panjang bener tapi ilmunya dikit. hehe


Sampai jumpa di postingan berikutnya.

1 comments:

Hello Java

6:47 AM 0 Comments

Halo pembaca yang budiman, berjumpa lagi dengan saya sang pencurhat. Setelah kemaren curhat masalah kisah asmara saya dengan komputer, sekarang saatnya saya bercerita tentang programming.



Java, kenapa Java? Dari sekian banyak bahasa pemrograman kenapa saya mulai dari Java?


Sebenernya ga langsung ke Java sih. Dulu awalnya belajar HTML, kemudian CSS, lalu PHP, pada pada ga ada yang fokus :D. Dulu waktu belajar PHP sempet bersinggungan dengan Java, tapi karena pusing, bahasanya njlimet, ada OOP dan segala macem akhirnya mundur, udah pusing mikirin kuliah harus mikirin Java pula, ga tahan saya (#lebay). Tapi karena sekarang Android sedang meroket akhirnya saya tertarik untuk belajar Java karena pengen bikin aplikasi Android.


Beberapa waktu yang lalu sempet browsing-browsing membandingkan berbagai bahasa, dan saya nemu sebuah artikel yang bilang Java adalah salah satu bahasa yang tepat untuk memulai belajar bahasa pemrograman, bukan C apalagi C++. Kemudian buka website kampus yang mau dimasukin buat liat-liat modul pembelajaran Computer Science. Ternyata di sana nanti yang pertama (mungkin satu-satunya juga) diajarin adalah Java. Akhirnya diputuskan saya akan mulai belajar Java.


Bagi anda yang ingin mulai belajar Java juga, silakan install terlebih dahulu Java, download di sini pilih yang JDK. Setelah selesai download kemudian install, biar lancar sebaiknya ikutin settingan default aja, tinggal next next dan finish. :D

Selama belajar Java saya menggunakan Eclipse untuk latihan. Saat post ini dibuat Eclipse rilis terbaru adalah Luna. Saya juga pernah menggunakan NetBeans, tapi setelah membandingkan akhirnya saya memilih menggunakan Eclipse.


Sekian ceritanya kenapa saya memulai belajar dari Java. Semoga menghibur :P. Sampai jumpa di curhatan berikutnya.


0 comments:

Selamat Datang

12:01 PM 0 Comments

Halo pembaca. Selamat datang di gubug saya. Di postingan pertama ini saya akan memulai blog ini dengan perkenalan dan sedikit cerita tentang kisah asmara saya dengan programming. (maaf ya, rada alay)

Kenalin, nama saya Harry Marwanto. Saya sebenarnya seorang akuntan, sama sekali tidak ada background IT, tapi saya sudah lama sekali tertarik sama IT. 
Saya pertama kali mengenal komputer waktu SMP, tapi bukan komputer sendiri, dulu salah satu teman saya waktu SMP punya komputer. Karena sering main ke rumah dia jadinya sering main-main komputer dia. Terus pas SMA ada extra kulikuler komputer, salah satu yang diajarin waktu itu adalah bikin HTML. Waktu itu sederhana banget pelajarannya, bahkan pas ujian pun cuma disuruh bikin sebuah halaman yang menampilkan gambar. Sampai pada saat itu saya belum tertarik sama komputer karena ga kepikir bakal mampu buat beli.

Tahun 2007 saya mendapat beasiswa masuk kuliah S1 akuntansi. Di sinilah saya akhirnya jatuh cinta sama yang namanya dunia komputer. Begitu masuk kuliah, kampus mengadakan program soft-loan untuk memfasilitasi mahasiswanya dengan laptop dengan cicilan ringan selama 3 tahun. Setelah akhirnya punya laptop sendiri akhirnya saya jadi sering browsing-browsing, kemudian bikin beberapa blog. Karena merasa tidak mempunyai bakat menulis akhirnya bosen ngeblog dan mulai jatuh cinta sama PHP. Tapi karena kesibukan kuliah akhirnya belajar PHP pun hanya sekedar dasarnya, dan sempet bikin beberapa web (tapi tidak pernah release) hanya untuk iseng-iseng latihan.


Tapi sayangnya, setelah lulus kuliah dan masuk ke dunia kerja sebagai auditor saya jadi semakin sibuk. Hubungan saya dengan dunia komputer dan pemrograman jadi semakin renggang dan tidak harmonis (#halah). Selama 3,5 tahun bekerja saya tidak pernah ngoding sedikitpun, tidak menghasilkan code satu barispun. Tahun terakhir saya bekerja akhirnya saya merasa sudah cukup bosen kerja sebagai auditor, walaupun kantornya bonafit (salah satu big 4), gajinya lumayan, dan prospek ke depannya sangat menjanjikan tapi saya kurang menikmati.


Kabar gembira datang. Istri saya lolos seleksi kuliah dan mendapat beasiswa kuliah master di Edinburgh (Scotland, United Kingdom) ambil jurusan Carbon Finance. Karena merasa kasihan jika istri saya sendirian di negeri orang akhirnya saya mengajukan proposal ke istri untuk menemani. Jadilah saya berangkat juga ke UK menemani istri. Selama di UK saya mencoba melamar pekerjaan, mulai dari yang sesuai dengan background saya sebagai akuntan sampai pekerjaan buruh seperti cleaning service. Sembari menunggu respon dari perusahaan yang saya lamar saya kembali iseng-iseng melakukan hobi lama, dimulai dengan iseng-iseng bikin aplikasi Android. Bermodal pengetahuan seadanya dalam beberapa bulan saya menghasilkan 3 aplikasi dan sudah dipublish di Play Store.


Blog ini ditujukan untuk berbagi ilmu yang sudah saya pelajari, dan tentu saja ditujukan untuk pembaca yang juga baru belajar. Bagi yang sudah expert mungkin bisa membantu saya jika ada yang salah. hehehe

Semoga blog ini bisa memberi manfaat untuk kawan-kawan yang juga tertarik untuk belajar bahasa pemrograman.


Sampai jumpa di post berikutnya.

0 comments: