Laman

Minggu, 26 Desember 2010

Sejarah perkembangan 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. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).

Versi Awal

Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:
  • java.lang: Peruntukan kelas elemen-elemen dasar.
  • java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.
  • java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
  • java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
  • java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
  • java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.
  • Kelebihan

  • Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
  • OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.
  • Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
  • Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
  • Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).

Kekurangan

  • Tulis sekali, perbaiki di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
  • Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
  • Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.

Contoh Kode Program Sederhana Dalam Java

Contoh program Halo dunia yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut:
// Outputs "Hello, world!" and then exits
public class HelloWorld {
   public static void main(String args[]) {
       System.out.println("Hello, world!");
   }
}
  •  

Sejarah Komputer Dan Perkembangannya

Sejarah Komputer Dan Perkembangannya Dari Generasi Ke GenerasiSejarah Komputer,riezzal.blogspot.com - Setelah kemarin saya sudah memosting tentang Sejarah Internet,meski tidak begitu Lengkap dan mendetail,semoga bisa berguna buat yang belum tahu sejarahnya.Sekarang,saya akan mencoba posting tentang Sejarah Komputer Dan Perkembangannya.Ceritanya begini,Sejak dahulu kala, proses pengolahan data telah dilakukan oleh manusia.Manusia juga menemukan alat-alat mekanik dan elektronik untuk membantu manusia dalam penghitungan dan pengolahan data supaya bisa mendapatkan hasil lebih cepat.Komputer yang kita temui saat ini adalah suatu evolusi panjang dari penemuan-penemuan manusia sejak dahulu kala berupa alat mekanik maupun elektronik.

Saat ini komputer dan piranti pendukungnya telah masuk dalam setiap aspek kehidupan dan pekerjaan.Komputer yang ada sekarang memiliki kemampuan yang lebih dari sekedar perhitungan matematik biasa.Diantaranya adalah sistem komputer di kassa supermarket yang mampu membaca kode barang belanja,sentral telepon yang menangani jutaan panggilan dan komunikasi,jaringan komputer dan internet yang menghubungkan berbagai tempat di dunia.

Sejarah Komputer menurut periodenya adalah:

- Alat Hitung Tradisional dan Kalkulator Mekanik
- Komputer Generasi Pertama
- Komputer Generasi Kedua
- Komputer Generasi Ketiga
- Komputer Generasi Keempat
- Komputer Generasi Kelima


Alat Hitung Tradisional dan Kalkulator Mekanik Abacus,yang muncul sekitar 5000 tahun yang lalu di Asia kecil dan masih digunakan di beberapa tempat hingga saat ini dapat dianggap sebagai awal mula mesin komputasi.Alat ini memungkinkan penggunanya untuk melakukan perhitungan menggunakan biji-bijian geser yang diatur pada sebuah rak.Para pedagang di masa itu menggunakan abacus untuk menghitung transaksi perdagangan.Seiring dengan munculnya pensil dan kertas,terutama di Eropa,abacus kehilangan popularitasnya

Setelah hampir 12 abad,muncul penemuan lain dalam hal mesin komputasi.Pada tahun 1642, Blaise Pascal (1623-1662),yang pada waktu itu berumur 18 tahun,menemukan apa yang dia sebut sebagai kalkulator roda numerik (numerical wheel calculator) untuk membantu ayahnya melakukan perhitungan pajak.

Kotak persegi kuningan ini yang dinamakan Pascaline,menggunakan delapan roda putar bergerigi untuk menjumlahkan bilangan hingga delapan digit.Alat ini merupakan alat penghitung bilangan berbasis sepuluh.Kelemahan alat ini adalah hanya terbatas untuk melakukan penjumlahan.

Pada Tahun 1694,seorang matematikawan dan filsuf Jerman,Gottfred Wilhem von Leibniz (1646-1716) memperbaiki Pascaline dengan membuat mesin yang dapat mengalikan.Sama seperti pendahulunya,alat mekanik ini bekerja dengan menggunakan roda-roda gerigi.Dengan mempelajari catatan dan gambar-gambar yang dibuat oleh Pascal,Leibniz dapat menyempurnakan alatnya.

Barulah pada tahun 1820,kalkulator mekanik mulai populer.Charles Xavier Thomas de Colmar menemukan mesin yang dapat melakukan empat fungsi aritmatik dasar.Kalkulator mekanik Colmar,arithometer,mempresentasikan pendekatan yang lebih praktis dalam kalkulasi karena alat tersebut dapat melakukan penjumlahan,pengurangan,perkalian,dan pembagian. Dengan kemampuannya,Arithometer banyak dipergunakan hingga masa Perang Dunia I. Bersama-sama dengan Pascal dan Leibniz,Colmar membantu membangun era komputasi mekanikal.

