Halaman

Minggu, 09 Desember 2012

Menggunakan JOptionPane untuk mendapatkan input

Menggunakan BufferedReader untuk mendapatkan input


Pada bagian ini, kita akan menggunakan class BufferedReader yang berada di package
java.io untuk mendapatkan input dari keyboard.
Berikut ini adalah langkah-langkah yang diperlukan untuk mendapatkan input dari
keyboard:
1. Tambahkan di bagian paling atas code Anda:
import java.io.*;
2. Tambahkan statement berikut:
BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );
3. Deklarasikan variabel String temporary untuk mendapatkan input, dan gunakan
fungsi readLine() untuk mendapatkan input dari keyboard. Anda harus
mengetikkannya di dalam blok try-catch:
try{
String temp = dataIn.readLine();
}
catch( IOException e ){
System.out.println(“Error in getting input”);
}


Berikut ini adalah source code lengkapnya:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class GetInputFromKeyboard
{
public static void main( String[] args ){
BufferedReader dataIn = new BufferedReader(new
InputStreamReader( System.in) );
String name = "";
System.out.print("Please Enter Your Name:");
try{
name = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
System.out.println("Hello " + name +"!");
}
}
Berikutnya akan penjelasan setiap baris dari code tersebut:
Statement,
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
menjelaskan bahwa kita akan menggunakan class BufferedReader, InputStreamReader
dan IOException yang berada di java.io package. Java Application Programming
Interface (API) berisi ratusan class yang sudah didefinisikan sebelumnya yang dapat
digunakan untuk program Anda. Class-class tersebut dikumpulkan di dalam packages.
Packages berisi class yang mempunyai fungsi yang saling berhubungan. Seperti pada
contoh di atas, java.io package mengandung class-class yang memungkinkan
program untuk melakukan input dan output data. Pernyataan di atas juga dapat ditulis
sebagai berikut,
import java.io.*;
yang akan mengeluarkan semua class yang berada dalam package, dan selanjutnya kita
bisa menggunakan class-class tersebut dalam program kita.


Dua statement selanjutnya,
public class GetInputFromKeyboard
{
public static void main( String[] args ){
kita sudah mempelajari pada pelajaran sebelumnya. Pernyataan ini mendeklarasikan
class bernama GetInputFromKeyboard dan kita mendeklarasikan method main.
Dalam statement,
BufferedReader dataIn = new BufferedReader(new
InputStreamReader( System.in) );
kita mendeklarasikan sebuah variabel bernama dataIn dengan tipe class
BufferedReader. Jangan mengkhawatirkan tentang maksud dari syntax saat ini. Kita
akan menjelaskannya pada akhir pembahasan.
Sekarang, kita akan mendeklarasikan variabel String dengan identifier name,
String name = "";
Pernyataan di atas merupakan tempat untuk menyimpan input dari user. Nama variabel
diinisialisasi sebagai String kosong "". Sebaiknya kita selalu menginisialisasi sebuah
variabel setelah kita mendeklarasikannya.
Baris berikutnya adalah memberikan output sebuah String pada layar yang menanyakan
nama user.
System.out.print("Please Enter Your Name:");
Sekarang, blok di bawah ini merupakan try-catch block,
try{
name = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
Pada baris ini menjelaskan bahwa kemungkinan terjadi error pada pernyataan,
name = dataIn.readLine();
akan ditangkap. Kita akan membahas tentang penanganan exception pada bab
selanjutnya dari pembahasan ini, tetapi untuk sekarang, Anda cukup mencatat bahwa
Anda perlu menambahkan kode ini untuk menggunakan method readLine() dari
BufferedReader untuk mendapatkan input dari user.


Selanjutnya kembali ke pernyataan,
name = dataIn.readLine();
method diatas memanggil dataIn.readLine(), mendapatkan input dari user dan
memberikan sebuah nilai String. Nilai ini akan disimpan ke dalam variabel name, yang
akan kita gunakan pada statement akhir untuk menyambut user,
System.out.println("Hello " + name + "!");






Abstract Class


Misalnya kita ingin membuat superclass yang mempunyai method tertentu yang berisi
implementasi, dan juga beberapa method yang akan di-overridden oleh subclasses nya.
Sebagai contoh, kita akan membuat superclass bernama LivingThing. class ini mempunyai
method tertentu seperti breath, eat, sleep, dan walk. Akan tetapi, ada beberapa method di
dalam superclass yang sifatnya tidak dapat digeneralisasi. Kita ambil contoh, method walk.
Tidak semua kehidupan berjalan(walk) dalam cara yang sama. Ambil manusia sebagai
misal, kita manusia berjalan dengan dua kaki, dimana kehidupan lainnya seperti anjing
berjalan dengan empat kaki. Akan tetapi, beberapa ciri umum dalam kehidupan sudah
biasa, itulah kenapa kita inginkan membuat superclass umum dalam hal ini.

Kita dapat membuat superclass yang mempunyai beberapa method dengan implementasi
sedangkan yang lain tidak. Class jenis ini yang disebut dengan class abstract.
Sebuah class abstract adalah class yang tidak dapat di-instantiate. Seringkali muncul di
atas hirarki class pemrograman berbasis object, dan mendefinisikan keseluruhan aksi yang
mungkin pada object dari seluruh subclasses dalam class.
Method ini dalam class abstract yang tidak mempunyai implementasi dinamakan method
abstract. Untuk membuat method abstract, tinggal menulis deklarasi method tanpa tubuh
class dan digunakan menggunakan kata kunci abstract. Contohnya,

public abstract void someMethod();

Sekarang mari membuat contoh class abstract.
public abstract class LivingThing
{
public void breath(){
System.out.println("Living Thing breathing...");
}
public void eat(){
System.out.println("Living Thing eating...");
}
/**
* abstract method walk
* Kita ingin method ini di-overridden oleh subclasses
*/
public abstract void walk();
}
Ketika class meng-extend class abstract LivingThing, dibutuhkan untuk override method
abstract walk(), atau lainnya, juga subclass akan menjadi class abstract, oleh karena itu
tidak dapat di-instantiate. Contohnya,
public class Human extends LivingThing
{
public void walk(){
System.out.println("Human walks...");
}
}
Jika class Human tidak dapat overridde method walk, kita akan menemui pesan error
berikut ini,
Human.java:1: Human is not abstract and does not override
abstract method walk() in LivingThing
public class Human extends LivingThing
^
1 error




Petunjuk penulisan program:
Gunakan class abstract untuk mendefinisikan secara luas sifat-sifat dari class
tertinggi pada hirarki pemrograman berbasis object, dan gunakan subclassesnya
untuk menyediakan rincian dari class abstract.



Polimorfisme


Sekarang, class induk Person dan subclass Student dari contoh sebelumnya, kita
tambahkan subclass lain dari Person yaitu Employee.

Dalam Java, kita dapat membuat referensi yang merupakan tipe dari superclass ke sebuah
object dari subclass tersebut. Sebagai contohnya,


public static main( String[] args )
{
Person ref;
Student studentObject = new Student();
Employee employeeObject = new Employee();
ref = studentObject; //Person menunjuk kepada
// object Student
//beberapa kode di sini
}
Sekarang dimisalkan kita punya method getName dalam superclass Person kita, dan kita
override method ini dalam kedua subclasses Student dan Employee,
public class Person
{
public String getName(){
System.out.println(“Person Name:” + name);
return name;
}
}
public class Student extends Person
{
public String getName(){
System.out.println(“Student Name:” + name);
return name;
}
}

public class Employee extends Person
{
public String getName(){
System.out.println(“Employee Name:” + name);
return name;
}
Kembali ke method utama kita, ketika kita mencoba memanggil method getName dari
reference Person ref, method getName dari object Student akan dipanggil. Sekarang, jika
kita berikan ref ke object Employee, method getName dari Employee akan dipanggil.
public static main( String[] args )
{
Person ref;
Student studentObject = new Student();
Employee employeeObject = new Employee();
ref = studentObject; //Person menunjuk kepada
// object Student
String temp = ref.getName(); //getName dari Student
//class dipanggil
System.out.println( temp );
ref = employeeObject; //Person menunjuk kepada
// object Employee
String temp = ref.getName(); //getName dari Employee
//class dipanggil
System.out.println( temp );
}
Kemampuan dari reference untuk mengubah sifat menurut object apa yang dijadikan acuan
dinamakan polimorfisme. Polimorfisme menyediakan multiobject dari subclasses yang
berbeda untuk diperlakukan sebagai object dari superclass tunggal, secara otomatis
menunjuk method yang tepat untuk menggunakannya ke particular object berdasar
subclass yang termasuk di dalamnya.
Contoh lain yang menunjukkan properti polimorfisme adalah ketika kita mencoba melalui
reference ke method. Misalkan kita punya method static printInformation yang
mengakibatkan object Person sebagai reference, kita dapat me-reference dari tipe
Employee dan tipe Student ke method ini selama itu masih subclass dari class Person.
public static main( String[] args )
{
Student studentObject = new Student();
Employee employeeObject = new Employee();
printInformation( studentObject );
printInformation( employeeObject );
}

public static printInformation( Person p ){
. . . .
}




Method final dan class final


Dalam Java, juga memungkinkan untuk mendeklarasikan class-class yang tidak lama
menjadi subclass. Class ini dinamakan class final. Untuk mendeklarasikan class untuk
menjadi final kita hanya menambahkan kata kunci final dalam deklarasi class. Sebagai
contoh, jika kita ingin class Person untuk dideklarasikan final, kita tulis,
public final class Person
{
//area kode
}
Beberapa class dalam Java API dideklarasikan secara final untuk memastikan sifatnya tidak
dapat di-override. Contoh-contoh dari class ini adalah Integer, Double, dan String.
Ini memungkinkan dalam Java membuat method yang tidak dapat di-override. Method ini
dapat kita panggil method final. Untuk mendeklarasikan method untuk menjadi final, kita
tambahkan kata kunci final ke dalam deklarasi method. Contohnya, jika kita ingin method
getName dalam class Person untuk dideklarasikan final, kita tulis,
public final String getName(){
return name;
}
Method static juga secara otomatis final. Ini artinya Anda tidak dapat membuatnya
override.

Overriding Method


Untuk beberapa pertimbangan, terkadang class asal perlu mempunyai implementasi
berbeda dari method yang khusus dari superclass tersebut. Oleh karena itulah, method
overriding digunakan. Subclass dapat mengesampingkan method yang didefinisikan dalam
superclass dengan menyediakan implementasi baru dari method tersebut.
Misalnya kita mempunyai implementasi berikut untuk method getName dalam superclass
Person,
public class Person
{
:
:
public String getName(){
System.out.println("Parent: getName");
return name;
}
:
}
Untuk override, method getName dalam subclass Student, kita tulis,
public class Student extends Person
{
:
:
public String getName(){
System.out.println("Student: getName");


}
:
}


Jadi, ketika kita meminta method getName dari object class Student, method overridde
akan dipanggil, keluarannya akan menjadi,
Student: getName



Kata Kunci Super


Subclass juga dapat memanggil constructor secara eksplisit dari superclass terdekat. Hal ini
dilakukan dengan pemanggil construktor super. Pemanggil constructor super dalam
constructor dari subclass akan menghasilkan eksekusi dari superclass constructor yang
bersangkutan, berdasar dari argumen sebelumnya.
Sebagai contoh, pada contoh class sebelumnya. Person dan Student, kita tunjukkan contoh
dari pemanggil constructor super. Diberikan kode berikut untuk Student,
public Student(){
super( "SomeName", "SomeAddress" );
System.out.println("Inside Student:Constructor");
}
Kode ini memanggil constructor kedua dari superclass terdekat (yaitu Person) dan
mengeksekusinya. Contoh kode lain ditunjukkan sebagai berikut,
public Student(){
super();
System.out.println("Inside Student:Constructor");



Kode ini memanggil default constructor dari superclass terdekat (yaitu Person) dan
mengeksekusinya.
Ada beberapa hal yang harus diingat ketika menggunakan pemanggil constuktor super:
1. Pemanggil super() HARUS DIJADIKAN PERNYATAAN PERTAMA DALAM constructor.
2. Pemanggil super() hanya dapat digunakan dalam definisi constructor.
3. Termasuk constructor this() dan pemanggil super() TIDAK BOLEH TERJADI DALAM
constructor YANG SAMA.
Pemakaian lain dari super adalah untuk menunjuk anggota dari superclass(seperti
reference this). Sebagai contoh,
public Student()
{
super.name = “somename”;
super.address = “some address”;
}

Mendefinisikan Superclass dan Subclass


Untuk memperoleh suatu class, kita menggunakan kata kunci extend. Untuk
mengilustrasikan ini, kita akan membuat contoh class induk. Dimisalkan kita mempunyai
class induk yang dinamakan Person.


dua parameter
*/
public Person( String name, String address ){
this.name = name;
this.address = address;
}
/**
* Method accessor
*/
public String getName(){
return name;
}
public String getAddress(){
return address;
}
public void setName( String name ){
this.name = name;
}
public void setAddress( String add ){
this.address = add;
}
}




Perhatikan bahwa atribut name dan address dideklarasikan sebagai protected. Alasannya
kita melakukan ini yaitu, kita inginkan atribut-atribut ini untuk bisa diakses oleh subclasses
dari superclassess. Jika kita mendeklarasikannya sebagai private, subclasses tidak dapat
menggunakannya. Catatan bahwa semua properti dari superclass yang dideklarasikan
sebagai public, protected dan default dapat diakses oleh subclasses-nya.
Sekarang, kita ingin membuat class lain bernama Student. Karena Student juga sebagai
Person, kita putuskan hanya meng-extend class Person, sehingga kita dapat mewariskan
semua properti dan method dari setiap class Person yang ada. Untuk melakukan ini, kita
tulis,
public class Student extends Person
{
public Student(){
System.out.println(“Inside Student:Constructor”);
//beberapa kode di sini
}
// beberapa kode di sini
}
Ketika object Student di-instantiate, default constructor dari superclass secara mutlak
meminta untuk melakukan inisialisasi yang seharusnya. Setelah itu, pernyataan di dalam
subclass dieksekusi. Untuk mengilustrasikannya, perhatikan kode berikut,
public static void main( String[] args ){
Student anna = new Student();
}
Dalam kode ini, kita membuat sebuah object dari class Student. Keluaran dari program
adalah,
Inside Person:Constructor
Inside Student:Constructor





Senin, 22 Oktober 2012

MEMBUAT GAMBAR RUMAH , MATAHARI , MENGGUNAKAN SCRPIT JAVA

Sewaktu pertemuan java kemarin kata guru saya katanya sekarang belajar ngegambar , tapi di kala itu ga ada satupun alat untuk menggambar .. ohhh ternyata ngegambarnya menggunakan script java
ya seperti menentukan titik koordinat gitu .. awal awal sih BT karna ga pas , tapi setelah terus di coba ahirnya bisa hahah
okeh kita langsung aja ke codingnya

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.util.logging.Level;
import java.util.logging.Logger;


public class Tugas extends Canvas {

    public paint(Graphics g) {

        for (int i = 0; i < 500; i++) {
            try {
                g.setColor(new Color(60, 211, 195));
                g.fillRect(0, 0, 700, 700); //awan
                g.setColor(Color.blue);
                g.fillOval(510, 50, 70, 70);
                g.fillOval(520, 40, 70, 70);
                g.fillOval(550, 50, 70, 70);
                g.fillOval(560, 60, 70, 70);
                g.fillOval(580, 60, 70, 70);
                g.fillOval(540, 50, 70, 70);
                g.fillOval(480, 40, 70, 70);
                
                
                g.fillOval(100, 60, 70, 20);
                g.fillOval(110, 70, 70, 20);
                g.fillOval(120, 70, 70, 20);
                g.fillOval(130, 70, 70, 20);

                //matahari
                g.setColor(Color.yellow);
                g.fillOval(350, 60+i, 100, 100);
    //        g.setColor(Color.red);
    //        g.drawLine(0, 450, 600, 450);
    //        g.drawLine(0, 450, 0, 600);
    //        g.drawLine(0, 600, 600, 600);
    //        g.drawLine(600, 450, 600, 600);
    //      
                //tembok
                g.setColor(Color.ORANGE);
                g.fillRect(300, 450, 200, 200);
                //jendela
                g.setColor(Color.GREEN);
                g.fillRect(330, 550, 40, 70);
                //pintu
                g.setColor(Color.RED);
                g.fillRect(400, 560, 50, 90);
                //atap
                g.setColor(Color.red);
                int a[] = {400, 500, 300};
                int b[] = {320, 450, 450};
                g.fillPolygon(a, b, 3);
    //        g.drawLine(300, 450, 400, 300);
    //        g.drawLine(400, 300, 500, 450);

                
                //android
                //kepala
                g.setColor(Color.GREEN);
                g.fillArc(50, 470, 100, 100, -180, -180);
                //tubuh
                g.fillRect(50, 530, 100, 90);
                //kaki
                g.fillRect(60, 624, 12, 39);
                g.fillRect(120, 624, 12, 39);
                //tangan
                g.fillRoundRect(27, 530, 20, 80, 20, 20);
                g.fillRoundRect(153, 530, 20, 80, 20, 20);

                //mata
                g.setColor(Color.WHITE);
                g.fillArc(78, 481, 10, 10, 360, 360);
                g.fillArc(100, 481, 10, 10, 360, 360);
                Thread.sleep(50);
            } catch (InterruptedException ex) {
                Logger.getLogger(Tugas.class.getName()).log(Level.SEVERE, null, ex);
            }
        }


    }

    public static void main(String[] args) {
        Frame f = new Frame("Gambar Pertama");
        Tugas cv = new Tugas();
        f.add(cv);
        f.setSize(700, 700);
        f.setVisible(true);

    }
}



dan ini hasilnya



Sabtu, 06 Oktober 2012

Kategori Bahasa Pemrograman




1. Bahasa Pemrograman Tingkat Tinggi
Merupakan bahasa tingkat tinggi yang mempunyai ciri-ciri mudah dimengerti karena
kedekatannya terhadap bahasa sehari – hari. Sebuah pernyataan program
diterjemahkan kepada sebuah atau beberapa mesin dengan menggunakan
compiler.
Sebagai contoh adalah : JAVA, C++, .NET
2. Bahasa Pemrograman Tingkat Rendah
Bahasa pemrograman generasi pertama. Bahasa jenis ini sangat sulit dimengerti
karena instruksinya menggunakan bahasa mesin. Disebut juga dengan bahasa
assembly merupakan bahasa dengan pemetaan satu – persatu terhadap instruksi
komputer. Setiap intruksi assembly diterjemahkan dengan menggunakan
assembler.
Bahasa Pemrograman Tingkat Menengah
Dimana penggunaan instruksi telah mendekati bahasa sehari – hari, walaupun masih
cukup sulit untuk dimengerti karena menggunakan singkatan – singkatan seperti
STO yang berarti simpan (STORE) dan MOV yang artinya pindah (MOVE). Yang
tergolong dalam bahasa ini adalah Fortran.
Alur Pembuatan Program
Seorang programmer tidak melakukan pembuatan dan pengkodean program secara
begitu saja, namun mengikuti perencanaan dan metodologi yang terstruktur yang
memisahkan proses suatu aplikasi menjadi beberapa bagian.
Berikut ini langkah – langkah sistematis dasar dalam menyelesaikan permasalahan
pemrograman :
1. Mendefinisikan masalah
2. Menganalisa dan membuat rumusan pemecahan masalah
3. Desain Algoritma dan Representasi
4. Pengkodean, Uji Coba dan pembuatan dokumentasi
Untuk memahami langkah dasar dalam pemecahan masalah dalam sebuah komputer
mari kita mendefinisikan sebuah permasalahan yang akan diselesaikan langkah demi
langkah sebagaimana metodologi pemecahan masalah yang akan dibahas selanjutnya.
Masalah yang akan kita selesaikan akan didefinisikan pada bagian selanjutnya.
Definisi Permasalahan
Seorang programmer umumnya mendapatkan tugas berdasarkan sebuah permasalahan.
Sebelum sebuah program dapat terdesain dengan baik untuk menyelesaikan beberapa
permasalahan, masalah–masalah yang terjadi harus dapat diketahui dan terdefinisi
J.E.N.I.
Pengenalan Pemrograman
dengan baik untuk mendapatkan detail persyaratan input dan output.
Sebuah pendefinisan yang jelas adalah sebagian dari penyelesaian masalah.
Pemrograman komputer mempersyaratkan untuk mendefiniskan program terlebih
dahulu sebelum membuat suatu penyelesaian masalah.
Mari kita definisikan sebuah contoh permasalahan :
”Buatlah sebuah program yang akan menampilkan berapa kali sebuah nama
tampil pada sebuah daftar”
Analisa Permasalahan
Setelah sebuah permasalahan terdefinisi secara memadai, langkah paling ringkas dan
efisien dalam penyelesaian harus dirumuskan.
Umumnya, langkah berikutnya meliputi memecahkan masalah tersebut menjadi
beberapa bagian kecil dan ringkas.
Contoh masalah :
Menampilkan jumlah kemunculan sebuah nama pada daftar
Input Terhadap Program :
Daftar Nama, Nama yang akan dicari
Output Dari Program :
Jumlah kemunculan nama yang dicari
Desain Algoritma dan Representasi
Setelah kita mengetahui dengan baik dan jelas mengenai permasalahan yang ingin
diselesaikan, langkah selanjutnya yaitu membuat rumusan algoritma untuk
menyelesaikan permasalahan. Dalam pemrograman komputer penyelesaian masalah
didefinisikan dalam langkah demi langkah.
Algoritma adalah urutan langkah – langkah logis penyelesaian masalah yang disusun
secara sistematis dan logis. Logis merupakan kunci dari sebuah algoritma. Langkahlangkah
dalam algoritma harus logis dan bernilai benar atau salah.
Algoritma dapat diekpresikan dalam bahasa manusia, menggunakan presentasi grafik
melalui sebuah FlowChart (diagram alir) ataupun melalui PseudoCode yang
menjembatani antara bahasa manusia dengan bahasa pemrograman.
Berdasarkan permasalahan yang terjadi pada bagian sebelumnya, bagaimanakah kita
dapat memberikan solusi penyelesaian secara umum dalam sebuah alur yang dapat
dengan mudah dimengerti?
Mengekspresikan cara penyelesaian melalui bahasa manusia :
J.E.N.I.
Pengenalan Pemrograman 
1. Tentukan daftar nama
2. Tentukan nama yang akan dicari, anggaplah ini merupakan sebuah kata kunci
3. Bandingkan kata kunci terhadap setiap nama yang terdapat pada daftar
4. Jika kata kunci tersebut sama dengan nama yang terdapat pada daftar,
tambahkan nilai 1 pada hasil perhitungan
5. Jika seluruh nama telah dibandingkan, tampilkan hasil perhitungan (output)


SEJARAH JAVA


Pengenalan Java
Apa itu Java ?
Java adalah salah satu bahasa pemrograman berorientasi objek (OOP-Object Oriented Programming). Paradigma OOP menyelesaikan masalah dengan merepresentasikan masalah ke model objek.
Pemrograman Berorientasi Obyek (OOP)
Pemisalan Objek dalam OOP
Objek-objek dalam dunia nyata, mempunyai 2 karakteristik khusus : Status dan Perilaku. Contohnya, sepeda punya status(jumlah gir, jumlah pedal, dua buah ban) dan perilaku(mengerem, mempercepat, ubah gir).
Bahasa yang berorientasi pada objek pun mempunyai karakteristik yang sama dengan objek-objek di dunia nyata. Yaitu status yang dalam bahasa pemrograman biasanya disimpan sebagai Variabel dan perilaku yang diimplementasikan sebagai Method.
Sejarah Java
Dimulai pada tahun 1991 dibentuknya suatu tim yang diberi nama green
Tim ini dipimpin oleh Patrick Naughton dan James Gosling (Sekelompok insinyur Sun ).
Awalnya mereka ingin membuat suatu bahasa komputer yang dapat digunakan oleh TV kabel ( Cable TV Box) yang memiliki memori kecil dan setiap perusahaan memiliki tipe yang berbeda.
Untuk mengaplikasikan hal tersebut mereka menggunakan hal yang pernah dicoba oleh bahasa pascal.
Sebelumnya Niclaus Wirth telah membuat sebuah bahasa yang portable yang akan digunakan dalam mesin bayangan selanjutnya ini disebut sebagai Virtual Mesin namun saat itu belum diumumkan.
Akhirnya tim green mengunakan ide ini akhirnya mereka menciptakan Java Virtual Mesin.
Vitual mesin inilah yang menbuat java dapat dijalankan diberbagai platform.
Pada tahun 1992 tim green membuat produknya yang diberi nama *7 (Star Seven )
Namun produk ini gagal dipasaran.
Setelah itu dibuat produk yang baru. Inilah java, pada awalnya bahasa pemrograman yang dibuat tersebut diberi nama “oak “ (Kemungkinan nama ini diambil dari nama pohon yang ada didepan jendela James Gosling)
Namun setelah diperiksa ternyata nama oak sudah pernah digunakan. Maka lahirlah nama “ Java “
Pada tahun 1993 sampai pertengahan 1994 tim green yang mempunyai nama baru First person. Inc hanya menghabiskan waktu dengan memperhatikan penjualan dari produknya. Ternyata tidak satupun orang ditemukan. Akhirnya pada tahun 1994 First Person dibubarkan.
Pada tahun itu Web berkembang sangat pesat saat itu browser yang banyak digunakan adalah Mosaic suatu broser yang gratis.
Dalam suatu wawancara pada pertengahan tahun 94 James Gosling mengatakan “We could build a real cool browser. It was one of the few things in the client/serve mainstream that needed some of the weird things we’d done: architecture neutral, real-time,reliable, secure—issues that weren’t terribly important in the workstation world. So we built a browser.”
Akhirnya dibuatlah suatu browser oleh Patrick Naughton dan Jonathan Payne.
Browser itu diberi nama Hot Java. Browser ini dibuat dengan menggunakan bahasa java untuk menunjukkan kemapuan dari java.
Yang tidak kalah hebatnya mereka juga membuat teknologi yang disebut Aplet sehingga browser dapat menjalankan kode program didalam browser.
Inilah bukti dari teknologi itu yang ditunjukkan java pada tanggal 25 mei 1995
Sejak saat itu browser java memberikan lisensinya kepada browser lain untuk bisa menjalankan Applet dan pada tahun 1996 diberikan pada Internet Explorer.
Akhirnya pada tahun 1996 dikeluarkan versi pertama dari java dengan mengeluarkan java 1.02
Pada tahun 1998 dikeluarkan java 1.2 dan java mulai mengeluarkan slogannya “Write once, Run anywhre “
Edisi Java
Java adalah bahasa yang dapat dijalankan dimanapun dan di sembarang platform apapun, di beragam lingkngan : internet, intranets,consumer electronic products, dan computer applications.The java 2 platform tersedia dalam 3 edisi untuk keperluan berbeda. Untuk beragam aplikasi yang dibuat dengan bahasa Java, java dipaketkan dalam edis – edisi berikut :
1.Java 2 Standard Edition ( J2SE )
2.Java 2 Enterprise dition ( J2EE )
3.Java 2 Micro Edition ( J2ME )
Masing – masing edisi berisi Java 2 Software Development Kit ( J2SDK ) untuk mengembangkan aplikasi dan Java 2 Runtime Environent ( J2RE ) untuk menjalankan aplikasi.
Kelebihan Java di bandingkan dengan C++
Pembuat program java telah merancang java untuk menghilangkan pengalokasian dan dealokasi memori secara manual, karena java memiliki Garbage Collection
Diperkenalkannya deklarasi array yang sebenarnya dan menghilangkan aritmatika pointer. Hal ini yang sering menyebabkan memori overwrite.
Dihilangkannya multiple inheritance, mereka menggantinya dengan interface.

THR JAVA




Haloo .. kebetulan saya dapet tugas dari guru java saya nih yaitu katanya tugas hari raya "THR"
 allhamdulillah ahirnya saya bisa menuntaskan Tugas Hari Raya saya disini saya akan menunjukan hasil kerja saya selama beberapa waktu dan dimensi haha .. mari kita lihat saja langsung


_________________________________________________________________________________



soal

Input
Jumlah bilangan yang akan dimasukan : N
Bilangan ke 1 :
Bilangan ke 2 :
…………………
………………...
Bilangan ke N :

Output
Jumlah Bilangan Positif   :
Jumlah Bilangan Negatif :

Contoh :
Jumlah bilangan yang akan dimasukan : 5
Bilangan ke 1 : -5
Bilangan ke 2 : -7
Bilangan ke 3 : 9
Bilangan ke 4 : 4
Bilangan ke 5 : 2

Output
Jumlah Bilangan Positif   : 3
Jumlah Bilangan Negatif :  2




_________________________________________________________________________________

class utama

saya disini menggunakan 2 class
_________________________________________________________________________________
System.out.println(" menentukan bilangan positif dan negatif");
        System.out.println("");
        // adanya judul biar terlihat indah hehe
        
        int n = 0;
        // variabel untuk menyimpan banyaknya bilangan
        
        int bilpos = 0, bilneg = 0, bilnet = 0;
        // variabel yang menentukan bilangan positif negatif dan 0
        
        Scanner in = new Scanner(system.in);
        
        System.out.println("jumlah bilangan yang akang ditampilkan : ");
        n = In.nextInt(); 
        // imputan yang akan dimsaukan oleh user
        
        int bilangan[] = new int [n];
        // mendeklarasikan variabel array penyimpanan bilangan
        
        for(int i=0;i<n;i++)
            // pengulangan bilangan yang akan dimasukan oleh user
        {
            System.out.println("bilangan yang ke : "+(i+1)+":");
            bilangan[i] = In.nextInt();
            //bilangan tadi masuk ke array
        
        }
        selector select = new selector();
        
        bilpos = select.positif(bilangan); //mengeluarkan fungsi bilangan positif
        bilneg = select.negatif(bilangan); //mengeluarkan fungsi bilangan negatif
        bilnet = select.neutral(bilangan); //mengeluarkan fungsi bilangan neutral
        
        System.out.println("jumlah bilangan positif : "+bilpos);
        System.out.println("jumlah bilangan negatif : "+bilneg);
        if(bilnet !=0)
        System.out.println("anda memasukan bilangan "+bilnet+"angka 0"); //mengeluarkan fungsi bilangan netral
        
    }
}

_________________________________________________________________________________

class proses
_________________________________________________________________________________

public class proses {

    public int positif(int bil[])//menyelakse bilangan positif
{
        int hasil = 0;
        for (int i =0;i<bil.length;i++)
        {
            if(bil[i]>0)hasil = hasil +1;
            // bilangan positif akan bertambah 1
        }
        return hasil; // mengembalikan variabel fungsi
    
    
}
    public int negatif (int bil[]) // menyeleksi bilangan negatif
{
        int hasil=0;
        for (int i =0;i<bil.length;i++)
        {
            if(bil[i]<0)hasil = hasil +1;
        }
        return hasil;
}

    public int neutral(int bil[])

    {
        int hasil=0;
        for (int i =0;i<bil.length;i++)
        {
            if(bil[i]<0)hasil = hasil +1;
        }
        return hasil;
    }
}

_________________________________________________________________________________
print screen class utama
_________________________________________________________________________________







_________________________________________________________________________________
print screen class proses
_________________________________________________________________________________






_________________________________________________________________________________
print screen coding
_________________________________________________________________________________




sekian tugas saya mungkin bermanfaat untuk anda :)