Sejarah Komputer

Awal Mula diciptakan komputer adalah pada saat terjadinya Perang Dunia II, negara – negara yang terlibat dalam perang tersebut berusaha mengembangkan komputer untuk mengeksploitasi potensi strategis yang dimiliki komputer.
Hal ini meningkatkan pendanaan pengembangan komputer serta mempercepat kemajuan teknologi komputer. Pada tahun 1941, Konrad Zuse, seorang insinyur Jerman membangun sebuah komputer Z3 , untuk mendesain pesawat terbang dan peluru kendali. pihak sekutu juga membuat kemajuan lain dalam pengembangan komputer.
Tahun 1943, pihak inggris menyelesaikan komputer pemecah kode rahasia yang dinamakan Colossus untuk memecahkan kode rahasia yang digunakan jerman. Perkembangan Komputer Generasi I diawali dengan terciptanya komputer yang disebut Electronic Numerical Integrator and Computer (ENIAC).
Komputer ini dibuat oleh pemerintah Amerika Serikat yang bekerja sama dengan university of Pennysylvania pada tahun 1946. ENIAC terdiri atas 18.000 tabung vakum, 70.000 resistor, dan 5 juta titik solder.

Berikut adalah  perkembangan computer dari pertama sampai saat ini


1.  Computer generasi pertama (1946 – 1959)
     Komputer generasi pertama adalah ENIAC, yang merupakan komputer elektronik pertama didunia yang mempunyai bobot seberat 30 ton, panjang 30 M dan tinggi 2.4 M dan membutuhkan daya listrik 174 kilowatts. Komputer generasi pertama ini menggunakan Tabung hampa udara (vacum-tube) yang terbuat dari kaca untuk penguat sinyal. Namun hal tersebut masih banyak mempunyai kendala seperti: mudah pecah, dan cepat menyalurkan panas.
Electronic Numerical Integrator and Calculator (ENIAC) merupakan generasi pertama komputer digital elektronik yang digunakan untuk kebutuhan umum.
Program ENIAC dirancang pada tahun 1942, dan mulai dibuat pada tahun 1943 oleh Dr. John W. Mauchly dan John Presper Eckert di Moore School of Electrical Engineering (University of Pennsylvania) dan baru selesai pada tahun 1946.
ENIAC berukuran sangat besar, untuk penempatannya membutuhkan ruang 500m2. ENIAC menggunakan 18.000 tabung hampa udara, 75.000 relay dan saklar, 10.000 kapasitor, dan 70.000 resistor. Ketika dioperasikan, ENIAC membutuhkan daya listrik sebesar 140 kilowatt dengan berat lebih dari 30 ton, dan menempati ruangan 167 m2.
Perangkat komputer yang pertama kali dikembangkan adalah komputer untuk desain pesawat dan peluru kendali. Ilmuwan yang menggagas konsep pengembangan tersebut adalah Konrad Zuse, seorang Insinyur asal Jerman.
Pertengahan 1940-an, John Von Neumann (1903-1957) bergabung dengan tim University Of Pennysylvania dalam usaha membangun konsep desain komputer 40 tahun mendatang masih dipakai dalam teknik komputer.
Von Neumann mendesain Electronic Discrete Variable Automatic Comnputer (EDVAC) pada tahun 1945 dengan sebuah memori untuk menampung baik program atau pun data. Teknik ini memungkinkan komputer untuk berhenti pada suatu saat dan kemudian melanjutkan pekerjaannya kembali.
Kunci utama arsitektur Von Neumann adalah unit pemrosesan sentral (Central processor unit/ CPU), yang memungkinkan seluruh fungsi komputer dikoordinasikan melalui satu sumber tunggal. Ciri utama dari komputer generasi pertama adalah CPU.
Dengan konsep itulah John Von Neumann dijuluki sebagai bapak komputer modern pertama di dunia yang konsepnya masih digunakan sampai sekarang
John Von Neumann lahir di Budapest, Hongaria 28 Desember 1903 dan meninggal pada tanggal 8 Februari 1957 di Washington DC, AS. Von Neumann sangat cerdas dalam matematika dan angka-angka.
Pada usia eman tahun dia sudah dapat menghitung pembagian angka dengan delapan digit tanpa menggunakan kertas atau alat bantu lainnya. Pendidikannya dimulai di University of Budapest pada tahun 1921 di jurusan kimia.
Tapi kemudian dia kembali kepada kesukaannya, matematika, dan menyelesaikan doktoralnya di bidang matematika di tahun 1928. di tahun 1930 dia mendapatakan kesempatan pergi ke Princeton University (AS).
Von Neumann juga merupakan orang pertama yang mencetuskan istilah “Game Theory” yang kemudian berkembang menjadi ilmu tersendiri. Game theory bermanfaat untuk mensimulasikan permainan, seperti catur, bridge, dan sejenisnya.
Dia juga bermanfaat untuk mensimulasikan perang.
Pada tahun 1933, Institute of Advanced Studies dibentuk dan dia menjadi salah satu dari enam professor matematika di sana. Von Neumann kemudian menjadi warga negara Amerika.
Tahun 1951, UNIVAC I (Universal Automatic Computer I) yang di buat oleh Remington Rand, menjadi komputer komersial pertama yang memanfaatkan model arsitektur Von Neumann. UNIVAC dimiliki oleh Badan Sensus Amerika Serikat dan General Electric.
Salah satu hasil mengesankan komputer UNIVAC, yaitu prediksi kemenangan Eisenhower dalam pemilihan presiden Amerika Serikat pada tahun 1952.
Komputer Generasi I memiliki ciri khas, yakni instruksi operasi dibuat secara spesifik untuk satu tugas tertentu. Setiap komputer memiliki program kode-biner masing – masing yang berbeda yang disebut “Bahasa Mesin”(Machine Language).
Sejarah perkembangan komputer generasi pertama memiliki ciri-ciri sebagai berikut:
  •   Pada generai ini komputer masih banyak mengeluarkan panas. 
  •  Menggunakan komponen elektronikanya yang terbuat dari Tabung Hampa Udara (Vacuum Tube).
  •  Program dibuat dalam bahasa mesin (Machine Language), yang programnya tersimpan dalam memori komputer.
  • Untuk mengoprasikannya pun membutuhkan kekuatan listrik yang cukup besar.
  • Kapasitas yang disediakan untuk penyimpannan data sangat kecil dan terbatas.
  • Programnya masih menggunakan bahasa mesin dengan menggunakan kode 0 dan 1 dalam urutan tertentu.
  • Prosesnya relatif lambat.
  • Mempunyai Ukuran atau bentuk yang sangat besar sehingga diperlukan sebuah ruangan yang yang cukup lebar hanya untuk meletakan komputer ini.
  • Orientasi utama pada aplikasi bisnis.
  • Menggunakan sistem luar magnetic tape dan magnetic disk.
