Jumat, 19 Oktober 2012

Pembahasan III Method (JENI)


3. Pemberian Variabel Dalam Method


Pada contoh kita sebelumnya , kita sudah pernah mecoba melewati variabel pada method.
Walaupun kita belumdapat membedakan antara perbedaan tipe variabel yang diberikan
(passing) ke method dalam Java. Ada dua tipe data variabel passing pada method, yang
pertama adalah pass-by-value dan yang kedua adalah pass-by-reference.

1.3 Pass-by-Value
Ketika pass-by-values terjadi, method membuat sebuah salinan dari nilai variable yang
dikirimkan ke method. Walaupun demikian, method tidak dapat secara langsung
memodifikasi nilai variabel pengirimnya meskipun parameter salinannya sudah dimodifikasi
nilainya di dalam method.


Pada contoh diatas, kita memanggil method tes dan melewatkan nilai variabel i sebagai
parameter. Nilai pada i disalinkan ke variable j pada method. Pada kondisi ini variabel j
adalah merupakan variabel pengganti pada method tes, jika nilai j berubah maka nilai
variabel i yang terletak pada main tidak akan ikut berubah walaupun awalnya variabel j
merupakan salinan dari variabel i.
Secara default, semua tipe data primitif ketika dilewatkan pada sebuah method adalah
pass-by-value.

2.3 Pass-by-reference
Ketika sebuah pass-by-reference terjadi, alamat memori dari nilai pada sebuah variabel
dilewatkan pada saat pemanggilan method. Hal ini berarti bahwa method menyalin alamat
memori dari variabel yang dilewatkan pada method. Ini tidak seperti pada pass-by-value,
method dapat memodifikasi variabel asli dengan menggunakan alamat memori tersebut,
meskipun berbeda nama variabel yang digunakan dalam method dengan variabel aslinya,
kedua variabel ini menunjukkan lokasi dari data yang sama.





Pembahasan II Method (JENI)



2. Memanggil Instance dan memberikan Variabel dari Method
Sekarang, untuk mengilustrasikan bagaimana memanggil method, mari kita menggunakan class
string sebagai contoh. Anda dapat menggunakan the dokumentasi dari Java API untuk melihat
semua method yang tersedia dalam class string. Selanjutnya, kita akan membuat method, kita
sendiri. Tapi untuk saat ini, mari terlebih dahulu kita gunakan method yang sudah disediakan oleh
Java.

Untuk memanggil sebuah instance method, kita dapat menuliskan :

    nameOfObject.nameOfMethod( parameters );

mari kita mengambil dua contoh method yang ditemukan dalam class String.




Pembahasan I Method (JENI)



1. Apakah Method itu dan mengapa menggunakan Method?
Pada contoh yang telah kita diskusikan sebelumnya, kita hanya memiliki satu method, dan itu
adalah method main(). Di dalam Java, kita dapat mendefinisikan banyak method yang akan
kita panggil dari method yang berbeda.

Sebuah method adalah bagian-bagian kode yang dapat dipanggil oleh program utama atau
dari method lainnya untuk menjalankan fungsi yang spesifik.

Berikut adalah karakteristik dari method :
1. dapat mengembalikan satu nilai atau tidak sama sekali
2. dapat diterima beberapa parameter yang dibutuhkan atau tidak ada parameter sama
    sekali. Parameter bisa juga disebut sebagai argumen dari fungsi
3. setelah method telah selesai dieksekusi, dia akan kembali pada method yang
    memanggilnya.


Sekarang mengapa kita butuh untuk membuat banyak method? Mengapa kita tidak menuliskan
semua kode pada sebuah method? Hal ini karena penyelesaian masalah yang sangat efektif adalah
memecah masalah-masalah tersebut menjadi beberapa bagian. Kita juga dapat melakukan hal ini di
Java dengan membuat method untuk mengatasi bagian tertentu dari masalah. Sebuah
permasalahan dapat dipecah-pecah menjadi beberapa bagian kecil. Hal ini sangat baik sekali untuk
membuat program yang sangat besar.



Class dan Object (JENI)



1. Perbedaan Class dan Object
Pada dunia perangkat lunak, sebuah obyek adalah sebuah komponen perangkat lunak yang
stukturnya mirip dengan obyek pada dunia nyata. Setiap obyek dibangun dari sekumpulan
data (atribut) yang disebut variabel untuk menjabarkan karakteristik khusus dari obyek, dan
juga terdiri dari sekumpulan method yang menjabarkan tingkah laku dari obyek. Bisa
dikatakan bahwa obyek adalah sebuah perangkat lunak yang berisi sekumpulan variabel dan
method yg berhubungan. Variabel dan method dalam obyek Java secara formal diketahui
sebagai variabel instance dan method instance. Hal ini dilakukan untuk membedakan dari
variabel class dan method class, dimana akan dibahas kemudian.

Class adalah sturktur dasar dari OOP. Class terdiri dari dua tipe dari anggota dimana disebut
dengan field (attribut/properti) dan method. Field merupakan tipe data yang didefinisikan
oleh class, sementara method merupakan operasi. Sebuah obyek adalah sebuah instance
(keturunan) dari class.

Untuk dapat membedakanantara class dan obyek, mari kita mendiskusikan beberapa contoh
berikut ini. Kita memiliki sebuah class mobil dimana dapat digunakan untuk medefinisikan
beberapa obyek mobil. Pada tabel dibawah, mobil A dan mobil B adalah obyek dari class
mobil. Class memiliki field nomor, plat, warna, manufaktur dan kecepatan yang diisi dengan
nilai pada obyek mobil A dan mobil B. Mobil juga dapat berakselerasi, berbelok dan
melakukan rem.



