Archive for the ‘Programming’ Category

Masukin Input Keyboard ke JAVA? Gimana ya…

/**

* Title : InputConsole

* Deskripsi : Mengambil Input Data Dari Console

*

*/

import java.io.*;

public class InputConsole {

// Membaca string dari keyboard

public static String readString()

{

BufferedReader bfr = new BufferedReader(new

InputStreamReader(System.in),1);

//Menginisialisasi String

String string= ” “;

//Mengambil String dari keyboard

try

{

string=bfr.readLine();

}

catch(IOException ex)

{

System.out.println(ex);

}

//Mengambil strng hasil pembacaan dari keyboard

return string;

}

//Mengambil nilai int dengan parsing string

//input dari keyboard

public static int readInt()

{

return Integer.parseInt(readString());

}

//Mengambil nilai byte dengan parsing string

//Input dari Keyboard

public static byte readByte() {

return Byte.parseByte(readString());

}

//Mengambil nilai short dengan parsing string

//Input dari Keyboard

public static short readShort()

{

return Short.parseShort(readString());

}

//Mengambil nilai long dengan parsing string

//Input dari Keyboard

public static long readLong()

{

return Long.parseLong(readString());

}

//Mengambil nilai float dengan parsing string

//Input dari Keyboard

public static float readfloat()

{

return Float.parseFloat(readString());

}

//Mengambil nilai double dengan parsing string

//Input dari Keyboard

public static double readDouble()

{

return Double.parseDouble(readString());

}

}

Weitsss apa tuh tif? Hehe bingung ya? Listing code diatas adalah code Dari Bahasa Pemrograman Java, fungsi dari kode diatas adalah supa lo bisa masukkin Input dari keyboard di java.

Mungkin ada diantara lo yang nanya, kenapa lo nulis ini tif? (Mungkin loh ya, gak pasti..), yah bagi lo yang baru mulai belajar Java, mungkin (Sekali lagi mungkin…) merasa kesulitan buat masukkin input Console ke program yang sedang lo buat, yah karena Java gak kayak Pascal/C/C++/VB yang dengan seenak jidat lo bisa masukin input semau lo, Ingat JAVA gak kayak gitu..Lah, lalu kayak gimana? Java tuh gak kaya si gitu, tapi kayak si gini…(Ngerti? Apa coba….).

Java emang nyediain library(Ingat loh, Library bukan fungsi khusus..) buat masalah Input/Output (I/O), dan itu ada paket java.io, yah walaupun ada juga yang pake paket Java.util , dan menggunakan funsi scanner.

Dan kalo lo pake import java.io.* , lo bakal pake fungsi InputStreamReader buat masukin input, contoh kodenya adalah sebagai berikut :

import java.io.*;

class DemoInputString {

public static void main(String[] args) throws IOException {

System.out.print(“Masukkan nama Anda: “);

String nama;

InputStreamReader isr = new InputStreamReader(System.in);

BufferedReader br = new BufferedReader(isr);

nama = br.readLine();

System.out.println(“Halo ” + nama +

“, sudahkah Anda mengerti Java?”);

}

}

Itu buat yang masukkin input berupa String, kalo buat yang Karakter ama Numerik beda lagi. Kalo yang data input berupa karakter seperti berikut:

import java.io.*;