2.    Komputer generasi kedua ( 1959 – 1946 )
     Sejarah perkembangan komputer generasi kedua lahir pada tahun 1960-an, penemuan transistor sanggat mempenggaruhi perkembangan komputer pada saat itu. Transistor dapatb menggantikan Tabung hampa udara. Dan hal tersebut tentunya megubah semua ukuran mesin-mesin elektrik . Transistor mulai digunakan pada komputer sekitar tahun 1956-an. Penemuan lain yang berupa pengembangan memori inti-magnetik membantu pengembangan komputer generasi kedua yang lebih kecil, lebih cepat, lebih dapat diandalkan, dan lebih hemat energi dibanding dengan komputer generasi pertama.
Perkembangan Komputer Generasi kedua ini memiliki ciri-ciri sebagai berikut :

  •     Program dapat dibuat dengan bahasa tingkat tinggi (high level language), seperti FORTRAN, COBOL,  ALGOL.
  •       Kapasitas memori utama sudah lumayan besar
  •       Sirkutinya adalah transistor.
  •       Ukuran fisik komputer lebih kecil dari komputer generasi pertama
  •       Tidak membutuhkan terlalu banyak listrik
  •       Berorientasi pada bisnis dan teknik
  •       Proses operasi sudah cepat
Transistor merupakan ciri khas komputer generasi kedua. Bahan bakunya terdiri atas tiga lapis, yaitu: “basic”, “collector” dan “emmiter”. Transistor merupakan singkatan dari Transfer Resistor, yang berarti dengan mempengaruhi daya tahan antara dua dari tiga lapisan, maka daya (resistor) yang ada pada lapisan berikutnya dapat pula dipengaruhi. Dengan demikian, fungsi transistor adalah sebagai penguat sinyal. Sebagai komponen padat, tansistor mempunyai banyak keunggulan seperti misalnya: tidak mudah pecah, tidak menyalurkan panas. dan dengan demikian, komputer yang ada menjadi lebih kecil dan lebih murah. Pada tahun 1960-an, IBM memperkenalkan komputer komersial yang memanfaatkan transistor dan digunakan secara luas mulai beredar dipasaran. Komputer IBM- 7090 buatan Amerika Serikat merupakan salah satu komputer komersial yang memanfaatkan transistor. Komputer ini dirancang untuk menyelesaikan segala macam pekerjaan baik yang bersifat ilmiah ataupun komersial. Karena kecepatan dan kemampuan yang dimilikinya, menyebabkan IBM 7090 menjadi sangat popular. Komputer generasi kedua lainnya adalah: IBM Serie 1400, NCR Serie 304, MARK IV dan Honeywell Model 800.


