Variabel Lokal dan Member di Java

Saya coba editor NetBeans IDE versi 6.5.1 (yang baru dirilis 16 Maret 2009 lalu) untuk menulis program dalam bahasa Java. Ternyata, wah, tak tau deh. Pas pertama kali menjalankannya juga sudah ngeri karena di NetBeans banyak sekali kategori proyeknya, dimana untuk masing-masing kategori bermacam-macam pula file type-nya. Java dikenal sebagai multi purpose programming yang mendukung bahasa atau teknologi lain seperti Python, PHP, Ruby, Groovy, dll. NetBeans juga bisa digunakan untuk membuat web server, yang disebut Java Server Page. Di NetBeans, Java memiliki edisi sangat lengkap, bisa untuk aplikasi desktop, database, hingga aplikasi handphone. Tapi ini hanya sebuah percobaan, bukan proyek, siapa tau ada yang nyangkut di kepala. Gratisan kok, tinggal didownload dari sini.

Setelah dijalankan, dan menulis beberapa baris tampilannya kira-kira seperti ini :

Untuk membuat proyek baru, klik File > New Project. Kemudian pilih kategori project-nya, misalnya Java Application. Di NetBeans, banyak tipe file yang terlibat dalam satu kali project yang semuanya terbungkus dalam package (silahkan cek untuk System Requirements-nya bila khawatir hal ini terlalu berat bagi komputer), dan yang pertama dibuka adalah Main.java. Templatenya seperti ini :

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package progjumlahbiaya;

/**
 *
 * @author hilmanp
 */
public class Main {

   /**
    * @param args the command line arguments
    */

  public static void main(String[] args) {
     // TODO code application logic here
     // Local Variable

  }
}

Hal pertama saya coba mengenai variabel di Java. Konon di Java dikenal dua variabel (kalau salah tolong dikoreksi), yaitu variabel lokal dan variabel member, yang perbedaanya adalah pada letak deklarasinya. Variabel lokal dideklarasikan dalam metode atau fungsi di main, sedangkan variabel member dideklarasikan di class main. Mungkin nantinya pembagian ini akan menjadi penting di OOP (object oriented programming), seperti encapsulating, polymorphism, dan inheritance. Pernah dengar? Saya juga baru tau dari Java ada yang namanya OOP :). Di OOP dikenal istilah-istilah seperti object, class, method, constructor, deconstructor, properties, dan variable itu sendiri di OOP disebut sebagai data. Maka apabila hendak membuat objek baru di class yang value-nya berbeda dengan objek-objek lain di class itu, nama-nama seperti instance variable dan class variable muncul dengan sendirinya.

Misalnya untuk penggunaan variabel lokal :

package progjumlahbiaya;

/**
 *
 *  @author hilmanp
 */
public class Main {

/**
 * @param args the command line arguments
 */

public static void main(String[] args) {
  // TODO code application logic here
  // Local Variable
  int JumlahBarang = 6;
  int HargaBarang = 1000;
  int JumlahBiaya;
  JumlahBiaya = JumlahBarang*HargaBarang;
  System.out.println("JumlahBiaya="+JumlahBiaya);
 }

}

Tekan F11 untuk Build Main Project, lalu F6 untuk Run Main Project, hasilnya seperti ini :

run:JumlahBiaya=6000BUILD SUCCESSFUL (total time: 0 seconds)

Program di atas bisa ditulis kembali dengan menggunakan variabel member :

public class Main {
       int JumlahBarang = 6;
       int HargaBarang = 1000;
       int JumlahBiaya;

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
       // TODO code application logic here
       Main mv=new Main();
       mv.JumlahBiaya=mv.JumlahBarang*mv.HargaBarang;
       System.out.println("JumlahBiaya="+mv.JumlahBiaya);
 }
}
run:JumlahBiaya=6000BUILD SUCCESSFUL (total time: 0 seconds)

Sampai di sini percobaan rada memusingkan dengan template dan karakter-karakter coding style. Hmm…

Menjalankan Sage di Ubuntu

Saya coba menjalankan Sage di sistem operasi Ubuntu. Saat ini saya menggunakan Ubuntu 7.04 dengan kode Feisty Fawn. Sage itu sendiri awalnya adalah sebuah programming environment yang pertama kali diujicobakan dan dikembangkan di sistem Operasi Linux, khususnya Ubuntu. Belakangan lewat kemajuan teknologi Virtual Machine, khususnya VMware Softwares, Sage sangat memungkinkan diujicobakan dengan mudah dan murah lewat VMware Workstation, atau pun dijalankan melalui VMware Player di berbagai platform, misalnya di sistem operasi Windows, tanpa mengurangi stabilitas Sage itu sendiri. Namun tetaplah Sage di Ubuntu (atau di sistem operasi Linux pada umumnya, baik 32-bit atau 64-bit) memberikan banyak opsi yang memungkinkan penggunaan Sage secara lebih maksimal.