class DemoInputKarakter {

public static void main(String[] args) throws IOException {

System.out.print(“Masukkan sembarang karakter: “);

char ch;

InputStreamReader isr = new InputStreamReader(System.in);

BufferedReader br = new BufferedReader(isr);

ch = (char) br.read();

System.out.println(“Karakter yang dimasukkan adalah \'” +

ch + “\'”);

}

}

Dan kalo buat input Numerik kayak gini :

import java.io.*;

class DemoInputNumerik1 {

public static void main(String[] args) throws IOException {

System.out.print(“Masukkan sebuah bilangan bulat: “);

String temp;

int bilangan = 0;

InputStreamReader isr = new InputStreamReader(System.in);

BufferedReader br = new BufferedReader(isr);

// input data dianggap sebagai string

temp = br.readLine();

try {

// konversi dari string ke integer

bilangan = Integer.parseInt(temp);

} catch (NumberFormatException nfe) {

System.out.println(“Data yang dimasukkan ” +

“bukan bilangan bulat”);

System.exit(1);

}

System.out.println(“Bilangan yang dimasukkan ” +

“adalah ” + bilangan);

}

}

Beda kan? Ya iyalah, JAVA kan Bahasa Pemrograman yang “pengen tampil beda”, Cuma jangan keburu bilang JAVA itu susah, JAVA itu mudah, tanamkan dalam diri lo bahwa JAVA itu kayak permen, yang gampang lo kunyah(hehe jelek banget sih analogi gue..). Eits tapi gw juga bukan ahli JAVA loh, gw sama kaya lo semua, yang masih BELAJAR, ingat ya BELAJAR bukan MENGAJAR..jadi kalo masih salah ya maklum..

Oh iya lanjut ke listing code program yang paling awal, jadi kalo lo mau masukin input tinggal lo copy paste aja ke program lo, terus lo bikin deh tambahan class main-nya, berikut contoh nya :

/**

* Title : InputConsole

* Deskripsi : Mengambil Input Data Dari Console

* @author Tiftazani Khara

*

*/

import java.io.*;

public class InputConsole {

// Membaca string dari keyboard

public static String readString()

{

BufferedReader bfr = new BufferedReader(new

InputStreamReader(System.in),1);

//Menginisialisasi String

String string= ” “;

//Mengambil String dari keyboard

try

{

string=bfr.readLine();

}

catch(IOException ex)

{

System.out.println(ex);

}

//Mengambil strng hasil pembacaan dari keyboard

return string;

}

//Mengambil nilai int dengan parsing string

//input dari keyboard

public static int readInt()

{

return Integer.parseInt(readString());

}

//Mengambil nilai byte dengan parsing string

//Input dari Keyboard

public static byte readByte() {

return Byte.parseByte(readString());

}

//Mengambil nilai short dengan parsing string

//Input dari Keyboard

public static short readShort()

{

return Short.parseShort(readString());

}

//Mengambil nilai long dengan parsing string

//Input dari Keyboard

public static long readLong()

{

return Long.parseLong(readString());

}

//Mengambil nilai float dengan parsing string

//Input dari Keyboard

public static float readfloat()

{

return Float.parseFloat(readString());

}

//Mengambil nilai double dengan parsing string

//Input dari Keyboard

public static double readDouble()

{

return Double.parseDouble(readString());

}

public static void main(String[] args) {

String Nama;

int Umur;

System.out.print(“Masukkan Nama lo : “);

Nama = InputConsole.readString();

System.out.println(“Nama anda adalah “+Nama);

System.out.print(“Berapa umur lo :”);

Umur=InputConsole.readInt();

System.out.println(“Umur anda “+Umur);

}

}

_____________________________________________________________________________

Dan outputnya kira-kira begini :

Masukkan Nama lo : Tiftazani

Nama anda adalah Tiftazani

Berapa umur lo :19

Umur anda 19
_____________________________________________________________________________

Yah itu masih program sederhana, lo bisa ubah program diatas menjadi program yang lebih komplekss. Oh ya satu hal yang perlu lo ingat, bahwa sifat JAVA itu Case Sensitive, artinya membedakan besar kecilnya tulisan huruf itu, jadi tulisan Saya, saya, SAYA dan SaYa itu beda, JAVA gak kayak VB/Pascal/C, karena JAVA MEMANG BEDA.

Oke deh sekian dulu tutorial dari gw, semoga bisa membantu sedikit ya(sedikit loh gak banyak), sory kalo ada salah-salah, yah maklum gw juga kan masih belajar kayak lo lo semua. Okeh…

Ada nasehat dari temen gw, yaitu IKATLAH ILMU DENGAN MENULISKANNYA, ILMU BISA KABUR KALAU CUMA DIPENDAM SENDIRI.

Oke, selamat belajar ya bro…

Advertisements

Konsep OOP Di Java

Pemrograman berorientasi objek diciptakan untuk mempermudah pengembangan program dengan cara mengikuti model yang telah ada dalam kehidupan nyata. Dalam paradigma ini, sesuai dengan model kehidupan nyata, segala bagian (entiti) dari suatu permasalahan adalah objek. Objek-objek ini kemudian juga dapat berupa gabungan dari beberapa objek yang lebih kecil. Sebagai contoh, tengoklah sebuah mobil. Mobil adalah sebuah objek dalam kehidupan nyata. Namun mobil sendiri terbentuk dari beberapa objek yang lebih kecil seperti roda ban, mesin, jok, dll. Mobil sebagai objek yang merupakan gabungan dari objek yang lebih kecil dibentuk dengan membentuk hubungan antara objek-objek penyusunnya. Begitu juga dengan sebuah program. Objek besar dapat dibentuk dengan menggabungkan beberapa objek-objek dalam bahasa pemrograman. Objek-objek tersebut berkomunikasi dengan saling mengirim pesan kepada objek lain.

Konsep-konsep pemrograman berorientasi objek dalam Java secara umum sama dengan yang digunakan oleh bahasa-bahasa lain. Jadi kebanyakan konsep yang kita bahas juga terdapat dalam bahasa selain Java. Namun, terkadang terdapat perbedaan-perbedaan kecil antara penerapan konsep-konsep tersebut dalam masing-masing bahasa. Perbedaan-perbedaan ini juga akan dijelaskan seiring penjelasan masing-masing konsep.
Objek

Dalam penjelasan mengenai analogi, kita sudah menyinggung mengenai objek. Sekarang kita akan mengupas lebih dalam tentang objek sebagai konsep kunci dari pemrograman berorientasi objek.

Baik dalam dunia nyata atau dalam sebuah program, sebuah objek memiliki dua karakteristik, yaitu state dan behaviour. State adalah keadaan dari sebuah objek, seperti mobil memiliki state warna, model, tahun pembuatan, kondisi, dll. Sedang behaviour adalah kelakuan dari objek tersebut, seperti mobil dapat melaju, membelok, membunyikan klakson, dll. Objek menyimpan statenya dalam satu atau lebih variabel, dan mengimplementasikan behaviournya dengan metode. Dengan penjelasan di atas, dapat disimpulkan bahwa objek adalah bagian software yang dibentuk dengan variabel-variabel dan metode-metode yang berhubungan dengan variabel tersebut.

Dengan karakteristik tersebut, kita dapat memodelkan berbagai objek dalam kehidupan nyata ke dalam objek-objek dalam sebuah program. Lebih lanjut kita dapat memodelkan objek-objek abstrak ke dalam sebuah program. Contoh umum untuk konsep abstrak seperti ini adalah objek Event, yaitu objek untuk mewakili peristiwa klik atau tombol ditekan.

Sebuah objek yang dibentuk dari sebuah kelas biasa disebut instans dalam terminologi OOP. Artinya objek tersebut adalah wujud nyata dari sebuah kelas. Variabel dan metode dari instans ini disebut variabel instans dan metode instans. Setiap instans menyimpan variabelnya sendiri-sendiri, jadi nilai variabel untuk tiap instans bisa berbeda.
Message (Pesan)

Objek-objek yang bekerja sama membentuk suatu sistem harus saling berkomunikasi untuk menjalankan sistem tersebut. Dalam sebuah program, objek-objek berkomunikasi satu sama lain dengan mengirimkan pesan. Sebagai contoh, jika sebuah objek ingin memanggil metode dari objek lain, maka objek ini akan mengirimkan sebuah pesan yang meminta objek tujuan untuk menjalankan metode yang dikehendaki. Pesan ini akan berisi informasi-informasi yang dibutuhkan objek tujuan untuk dapat menunaikan permintaan tadi.

Sebuah pesan dibentuk oleh informasi berikut ini: 1) objek yang dituju; 2) nama metode yang ingin dipanggil; 3) parameter yang dibutuhkan metode tersebut. Misalnya:
anotherObject.aMethod(parameter1);

