Membuat Diagram Alir

Terkadang kita memiliki masalah ketika akan membuat diagram kita tidak memiliki software seperti vision, rational rose, dan sejenisnya. Untungnya saat ini kita bisa memanfaatkan fasilitas dari web yang menyediakan sarana untuk menggambar diagram tersebut, salah satunya adalah www.draw.io. Silahkan mencoba, hasilnya lumayan bagus dan dapat dikonversi menjadi xml, jpg, gif, dan lain-lain. Berikut ini contoh hasilnya:

Berikutnya tinggal klik File – Eksport – pilih filenya, jika kita akan melanjutkan gambar di lain waktu, simpanlah dalam format XML. Jika akan menjadikan picture di word, pilih JPG, GIF, dan file gambar lainnya. Berikut ini hasil create menjadi GIF.

Aplikasi Firebug pada Mozilla

Bagi anda yang gemar mengutak-atik pemrograman berbasis web, alangkah baiknya Anda menginstall plugin firebug yang secara gratis dapat diunduh. Aplikasi ini membantu anda mencari letak kesalahan program yang telah Anda buat. Berikut ini contoh pencarian letak kesalahan aplikasi yang sedang saya test. Pemrogram yang saya buat menggunakan Ajax yang memasukan fungsi Autocompletion pada isian form. Ketika tombol search ditekan, tampak ada kesalahan pada salah satu koomponen ajax tersebut.

Tampak di bagian bawah browser muncul kolom yang menunjukkan letak kesalahannya. Searching saja di google jika Anda ingin memanfaatkan fasilitas gratis ini. Tersedia untuk beragam versi.

Membuat Database Objek dengan Scaffolding pada Ruby on Rails

Beberapa lama saya mencari cara untuk mengimplementasikan UML terutama masalah diagram kelas, dimana suatu kelas terdiri dari atribut, dan operation di dalamnya. Beberapa rekan mengatakan kelas dapat diwakili oleh tabel pada sistem database relasional. Tentu saja ini bertentangan dengan konsep UML yang berbasis objek. Tetapi dengan bahasa Ruby, hal ini dapat dibuat mudah, karena kita dapat membuat objek dengan mudah dan menghubungkannya dengan sistem database yang kita inginkan. Buka Ubuntu Anda, masuk ke Terminal (jika sulit mencarinya, ketik aja terminal di menu “search”):

Berikut ini akan kita ambil contoh membuat suatu objek daftar aktivitas (to do list) yang pernah dijadikan ujian Mid Term di kampus saya sekarang kuliah AIT Thailand. Baiklah, tidak perlu basa-basi kita buka saja Ruby on Rails (RoR). Pertama-tama kita buat terlebih dahulu suatu project, misalnya kita namakan todo, ketik pada console RoR:

$ rails new todo –d postgresql

Tampak RoR akan membuat (Create) file-file yang diperlukan dan diakhiri dengan Bundle Install. Setelah itu kita buat satu objek dengan nama task. Sebelumnya Anda harus terlebih dahulu masuk ke direktori project anda (dalam hal ini todo):

$ cd todo

Buka file Gemfile di /app dan hilangkan # pada therubyracer yang artinya, kita akan menggunakan fasilitas tersebut.

Lakukan bundle install

$ bundle install

Kita menggunakan sistem database postgresql, buka file /app/config/database.yml, edit super user yang akan mengakses (ada tiga editan). Jangan lupa menekan tombol save.

Jangan lupa siapkan databasenya dengan mengetik

$ rake db:create:all

Berikutnya adalah membuat objek task.

Di sini kita memanfaatkan fasilitas yang ada pada RoR yaitu Scaffold. Dimana instruksi ini akan membuat suatu objek dengan nama task dan atribut nama:string dan status boolean. Bagaimana dengan operation? Jangan khawatir, RoR akan membuatkan secara otomatis tujuh default operation yang dapat kita hapus beberapa dari operation itu jika kita tidak menginginkannya. Seperti biasa, lakukan migrasi, dimana objek yang dibuat dengan RoR dimigrasikan ke database dengan instruksi:

$ rake db:migrate