Awal mula komputer yang sebenarnya dibentuk oleh seorang profesor matematika Inggris,Charles Babbage (1791-1871). Tahun 1812,Babbage memperhatikan kesesuaian alam antara mesin mekanik dan matematika yaitu mesin mekanik sangat baik dalam mengerjakan tugas yang sama berulangkali tanpa kesalahan,sedang matematika membutuhkan repetisi sederhana dari suatu langkah-langkah tertentu.Masalah tersebut kemudain berkembang hingga menempatkan mesin mekanik sebagai alat untuk menjawab kebutuhan mekanik.Usaha Babbage yang pertama untuk menjawab masalah ini muncul pada tahun 1822 ketika ia mengusulkan suatu mesin untuk melakukanperhitungan persamaan differensial.Mesin tersebut dinamakan Mesin Differensial.Dengan menggunakan tenaga uap,mesin tersebut dapat menyimpan program dan dapat melakukan kalkulasi serta mencetak hasilnya secara otomatis.

Setelah bekerja dengan Mesin Differensial selama sepuluh tahun,Babbage tiba-tiba terinspirasi untuk memulai membuat komputer general-purpose yang pertama,yang disebut Analytical Engine.Asisten Babbage,Augusta Ada King (1815-1842) memiliki peran penting dalam pembuatan mesin ini.Ia membantu merevisi rencana,mencari pendanaan dari pemerintah Inggris,dan mengkomunikasikan spesifikasi Analytical Engine kepada publik.Selain itu,pemahaman Augusta yang baik tentang mesin ini memungkinkannya membuat instruksi untuk dimasukkan ke dalam mesin dan juga membuatnya menjadi programmer wanita yang pertama.Pada tahun 1980,Departemen Pertahanan Amerika Serikat menamakan sebuah bahasa pemrograman dengan nama ADA sebagai penghormatan kepadanya.

Mesin uap Babbage,walaupun tidak pernah selesai dikerjakan,tampak sangat primitif apabila dibandingkan dengan standar masa kini.Bagaimanapun juga,alat tersebut menggambarkan elemen dasar dari sebuah komputer modern dan juga mengungkapkan sebuah konsep penting.Terdiri dari sekitar 50.000 komponen,disain dasar dari Analytical Engine menggunakan kartu-kartu perforasi (berlubang-lubang) yang berisi instruksi operasi bagi mesin tersebut.

Pada Tahun 1889,Herman Hollerith (1860-1929) juga menerapkan prinsip kartu perforasi untuk melakukan penghitungan.Tugas pertamanya adalah menemukan cara yang lebih cepat untuk melakukan perhitungan bagi Biro Sensus Amerika Serikat.Sensus sebelumnya yang dilakukan di tahun 1880 membutuhkan waktu tujuh tahun untuk menyelesaikan perhitungan.Dengan berkembangnya populasi,Biro tersebut memperkirakan bahwa dibutuhkan waktu sepuluh tahun untuk menyelesaikan perhitungan sensus.

Hollerith menggunakan kartu perforasi untuk memasukkan data sensus yang kemudian diolah oleh alat tersebut secara mekanik.Sebuah kartu dapat menyimpan hingga 80 variabel.Dengan menggunakan alat tersebut,hasil sensus dapat diselesaikan dalam waktu enam minggu.Selain memiliki keuntungan dalam bidang kecepatan,kartu tersebut berfungsi sebagai media penyimpan data.Tingkat kesalahan perhitungan juga dapat ditekan secara drastis.Hollerith kemudian mengembangkan alat tersebut dan menjualnya ke masyarakat luas.Ia mendirikan Tabulating Machine Company pada tahun 1896 yang kemudian menjadi International Business Machine (1924) setelah mengalami beberapa kali merger.Perusahaan lain seperti Remington Rand and Burroghs juga memproduksi alat pembaca kartu perforasi untuk usaha bisnis.Kartu perforasi digunakan oleh kalangan bisnis dan pemerintahan untuk permrosesan data hingga tahun 1960.

Pada masa berikutnya,beberapa Insinyur membuat penemuan baru lainnya.Vannevar Bush (1890-1974) membuat sebuah kalkulator untuk menyelesaikan persamaan differensial di tahun 1931.Mesin tersebut dapat menyelesaikan persamaan differensial kompleks yang selama ini dianggap rumit oleh kalangan akademisi.Mesin tersebut sangat besar dan berat karena ratusan gerigi dan poros yang dibutuhkan untuk melakukan perhitungan.Pada tahun 1903,John V. Atanasoff dan Clifford Berry mencoba membuat komputer elektrik yang menerapkan aljabar Boolean pada sirkuit elektrik.Pendekatan ini didasarkan pada hasil kerja George Boole (1815-1864) berupa sistem biner aljabar,yang menyatakan bahwa setiap persamaan matematik dapat dinyatakan sebagai benar atau salah.Dengan mengaplikasikan kondisi benar-salah ke dalam sirkuit listrik dalam bentuk terhubung-terputus,Atanasoff dan Berry membuat komputer elektrik pertama di tahun 1940.Namun proyek mereka terhenti karena kehilangan sumber pendanaan.