Bila sebuah objek ingin memanggil metode miliknya sendiri, maka informasi pertama adalah dirinya sendiri. Untuk menunjuk diri sendiri dalam Java digunakan kata kunci this. Maka contoh sebelumnya akan menjadi:
this.aMethod(parameter1);

Atau kita dapat menghilangkan informasi pertama sehingga menjadi:
aMethod(parameter1);

karena bila informasi pertama tidak ada, kompiler akan secara otomatis menunjuk ke objek itu sendiri.

Ada dua keuntungan dalam penggunaan pesan, yaitu: 1) semua kebutuhan interaksi antarobjek dapat dilakukan; 2) objek-objek yang saling berinteraksi tidak harus berada dalam satu proses atau bahkan dalam satu komputer.
Kelas

Kelas adalah semacam cetakan, atau template, untuk membuat objek. Ibaratkan sebuah rancangan rumah yang digunakan untuk membangun ratusan rumah. Rumah yang dibangun tersebut adalah objek dari kelas rancangan rumah. Hal ini dapat dilakukan karena semua objek rumah yang dibangun memiliki karakteristik yang sama, sehingga dapat dibuatkan semacam blueprintnya. Tetapi objek-objek yang dibangun tetap akan memiliki bentuk fisik tertentu sendiri-sendiri, seperti variabel dalam sebuah program, atau pintu sebuah objek rumah. Dengan penjelasan ini, kelas dapat kita definisikan kembali menjadi sebuah blueprint, atau prototipe, yang mendefinisikan variabel dan metode yang sama untuk semua objek sejenis.