3.    Computer generasi ketiga (1964 – 1970)
Komputer generasi ketiga merupakan sebuah perkembangan yang sangat pesat dari perkembangan komputer yang ada. Komputer generasi ketiga muncul sejak era 1965-1971-an. Transistor yang dianggap tidak effisien lagi membuat para ilmuan mencari alternatif lain dan kemudian di temukan pada batu kuarsa ( Quartz rock ). Jack Kilby, seorang insinyur di Texas Instrument, mengembangkan sirkuit terintegrasi (IC : integrated circuit) di tahun 1958. Hal ini merupakan sebuah inovasi yang dapat mendongkrak munculnya komputer generasi ketiga.
Dalam pemakaiannya, transistor membuat komputer lebih cepat panas. Dengan demikian, komputer generasi kedua mulai ditinggalkan. Kemudian seorang ilmuwan bernama Jack Billy mencoba melakukan penelitian.
Kemudian pada 1958, ia menciptakan komponen yang lebih canggih dibandingkan transistor yang membuat komputer cepat panas tadi. Yakni IC atau Integrated Circuit chip kecil yang mampu menampung banyak komponen menjadi satu.
Pada generasi ketiga inilah teknologi Integrated Circuit (IC) menjadi ciri utama karena mulai digunakan pada sebuah perangkat komputer hingga generasi sekarang.
IC dibuat pertama kali oleh Texas Istruments dan Fairchild Semiconductor pada tahun 1959 yang hanya berisi enam transistor. Bisa kita bandingkan bahwa prosesor saat ini yang kita gunakan telah memiliki jutaan, puluhan, ratusan juta transistor, bahkan telah didesain prosesor dengan miliaran transistor. Sebuah perkembangan yang luar biasa dalam masa kurang dari setengah abad.
      Ciri-ciri komputer generasi ketiga adalah:
  • Karena menggunakan IC maka kinerja komputer menjadi lebih cepat dan tepat. Kecepatannya hampir 10.000 kali lebih cepat dari komputer generasi pertama.
  • Peningkatan dari sisi software.
  • Kapasitas memori lebih besar, dan dapat menyimpan ratusan ribu karakter.
  •     Menggunakan media penyimpanan luar disket magnetik (external disk) yang sifat
    pengaksesan datanya secara acak (random access) dengan kapasitas besar (jutaan karakter).
  • Penggunaan listrik lebih hemat.
  • Kemampuan melakukan multiprocessing dan multitasking.
  • Telah menggunakan terminal visual display dan dapat mengeluarkan suara.
  • Harganya semakin murah.
  • Kemampuan melakukan komunikasi dengan komputer lain.
IBM S/360, UNIVAC 1108, UNIVAC 9000, Burroughts 5700, 6700, 7700, NCR Century, GE 600, CDC 3000, 6000, dan 7000, PDP-8, dan PDP-11 (pabrik pembuatnya adalah Digital Equipment Corporation) merupakan contoh-contoh komputer generasi ketiga. Dengan begitu, ukuran komputer menjadi lebih kecil. Pun, pada komputer generasi ketiga juga lebih cepat disektor sistem operasi dan mampu menjalankan beberapa program secara bersamaan.


4.     Computer generasi keempat (1979 – sekarang)
Setelah IC ditemukan, perkembangan komputer semakin pesat dan jelas. Pada tahun 1971 chip INTEL 4004 membawa kemajuan besar dalam dunia IC, intel berhasil memasukan semua komponen dalam sebuah komputer (central processing unit, memori, dan kendali input/output) kedalam sebuah chip tunggal yang sangat kecil, jika sebelumnya IC digunakan untuk mengerjakan pekerjaan  tertentu saja maka pada masa ini mikroprosesor dapat diproduksi dan di program untuk menjalankan seluruh kebutuhan yang diinginkan.
Perkembangan Komputer generasi keempat memiliki ciri-ciri sebagai berikut :
  • Dikembangkan komputer mikro yang menggunakan micro processor dan    semiconductor yang berbentuk chip untuk memori komputer. 
  • Pada generasi ini komputer sudah memaki Large Scale Integration (LSI)
  • generasi keempat masih menggunakan IC/chip untuk pengolahan dan penyimpanan data.
Komputer generasi ini lebih maju karena di dalamnya terdapat beratus ribu komponen transistor. Proses pembuatan IC komputer generasi ini dinamakan pengintegrasian dalam skala yang sangat besar. Pengolahan data dapat dilakukan dengan lebih cepat atau dalam waktu yang singkat. Media penyimpanan komputer generasi ini lebih besar dibanding generasi sebelumnya. Komputer generasi ini sering disebut komputer mikro. Contohnya adalah PC (Personal Computer). Teknologi IC komputer generasi ini yang membedakan antara komputer mikro dan komputer mini serta main frame. Beberapa teknologi IC pada generasi ini adalah Prosesor 6086, 80286, 80386, 80486, Pentium I, Celeron, Pentium II, Pentium III, Pentium IV, Dual Core, dan Core to Duo. Generasi ini juga mewujudkan satu kelas komputer yang disebut komputer super.