Sebelumnya buka file database.yml yang secara default akan dibuatkan user todo. Ganti dengan superuser yang pernah Anda buat. Dalam hal ini saya menggunakan user csim.

 

Sebenarnya masalah sudah selesai, tinggal melakukan sedikit seting pada route.rb yang terletak di folder /app/config. Tambahkan:

root to: “task#index”

Jangan lupa jalankan:

$ rake routes

Artinya saya akan mengarahkan server ke task#index tiap project todo dijalankan. Oleh karena itu rename folder index anda yang terletak di views dengan nama lain, karena tidak akan kita gunakan. Jalankan server:

$ rails s

Jangan khawatir, setelah server dihidupkan, tampak seperti Hang. Sebenarnya server sudah berfungsi dan sedang aktif. Buka browser, ketikan alamat server http://localhost:3000

Ternyata mudah. Tampak operation yang diberikan antara lain NewTask(), Show(), Edit(), Destroy(), dan lain-lain. Coba klik New Task, isi task baru. Maka akan muncul list task baru. Mudah bukan?

Membuat Aplikasi Authentikasi dengan Ruby and Rails – 1

Berikut ini sedikit tip n trik untuk membuat aplikasi Ruby and Rails (RoR) yang berjalan di platform Linux Ubuntu 13. Masuk ke Terminal:

rails new simple-auth -d postgresql

Maksudnya adalah membuat project baru RoR dengan nama simple-auth dan database postgresql. Jika selesai, nanti di folder /home akan muncul folder simple-auth. Masuk ke folder tersebut dengan mengetik:

cd simple-auth

Di sana anda akan menjumpai folder Gemfile yang harus sedikit diedit untuk mengaktifkan bahasa ruby. Cara mengaktifkannya adalah dengan menghapus symbol “#”.

SImpan dan jangan lupa setiap melakukan perubahan pada file Gem, kita harus melakukan bundle install. Masuk ke terminal, jalankan:

bundle install

Sekarang kita harus melakukan perubahan pada postgresql, yakni pada file database.yml yang terletak di folder Config pada folder aplikasi kita (Simple-Auth). Ganti seluruh user dengan nama superuser postgresql, misalnya csim. Setelah itu jangan lupa menekan tombol simpan ‘save’. (Note: ada tiga yang harus dirubah).

Jangan lupa setiap melakukan perubahan pada configurasi database.yml, lakukan rake:

rake db:create:all

rake db:migrate

Berikutnya kita akan membuat controller dengan nama ‘new’. Rails termasuk framework Model View Controller (MVC). Buat dengan cara mengetik:

rails g controller users new

Akan terbentuk controller dengan nama new. Begitu juga untuk model user, buat:

rails g model user email:string password_hash:string password_salt:string

Lakukan migrate database

rake db:migrate

Cari file UsersController di folder /app/controller. Ekstensinya adalah ‘.rb’. Isi program seperti contoh berikut ini:

Berikutnya masukan kode berikut untuk views pada new.html

  • <h1>Sign Up</h1>
  • <%= form_for @user do |f| %>
  • <% if @user.errors.any? %>
  • <div class=”error_messages”>
  • <h2>Form is invalid</h2>
  • <ul>
  • <% for message in @user.errors.full_messages %>
  • <li><%= message %></li>
  • <% end %>
  • </ul>
  • </div>
  • <% end %>
  • <p>
  • <%= f.label :email %><br />
  • <%= f.text_field :email %>
  • </p>
  • <p>
  • <%= f.label :password %><br />
  • <%= f.password_field :password %>
  • </p>
  • <p>
  • <%= f.label :password_confirmation %><br />
  • <%= f.password_field :password_confirmation %>
  • </p>
  • <p class=”button”><%= f.submit %></p>
  • <% end %>

Untuk masalah enkripsi, kita tinggal memakai bundel yang ada pada file Gem, buka kembali Gemfile, masukan gem “bcrypt-ruby”, :require => “bcrypt”

Jangan lupa, lakukan lagi bundle install setiap kali melakukan perubahan pada Gemfile.

bundle install