Sebagai contoh, misalkan kita ingin membuat kelas Rumah, maka kita harus membuat sebuah kelas yang mendefinisikan semua variabel yang dimiliki objek dari kelas tersebut. Selain itu, kelas tersebut juga harus mendeklarasikan metode-metode yang dimiliki objek dari kelas dan juga membuat implementasi dari metode tersebut. Dengan adanya kelas ini, kita dapat membuat sebanyak apapun objek-objek rumah yang sejenis, yaitu jenis yang didefinisikan oleh kelas Rumah. Setiap objek Rumah diciptakan, sistem akan mengalokasikan sejumlah memori untuk objek tersebut dan variabel-variabelnya. Dengan begitu setiap objek akan memiliki salinan masing-masing untuk setiap variabel instans.

Setelah mengenal konsep kelas, saatnya Anda dikenalkan dengan variabel kelas. Variabel kelas sebenarnya sama dengan variabel instans. Bedanya adalah, setiap objek berbagi satu dan hanya satu variabel kelas, tapi masing-masing memiliki salinan dari variabel instans. Misalkan kelas Rumah yang kita buat hanya akan mendukung 2 lantai, dan setiap objek Rumah terdiri atas 2 lantai. Maka informasi ini cukup disimpan satu kali, karena nilainya tidak berbeda untuk semua objek. Lebih jauh, bila ada satu objek yang mengubah nilai dari variabel kelas, maka semua objek sejenis lainnya akan mengikuti perubahan itu. Di samping variabel, terdapat juga metode kelas. Metode jenis ini dapat langsung dipanggil melalui kelas dan bukan dari instans kelas tersebut.
Pewarisan

Terminologi asing untuk pewarisan adalah inheritance. Mungkin dalam literatur lain Anda akan sering menjumpai istilah ini. Secara gamblang, pewarisan berarti sebuah kelas mewarisi state dan behaviour dari kelas lain. Sebagai contoh, sebuah kelas RumahMewah akan mewarisi state dan behaviour dari kelas Rumah. Begitu juga dengan kelas RumahSederhana. Kelas RumahMewah dan RumahSederhana disebut subkelas, atau kelas anak, dari kelas Rumah, yang disebut superkelas, atau kelas induk.