5. Computer generasi kelima (sekarang – masa depan)
Sejarah perkembangan komputer generasi kelima adalah komputer yang kita gunakan sekarang ini dimana pada generasi ini ditandai dengan munculnya: LSI (Large Scale Integration) yang merupakan pemadatan ribuan microprocessor ke dalam sebuah microprocesor. Selain itu, juga ditandai dengan munculnya microprocessor dan semi conductor. Perusahaan-perusahaan yang membuat micro-processor di antaranya adalah: Intel Corporation, Motorola, Zilog dan lainnya lagi. Di pasaran bisa kita lihat adanya microprocessor dari Intel dengan model 4004, 8088, 80286, 80386, 80486, dan Pentium. Pentium-4 merupakan produksi terbaru dari Intel Corporation yang diharapkan dapat menutupi segala kelemahan yang ada pada produk sebelumnya, di samping itu, kemampuan dan kecepatan yang dimiliki Pentium-4 juga bertambah menjadi 2 Ghz. Gambar-gambar yang ditampilkan menjadi lebih halus dan lebih tajam, di samping itu kecepatan memproses, mengirim ataupun menerima gambar juga menjadi semakin cepat.
Generasi kelima dalam sejarah evolusi komputer merupakan komputer impian masa depan. Ia diperkirakan mempunyai lebih banyak unit pemprosesan yang berfungsi bersamaan untuk menyelesaikan lebih daripada satu tugas dalam satu masa.
Komputer ini juga mempunyai ingatan yang amat besar sehingga memungkinkan penyelesaian lebih dari satu tugas dalam waktu bersamaan. Unit pemprosesan pusat juga dapat berfungsi sebagai otak manusia. Komputer ini juga mempunyai kepandaian tersendiri, merespon keadaan sekeliling melalui penglihatan yang bijak dalam mengambil sesuatu keputusan bebas dari pemikiran manusia yang disebut sebagai artificial intelligence.
Banyak kemajuan di bidang desain komputer dan teknologi semakin memungkinkan pembuatan komputer generasi kelima. Dua kemajuan rekayasa yang terutama adalah kemampuan pemrosesan paralel, yang akan menggantikan model von Neumann. Model von Neumann akan digantikan dengan sistem yang mampu mengkoordinasikan banyak CPU untuk bekerja secara serempak. Kemajuan lain adalah teknologi superkonduktor yang memungkinkan aliran elektrik tanpa ada hambatan apapun, yang nantinya dapat mempercepat kecepatan informasi.
Jepang adalah negara yang terkenal dalam sosialisasi jargon dan proyek komputer generasi kelima. Lembaga ICOT (Institute for new Computer Technology) juga dibentuk untuk merealisasikannya. Banyak kabar yang menyatakan bahwa proyek ini telah gagal, namun beberapa informasi lain bahwa keberhasilan proyek komputer generasi kelima ini akan membawa perubahan baru paradigma komputerisasi di dunia. Kita tunggu informasi mana yang lebih valid dan membuahkan hasil.

Referensi :
http://masterz-seo.blogspot.com/2013/12/sejarah-perkembangan-komputer-lengkap.html
http://www.tandapagar.com/sejarah-perkembangan-komputer/
https://fauzanmaverick.wordpress.com/2010/08/15/sejarah-komputer-dari-generasi-pertama-hingga-sekarang/

Java Programming

Java Programming
Pada postingan kali ini saya akan membahas tentang beberapa hal tentang java programming diantaranya :
1.      Sekilas Tentang Bahasa Pemrograman
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantikyang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.

-          Fungsi Bahasa Pemrograman
Fungsi bahasa pemrograman yaitu memerintah komputer untuk mengolah data sesuai dengan alur berpikir yang kita inginkan. Keluaran dari bahasa pemrograman tersebut berupa program/aplikasi. Contohnya adalah program yang digunakan oleh kasir di mal-mal atau swalayan, penggunaan lampu lalu lintas di jalan raya, dll.

Bahasa Pemrograman yang kita kenal ada banyak sekali di belahan dunia, tentang ilmu komputer dan teknologi dewasa ini. Perkembangannya mengikuti tingginya inovasi yang dilakukan dalam dunia teknologi. Contoh bahasa pemrograman yang kita kenal antara lain adalah untuk membuat aplikasi game, antivirus, web, dan teknologi lainnya.

Bahasa pemrograman komputer yang kita kenal antara lain adalah Java, Visual Basic, C++, C, Cobol, PHP, .Net, dan ratusan bahasa lainnya. Namun tentu saja kebutuhan bahasa ini harus disesuaikan dengan fungsi dan perangkat yang menggunakannya.

Namun,secara umum bahasa pemrograman terbagi menjadi 4 kelompok, yaitu :
1.      Object Oriented Language (Visual dBase, Visual FoxPro, Delphi, Visual C)
2.      High Level Language (seperti Pascal dan Basic)
3.      Middle Level Language (seperti bahasa C), dan
4.      Low Level Language (seperti bahasa Assembly)