Buka file user.rb pada folder /app/models/ dan isikan kode berikut ini:

  • before_save :encrypt_password
  • def self.authenticate(email, password)
  • user = find_by_email(email)
  • if user && user.password_hash == BCrypt::Engine.hash_secret(password, user.password_salt)
  • user
  • else
  • nil
  • end
  • end
  • def encrypt_password
  • if password.present?
  • self.password_salt = BCrypt::Engine.generate_salt
  • self.password_hash = BCrypt::Engine.hash_secret(password, password_salt)
  • end
  • end

Tambahkan pula attribute berikut (dibawah before save):

  • attr_accessor :password
  • before_save :encrypt_password
  • validates_confirmation_of :password
  • validates_presence_of :password, :on => :create
  • validates_presence_of :email
  • validates_uniqueness_of :email

Hal yang berikut ini sangat penting, yaitu routing, di sini kita mengarahkan user ketika menekan tombol tertentu. Tambahkan code ini pada folder route.rb yang terletak di folder /app/models. Sisipkan di bawah get “users/new” tiga baris berikut ini:

Coba jalankan RoR dengan melakukan instruksi di bawah ini:

rails server

Biarkan console seolah-oleh hang, yang tandanya server sedang bekerja. Jika ingin mematikannya tinggal menekan Ctrl-C. Buka browser dan link pada http://localhost/3000

Coba klik Create user, lihat apa yang terjadi. Coba masuk ke database. Apakah sudah tersimpan? Misalnya saya masukan email: rahmadya@yahoo.com

Kuliah Web Application

Untuk jurusan Computer Science (Ilmu Komputer), tiap mahasiswa diwajibkan mengambil mata kuliah web application yang diasuh oleh Dr. Matthew M. Dailey. Doktor asal Amerika Serikat ini ahli di bidang pengembangan web.

Sempat ikut kuliah perdana, saya terpaksa harus kembali ke Indonesia karena tiap penerima beasiswa diwajibkan mengikuti serangkaian acara hingga penandatanganan kontrak dengan DIKTI. Dimulai dengan pengurusan Visa di kedutaan Thailand, dilanjutkan dengan Lokakarya pra keberangkatan yang dihadiri oleh hampir seratus orang. Setelah hampir 3 minggu menunggu SP Setneg, akhirnya dokumen selesai, ditandai dengan penandatangan kontrak di DIKTI, gedung D lt 4.

Setelah kembali ke AIT, saya dihadapkan dengan beberapa kesulitan akibat absen perkuliahan selama hampir sebulan. Beberapa dosen memberi keringanan, dari komposisi yang Mid : Final = 40 : 60 menjadi 20 : 80 hingga adanya kelas tambahan.

Berbekal tanya sana sini, akhirnya sedikit demi sedikit saya mampu mengikuti alur kuliah Web yang sangat ditakuti oleh sebagian besar mahasiswa CS di AIT. Terpaksa saya harus ikuti handout lab hingga yang saat ini dipelajari (Ajax). Cukup sulit, terutama karena laptop saya yang harus VMWare karena kapasitas C yang minim, sementara Laptop dari AIT belum tiba.

Diawali dengan install ubuntu 13, saya mulai mengeksplore bahasa yang baru saya kenal yaitu “Ruby on Rails (RoR)”. Bahasa ini lumayan ampuh dari security, terbukti telah digunakan di Yellow Page dan Twitter, dibanding PHP yang diterapkan di Facebook dan banyak di hack orang.

Masih ada waktu dua minggu untuk persiapan Mid Term. Semoga bisa mengikuti dan menjawab soal-soal yang diujikan, Amiiin.

Paten pada Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak (Software Engineering) merupakan bidang baru yang banyak diminati oleh anak-anak muda kita. Bahkan menjadi jurusan yang laris di tingkat Sekolah Menengah Kejuruan. Berbeda dengan perangkat keras yang jelas terlihat hasil jadinya, pada perangkat lunak, hasil kreasi kita tidak tampak secara langsung sehingga muncul pertanyaan bagaimana bentuk hak cipta-nya? Mengingat saat ini mudah sekali dibajak/digandakan.