I. KOMPUTER GENERASI PERTAMA (1)

Dengan terjadinya Perang Dunia Kedua,negara-negara yang terlibat dalam perang tersebut berusaha mengembangkan komputer untuk mengeksploitasi potensi strategis yang dimiliki komputer.Hal ini tentu saja meningkatkan pendanaan pengembangan komputer serta mempercepat kemajuan teknik komputer.Pada tahun 1941,Konrad Zuse,seorang insinyur Jerman membangun sebuah Komputer Z3,untuk mendisain pesawat terbang dan peluru kendali.

Pihak sekutu juga membuat kemajuan lain dalam pengembangan kekuatan komputer.Pada Tahun 1943,pihak Inggris menyelesaikan komputer pemecah kode Rahasia yang dinamakan Colossus yang berfungsi untuk memecahkan kode-rahasia yang digunakan Jerman.Dampak pembuatan Colossus ini tidak terlalu mempengaruhi perkembangan industri komputer dikarenakan dua alasan.Pertama,colossus bukan merupakan komputer serbaguna general-purpose computer),ia hanya didisain untuk memecahkan kode rahasia.Kedua,keberadaan mesin ini dijaga kerahasiaannya hingga satu dekade setelah perang berakhir.

Usaha yang dilakukan oleh pihak Amerika pada saat itu menghasilkan suatu kemajuan lain. Howard H. Aiken (1900-1973), seorang insinyur Harvard yang bekerja sama dengan IBM, berhasil memproduksi kalkulator elektronik untuk US Navy.Kalkulator tersebut berukuran panjang setengah lapangan bola kaki dan memiliki rentang kabel sepanjang 500 mil.The Harvd-IBM Automatic Sequence Controlled Calculator,atau Mark I,merupakan komputer relai elektronik.Ia menggunakan sinyal elektromagnetik untuk menggerakkan komponen mekanik.Mesin tersebut beropreasi dengan lambat (ia membutuhkan 3-5 detik untuk setiap perhitungan) dan tidak fleksibel (urutan kalkulasi tidak dapat diubah).Kalkulator tersebut dapat melakukan perhitungan Aritmatik dasar dan persamaan yang lebih kompleks.

Perkembangan komputer lain pada masa ini adalah Electronic Numerical Integrator And Computer (ENIAC),yang dibuat oleh kerjasama antara pemerintah Amerika Serikat dan University of Pennsylvania.Terdiri dari 18.000 tabung vakum,70.000 resistor,dan 5 juta titik solder,Komputer tersebut merupakan mesin yang sangat besar yang mengkonsumsi daya sebesar 160kW.Komputer ini dirancang oleh John Presper Eckert (1919-1995) dan John W. Mauchly (1907-1980),ENIAC merupakan komputer serbaguna (general purpose computer) yang bekerja 1000 kali lebih cepat dibandingkan Mark I.Pada pertengahan tahun 1940-an,John von Neumann (1903-1957) bergabung dengan Tim University of Pennsylvania dalam usaha membangun konsep desain komputer yang hingga 40 tahun mendatang masih dipakai dalam teknik komputer.

Sejarah Komputer,gambar komputerVon Neumann mendesain Electronic Discrete Variable Automatic Computer(EDVAC) pada tahun 1945 dengan sebuah memori untuk menampung baik program ataupun data.Teknik ini memungkinkan komputer untuk berhenti pada suatu saat dan kemudian melanjutkan pekerjaannya kembali.Kunci utama arsitektur von Neumann adalah unit pemrosesan sentral (CPU),yang memungkinkan seluruh fungsi komputer untuk dikoordinasikan melalui satu sumber tunggal.Pada Tahun 1951,UNIVAC I (Universal Automatic Computer I) yang dibuat oleh Remington Rand,menjadi komputer komersial pertama yang memanfaatkan model arsitektur von Neumann tersebut.Baik Badan Sensus Amerika Serikat dan General Electric memiliki UNIVAC.Salah satu hasil mengesankan yang dicapai oleh UNIVAC dalah keberhasilannya dalam memprediksi kemenangan Dwilight D. Eisenhower dalam pemilihan presiden tahun 1952.

Komputer Generasi pertama dikarakteristik dengan fakta bahwa instruksi operasi dibuat secara spesifik untuk suatu tugas tertentu.Setiap komputer memiliki program kode-biner yang berbeda yang disebut "bahasa mesin" (machine language).Hal ini menyebabkan komputer sulit untuk diprogram dan membatasi kecepatannya.Ciri lain komputer generasi pertama adalah penggunaan tube vakum (yang membuat komputer pada masa tersebut berukuran sangat besar) dan silinder magnetik untuk penyimpanan data.

II. KOMPUTER GENERASI KEDUA (2)