Persiapan Sebelum Instalasi

Sebagai persiapan untuk menjalankan Sage di Ubuntu, pastikan standard command line development tools berikut ini terinstal di komputer :

gcc
make
m4
perl
ranlib
tar
ssh-keygen
latex

Untuk mencek apakah misalnya m4 terinstal, ketik which m4 di command line. Bila ketemu error, berarti ia belum terinstal. Untuk menginstal commands line di atas (bila belum terinstal), ketik beberapa baris berikut ini :

sudo apt-get install gcc-4.2-base # atau versi terbaru
sudo apt-get install make
sudo apt-get install m4
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install tar
sudo apt-get install perl
sudo apt-get install binutils
sudo apt-get install libstdc++6-dev
sudo apt-get install g++
sudo apt-get install openssh-client
sudo apt-get install tex-common
sudo apt-get install tetex-base
sudo apt-get install kpdf

Catatan : dalam hal ini Perl diperlukan karena konfigurasi script di NTL dan PARI ditulis dalam bahasa Perl. Latex dan pdf previewer adalah opsi yang sangat direkomendasikan oleh Sage, tapi bukan syarat cukup untuk menjalankan Sage.

Instalasi Sage di Ubuntu

Metode instalasi Sage di Ubuntu memiliki dua opsi. Pertama, cara instalasi dari tarball pre-built binary. Cara ini adalah cara paling mudah dan cepat, namun memiliki keterbatasan misalnya pengguna tidak memiliki kebebasan untuk memodifikasi source code secara lebih fleksibel. Sebagai sebuah programming environment tentunya fleksibilitas yang maksimum diperlukan oleh para pengguna untuk menjamin penggunaan Sage dalam jangka panjang. Untuk itu cara kedua bisa ditempuh, yaitu instalasi Sage dari source code. Metode ini bisa memberikan akses yang lebih luas dan fleksibel ke versi Sage (dan/atau komponen-komponen program pendukung Sage) yang lebih up-to-date.

Pada dasarnya, file download Sage adalah “batteries included”. Artinya, walaupun Sage menggunakan komponen-komponen program semisal Python, Ipython, Numpy, Scipy, Matplotlib, NetworkX, JsMath, Tachyon, Maxima, Mercurial, dan masih banyak lagi, namun tidak perlu menginstalnya dengan cara terpisah. Cukup sekali instal saja. Namun tetap saja selalu ada kemungkinan di kemudian hari beberapa feature Sage yang belum maksimal, terlebih apabila feature tersebut belum bisa langsung dijalankan melalui konsep “batteries included” seperti di atas, atau paling tidak baru bisa dijalankan setelah program penunjang lain yang relevan telah terinstal di komputer.

Distribusi Sage mencakup banyak sekali komponen-komponen program pendukung yang kesemuanya itu di-release dibawah GPL. Melalui source code, opsi instal packages di Sage dapat lebih leluasa dilakukan setiap saat, dengan cukup mengetikan sage -optional untuk melihat packages list, atau sage -i untuk secara otomatis mendownload dan menginstal package yang diperlukan. Untuk melihat packages list, silahkan kunjungi situs web SageMath, atau klik di sini.

Instal Sage dari Source Code

Download file (misalnya) sage-x.y.z.tar dari Sage ke subdirektori Home di komputer. Klik kanan, dan pilih Nautilis Open in Terminal. Ekstrak seperti biasa :

tar xvf sage-x.y.z.tar

yang akan membuat direktory sage-x.y.z. Ganti folder aktif ke direktori tersebut :

cd sage-x.y.z

yang kemudian direktori ini menjadi home bagi Sage. Indahnya, direktori tempat Sage ini berada bukanlah hardcoded dalam menjalankan Sage di Ubuntu, jadi tidak perlu khawatir untuk me-rename atau memindahkan direktori tempat Sage berada.

Selanjutnya, untuk meng-compile Sage dan semua komponen-komponennya, ketik :

make

Tidak perlu login ke root untuk menjalankan proses kompilasi ini, karena tidak ada file di luar home Sage (dalam kasus ini folder sage-x.y.z) yang berubah. (Kecuali kalau ada yang rewel tidak mau berada di direktori itu, misalnya .ipythonrc. Belakangan diketahui direktori .ipythonrc muncul di home komputer!). Bila tidak ditemukan error, berarti proses ini sukses dijalankan.

Untuk menjalankan Sage, ketik :

./sage

hingga muncul Sage Prompt dalam beberapa detik kemudian, yang kira-kira tampilannya seperti ini :

-------------------------------------------------------------------
|  Sage Version 3.2.3, Release Date : 2009-01-05                  |
|  Type notebook() for the GUI, and license() for information.    |
-------------------------------------------------------------------
sage:

Sampai sini, Sage command line siap dijalankan.

Have Fun!