Tuntutan Apple terhadap Samsung dan Google terhadap aplikasi yang dibuatnya membuat saya ingin mengetahui lebih jelas seluk beluk Paten, yang dijadikan dasar tuntutan. Paten sendiri dengan mudah dapat kita searching di Google. Sebagai contoh Paten terhadap bidang yang saya tekuni, yaitu Soft Computing. Gambar berikut salah satu contoh sketsa paten yang diajukan oleh Dingding Chen, Syed Hamid, Harry Smith tentang Jaringan Syaraf Tiruan dengan Neuron yang disusun berdasarkan Optimasi oleh Algoritma Genetik.

(Sumber: Paten US 20050246297 A1 http://patentimages.storage.googleapis.com/US20050246297A1/US20050246297A1-20051103-D00000.png )

Sementara itu, dijelaskan pula angka-angka tersebut, misalnya 18 yang berisi rangkaian Algoritma Genetika, sebagai berikut:

18. Apparatus for producing as outputs synthetic values of at least one geophysical parameter for a well in response to inputs of actual values of geophysical parameters measured in the well, comprising a neural network ensemble selected by:

training a set of individual neural networks to produce one or more synthetic output values of at least one geophysical parameter for a well in response to a plurality of inputs of actual values of geophysical parameters measured in the well, and

using a genetic algorithm having a multi-objective fitness function to select at least one ensemble, comprising a subset of the set of individual neural fnetworks, having a desirable fitness function value.

Terlihat sederhana tetapi di dalamnya terkandung riset yang telah dilakukan oleh peneliti bidang Rekayasa Perangkat Lunak. Yang terpenting adalah kita tidak boleh seenaknya mengaku penemu jika belum mematenkan apa yang telah kita temukan. Gambar di atas, sebaiknya tidak kita copas langsung tanpa referensi.

Materi Ujian PBO

SOAL PRAKTEK:

Buka file “JAVA” yang sudah difberikan. Buka Eclipse, Netbeans, JCreator, FreeJava, dll.

Beri nama project, misalnya UAS sehingga muncul project UAS di jendela Package Explorer. Copy – dan Paste soal yang diberikan ke project tersebut pada folder “SRC“. Coba jalankan dengan mengklik kanan file tersebut, misalnya Customer.java pada lesson 3.

Jika sudah jalan, ikuti soal yang diberikan.

Jika diminta membuat format sebagai berikut, coba edit listing yang ada tersebut (kemungkinan diminta menambah satu isian).

SOAL TEORI:

Diberikan diagram kelas dan use case yang harus Anda jelaskan maknanya.

Menangkap Masukan dari Keyboard pada JAVA

Berhubung computer yang ada di lab Software Engineering kebanyakan terinstall Eclipse, maka untuk melakukan basic input output sementara menggunakan console lewat keyboard. Berikut ini cara penulisan listing di class main.

Ada tiga komponen yang harus kita import guna mendapatkan fasilitas input output dengan keyboard antara lain:

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

Seperti biasa untuk membuat instan baru di main.java kita panggila kelas yang sebelumnya telah kita buat (persegiPanjang.java). Beri nama instan tersebut misalnya p. Untuk kelas persegiPanjang dapat dilihat pada tulisan saya terdahulu. Perhatikan listingnya sebagai berikut di IDE Eclipse (saya menggunakan versi Juno):


Sebenarnya kita bisa langsung mengetik BufferedReader tanpa perlu mengetik import di kepala program karena ketika selesai Eclipse akan memberikan peringatan kalau kita harus mengimport suatu komponen. Kita tinggal mengklik ganda pilihan yang ada dan instruksi import langsung berjalan.

Untuk menangkap data, berarti kita memanggil operation setPanjang dan setLebar dari kelas persegiPanjang, dalam hal ini direpresentasikan dengan objek “p”. Sedangkan untuk mengeluarkan hasil perhitungan luasnya dilakukan dengan memanggil operasion getLuas dari kelas persegiPanjang. Berikut hasilnya jika program di atas di running:


Perhatikan bagian bawah IDE Eclipse. Anda diminta memasukan panjang dan lebar yang kemudian disusul dengan hasil perhitungan Luasnya.

Soft Computing

Istilah soft computing merupakan pelengkap dari hard computing yang merupakan komputasi berdasarkan ketidakpastian. Banyak yang bingung apa bedanya soft computing dengan artificial intelligent (AI). AI lebih dahulu muncul, merupakan metode komputasi berdasarkan simbol-simbol dan dikembangkan oleh bahasa pemrograman tertentu seperti prolog, lisp, clips, dan sejenisnya. Soft computing tidak jauh berbeda dengan AI dalam hal penerapan, tetapi dari sisi perhitungan tetap menggunakan notasi-notasi numerik hanya saja dengan algoritma-algoritma tertentu yang saat ini berkembang pesat antara lain: Fuzzy, ANFIS, Jaringan Syaraf Tiruan, Algoritma genetik dan yang terakhir Bayes. Karena berdasarkan algoritma tertentu maka bahasa pemrograman seperti C++, Java, Matlab dan sebagainya dapat digunakan dan tidak lagi dimonopoli oleh bahasa khusus AI.

Fuzzy yang dipelopori oleh Lutfi Askar Zadeh, pria keturunan Iran yang sempat mengenyam pendidikan di Rusia dan saat ini tinggal di Amerika Serikat merupakan dasar dari Soft Computing. Algoritmanya merupakan konversi dari numerik biasa yang diistilahkan dengan CRISP menjadi fungsi keanggotaan Fuzzy yang bersifat manusiawi (linguistik). Beberapa kritikus menanyakan mengapa fuzzy tetap menyandarkan pada aritmatika, sehingga munculah Fuzzy tipe-2 yang memasukkan unsur ketidakpastian.

Jaringan Syaraf Tiruan, yang merupakan metode yang dikembangkan oleh mcculloch – pitts merupakan algoritma yang berusaha meniru bentuk syaraf biologis makhluk hidup. Dengan konsep Neuron-nya disertai dengan bobot dan fungsi aktivasi merupakan terobosan dalam algoritma soft computing. Setelah sempat redup di tahun 70-an karena tidak sanggup menyelesaikan kasus serderhana seperti XoR, akhirnya algoritma ini marak diteliti kembali setelah Hopfield menemukan metode pembelajaran rambatan kesalahan (backprogragation error) yang sanggup mengeset bobot sesuai dengan target pembelajaran.

ANFIS yang merupakan singkatan dari Adaptive Neuro Fuzzy Inference System merupakan penggabungan dari Fuzzy dengan Jaringan Syaraf Tiruan. Bedanya hanya pada rule yang dibentuk lewat mekanisme pembelajaran (learning). Di antara tiga metode pembuatan rule Fuzzy (Mamdani, Sugeno dan Tsukamoto) hanya Sugeno yang secara efisien mampu diaplikasikan pada ANFIS.

Algoritma Genetik yang masuk dalam kategori Evolutionary Computing merupakan algoritma yang berusaha meniru sifat adaptive dari alam sekitar (mirip teori darwin) dimana organisme yang hidup saat ini adalah organisme terbaik yang berhasil unggul dibanding organisme lain yang sudah punah. Metodenya adalah membangkitkan sembarang bilangan, kemudian dievaluasi dengan fungsi objective dan jika kurang baik maka dimusnahkan, sedangkan yang baik, dikawin silangkan serta dimutasi sehingga menghasilkan individu baru yang lebih baik dari induknya. Operasi ini terus berlangsung hingga dihasilkan individu terbaik hasil dari kawin silang dan mutasi.

Bayes, pertama kali dimunculkan dalam bentuk Naive Bayes yang merupakan komputasi berdasarkan statistik probabilistik. Pengambilan keputusan berdasarkan dengan peluang terbesar di antara kandidat yang ada. Terkadang kondisi di lapangan sangat jarang dijumpai kondisi pasti antara A,B,C atau D, seperti pendeteksian penyakit, peramalan cuaca dan sebagainya. Oleh karena itu hasil dari metode bayes ini merupakan peluang terbesar dari suatu kondisi (tidak 100 % akurat).

Metode tersebut di atas terkadang digabungkan antara satu dengan lainnya untuk menghasilkan akurasi, kecepatan dan efisiensi dalam pengoperasiannya. Karena antara satu metode dengan metode lainnya memiliki kelemahan dan kelebihan masing-masing. Metode mana yang Anda gunakan semua ada di tangan Anda. Termasuk bahasa pemrograman yang menjadi pilihan Anda. Untuk saat ini saya sedang mengimplementasikan algoritma Soft Computing dalam bahasa Java, karena bahasa ini merupakan selain bahasa yang open source, banyak dipakai di peralatan, juga dapat berjalan di aplikasi berbasis Web yang saat ini sedang booming.

Rahmadya Trias Handayanto

Compiling the m-file

Compiling the m-file means we convert the source code of matlab into executable file, so the other computer can run it although there is no matlab software being installed. Of course if the computer which run the application has matlab software we don’t need to compile it.

Because there are a lot of file which build matlab-based application, we must prepare them first. Application with Graphic User Application (GUI) need at least two files: the fig-file for interface and m-file for source code. If you use some toolbox on it, you must include that files to your deployment project. For example, if you create fuzzy-based application, you mast include the fis-file to your deployment project.

Let’s open your matlab software and I suggest you to change the current directory into the same directory as your programming file. Matlab provide project for compiling by clicking the file, new and deployment project in the menu bar. This figure shows you deployment project window.


Please try to compile your own matlab application. As an information, matlab use Matlab Compile to C (mcc) to convert code in matlab into c++ first before converting to exe.

Insert Database Access via Java

A. MEMBUAT DATABASE DI MYSQL

Jalankan server Apache pada folder Xamp


Jangan diclose console DOS yang mengindikasikan Apache sudah running. Berikutnya buka browser (Mozilla, IE, dsb). Ketik: localhost/phpmyadmin


Create sebuah database, misalnya database penjualan. Pada kolom “Create new Database” isikan “Penjualan”. Klik Create, maka akan terbentuk satu database penjualan. Berikutnya kita buat satu tabel, misalnya “barang”. Isi nama tabel beserta jumlah field (nanti bias diedit), misalnya field.


Setelah di klik “Go”, MySQL akan membentuk tabel “barang”. Perhatikan juga tipe data yang akan dimuat pada tiap-tiap Field.


Klik “Go” agar Mysql segera membentuk tabel tersebut dilanjutkan dengan “Save“. Jika tidak ada kesalahan, maka tabel barang sudah terbentuk. Tinggal kita memasukan beberapa barang. Pastikan muncul tabel barang pada phpmyadmin.


Database dan tabel akan muncul pada folder Xampplite/Mysql/Data pada windows explorer.


Untuk backup, copy saja subfolder data, ke media lain seperti cdrw/flashdisk. Isikan data pada tabel barang. Klik Insert untuk mengisi data.


Kemudian isikan dua record (tupple).


Maka kita telah berhasil mengisi tabel barang pada database penjualan. Berikutnya kita akan mencoba mengkoneksikan database Mysql tersebut dengan Java disertai operasi Insert Data.

B. MEMBUAT FRAME INSERT DATA

Buka Netbeans 6.0.1 atau 6.9.1. Buat sebuah project baru dengan nama, misalnya penjualan. Jangan lupa arahkan folder di tempat yang kita inginkan, missal di drive D.


Klik “Finish” jika sudah diisi. Maka Netbeans akan menyediakan tempat project kita. Klik kanan pada paket Penjualan > new > JFrame Form.


Beri nama kelas tersebut, misalnya insert. Rancang tampilan Graphic User Interface (GUI) sebagai berikut:


Perhatikan jangan sampai tertukar antara label dengan Text Field. Lalu ganti tampilan dengan klik kanan > edit Text. Kosongkan tulisan jTextField1, jTextField2, jTextField3.


Untuk membuat kode program dobel klik “INSERT” kemudian isikan dengan terlebih dahulu mengkoneksikan database ke java.


Klik symbol lampu, jika muncul karena Java membutuhkan kelas tambahan.

try

{

Class.forName(“com.mysql.jdbc.Driver”);

Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/penjualan,”root”,””);

java.sql.PreparedStatement stat = con.prepareStatement(“insert into barang(kode,nama,harga) values(?,?,?)”);

stat.setString(1,jTextField1.getText());

stat.setString(2,jTextField2.getText());

stat.setString(3,jTextField3.getText());

stat.executeUpdate();

javax.swing.JOptionPane.showMessageDialog(null,”berhasil”);

jTextField1.setText(“”);

jTextField2.setText(“”);

jTextField3.setText(“”);

}