Seluruh subkelas akan mewarisi (inherits) state dan behaviour dari superkelasnya. Dengan begitu, semua subkelas dari superkelas yang sama akan memiliki state dan behaviour yang sama. Namun, masing-masing subkelas bisa menambah sendiri state atau behaviournya. Misalkan, pada kelas Rumah tidak terdapat variable kolamRenang, namun subkelas RumahMewah memiliki variabel tersebut. Contoh lain misalnya kelas Rumah tidak memiliki metode nyalakanAlarm, namun rumah mewah memiliki metode itu.

Dalam kasus tertentu subkelas mungkin memiliki implementasi behaviour yang berbeda dengan superkelasnya. Hal seperti ini disebut override. Contohnya subkelas SepedaBalap memiliki implementasi metode ubahGigi yang berbeda dengan implementasi metode tersebut pada superkelas Sepeda.

Tingkat pewarisan tidak hanya terbatas pada dua tingkatan. Dari contoh di atas, kita bisa saja membuat subkelas dari kelas SepedaBalap, dan seterusnya. Kita bisa terus memperpanjang tingkat pewarisan ini sepanjang yang kita butuhkan. Dengan begitu, subkelas-subkelas yang dibuat akan lebih khusus dan lebih terspesialisasi. Namun terdapat batasan pewarisan dalam Java yang disebut single inheritance. Artinya sebuah kelas hanya dapat mewarisi sifat dari satu dan hanya satu superkelas saja. Dalam beberapa bahasa pemrograman berorientasi objek lain, yang berlaku adalah multiple inheritance. Artinya sebuah kelas dapat mewarisi sifat dari beberapa superkelas sekaligus.

Dalam Java, terdapat kelas Object yang merupakan superkelas dari semua kelas dalam Java, baik yang builtin ataupun yang kita buat sendiri, lansung maupun tidak langsung. Karena itu sebuah variabel bertipe Object akan dapat menyimpan referensi ke objek apapun dalam bahasa Java. Kelas Object ini memiliki behaviour yang dibutuhkan semua objek untuk dapat dijalankan di Java Virtual Machine. Sebagai contoh, semua kelas mewarisi metode toString dari kelas Object, yang mengembalikan representasi String dari objek tersebut.

Manfaat penggunaan konsep pewarisan antara lain: pertama, kita dapat menggunakan kembali kelas-kelas yang kita buat (sebagai superkelas) dan membuat kelas-kelas baru berdasar superkelas tersebut dengan karakteristik yang lebih khusus dari behaviour umum yang dimiliki superkelas. Kedua, kita dapat membuat superkelas yang hanya mendefinisikan behaviour namun tidak memberi implementasi dari metode-metode yang ada. Hal ini berguna jika kita ingin membuat semacam template kelas. Kelas semacam ini disebut kelas abstrak, karena behaviournya masih abstrak dan belum diimplementasikan. Subkelas-subkelas dari kelas semacam ini, yang disebut kelas konkret, mengimplementasikan behaviour abstrak tersebut sesuai dengan kebutuhan masing-masing.

Visual Studio.NET 2005

Halo semua? Duh ceria bgt gw, ya iyalah. Hehe ada apa gerangan?Gak kok gak ada apa2, biasa aja.

Haha kesel ya, bodo amat, hehe sory dong, maafin ya, pleaseeee. “Iya gw mafin, masa orang sekeren lho gak gw maafin”(Kata yang lagi baca, dalam hati). 😉

Hehe gw lagi seneng akhirnya gw jadi juga deh buat belajar bahasa pemrograman baru (hmm sebenarnya gak baru2 amat sih, gw aja yang rada2 kuper, ops bukan kurang pergaulan loh, tapi kurang perhatian, haha kasian gw). Nah kalo sebelumnya gw belajar Bahasa Pascal, C, dan java, sekarang gw mulai bergelut dengan Pemrograman .NET.

visual-studionet-2005.jpg