Pada tahun 1948,penemuan transistor sangat mempengaruhi perkembangan komputer. Transistor menggantikan tube vakum yang ada pada televisi,radio,dan komputer.Akibatnya,ukuran mesin-mesin elektrik berkurang drastis.Transistor mulai digunakan di dalam komputer mulai sejak tahun 1956.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 para pendahulunya.Mesin pertama yang memanfaatkan teknologi baru ini adalah superkomputer.IBM membuat superkomputer bernama Stretch,dan Sprery-Rand membuat komputer bernama LARC.Komputer-komputer ini, yang dikembangkan untuk laboratorium energi atom,dapat menangani sejumlah besar data,sebuah kemampuan yang sangat dibutuhkan oleh peneliti atom.Mesin tersebut sangat mahal dan cenderung terlalu kompleks untuk kebutuhan komputasi bisnis, sehingga membatasi kepopulerannya.Hanya ada dua LARC yang pernah dipasang dan digunakan: satu di Lawrence Radiation Labs di Livermore,California,dan yang lainnya di US Navy Research and Development Center di Washington D.C.Komputer generasi kedua menggantikan bahasa mesin dengan bahasa assembly.Bahasa Assembly adalah bahasa yang menggunakan singkatan-singkatan untuk menggantikan kode biner.

Pada awal tahun 1960-an,mulai bermunculan komputer generasi kedua yang sukses di bidang bisnis,di Universitas,dan di pemerintahan.Komputer-komputer generasi kedua ini merupakan komputer yang sepenuhnya menggunakan transistor.Mereka juga memiliki komponen-komponen yang dapat diasosiasikan dengan Komputer pada saat ini: printer,penyimpanan dalam disket,memory,sistem operasi,dan program.Salah satu contoh penting komputer pada masa ini adalah IBM 1401 yang diterima secara luas di kalangan industri.Pada tahun 1965,hampir seluruh bisnis-bisnis besar menggunakan komputer generasi kedua untuk memproses informasi keuangan.

Program yang tersimpan di dalam komputer dan bahasa pemrograman yang ada di dalamnya memberikan fleksibilitas kepada komputer.Fleksibilitas ini meningkatkan kinerja dengan harga yang pantas bagi penggunaan bisnis.Dengan konsep ini,komputer dapat mencetak faktur pembelian konsumen dan kemudian menjalankan desain produk atau menghitung daftar gaji.Beberapa bahasa pemrograman mulai bermunculan pada saat itu. Bahasa pemrograman Common Business-Oriented Language (COBOL) dan Formula Translator (FORTRAN) mulai umum digunakan.Bahasa pemrograman ini menggantikan kode mesin yang rumit dengan kata-kata,kalimat,dan formula matematika yang lebih mudah dipahami oleh manusia.Hal ini memudahkan seseorang untuk memprogram dan mengatur komputer.Berbagai macam karir baru bermunculan (programmer,analyst,dan ahli sistem komputer).Industri piranti lunak juga mulai bermunculan dan berkembang pada masa komputer generasi kedua ini.

III. KOMPUTER GENERASI KETIGA (3)

Walaupun transistor dalam banyak hal mengungguli tube vakum,namun transistor menghasilkan panas yang cukup besar,yang dapat berpotensi merusak bagian-bagian internal komputer.Batu kuarsa (quartz rock) menghilangkan masalah ini.Jack Kilby,seorang insinyur di Texas Instrument,mengembangkan sirkuit terintegrasi (IC: integrated circuit) di tahun 1958. IC mengkombinasikan tiga komponen elektronik dalam sebuah piringan silikon kecil yang terbuat dari pasir kuarsa.Para ilmuwan kemudian berhasil memasukkan lebih banyak komponen-komponen ke dalam suatu chip tunggal yang disebut semikonduktor.Hasilnya, komputer menjadi semakin kecil karena komponen-komponen dapat dipadatkan dalam chip. Kemajuan komputer generasi ketiga lainnya adalah penggunaan sistem operasi (operating system) yang memungkinkan mesin untuk menjalankan berbagai program yang berbeda secara serentak dengan sebuah program utama yang berfungsi untuk memonitor dan mengkoordinasi memori komputer.

IV. KOMPUTER GENERASI KEEMPAT (4)

Setelah IC,tujuan pengembangan menjadi lebih jelas yaitu mengecilkan ukuran sirkuit dan komponen-komponen elektrik.Large Scale Integration (LSI) dapat memuat ratusan komponen dalam sebuah chip.Pada tahun 1980-an,Very Large Scale Integration (VLSI) memuat ribuan komponen dalam sebuah chip tunggal.Ultra-Large Scale Integration (ULSI) meningkatkan jumlah tersebut menjadi jutaan.Kemampuan untuk memasang sedemikian banyak komponen dalam suatu keping yang berukuran setengah keping uang logam mendorong turunnya harga dan ukuran komputer.Hal tersebut juga meningkatkan daya kerja,efisiensi dan juga kehandalan komputer.Chip Intel 4004 yang dibuat pada tahun 1971 membawa kemajuan pada IC dengan meletakkan seluruh komponen dari sebuah komputer (central processing unit,memori,dan kendali input/output) dalam sebuah chip yangsangat kecil.Sebelumnya,IC dibuat untuk mengerjakan suatu tugas tertentu yang spesifik.Sekarang,sebuah mikroprosesor dapat diproduksi dan kemudian diprogram untuk memenuhi seluruh kebutuhan yang diinginkan.Tidak lama kemudian,setiap perangkat rumah tangga seperti microwave oven,televisi,dan mobil dengan electronic fuel injection dilengkapi dengan mikroprosesor.