catch(Exception e)

{

System.out.println(“gagal” +e);

}

}

Lalu jalankan.

Pertemuan IX: Generalisasi dan Inheritance

Salah satu teknik pemrograman berbasis objek adalah generalisasi dan inheritance. Konsep ini dapat dianalogikan dengan induk dan anak dimana anak akan mewarisi sifat induknya. Untuk mempermudah pemahaman ada baiknya kita coba untuk mempraktekkannya dengan bahasa Java dengan IDE Netbeans.


Buat project baru dengan cara File – New Project. Pilih kategori Java dan pilih Java Application pada kolom yang kanan.


Anda akan diminta memberi nama serta lokasi tempat penyimpanan dengan cara mengklik “Browse“. Jika direktori tidak muncul klik “Desktop” agar memunculkan seluruh direktori yang ada di komputer.


Setelah diklik “Computer” akan terlihat seluruh direktori yang ada. Cari folder yang Anda inginkan. Jika sudah, beri nama project Anda, misalnya “Generalisasi“.


Setelah di klik “Finish” berarti Anda telah siap membuat project. Perhatikan Netbeans memberikan satu kelas secara default dengan nama “Main“. Berikutnya kita akan membuat dua kelas baru yaitu kelas persegiPanjang dan kelas Balok. Cara membuat kelas baru adalah sebagai berikut:


Pada paket “Generalisasi” klik kanan kemudian pilih New – Java Class. Beri nama “persegiPanjang“. Dengan cara yang sama buat juga kelas berikutnya yaitu kelas “Balok“.


Dobel klik kelas persegiPanjang dan tulis program yang menghitung luas persegi panjang dari masukan panjang dan lebar dengan cara objek. Walaupun beberapa literatur bisa juga membuat program Java secara terstruktur, alangkah baiknya Java dibuat dengan basis Objek. Perlu diketahui bahwa tiap objek memeliki nama, atribut dan operasi. Lihat listing persegiPanjang berikut ini.


Perhatikan, pada kelas persegiPanjang terdapat dua atribut yaitu panjang dan lebar yang bertipe double. Script baris ke 15 bermaksud merubah variabel panjang yang diterima lewat masukan tertentu (nanti menggunakan form) menjadi double, dilanjutkan dengan script ke 18 yang menangkap variabel itu ke kelas yang bersangkutan lewat mekanisme “this“. Diakhiri dengan methode getPanjang yang menginstruksikan Java bahwa variabel panjang harus disimpan. Penjelasan yang sama untuk setLebar dan getLebar. Operasi terakhir adalah getLuas yang memerintahkan Java untuk menyimpan hasil perkalian panjang dan lebar.