Ketika diinisialisi, setiap obyek mendapat satu set variabel yang baru. Bagaimanapun,
implementasi dari method dibagi diantara objek pada class yang sama.
Class menyediakan keuntungan dari reusability. Programmer perangkat lunak dapat
menggunakan sebuah kelas beberapa kali untuk membuat banyak objek.

2. Instansiasi Class
Untuk membuat sebuah objek atau sebuah instance pada sebuah class. Kita menggunakan
operator new. Sebagai contoh, jika anda ingin membuat instance dari class string, kita
menggunakan kode berikut :

     String str2 = new String(“Hello world!”);

Ini juga sama dengan,

     String str2 = "Hello";

3. Variabel Class dan Variabel Method
Selain dari variabel instance, kita juga memungkinkan untuk mendefinisikan variabel dari
class, yang nantinya variabel ini dimiliki oleh class. Ini berarti variabel ini dapat memiliki nilai
yang sama untuk semua objek pada class yang sama. Mereka juga disebut static member
variables.


Pengenalan Pemrograman Berorientasi Obyek (JENI)



OOP berputar pada konsep dari obyek yang merupakan elemen dasar dari program Anda.
Ketika kita membandingkan dengan dunia nyata, kita dapat menemukan beberapa obyek
disekitar kita seperti mobil, singa, manusia dan seterusnya. Obyek ini dikarakterisasi oleh
atribut dan tingkah lakunya.
Contohnya, objek sebuah mobil mempunyai atribut tipe transmisi, warna dan manufaktur.
Mempunyai tingkah laku berbelok, mengerem dan berakselerasi. Dengan cara yang sama
pula kita dapat mendefinisikan perbedaan sifat dan tingkah laku dari singa. Coba perhatikan
tabel dibawah ini sebagai contoh perbandingan :


Dengan deskripsi ini, obyek pada dunia nyata dapat secara mudah asumsikan sebagai obyek
perangkat lunak menggunakan atribut sebagai data dan tingkah laku sebagai method. Data
dan method dapat digunakan dalam pemrograman game atau perangkat lunak interaktif
untuk membuat simulasi obyek pada dunia nyata. Contohnya adalah perangkat lunak obyek
mobil dalam permainan balap mobil atau perangkat lunak obyek singa dalam sebuah
perangkat lunak pendidikan interaktif pada kebun binatang untuk anak anak.


Argument Command-line di NetBeans (JENI)





Untuk mengilustrasikan sebuah argumen yang diberikan dengan menggunakan
NetBeans, marilah kita membuat sebuah program Java yang akan mencetak
jumlah argumen dan argumen pertama diberikan pada program tersebut.

   public class CommandLineExample
   {
      public static void main( String[] args ){
         System.out.println("Number of arguments=" +
                             args.length);
         System.out.println("First Argument="+ args[0]);
      }
   }

Sekarang, jalankan NetBeans, buat sebuah project yang baru, dan beri nama project ini
CommanLineExample. Salin kode yang telah dituliskan diatas, kemudian dilakukan proses
compile.

Argumen Command-line (JENI)



Sebuah aplikasi Java dapat menerima sejumlah argumen dari command-line. Argumen
dari command line memberikan kesempatan bagi user untuk mengatur operasi dari
sebuah aplikasi dalam sekali pemanggilan program. User memasukkan argumen
command line pada saat memanggil aplikasi dan menspesifikasikan argumen tersebut
setelah nama dari class yang akan dijalankan.
Sebagai contoh, apabila Anda memiliki sebuah aplikasi Java dengan nama Sort, yang
akan mengurutkan lima nomor, Anda dapat menjalankannya seperti berikut ini:


Perlu diperhatikan bahwa sebuah argumen dapat dipisahkan oleh ruang spasi. Pada
bahasa pemrograman Java, jika kita akan memanggil sebuah aplikasi, sistem runtime
akan memberikan argumen command-line ke method main yang dimiliki oleh aplikasi
menggunakan sebuah array dari String. Lalu, setiap String di dalam array mewakili
sebuah argumen commmand-line. Perhatikan deklarasi dari main method,

public static void main( String[] args )

Argumen yang diberikan kepada program Anda akan disimpan kedalam sebuah array
String dengan identifier args.

Pada contoh sebelumnya, argumen dari command-line yang akan diberikan
kepada aplikasi sort command adalah sebuah array dengan lima buah String yaitu
“5”,”4”,”3”,”2”, dan “1”. Anda dapat mengetahaui berapa banyak argumen dari
command-line dengan cara melihat panjang dari attribute array.
Sebagai contoh,

   int numberOfArgs = args.length;

Jika program Anda membutuhkan argumen command-line yang bertipe angka. Anda
harus mengkonversi argumen String tersebut untuk merepresantasikan sebuah angka,
misalnya “34” menjadi sebuah angka 34. Kode dibawah ini adalah sebuah potongan
program untuk mengkonversi sebuah argumen command-line menjadi tipe integer.

   int firstArg = 0;
   if (args.length > 0){
        firstArg = Integer.parseInt(args[0]);
   }

parseInt akan melempar eksepsi NumberFormatException (ERROR) jika format args[0]
tidak valid (bukan sebuah angka).