generasi komputerPerkembangan yang demikian memungkinkan orang-orang biasa untuk menggunakan komputer biasa.Komputer tidak lagi menjadi dominasi perusahaan-perusahaan besar atau lembaga pemerintah.Pada pertengahan tahun 1970-an,perakit komputer menawarkan produk komputer mereka ke masyarakat umum.Komputer-komputer ini,yang disebut minikomputer, dijual dengan paket piranti lunak yang mudah digunakan oleh kalangan awam.Piranti lunak yang paling populer pada saat itu adalah program word processing dan spreadsheet.Pada awal 1980-an,video game seperti Atari 2600 menarik perhatian konsumen pada komputer rumahan yang lebih canggih dan dapat diprogram.Pada tahun 1981,IBM memperkenalkan penggunaan Personal Computer (PC) untuk penggunaan di rumah, kantor,dan sekolah.Jumlah PC yang digunakan melonjak dari 2 juta unit pada tahun 1981 menjadi 5,5 juta unit pada tahun 1982.Sepuluh tahun kemudian,65 juta PC digunakan.Komputer melanjutkan evolusinya menuju ukuran yang lebih kecil,dari komputer yang berada di atas meja (desktop computer) menjadi komputer yang dapat dimasukkan ke dalam tas (laptop),atau bahkan komputer yang dapat digenggam (palmtop).

IBM PC bersaing dengan Apple Macintosh dalam memperebutkan pasar komputer.Apple Macintosh menjadi terkenal karena mempopulerkan sistem grafis pada komputernya, sementara saingannya masih menggunakan komputer yang berbasis teks.Macintosh juga mempopulerkan penggunaan piranti mouse.

Pada masa sekarang, kita mengenal perjalanan IBM compatible dengan pemakaian CPU: IBM PC/486,Pentium,Pentium II,Pentium III,Pentium IV (Serial dari CPU buatan Intel). Juga kita kenal AMD k6,Athlon,dsb.Ini semua masuk dalam golongan komputer generasi keempat.Seiring dengan menjamurnya penggunaan komputer di tempat kerja,cara-cara baru untuk menggali potensi terus dikembangkan.Seiring dengan bertambah kuatnya suatu komputer kecil,komputer-komputer tersebut dapat dihubungkan secara bersamaan dalam suatu jaringan untuk saling berbagi memori,piranti lunak,informasi,dan juga untuk dapat saling berkomunikasi satu dengan yang lainnya.Komputer jaringan memungkinkan komputer tunggal untuk membentuk kerjasama elektronik untuk menyelesaikan suatu proses tugas.Dengan menggunakan perkabelan langsung,yang disebut juga Local Area Network (LAN),atau kabel telepon,jaringan ini dapat berkembang menjadi sangat besar.

V. KOMPUTER GENERASI KELIMA (5)

Mendefinisikan komputer generasi kelima (ke-V) menjadi cukup sulit karena tahap ini masih sangat muda.Contoh imajinatif komputer generasi kelima adalah komputer fiksi HAL9000 dari novel karya Arthur C. Clarke berjudul 2001:Space Odyssey.HAL menampilkan seluruh fungsi yang diinginkan dari sebuah komputer generasi kelima.Dengan kecerdasan buatan (artificial intelligence),HAL dapat cukup memiliki nalar untuk melakukan percapakan dengan manusia,menggunakan masukan visual,dan belajar dari pengalamannya sendiri.

Walaupun mungkin realisasi HAL9000 masih jauh dari kenyataan,banyak fungsi-fungsi yang dimilikinya sudah terwujud.Beberapa komputer dapat menerima instruksi secara lisan dan mampu meniru nalar manusia.Kemampuan untuk menterjemahkan bahasa asing juga menjadi mungkin.Fasilitas ini tampak sederhana.Namun fasilitas tersebut menjadi jauh lebih rumit dari yang diduga ketika programmer menyadari bahwa pengertian manusia sangat bergantung pada konteks dan pengertian daripada sekedar menterjemahkan kata-kata secara langsung.

Banyak kemajuan di bidang disain 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.

VI. KOMPUTER GENERASI KE ENAM ( Masa Depan KE-6)