Berikutnya kita membuat kode program balok. Karena balok merupakan anak dari persegi panjang (Inheritance) maka pada awal program perlu ditambahkan extends dan dilanjutkan nama kelas induknya (lihat baris ke-12). Saat menghitung volume, kita tinggal memanggil “getLuas” dari induknya (persegi panjang) dengan mengetik instruksi “super“. Perhatikan, saat diketik titik, harusnya ada bantuan getLuas, jika tidak, mungkin Anda belum menulis “extends” di awal program, atau getLuas di persegiPanjang bertipe “private“, oleh karena itu ganti menjadi “public“.


Buat kelas baru dengan nama formBalok dengan tipe Jframe Form. Buat rancangan Graphic User Interface (GUI) seperti gambar di atas. Buat programnya dengan mendobel klik “Hitung“.


Perhatikan, baris pertama bermaksud membuat suatu instance baru bernama “b“. Instance adalah objek yang dibuat dari suatu kelas, dalam hal ini kelas “Balok“. Karena dibuat dari kelas balok maka seluruh operasi pada kelas balok diterapkan juga di objek “b” tersebut, seperti setPanjang, setLebar, dan setTinggi. Methode getText() sudah tersedia di Java, yang bermaksud menangkap text dari inputan pada Text Field (jTextField1, jTextField2, dan jTextField3). Disarankan untuk memberi nama baru pada variabel tersebut, karena nama tersebut merupakan nama bawaan Netbeans. Instruksi “setText” merupakan kebalikan dari getText, yaitu mengirimkan Text ke Text Field tertentu (dalam hal ini jTextField4). Klik kanan pada Form Balok, pilih Run File, hasilnya harus seperti ini.