2.      Pengenalan Java
Dalam Java ada 2 jenis program berbeda, yaitu aplikasi dan applet. Keduanya merupakan bagian dari execute, dimana execute merupakan salah satu fase kelima dalam siklus program Java. Aplikasi adalah program yang biasanya disimpan dan di eksekusi dari komputer lokal. Applet adalah program yang biasanya disimpan pada komputer yang jauh,yang dikoneksikan pemakai lewat web browser. Komputer jauh menjalankan web server yang memberi layanan terhadap permintaan web browser.
Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai system operasi dan bersifat open source dan bahasa yang dapat dijalankan dimanapun dan di sembarang platform apapun, di beragam lingkungan: Internet, intranets, consumer electronic products, dan computer applications. Untuk beragam aplikasi yang dibuat dengan bahasa Java, Java dipaketkan dalam edisi-edisi berikut:
a.    Java 2 Standar Edition (J2SE)
J2SE menyediakan lingkungan pengembangan yang kaya fitur, stabil, aman, dan cross-platform. Edisi ini mendukung konektivitas basis data, rancangan user interface, masukkan/ keluaran input/output), dan pemrograman jaringan (network programming), dan termasuk sebagai paket-paket dasar bahasa Java.
b.    Java 2 Enterprise Edition (J2EE)
J2EE berisi paket-paket J2SE serta paket-paket untuk mendukung pengembangan Enterprise JavaBeans, Java Servlets, JavaServer Pages, XML, dan kendali transaksi yang fleksibel.
c.     Java 2 Micro Edition (J2ME)
J2ME adalah untuk beragam consumer electronic product, seperti pager, cell phone, handheld PDA, dll. Java bukan turunan langsung dari bahasa pemrograman manapun, juga sama sekali tidak kompatibel dengan semuanya. Model objek Java adalah sederhana dan mudah dikembangkan, namun sejalan dengan itu, nilangan dan tipe data sederhana lain dianggap sebagai non-objek berkinerja tinggi.

   OOP (object oriented programming) adalah cara ampuh dalam pengorganisasian dan pengembangan perangkat lunak. Pada OOP, program komputer sebagai sekelompok objek yang saling berinteraksi. Objek-objek ini ada secara secara independent yang mempunyai aturan-aturan berkomunikasi dengan objek lain dan untuk memerinthakan objek lain guna meminta informasi tertentu atau meminta objek lain mengerjakan sesuatu.

-          Bahasa statically typed
Semua objek dideklarasikan terlebih dahulu sebelum digunakan. Melalui fitur ini kode program lebih dapat dioptmasi untuk menghasilkan program berkinerja tinggi.
 
-             Bahasa dikompilasi
Sebelum menjalankan program di bahasa Java, program dikompilasi menggunakan Java Compiler. Kompilais akan menghasilkan file “bytecode” yang serupa fungsinya dengan file kode mesin. Program “bytecode” yang dihasilkan dapat di eksekusi di sembarang Java Interpreter. Java Interpreter membaca file “bytecode” dan menterjemahkan perintah “bytecode” menjadi perintah-perintah bahasa mesin yang dapat di eksekusi mesin.

-             Bahasa yang aman
Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari Untrusted Java Code.
  1. Bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa Java
  2. Class loader menangani pemuatan kelas Java ke runtime interpreter.
  3. Manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing.
            Selain itu Java menyediakan beragam teknik pengaman, yaitu:
1)     Bahasa dirancang untuk mempersulit eksekusi kode perusak
2)     Program Java dikompilasi menajdi serangkaian bytecode.
3)     Java mempunyai pengamanan terhadap applet.
-          Bahasa independen    terhadap platform
Platform independence merupakan kemampuan program bekerja di sistem operasi atau sistem komputer berbeda. Bahasa Java adalah bahasa yang secara sempurna tidak bergantung platform.

-          Bahasa yang didukung garbage collector
Artinya, program tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat di bahasa yang memungkinkanalokasi dinamis.

-       Bahasa yang tegar
Java interpreter memeriksa semua akses sistem yang dilakukan. Program java tidak dapat menyebabkan crash terhadap sistem. Java mempunyai mekanisme exception handling yang ampuh. Exception-handling menyediakan cara untuk memisahkan antara bagian penanganan kesalahan dengan bagian kode normal sehingga menuntun ke struktur kode program yang lebih bersih dan menjadikan aplikasi lebih tegar.
ü  Karakteristik Java
1.      Open Source
2.      Berorientasi Objek (Object Oriented)
3.      Robust
4.      Portable 
5.      Case-sensitive
1.1  Pengenalan User Interface Netbeans
Graphic User Interface (GUI) adalah pemrograman dengan bahasa Java yang dibuat menggunakan aplikasi yang berbasiskan GUI. Tujuannya adalah menambahkan beberapa komponen yang tidak bisa dibuat dalam basis text.
Komponen-konponen tersebut bisa berupa tombol, gambar, dll. Tujuannya adalah untuk memudahkan user menggunakan program yang dibuat tersebut.
Kalau dilihat pengertian tentang GUI secara umum adalah Interaksi yang dapat dilaksanakan oleh user melalui menu dan icon yang diperlihatkan dalam modus grafik. Contoh implementasi GUI-based shell ini adalah pada sistem operasi Microsoft Windows.