komputer generasi ke-6,masa mendatangDengan Teknologi Komputer yang ada saat ini,agak sulit untuk dapat membayangkan bagaimana komputer masa depan.Dengan teknologi yang ada saat ini saja kita seakan sudah dapat “menggenggam dunia”.Dari sisi teknologi beberapa ilmuwan komputer meyakini suatu saat tercipta apa yang disebut dengan biochip yang dibuat dari bahan protein sitetis.Robot yang dibuat dengan bahan ini kelak akan menjadi manusia tiruan.Sedangkan teknologi yang sedang dalam tahap penelitian sekarang ini yaitu mikrooptik serta input-output audio yang mungkin digunakan oleh komputer yang akan datang.Ahli-ahli sains komputer sekarang juga sedang mencoba merancang komputer yang tidak memerlukan penulisan dan pembuatan program oleh pengguna.Komputer tanpa program (programless computer) ini mungkin membentuk ciri utama generasi komputer yang akan datang.

Kemungkinan Komputer Masa Depan

Secara prinsip ciri-ciri komputer masa mendatang adalah lebih canggih dan lebih murah dan memiliki kemampuan diantaranya melihat,mendengar,berbicara,dan berpikir serta mampu membuat kesimpulan seperti manusia.Ini berarti komputer memiliki kecerdasan buatan yang mendekati kemampuan dan prilaku manusia.Kelebihan lainnya lagi,kecerdasan untuk memprediksi sebuah kejadian yang akan terjadi,bisa berkomunikasi langsung dengan manusia,dan bentuknya semakin kecil.Yang jelas komputer masa depan akan lebih menakjubkan.

Segitiga Bintang dengan 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 dari suatu permasalahan adalah objek. Objek-objek ini kemudian juga dapat berupa gabungan dari beberapa objek yang lebih kecil.
Contoh : membuat sebuah segitiga dengan elemen tanda bintang.
Source Code :
class SegitigaBintang {
   public static void main(String [] args){
      int i,j,k,l=5;
      for(i=1;i<=l;i++){
         for(j=l;j>i;j--){
            System.out.print(" ");
         }
         for(k=1;k<=i;k++){
            System.out.print(" *");
         }
         System.out.print("\n");
      }
   }
}
Penjelasan :
“l=7″ dipakai sebagai batas.
“for” yang pertama berfungsi untuk menghitung banyak elemen ke samping(horizontal).
“for” yang kedua berfungsi sebagai penghitung elemen dari bawah ke atas(j–), dan mengisinya dengan tanda spasi, sehingga seolah ada segitiga siku-siku kosong dengan pusat di kiri atas.
“for” yang ketiga berfungsi sebagai penghitung elemen ke bawah dan mengisi dengan ” *”. Diisikan spasi sebelum tanda bintang agar terbentuk segitiga sama sisi, jika tidak maka hanya segitiga siku-siku saja yang akan terbentuk.
“\n” befungsi meenter kebawah, agar tidak terbentuk 1 baris deret * nantinya.

Minggu, 19 Desember 2010

Pemrograman Berbasis Objek (PBO)