Selamat Mencoba


Rahmadya Trias Handayanto

Membuat Frame (Form) di Netbeans

Hari/Tgl/MK/Ruang: Jumat/04-04-11/Pemrograman Berorientasi Objek/Lab. Software

Setelah pertemuan sebelumnya membahas pembuatan kelas dan memanggilnya dengan Main(), sekarang kita mencoba membuat Form, yang merupakan GUI standar dalam setiap aplikasi yang dijual di pasaran.

Klik kanan pada package, pilih New – Jframe Form.


Berikutnya kita akan membuat Layout Frame sebagai berikut. Untuk mudahnya biarkan nama variabel defaultnya.


Dobel klik pada HITUNG, maka kita akan masuk ke menu pembuatan source code. Isi sebagai berikut:

hitungLuas p = new hitungLuas();

p.setPanjang(jTextField1.getText());

p.setLebar(jTextField2.getText());

this.jTextField3.setText(“”+p.getLuas());

Maka dengan mengklik kanan frame pada project explorer, dilanjutkan “Run File” akan dihasilkan tampilan sebagai berikut:


Coba praktekan sendiri, jika ada error itu biasa, namanya belajar,


Rahmadya Trias Handayanto

Membuat Kelas Persegi Panjang

Hari/Tgl/MK/Ruang: Jumat/08-04-11/Pemrograman Berbasis Objek

Salah satu ciri khas Pemrograman Berorientasi Objek adalah munculnya Kelas pembentuk suatu objek. Oleh karena itu kita akan mencoba membuat sebuat kelas, misalnya persegi panjang dengan atribut “panjang” dan “lebar” dan operasi “luas”.

 


Gambar di atas adalah sebuah diagram Class dengan tiga sekat terdiri dari Nama, Atribut dan Operasi berturut-turut dari atas ke bawah. Akan kita coba buat dengan menggunakan bahasa Java dengan software terkenalnya “Netbeans”.


Setelah Netbeans muncul, klik File – New Project, pilih “Java Application”, dilanjutkan dengan memilih letak fisik dari file projek tersebut. Karena drive C di defreeze, letakkan di D:\<nama_mhs>. Pada Source Package, secara otomatis akan muncul nama paket yang baru anda buat.


 

public class hitungLuas {

private double panjang;

private double lebar;

public void setPanjang(String panjang) {

setPanjang(Double.parseDouble(panjang));

}

public void setPanjang(double panjang) {

this.panjang = panjang;

}

public double getPanjang() {

return panjang;

}

public void setLebar(String lebar) {

setLebar(Double.parseDouble(lebar));

}

public void setLebar(double lebar) {

this.lebar = lebar;

}

public double getLebar() {

return lebar;

}

public double getLuas() {

return getPanjang() * getLebar();

}

}

Kelas tidak dapat serta merta di jalankan karena tidak memiliki Main(). Oleh karena itu, misalnya kita akan memanggil sebuah objek baru (dikenal dengan istilah instance) dengan panjang=10 dan lebar =20. Buka source Main(), ketik berikut ini:

public static void main(String[] args) {

hitungLuas objek1 = new hitungLuas();

 

objek1.setLebar(10);

objek1.setPanjang(20);

 

System.out.println(“Luas ” + objek1.getLuas());

}

Klik kanan pada main di project explorer, maka pada kolom hasil tampak sebagai berikut:


NOTE: Pada netbeans progammer sudah diberi tahu di mana letak penulisan program yaitu pada tulisan: // TODO code application logic here . Untuk public static … dst, tidak perlu ditulis lagi. Sebagai tambahan, nama kelas yang saya buat hitungLuas(), mungkin berbeda dengan nama kelas yang Anda buat.

Untuk kelas pada Netbeans terlihat sebagai berikut:


Tampak: Nama Kelas = hitungLuas, Atribut: -lebar: double, -panjang: double sedangkan operation: getLebar():double, getLuas():double, dst.

Selamat Mencoba,


Rahmadya Trias Handayanto