-             Netbeans adalah sebuah aplikasi Integrated Development Environment (IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing. Swing merupakan sebuah teknologi Java untuk pengembangan aplikasi dekstop yang dapat berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan Solaris. Sebuah IDE merupakan lingkup pemrograman yang di integrasikan ke dalam suatu aplikasi perangkat lunak yang menyediakan Graphic User Interface (GUI), suatu kode editor atau text, suatu compiler dan suatu debugger.

Netbeans juga dapat digunakan progammer untuk menulis, meng-compile, mencari kesalahan dan menyebarkan program netbeans yang ditulis dalam bahasa pemrograman java namun selain itu dapat juga mendukung bahasa pemrograman lainnya dan program ini pun bebas untuk digunakan dan untuk membuat professional dekstop, enterprise, web, and mobile applications dengan Java language, C/C++, dan bahkan dynamic languages seperti PHP, JavaScript, Groovy, dan Ruby.
NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra (dan terus bertambah!). Sun Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Dan saat ini pun netbeans memiliki 2 produk yaitu Platform Netbeans dan Netbeans IDE. Platform Netbeans merupakan framework yang dapat digunakan kembali (reusable) untuk menyederhanakan pengembangan aplikasi deskto dan Platform NetBeans juga menawarkan layanan-layanan yang umum bagi aplikasi dekstop, mengijinkan pengembang untuk fokus ke logika yang spesifik terhadap aplikasi.
Fitur fitur yang terdapat dalam netbeans antara lain:
-             Smart Code Completion: untuk mengusulkan nama variabel dari suatu tipe, melengkapi keyword dan mengusulkan tipe parameter dari sebuah method.
-             Bookmarking: fitur yang digunakan untuk menandai baris yang suatu saat hendak kita modifikasi.
-             Go to commands: fitur yang digunakan untuk jump ke deklarasi variabel, source code atau file yang ada pada project yang sama.
-             Code generator: jika kita menggunakan fitur ini kita dapat meng-generate constructor, setter and getter method dan yang lainnya.
-             Error stripe: fitur yang akan menandai baris yang eror dengan memberi highlight merah.
3.      Dasar-dasar pemrograman Java
Dalam pemrograman java ada beberapa dasar – dasar yang harus diketahui diantaranya:

a.          Tipe Data dan Variabel
Tipe Data Adalah suatu nilai yang dapat dinyatakan dalam bentuk konstanta atau variabel dan operator. Konstanta menyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yang dapat berubah-ubah selama eksekusi berlangsung.
 Macam – macam variable :
Ø Tipe data primitive (Sederhana)
-       Numeric
Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk bilangan atau angka. Semua bahasa pemrograman menyediakan tipe data numeric, hanya saja berbeda dalam jenis numeric yang diakomodasi. Tipe data ini terbagi atas integer, dan real.
-       Karakter (char)
Karakter merupakan tipe data yang hanya mampu menyimpan 1 digit karakter.  Ukuran untuk tipe data karakter adalah 1 byte (1 byte = 8 bit). Adapun macam karakter yang ada sejumlah 256 macam karakter yaitu dari kode karakter (ASCII), 0 sampai dengan 255. Untuk penulisan karakter menggunakan tanda petik tunggal (‘ )  di depan dan belakang karakter yang ditulis. Contoh : ‘a’, ‘A’,’&’ dll.
Ø Tipe data Composite
Composite Data Types atau Tipe Data Komposit merupakan tipe data yang dapat menampung banyak nilai.
-       Array
Array atau sering disebut sebagai larik, adalah tipe data yang sudah terstruktur dengan baik, meskipun masih sederhana. Array mampu menyimpan sejumlah data dengan tipe yang sama (homogen) dalam sebuah variabel. Sebagai ilustrasi, array mampu menampung banyak data namun dengan satu tipe data yang sama, misalnya integer saja. Setiap lokasi data array diberi nomor indeks yang berfungsi sebagai alamat dari data tersebut.
-       Record atau struct
Seperti halnya Array, Record atau Struct juga termasuk tipe data komposit. Record dikenal dalam bahasa Pascal/Delphi sedangkan Struct dikenal dalam bahasa C++. Berbeda dengan array, tipe data record mampu menampung banyak data dengan tipe data berbeda-beda (heterogen). Misalnya, satu bagian integer, satu bagian lagi character, dan bagian lainnya Boolean. Biasanya record digunakan untuk menampung data suatu obyek. Misalnya, siswa memiliki nama, alamat, usia, tempat lahir, dan tanggal lahir. Nama akan menggunakan tipe data string, alamat bertipe data string, usia bertipe data single (numeric), tempat lahir bertipe data string, dan tanggal lahir bertipe data date. Berikut ini contoh pengunaan record dalam Delphi.
-       Image
Image, atau gambar, atau citra, merupakan tipe data grafik. Misalnya grafik perkembangan jumlah siswa SMK, foto keluarga kita, video perjalanan, dan lain-lain. Pada bahasa-bahasa pemrograman modern terutama yang berbasis visual, tipe data ini telah didukung dengan sangat baik.
-       Date Time
Nilai data untuk tanggal (date) dan waktu (time) secara internal disimpan dalam format yang spesifik. Variabel atau konstanta yang dideklarasikan dengan tipe data Date dapat digunakan untuk menyimpan, baik tanggal maupun jam. Tipe data ini masuk dalam kelompok tipe data composite, karena merupakan bentukan dari beberapa tipe data.
-       Object
Tipe data object digunakan untuk menyimpan nilai yang berhubungan dengan obyek-obyek yang disediakan oleh Visual Basic, Delphi, dan bahasa pemrograman lain yang berbasis GUI.
-       Subrange
Tipe data subrange merupakan tipe data bilangan yang mempunyai jangkauan nilai tertentu sesuai dengan yang ditetapkan programmer. Biasanya, tipe data ini mempunyai nilai batas minimum dan nilai batas maksimum. Tipe data ini didukung dengan sangat baik dalam Delphi.

-       Enumerasi
Tipe data ini merupakan tipe data yang mempunyai elemen-elemen yang harus disebut satu persatu, dan bernilai konstanta integer sesuai dengan urutannya. Nilai konstanta integer elemen ini diwakili oleh suatu nama variable yang ditulis di dalam kurung. Tipe data ini juga dijumpai pada Delphi, dan bahasa pemrograman deklaratif seperti SQL.
Tipe Data Lainnya
1. Tipe Data Terstruktur
a) Tipe Data String
Merupakan suatu data yang menyimpan array (larik), sebagai contoh ‘ABCDEF’ merupakan sebuah konstanta string yang berisikan 6 byte karakter. Ukuran Tempat untuk tipe data ini adalah 2 s/d 256 byte, dengan jumlah elemen 1 s/d 255.
b) Tipe Data Set
Sebuah set merupakan suatu himpunan yang berisi nilai (anggota). Set merupakan Tipe data yang khusus untuk Pascal. Set dalam pemrograman sangat mirip dengan himpunan dalam ilmu matematika.
2.  Tipe Data Pointer
Pointer merupakan variabel khusus yang berisi suatu address (alamat) di lokasi lain didalam memori. Suatu variabel yang points (menunjuk) ke sesuatu sehingga disebut pointer.
Ada dua macam pointer:
-       Typed (tertentu) : merupakan pointer yang menunjuk pada tipe data tertentu pada variabel.
-       Generic (umum) : merupakan pointer yang tidak menunjuk pada tipe data tertentu pada variabel.