A..Object
A.1 Definisi dan Gambaran Umum Object
Object merupakan sesuatu yang memiliki identitas (nama), pada umumnya juga memiliki data tentang dirinya maupun object lain dan mempunyai kemampuan untuk melakukan sesuatu dan bisa bekerja sama dengan objek lainnya. Pada dasarnya semua benda yang ada di dunia dapat dianggap sebagai sebuah object. Rumah, mobil, sepeda motor, meja, dan komputer merupakan contoh-contoh object yang ada di dunia nyata. Object adalah implementasi dari class. Secara sederhananya, dapat dikatakan terdiri dari properti (atribut) dan method.
Pemahaman singkatnya :
• Objek merupakan sebuah objek khusus yang digunakan untuk mengakses anggota objek (atribut atau method) dari dalam objek itu sendiri.
• Apabila terdapat variabel lain yang memiliki nama yang sama dengan nama atribut di dalam objek, “this” dapat digunakan untuk merujuk ke atribut objek.
A.2 Karakteristik Object
Setiap object memiliki dua karakteristik yang utama, yaitu atribut dan behavior. Atribut merupakan status object dan behavior merupakan tingkah laku dari object tersebut. Contoh sederhana adalah sepeda. Object sepeda memiliki atribut : pedal, roda, dan gigi, kecepatan serta memiliki tingkah laku seperti pacu dan rem. Dalam pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan menyimpan state-nya dalam variabel dan menyimpan informasi tingkah laku ( behaviour ) dalam method-method atau fungsi-fungsi/prosedur.
B. Class
B.1 Definisi dan Gambaran Umum Class
Class didefinisikan sebagai sebuah blue print, atau prototipe, yang mendefiniskan variabel-variabel dan metode-metode yang umum untuk semua objek dari n jenis tertentu (n maksudnya jumlah tertentu). Sebuah kelas menyerupai sebuah struktur yang merupakan tipe data sendiri, misalkan tipe data titik yang terdiri dari koordinat x dan y. Bahasa Java telah menggunakan sebuah kelas untuk menyatakan tipe data titik karena bahasa pemrograman Java merupakan bahasa pemrograman berorientasi objek murni sehingga tidak mengenal struktur, melainkan mengenal apa yang disebut dengan kelas.
Perbedaan sebuah kelas dengan sebuah struktur adalah sebuah kelas dapat berdiri sendiri dan dapat digunakan untuk berbagai keperluan kelas-kelas yang lain, sedangkan sebuah struktur tidak dapat berdiri sendiri. Sebuah kelas lebih fleksibel untuk digunakan oleh kelas lain tanpa harus membongkar kode program utama, sedangkan jika digunakan struktur maka kode program harus dibongkar unuk disalin bagian strukturnya ke kode program utama yang lain.
Pemahaman singkatnya :
• Class merupakan pola / template yang menggambarkan kumpulan object yang mempunyai sifat dan perilaku yang sama.
• Class merupakan struktur data dari object (blueprint dari sebuah object), dan proses pembuatan object dari sebuah class disebut juga dengan instantiation..
• Class merupakan definisi data dan fungsi dari suatu hal (benda, konsep, dll).
• Di dalam class dideklarasikan variabel dan method yang dimiliki oleh obyek
B.2 Karakteristik Class
Class memiliki beberapa karakteristik, diantaranya : anggota class terdiri dari atribut dan method. Tiap-tiap anggota class memiliki control pengaksesan tersendiri, maksudnya adalah apakah anggota class tersebut dapat diakses dengan bebas (dengan tipe public) atau hanya dapat diakses melalui sebuah interface. Dalam hal ini, interface adalah device yang digunakan untuk komunikasi antar object berbeda yang tidak memiliki hubungan apapun. Interface bisa dikatakan sebagai protokol komunikasi antar object tersebut.
B.3 Class Body
Class Body merupakan bagian dari kelas yang mendeklarasikan kode-kode program java. Class Body tersusun atas:
a .Konstruktor
b. Variable
c. Method (Fungsi-fungsi atau prosedur)
Konstruktor adalah suatu method yang mempunyai nama sama dengan nama class dimana method itu dibuat. Fungsi konstruktor adalah sebagai inisiasi awal dari terbentuknya sebuah objek. Sebuah kelas harus memiliki sebuah metode yang disebut sebagai konstruktor. nama sebuah konstruktor harus sama dengan nama dari sebuah kelas, misalkan kelas Elemen maka konstruktornya adalah Elemen().
Sebuah konstruktor juga dapat menerima sebuah masukan seperti halnya prosedur pada pemrograman prosedural. Fungsi dari sebuah konstruktor adalah mengalokasikan sebuah objek saat program dieksekusi, memberikan nilai awal sebagai inisialisasi dari semua atribut yang perlu diinisialisasi dan mengerjakan prosesproses yang diperlukan saat sebuah objek dibuat.
Namun, pada kenyataannya sebuah konstruktor dapat tidak berisi apa-apa, hal ini jika memang tidak diperlukan adanya inisialisasi atau proses yang dikerjakan ketika sebuah objek dibuat. Konstruktor tersebut disebut sebagai konstruktor default. Konstruktor harus bersifat public karena sebuah konstruktor akan diakses oleh kelas lain untuk membuat objek suatu kelas. Sebuah kelas dapat memiliki konstruktor lebih dari satu.
Pada saat eksekusi program, kompiler atau interpreter akan mencari konstruktor mana yang sesuai dengan konstruktor yang dipanggil, hal ini juga merupakan overloading .
B.4 Perbedaan antara Class dengan Object
Class tentunya berbeda dengan object. Class merupakan prototipe yang mendefinisikan variabel dan method secara umum. Akan tetapi, object adalah hasil instansiasi dari suatu class.
Object-object yang memiliki kondisi yang berbeda seperti sepeda A pada gigi posisi 4 dan sepeda B pada gigi posisi 6 dapat disatukan dalam satu “class sepeda” berdasarkan kondisi umum sepeda yang dapat ubah posisi giginya. Untuk dapat memahami Konsep OOP dengan baik seorang pemrogram harus dapat membedakan antara object dengan class.
B.5 Contoh class pada java
public class Contoh3 {
            public static int a;
            public static void test(){
      }
            public static void main(String[]args){
                  test();
            }
      }
