Rabu, 09 Desember 2009

Charles Babbage

Mesin penghitung (Difference Engine no.1) yang ditemukan oleh Charles Babbage (1791-1871) adalah salah satu icon yang paling terkenal dalam sejarah perkembangan komputer dan merupakan kalkulator otomatis pertama. Babbage juga terkenal dengan julukan bapak komputer. The Charles Babbage Foundation memakai namanya untuk menghargai kontribusinya terhadap dunia komputer.

Charles Babbage lahir di daerah yang sekarang dikenal dengan nama Southwark, London, 26 Desember 1791, anak dari Benjamin Babbage, seorang Banker. Kelebihannya dalam matematika sangat menonjol. Saat memasuki Trinity College di Cambridge tahun 1811, dia mendapati bahwa kemampuan matematikanya jauh lebih baik, bahkan daripada tutornya sendiri.

Di usia 20 tahunan Babbage bekerja sebagai seorang ahli matematika terutama dibidang fungsi kalkulus. Tahun 1816, dia terpilih sebagai anggota "Royal Society" (organisasi sains dan akademis independen Inggris Raya, masih aktif hingga kini) dan memainkan peran penting di yayasan "Astronomical Society" (organisasi Astronomi dan geofisika Inggris raya, masih aktif hingga kini) pada tahun 1820. Pada masa ini Babbage mulai tertarik pada mesin hitung, yang berlanjut hingga akhir hayatnya.

Tahun 1821 Babbage menciptakan Difference Engine, sebuah mesin yang dapat menyusun Tabel Matematika. Saat melengkapi mesin tersebut di tahun 1832, Babbage mendapatkan ide tentang mesin yang lebih baik, yang akan mampu menyelesaikan tidak hanya satu jenis namun berbagai jenis operasi aritmatika. Mesin ini dinamakan Analytical Engine (1856), yang dimaksudkan sebagai mesin pemanipulasi simbol umum, serta mempunyai beberapa karakteristik dari komputer modern. Diantaranya adalah penggunaan punched card, sebuah unit memori untuk memasukkan angka, dan berbagai elemen dasar komputer lainnya.

Karya Babbage kurang begitu terkenal sampai suatu saat dia bertemu dengan Ada, Countess of Lovelace, anak dari Lord Byron. Babbage mula-mula bertemu ada di sebuah acara tanggal 6 Juni 1833. Sembilan tahun kemudian, Luigi Federico Manabrea (seorang insinyur dari Italia) menjelaskan cara kerja Analytical Engine. Karya ini kemudian diterjemahkan dan ditambahkan notes oleh Ada Lovelace di tahun 1843. Mulai dari saat itu orang mulai mengenal karya Charles Babbage.

Namun sayang, hanya sedikit sisa peninggalan dari prototipe mesin Difference Engine, dikarenakan kebutuhan mesin tersebut melebihi teknologi yang tersedia pada zaman itu. Dan walaupun pekerjaan Babbage dihargai oleh berbagai institusi sains, Pemerintah Inggris menghentikan sementara pendanaan untuk Difference Engine pada tahun 1832, dan akhirnya dihentikan seluruhnya tahun 1842. Demikian pula dengan Difference Engine yang hanya terwujudkan dalam rencana dan desain.

Tahun 1828 sampai 1839, Babbage medapat gelar the Lucasian chair of mathematics (gelar professor matematika paling bergengsi di dunia) dari Universitas Cambridge. Selain mesin hitung, Babbage juga memberikan berbagai kontribusi lain. Diantaranya menciptakan sistem pos modern di Inggris, menyusun table asuransi pertama yang dapat diandalkan, menemukan locomotive cowcather (struktur berbentuk segitiga di bagian depan kereta api, yang mampu membersihkan rel dari gangguan) dan beberapa lainnya. Selain itu Babbage juga menyumbangkan ide-idenya di bidang ekonomi dan politik.

Charles Babbage juga seorang ahli cryptanalysis yang berhasil memecahkan vigenere cipher (polyalphabet cipher). Kepandaiannya ini sebetulnya sudah dimilikinya sejak tahun 1854, setelah dia berhasil mengalahkan tantangan Thwaites untuk memecahkan ciphernya. Akan tetapi penemuannya ini tidak dia terbitkan sehingga baru ketahuan di abad 20 ketika para ahli memeriksa notes-notes (tulisan, catatan) Babbage.

Dibalik seluruh keberhasilannya, kegagalan dalam pembuatan mesin perhitungan dan kegagalan bantuan pemerintah kepadanya, meninggalkan Babbage dalam kecewaan dan kesedihan di akhir masa hidupnya. Babbage meninggal di rumahnya di London pada tanggal 18 Oktober 1871.

Sumber : IlmuKomputer.Com

Senin, 07 Desember 2009

Sejarah singkat bahasa Java

Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.

Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).

Setelah era Star Seven selesai, sebuah anak perusahaan TV kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.

Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer.

Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.

Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.

Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape.

Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "bapak java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling.


Sumber : id.wikipedia.org

Konsep pemrograman berorientasi objek

Pemrograman berorientasi objek menekankan konsep berikut:

  • kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
  • Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
  • Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
  • Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
  • Inheritas- Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.)
  • Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Minggu, 06 Desember 2009

Form login sederhana

import java.awt.*;
import javax.swing.*;

public class MyFrame
{
private JFrame layar;
private JTextField tf1;
private JLabel L1,L2;
private JButton L3,L4;
private JPasswordField psw;

public MyFrame()
{
layar= new JFrame ( "LOGIN");
L1= new JLabel ("User Name :");
L2= new JLabel ("Password :");
L3= new JButton ("OK");
L4= new JButton ("Cancel");
tf1= new JTextField(25);
JPasswordField psw = new JPasswordField(25);

Container c=layar.getContentPane();
c.setLayout (new FlowLayout());

c.add(L1);c.add(tf1);
c.add(L2);c.add(psw);
c.add(L3);c.add(L4);
layar.setSize(400,120);
layar.setVisible(true);
}


public static void main(String[] args)
{
new MyFrame();
}
}