Ø Operator aritmatika, logika dan Relasional
-       Operator aritmatika
Operator aritmatika digunakan untuk melakukan operasi matematika, seperti   penambahan, pengurangan, pembagian, dan modulo (atau sisa pembagian).
Contoh penggunaan :
-       + Operator penjumlahan (juga sebagai penyambung string)
–     - Operator pengurangan
-       * Operator perkalian
-       / Operator pembagian
-    % Operator sisa pembagian

ü Operator Logika
Operator logika biasa digunakan untuk menghubungkan dua buah ungkapan kondisi menjadi sebuah ungkapan kondisi. Operator-operator ini berupa :
Operator
Keterangan
&&
AND (dan)
||
OR (atau)
!
NOT (bukan)
ü  Operator Relasi / Hubungan
Operator relasi biasa digunakan untuk membandingkan dua buah nilai. Operator relasi menghasilkan kondisi BENAR atauSALAH.
Contoh penggunaan :
Sama dengan ( = )
Tidak sama dengan ( <> )
Lebih dari ( > )
Kurang dari ( < )
Lebih dari sama dengan ( >= )
Kurang dari sama dengan ( <= )
b.         Statik dan Dinamik
-             Array Statis
Array yang jumlah memory yang sudah dipesan sudah tidak dapat diubah atau “diotak – atik” lagi dan sudah fix sehingga apabila di dalam pemesanan memory ada ruang atau space yang tidak terpakai maka akan dianggap ada sisnya oleh memory.
-             Array Dinamis
Array yang jumlah pemesanan tempat di memory dapat dirubah sesuai dengan kebutuhan sehingga lebih optimal dalam pemanfaatan ruang di memory.
-             Web Statis
Web statis adalah website yang mana pengguna tidak bisa mengubah konten dari web tersebut secara langsung menggunakan browser. Interaksi yang terjadi antara pengguna dan server hanyalah seputar pemrosesan link saja. Halaman-halaman web tersebut tidak memliki database, data dan informasi yang ada pada web statis tidak berubah-ubah kecuali diubah sintaksnya. Dokumen web yang dikirim kepada client akan sama isinya dengan apa yang ada di web server.
-             Web Dinamis
Dalam web dinamis, interaksi yang terjadi antara pengguna dan server sangat kompleks. Seseorang bisa mengubah konten dari halaman tertentu dengan menggunakan browser. Request (permintaan) dari pengguna dapat diproses oleh server yang kemudian ditampilkan dalam isi yang berbeda-beda menurut alur programnya. Halaman-halaman web tersebut memiliki database. Web dinamis, memiliki data dan informasi yang berbeda-beda tergantung input apa yang disampaikan client. Dokumen yang sampai di client akan berbeda dengan dokumen yang ada di web server.
4.      Struktur Kontrol
Struktur kontrol digunakan untuk melakukak pengaturan arah program yang berjalan. Bahasa pemrograman Java mempunyai 3 struktur kontrol yaitu Struktur Kondisi, Struktur Perulangan, serta Struktur Break dan Continue.
-          If Tunggal 
Deklarasi perintah if dengan kondisi tunggal satu pernyataan :
if (kondisi) pernyataan;
Deklarasi perintah if dengan kondisi tunggal lebih dari satu pernyataan :
if (kondisi){
 pernyataan1;
 pernyataan2;
 ....
}