C. Method
C.1.Definisi dan Gambaran Umum Method
Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer didalam suatu Class. Dengan kata lain, method pada sebuah kelas hampir sama dengan fungsi atau prosedur pada pemrograman prosedural. Pada sebuah method di dalam sebuah kelas juga memiliki izin akses seperti halnya atribut pada kelas, izin akses itu antara lain private, public dan protected yang memiliki arti sama pada izin akses atribut yang telah dibahas sebelumnya. Sebuah kelas boleh memiliki lebih dari satu method dengan nama yang sama asalkan memiliki parameter masukan yang berbeda sehingga kompiler atau interpreter dapat mengenali method mana yang dipanggil. Hal ini dinamakan overloading. Di dalam sebuah kelas, terdapat juga yang disebut sebagai method atau atribut statis yang memiliki kata kunci static. Maksud dari statis di sini adalah method yang dapat diakses secara berbagi dengan semua objek lain tanpa harus membuat objek yang memiliki method statis tadi (tanpa proses new), tapi sebuah method statis mempunyai keterbatasan yaitu hanya dapat mengakses atribut atau method lain di dalam kelas yang membungkusnya yang juga bersifat statis. Method statis biasanya diimplementasikan untuk method main.
C.2.Karakteristik Method
Didalam suatu class, behavior disimpan dalam bentuk Method. Method merupakan serangkaian statemen / perintah (perintah = baris program) dalam suatu class yang menghandle task tertentu. Method merupakan hal-hal yang bisa dilakukan oleh object dari suatu class. Method didefinisikan pada class akan tetapi dipanggil melalui object. Method memiliki peranan diantaranya :
- merubah nilai atribut dari suatu object,
- menerima informasi dari object lain, dan
- mengirim informasi ke obyek lain untuk melakukan suatu task (cara obyek berkomunikasi dengan obyek lain adalah dengan menggunakan method).
C.3 Contoh method pada java
public static void show(){
            a = b + c;
            System.out.println("hasil ="+a);
      }
}
Akses Level
Access Level menentukan level pengaksesan sebuah method. Hal ini menentukan apakah sebuah method bias diakses oleh objek lain, objek anak, objek dalam satu paket atau tidak dapat diakses oleh suatu object sama sekali berikut adalah beberapa jenis level access:
- Public : Atribut ini menunjukan bahwa fungsi/method dapat diakses oleh objek  lain.
public static int b;
- Private : Atribut ini menunjukan bahwa fungsi atau method tidak dapat diakses oleh objek lain.
private static int a;
- Protected : Atribut ini menunjukan bahwa fungsi atau method hanya bisa diakses oleh objek itu sendiri atau objek lain yang merupakan subclass nya.
Return Type
Setiap fungsi menghasilkan suatu nilai dengan tipe data tertentu. Apabila terdapat suatu fungsi yang tidak menghasilkan suatu nilai apapun maka bagian return type ini diganti dengan void. Contoh :
public static int show(){
      return a;
}
Method Name / Nama Method
Setiap fungsi dalam pemrograman mempunyai identitas nama fungsi. Penamaan fungsi / method mengikuti aturan :
- Tidak menggunakan spasi atau menggunakan spasi dengan diganti “_” (misal method .Hitung_integral).
- Tidak menggunakan kata-kata yang telah dipakai oleh compiler (reserved Word).
Parameter
Bagian parameter diisi dengan parameter-parameter fungsi yang diperlukan. Parameter apabila lebih dari satu akan dipisahkan dengan tanda koma (“,”) parameter-parameter pada fungsi-fungsi di java akan di bypass value yang artinya pada tiap fungsi tidak akan dapat merubah isi dari variable parameter yang dimasukan.Contoh :
public static void main(String[]args){
      test(13 , 14); //13 dan 14 adlah parameter (value)
}
D. Atribut
D.3.Deklarasi Atribut dalam Pemrograman Java
Bentuk Umum Atribut :
[modifier] tipedata namavariabel;
[public] [static] final tipedata NAMA_KONSTANTA = nilai;
Merujuk pada Sub bahasan D.1 Definisi dan Gambaran Umum Atribut, berikut ini adalah contoh penggunaan atribut-atribut yang dimaksud (atribut yang ada didalam suatu class) :
Deskripsi pendeklarasiannya (sebagai contoh) :
class Elemen {
private Elemen next1;
public Elemen next2;
protected Elemen next3;
Elemen(){
       }
}
*) Catatan :
Jika kelas lain mempunyai objek dari kelas Elemen, dengan dilakukan pembuatan objek sbb: Elemen e = new Elemen(), maka :
● Atribut next1, tidak dapat diakses melalui elemen next1 karena atribut yang hak aksesnya private hanya dapat diakses oleh kelas yang membungkusnya. Jadi, pengaksesannya dapat dilakukan dengan membuat method pada kelas Elemen yang akan mengembalikan nilai atribut next1 tersebut.
Kelas lain yang akan mengakses atribut next1 pada kelas Elemen harus memanggil method getNext1().Izin akses private ini ditujukan untuk melindungi atribut - atributnya agar tidak dapat diakses oleh kelas lain.
● Atribut next2, dapat diakses kelas lain melalui e.next2 karena bersifat public yang memungkinkan kelas lain untuk mengakses secara langsung terhadap kelas tersebut. Jika sebuah atribut tidak ditulis izin aksesnya, maka interpreter Java akan menganggap atribut tersebut memiliki izin akses public.
● Atribut next3, dapat diakses secara langsung oleh kelas lain yang merupakan turunan kelas Elemen. Izin akses protected ini dimaksudkan untuk melindungi atribut agar tidak diakses secara langsung oleh sembarang kelas lain, kecuali oleh kelas turunannya.