Ya gw sih awalnya baca2 dari majalah gitu, eh tau deh eh akhirnya jadi tertarik juga. Bahasa pemrograman yang tercakup di Visual Studio.Net itu ada beberapa macam, diantaranya ada Visual Basic.NET, Visual C++, C#, J#, dan asp.net. Yah kalo kurang ya maaaf kali gak usah ngambek.

Hehe sebenarnya sih gw dulu dah belajar Visual Basic pake VB 6, cuma belum begitu mahir sih (kalo gak emang gak mahir sama sekali), cuma kalo VB.Net yang sekarang lebih enak, emang sih ada beberapa syntax yang sama. Oh ya sebelumnya Gw mau kasih tau kalo Visual Studio.Net 2005 itu ada 2 versi yang satu Visual Studio.NET 2005 Tools For Microsoft Office System, dan yang satu lagi Visual Studio.NET 2005 Enterpise Developer. Nah awalnya gw pake yang awal tapi rada2 gak enak coz kalo pake yang awal di Kompi kita meski ada Office 2003 nya, sementara gw kan pakenya Office 2007 ama Open Office 2.1, ya udah deh gw uninstall aja, eh ganti deh pake yang jenis kedua. Selain itu kalo yang jenis pertama cuma ada VB.NET aja, sedangkan yang kedua itu selain ada VB.NET juga ada Visual C++,C#,J#,ama asp.net.

cover-majalah.gifLanjut,lanjut dan lanjuuut akhirnya gw mulai ketagihan deh, sampai akhirnya gw mulai deh tuh download majalah MSDN (Microsoft Developer Network), majalah journalnya Microsoft buat para pengembang .Net. Lo bisa dapetin majalahnya di sini.

Oh ya selain gw tertarik di VB.Net, gw juga mulai melirik di Visual C++, tau gak kenapa? Ya gak lah orang gw belum kasitau, hehe gw mulai rada2tertarik karena gw pernah liat film di RCTI judulnya gw lupa, ada cowok yang jadi supir, eh pas dia lagi nunggu majikannya dia ke perpus, dia bawa buku Tebellll bgt, pas gw liat judulnya eh judulnya Visual C++, langsung ngakak gw, laga bgt nih supir, eh ternyata supir ini ternyata jenius, duh jadi ngomongin film deh. Lanjut punya lanjuut ternyata gw berfikir wah boleh juga nih dicoba, tapi gw inget gw pernah nyoba Visual C++ di Visual Studio.Net 2003, tapi gagal melulu banyak errornya, gw pikir bahasanya sama persis ama C atau C++, eh ternyata ada beberapa yang beda. Gw tanya kakak kelas gw sih katanya sebetulnya gak beda cuma cara penulisannya aja yang rada beda, bingung gw, katanya perbedaan nya mirip kayak Bahasa Pascal ama Delphi. kalo Pascal pake console sedangkan Delphi dah Visual/GUI. Eh tapi kan gw pertama kli di Visual C++, nyobanya pake yang console , tapi masih salah juga, fiuhh nasib gw aja ya yang lagi apess.

Di visual C++,gw coba masukin include dari file header yaitu #include “stdio.h”, #include “conio.h”, #include “iostream.h”, tapi ternyata error juga, pas gw ilangintulisan “.h” nya kaya format awal tetap aja salah, terus gw copy paste source code Visual c++ dari menu help (Buat gunain ini lo mesti nginstall MSDN yang compatible ma Visual Studio.Net 2005) lalu gw compile, eh ternyata ada errornya juga, duh gw jadi pusiiing, ya udah untuk sementara gw tinggalin dulu deh Visual C++, gw mau konsentrasi di VB.Net nya dulu. Eh tapi gw gak bakal ninggalin gitu aja, lainkali gw bakal nyari sumber dong buat bantuin gw mecahin masalah ini. Ya udah deh gitu aja.

Oh ya kalo mau tau dan pengen belajar tentang pemrograman .Net lo bisa kunjungin situs www.netindonesia.net atau di situs resminya di msdn.microsoft.com.