-          If Majemuk
Deklarasi perintah if dengan kondisi lebih dari satu dan satu pernyataan :
if(kondisi){
 pernyataan1;
}else if{
 pernyataan2;
}

Deklarasi perintah if dengan kondisi lebih dari satu dan pernyataan lebih dari satu :
if(kondisi){
 pernyataan1;
 pernyataan2;
 ...
}else{
 pernyataan3;
 pernyataan4;
 ...
}

-          Statement Break
Fungsi break adalah untuk menghentikan eksekusi sebuah blok program, dan memaksa keluar dari sebuah pengulangan. Statement break memiliki dua bentuk yaitu unlabeled dan labeled.
-          Statement Switch
Switch digunakan untuk memilih berdasar banyak pilihan, dimana dari masing-masing pilihan akan menghasilkan pernyataan atau aksi yang berlainan sesuai pilihan yang dilakukan. Biasanya penggunaan switch berkaitan dengan menu, dimana apabila menu kondisi1 dipilih, maka switch akan menjalankan blok dari aksi1, lalu apabila menu kondisi2 dipilih, maka switch akan menjalankan blok dari aksi2, demikian seterusnya. Bila tidak memenuhi kriteria menu case manapun, switch akan menjalankan blok default.

5.      Struktur Perulangan
-          Statement  For
Pengulangan for melakukan inisialisasi sebelum iterasi/loop pertama, kemudian melakukan tes kondisional dan pada akhir dari tiap iterasi melakukan penambahan atau pengurangan pada variabel step yang digunakan sebagai basis pengkondisian untuk perulangan.
-          Statement While
Pada statement pengulangan while akan terus melakukan perulangan jika kondisi ekspresi boolean bernilai benar atau true.
-          Statement Do While
Do while memiliki urutan yang terbalik dibandingkan dengan while dan memiliki perbedaan utama, yaitu : bahwa pada do while pernyataan dijalankan terlebih dahulu minimal satu kali, sedangkan pada while memungkinkan pernyataan sama sekali tidak dijalankan apabila kondisi ekepresi boolean pada saat pertama kali sudah salah.

6.      Array
sebuah struktur data yang terdiri atas banyak variabel dengan tipe data sama, dimana masing-masing elemen variabel mempunyai nilai indeks.  Indeks array selalu bertipe integer yang dimulai dari 0. Setiap elemen array tersebut dapat diakses dengan cara A[indeks].
-          Array Satu Dimensi
Array satu dimensi adalah array yang hanya berisi satu dimensi saja. 
Mendeklarasikan varibel Array
     Pendeklarasian variabel array dilakukan dengan bentuk:
     tipe namaVariabelArray[];
     atau
    tipe [] namaVariabelArray;
-          Array dua dimensi hampir sama dengan array berdimensi satu, namun biasanya array berdimensi dua banyak digunakan untuk penyajian data berbentuk tabel atau juga berbentuk matriks.
tipe namaVariabelArray [][];
       atau
       tipe  [][] namaVariabelArray;

 Referensi
http://nak-ti.com/sekilas-tentang-bahasa-pemrograman/
http://diankresnaramadhan.blogspot.co.id/2012/09/pengenalan-java-struktur-dan-tipe.html
http://irfanassya.blogspot.co.id/2013/06/pengenalan-java-languange.html
http://senalastiansah.blogspot.co.id/2012/10/pengertian-user-interface-user.html
http://rakaraka.blog.widyatama.ac.id/2015/09/14/macam-macam-tipe-data/
http://theroriezkhere.blogspot.co.id/p/variable-dan-type-data-pada-pemrograman.html
http://westborneoblogger.blogspot.com/2015/08/pengertian-dan-jenis-jenis-tipe-data.html
https://nuranisah.wordpress.com/2009/10/11/tugas-algoritma/
http://www.sanabila.com/2015/06/pengertian-macam-macam-dan-penggunaan_20.html
http://www.carawebs.info/2013/03/pengertian-perbedaan-web-statis-dan-web-dinamis.html
https://boltremjaya.wordpress.com/2013/09/23/array-statis-dan-dinamis/
http://rizalbenn.blogspot.co.id/2012/10/struktur-kontrol-pada-java.html
http://kikirapper.blogspot.co.id/2014/10/struktur-kontrol-kondisi-if.html
http://trijaruto.blogspot.co.id/2010/09/struktur-kontrol.html
http://kokododi.blogspot.co.id/2014/09/pembahasan-dan-contoh-struktur-kontrol.html
http://azizah.ilearning.me/programming/pengertian-array-cara-kerja-dan-contohnya/
http://belajarkuliahkomputer.blogspot.co.id/2015/09/pengertian-dan-macam-macam-array.html
http://nenylestary.blogspot.co.id/2013/12/java-gui.html
  http://intanstemapal24.blogspot.co.id/2014/08/pengertian-bahasa-pemograman.html