**_Masuk_**

Minggu, 19 Desember 2010

PENANGGULANGAN DEADLOCK

cara untuk menangani keadaan deadlock, yaitu:

1) Pengabaian. Maksud dari pengabaian di sini adalah sistem mengabaikan terjadinya deadlock dan pura-pura tidak tahu kalau deadlock terjadi. Dalam penanganan dengan cara ini dikenal istilah ostrich algorithm. Pelaksanaan algoritma ini adalah sistem tidak mendeteksi adanya deadlock dan secara otomatis mematikan proses atau program yang mengalami deadlock. Kebanyakan sistem operasi yang ada mengadaptasi cara ini untuk menangani keadaan deadlock. Cara penanganan dengan mengabaikan deadlock banyak dipilih karena kasus deadlock tersebut jarang terjadi dan relatif rumit dan kompleks untuk diselesaikan. Sehingga biasanya hanya diabaikan oleh sistem untuk kemudian diselesaikan masalahnya oleh user dengan cara melakukan terminasi dengan Ctrl+Alt+Del atau melakukan restart terhadap komputer.

2) Pencegahan. Penanganan ini dengan cara mencegah terjadinya salah satu karakteristik deadlock. Penanganan ini dilaksanakan pada saat deadlock belum terjadi pada sistem. Intinya memastikan agar sistem tidak akan pernah berada pada kondisi deadlock. Akan dibahas secara lebih mendalam pada bagian selanjutnya.

3) Penghindaran. Menghindari keadaan deadlock. Bagian yang perlu diperhatikan oleh pembaca adalah bahwa antara pencegahan dan penghindaran adalah dua hal yang berbeda. Pencegahan lebih kepada mencegah salah satu dari empat karakteristik deadlock terjadi, sehingga deadlock pun tidak terjadi. Sedangkan penghindaran adalah memprediksi apakah tindakan yang diambil sistem, dalam kaitannya dengan permintaan proses akan sumber daya, dapat mengakibatkan terjadi deadlock. Akan dibahas secara lebih mendalam pada bagian selanjutnya.

4) Pendeteksian dan Pemulihan. Pada sistem yang sedang berada pada kondisi deadlock, tindakan yang harus diambil adalah tindakan yang bersifat represif. Tindakan tersebut adalah dengan mendeteksi adanya deadlock, kemudian memulihkan kembali sistem. Proses pendeteksian akan menghasilkan informasi apakah sistem sedang deadlock atau tidak serta proses mana yang mengalami deadlock. Akan dibahas secara lebih mendalam pada bagian selanjutnya.

Senin, 15 November 2010

Blok, Perulangan, dan Percabangan

Kemampuan suatu program untuk melakukan tugas kompleks dilakukan dengan menggabungkan perintah sederhana menjadi struktur kontrol. Dalam bahasa Java, ada 6 struktur tersebut, yaitu blok, perulangan while, perulangan do ... while, perulangan for, pernyataan if, dan pernyataan switch.

Masing-masing struktur ini sebetulnya merupakan pernyataan tunggal yang berdiri dengan sendirinya, tetapi di dalamnya terdiri dari satu atau lebih perintah sehingga keseluruhannya menjadi suatu struktur perintah.

Blok

Blok adalah pernyataan sederhana yang dimulai dengan { dan diakhiri dengan }. Tujuannya untuk mengelompokkan beberapa perintah sehingga lebih dimengerti. Misalnya

{
perintah
}

Pernyataan blok biasanya terdapat dalam struktur kontrol, tetapi sebetulnya tanpa struktur kontrol pun, blok tetap berlaku. Contoh sederhana penggunaan blok ini adalah dalam subrutin main() yang kita lakukan pada contoh-contoh sebelumnya.

Berikut ini adalah 2 contoh penggunaan blok.

{
System.out.println("Hallo");
System.out.println("Dunia");
}

{ // blok ini digunakan untuk menukar isi variable x dan y
int temp;
temp = x;
x = y;
y = temp;
}

Pada blok kedua, kita mendeklarasikan variable baru temp. Dalam blok kedua ini, variabel apapun yang dideklarasikan tidak akan dapat diakses dari luar blok ini. Variabel ini disebut variabel lokal, karena hanya bisa diakses dari dalam blok.

Ketika komputer menjalankan program ini, komputer akan mempersiapkan memori untuk menyimpan variabel yang dideklarasikan di dalam blok ini. Ketika blok ini selesai dijalankan, komputer akan melepas memori yang digunakan dalam blok ini untuk digunakan oleh bagian program lain.

Konsep "scope" atau jangkauan pada konsep pemrograman, mengacu pada bisa atau tidaknya suatu variabel dilihat oleh bagian program lain. Jangkauan suatu variabel menyatakan di bagian mana variabel ini valid atau dengan kata lain bisa diakses. Jangkauan variabel dalam suatu blok terbatas hanya pada blok tersebut.

Blok sendiri sebetulnya bukan merupakan struktur kontrol. Program akan berjalan seperti biasa dari atas kebawah seperti biasa. Secara umum struktur kontrol dibagi menjadi 2 bagian, yaitu : perulangan dan percabangan.

Perulangan

Sebagai contoh untuk membahas tentang perulangan, kita lihat pernyataan while, yang memiliki bentuk seperti

while (suatu_kondisi) {
perintah
}

Semantik pada pernyataan while tersebut adalah sebagai berikut. Ketika komputer sampai pada pernyataan while, komputer akan melakukan perhitungan pada suatu_kondisi. Apabila suatu_kondisi bernilai true, blok yang berisi perintah akan dilakukan. Setelah komputer sampai pada bagian akhir blok, komputer akan menghitung kembali suatu_kondisi. Jika masih bernilai true, maka blok tersebut akan dieksekusi, dan jika tidak, program akan melompat ke bagian program berikutnya setelah blok berakhir. Atau dengan kata lain, jika suatu_kondisi bernilai false, blok perintah tidak akan dieksekusi.

Berikut ini adalah contoh untuk menulis bilangan 1 hingga 5.

int angka = 1; // inisialisasi variabel, kita mulai dengan mengisi variabel angka dengan 1

while (angka <= 5) {
System.out.println(angka); // cetak isi angka di layar
angka = angka + 1; // tambah angka dengan 1
}

System.out.println("Selesai...");

Variabel angka kita inisialiasi (persiapkan) dan kita isi mula-mula dengan 1. Ketika program sampai pada pernyataan while, program akan mengevaluasi apakah angka <= 5. Pada saat program baru dimulai, angka masih bernilai 1, sehingga pernyataan angka <= 5 bernilai true. Dalam hal ini perintah di dalam blok akan dieksekusi, yaitu mencetak angka ke layar, kemudian menambah angka dengan 1. Sekarang angka bernilai 2.

Setelah sampai pada akhir blok, program akan kembali pada awal pernyataan while. Sekarang angka bernilai 2, dan karena 2 masih kurang dari atau sama dengan 5, program akan kembali mengeksekusi perintah dalam blok. Begitu seterusnya hingga angka bernilai 6. Pada saat ini program akan berhenti melakukan perulangan dan berhenti melakukan eksekusi perintah di dalam blok tersebut, kemudian melakukan perintah berikutnya, yaitu menampilkan kata "Selesai...".

Percabangan

Pernyataan if memperintahkan komputer untuk memilih salah satu aksi yang akan dilakukan, tergantung pada suatu kondisi tertentu. Bentuknya dapat ditulis sebagai berikut

if (suatu_kondisi)
perintah_1;
else
perintah_2;

Perintah_1 dan perintah_2 juga bisa berbentuk blok, sehingga pernyataan di atas dapat ditulis juga sebagai berikut

if (suatu_kondisi) {
perintah_1;
} else {
perintah_2;
}

Ketika komputer sampai pada pernyataan if, komputer akan menghitung apakah suatu_kondisi bernilai true. Jika iya, maka blok perintah berikutnya akan dieksekusi, dalam hal ini perintah_1. Jika tidak, maka blok setelah pernyataan else akan dieksekusi, yaitu perintah_2.

Sebagai contoh, mari kita kembali pada contoh program untuk membalik nilai x dan y, dengan syarat x harus lebih besar dari y. Dalam hal ini, setelah program ini dieksekusi, nilai x akan selalu bernilai lebih kecil dari y, karena jika nilai x lebih besar, nilai x akan ditukar dengan nilai y.

if (x > y) { // jika x lebih besar dari y
// blok ini digunakan untuk menukar isi variable x dan y
int temp;
temp = x;
x = y;
y = temp;
}

Contoh berikut adalah program untuk menentukan apakah suatu bilangan merupakan bilangan genap atau bilangan ganjil. Dengan menggunakan operator %, yaitu sisa pembagian, kita dapat menentukan apabila sisa pembagian suatu bilangan dengan 2 adalah 0, maka bilangan tersebut merupakan bilangan genap. Jika tidak, maka bilangan tersebut adalah bilangan ganjil.

if ((x % 2) == 0) {
System.out.println(x + " adalah bilangan genap");
} else {
System.out.println(x + " adalah bilangan ganjil");
}

Kita akan bahas tentang struktur kontrol di bagian berikutnya. Semoga bagian ini yang merupakan bagian pendahuluan tentang struktur kontrol dapat dimengerti sehingga kita bisa mempelajari konsep yang lebih kompleks lagi.

Contoh Program Variabel dan Tipe Data

Berikut ini adalah listing program penghitungan bunga bank. Kode program dapat anda unduh dalam bentuk zip file atau melalui SVN di alamat berikut : http://belajarjava.googlecode.com/svn/trunk/BungaBank

Lihat cara mengimpor contoh-contoh program ke dalam Eclipse di Bab II - Instalasi.

package bungabank;

public class BungaBank {

/**
* @param args
*/

public static void main(String[] args) {
// TODO Auto-generated method stub

/* Deklarasi variable */
double pokok; // nilai investasi
double sukubunga; // suku bunga bank
double bunga; // nilai bunga

/* Perhitungan */
pokok = 20000;
sukubunga = 0.10; // sama dengan 10%
bunga = pokok * sukubunga;

pokok = pokok + bunga;

/* Cetak hasil keluaran */
System.out.print("Bunga yang dihasilkan adalah Rp. ");
System.out.println(bunga);
System.out.print("Nilai investasi setelah 1 tahun adalah Rp. ");
System.out.println(pokok);

}
}

Berikut adalah hasil keluarannya :

Variabel dan Tipe Data

Nama merupakan hal penting dalam teknik pemrograman. Dalam suatu program, nama digunakan untuk menyebut sesuatu. Untuk menggunakan "sesuatu" tersebut, programmer harus mengerti bagaimana aturan pemberian nama dan aturan untuk menggunakan nama tersebut dalam programnya. Atau dengan kata lain, programmer harus mengerti sintaks dan semantik dari nama.

Menurut aturan sintaks Java, nama merupakan rangkaian dari 1 atau lebih karakter. Harus dimulai dengan huruf dan harus terdiri dari huruf, angka atau karakter garis bawah '_'. Berikut ini adalah contoh nama yang diperbolehkan:

        N   n   rate  x15   quite_a_long_name   HelloWorld

Hurus kecil dan huruf besar dianggap berbeda, sehingga HelloWorld, helloworld, HELLOWORLD, dan heLLOwoRLD adalah nama yang berbeda-beda. Beberapa kata tertentu merupakan nama yang memiliki kegunaan tertentu oleh Java, dan tidak dapat dipergunakan oleh programmer. Kata-kata ini disebut reserved words (kata-kata cadangan) misalnya: class, public, static, if, else, while, dan lain-lain.

Hal lain yang penting adalah compound names atau nama campuran, yaitu yang merupakan nama biasa yang dihubungkan dengan titik, misalnya System.out.println. Idenya adalah "sesuatu" pada Java dapat terdiri dari "sesuatu" yang lain. Nama System.out.println artinya System menampung out dan out menampung println. Kita sebut "sesuatu" sebagai identifier (pengenal) tidak peduli apakah ia berupa nama tunggal atau campuran.


Program melakukan manipulasi data yang disimpan dalam memori. Dalam bahasa mesin, data hanya bisa diambil dengan menyebut alamatnya di memori. Dalam bahasa pemrograman tingkat tinggi seperti Java, nama bisa digunakan untk mengganti alamat data tersebut di memori. Tugas komputer adalah untuk melacak di mana data tersebut di simpan, sedangkan programmer menggunakan nama untuk memerintahkan komputer mengambil data tersebut dari memori. Nama yang digunakan seperti ini disebut variable.

Variabel sebenarnya berarti lebih kompleks. Variabel bukan isi dari data, tapi lokasi di memori yang menyimpan data tersebut. Variabel bisa diibaratkan sebagai kotak penyimpanan data, bukan isi kotaknya. Karena data di dalam kotak bisa berubah, variabel hanya dapat dipercaya pada satu saat saja, walaupun tempatnya selalu sama.

Dalam bahasa Java, satu-satunya cara untuk memasukkan data ke dalam variabel adalah dengan menggunakan assignment statement, atau pernyataan pemberian nilai. Pernyataan ini berbentuk:

variable = ekspresi;

di mana ekspresi menyatakan apapun yang berhubungan dengan nilai suatu data. Ketika komputer menjalankan instruksi ini, komputer akan menghitung dan menyimpan hasilnya ke dalam variabel. Contoh:

kecepatan = 40;

Variable dalam pernyataan di atas adalah kecepatan dan ekspresinya adalah angka 40. Komputer menghitung pernyataan ini dan menyimpan 40 ke dalam variabel kecepatan, dan mengganti apapun yang telah disimpan sebelumnya.

Sekarang misalnya kita ingin melakukan perhitungan yang lebih kompleks:

jarak = kecepatan * waktu

Di sini, * merupakan operasi perkalian. Komputer mengambil data yang disimpan dalam variabel kecepatan dan waktu, melakukan perkalian, dan menyimpan hasilnya dalam jarak.

Variabel dalam bahasa Java didesign untuk menyimpan hanya 1 jenis tipe data. Kompiler akan menampilkan kesalahan sintax apabila variabel ini dicoba untuk diberi tipe data jenis lain. Oleh karena itu Java disebut bahasa pemrograman bertipe kuat atau strongly typed language.

Ada 8 tipe data primitif dalam bahasa Java.

Jenis Data Deskripsi Ukuran Minimum Maksimum
boolean Hanya bisa berisi benar atau salah 1-bit
char Karakter Unicode 16-bit
byte Bilangan bulat
8-bit -127 128
short Bilangan bulat
16-bit -32768 32767
int Bilangan bulat 32-bit -2147483648 2147483647
long Bilangan bulat
64-bit -9223372036854775808 9223372036854775807
float Bilangan riil 32-bit 1.40129846432481707e-45 3.40282346638528860e+38
double Bilangan riil 64-bit 4.94065645841246544e-324 1.79769313486231570e+308

Suatu variabel baru dapat digunakan apabila telah dideklarasikan. Pernyataan deklarasi variabel digunakan untuk mendeklarasikan satu atau lebih variabel dan memberinya nama. Ketika komputer mengeksekusi deklarasi variabel, komputer akan menyediakan ruangan di memori kemudian menyimpan alamat ini sesuai dengan nama variabel yang diberikan. Deklarasi variable berbentuk seperti :

nama_tipe nama_variabel;

nama_variabel dapat berupa sebuah nama variabel atau beberapa nama sekaligus yang dipisah dengan koma. Gaya pemrograman yang baik yaitu dengan mendeklarasikan satu variabel dalam satu pernyataan, kecuali variabel tersebut berhubungan erat satu sama lain. Misalnya:

float num;
String nama;
String nama;
boolean bol;
int x,y;

Atau pendeklarasian variabel bisa juga dilakukan sekaligus dengan pemberian nilainya, seperti pada contoh berikut:

int num = 1000;
char ch = 'e';
float angka = -1.504;
boolean bol = true;

Jenis-jenis Variabel

Java memiliki beberapa jenis variabel yang dapat dikelompokkan sebagai berikut :

  • Instance Variables (tidak statis). Dalam bahasa pemrograman berorientasi objek, objek menyimpan variabel yang tidak dideklarasikan dengan kata kunci static dalam kategori non-statis, atau dapat berubah-ubah. Suatu kelas dapat dijelmakan ke dalam beberapa objek. Nilai yang terkandung dalam variabel tak-statis ini berbeda untuk setiap objeknya.
  • Class Variables (statis). Variabel ini merupakan bagian integral dari suatu kelas, dan tidak ada satu objek pun yang dapat menyatakan kepemilikan atas variabel ini. Variabel yang dideklarasikan sebagai statis digunakan bersama oleh semua objek. Variabel ini lebih bersifat global yang nilainya sama untuk setiap objek pada kelas yang bersangkutan.
  • Local Variables. Variabel ini didefinisikan di dalam suatu metoda (method) atau dalam suatu prosedur. Variabel ini bersifat lokal karena hanya dapat diakses oleh metoda atau prosedur tersebut.
  • Parameter. Paramater atau argumen adalah variabel yang digunakan pada saat suatu metoda atau prosedur dipanggil. Parameter berguna untuk memberikan nilai awal untuk diteruskan (pass) ke dalam suatu prosedur atau metoda.


Literal

Pada bagian ini akan dijelaskan tentang literal, yaitu rangkaian kata atau huruf yang menyatakan suatu nilai. Misalnya

int angka = 10;

Pada pernyataan di atas, yang dinamakan literal adalah 10, karena 10 berarti bilangan bulat atau integer. Pada bahasa pemrograman java, terdapat beberapa jenis literal yang melambangkan bilangan bulat, riil, kalimat, atau boolean.

Literal Bilangan Bulat

Bilangan bulat dapat dilambangkan dalam beberapa bentuk. Bilangan bulat biasa dilambangkan dengan deretan angka yang dimulai dengan angka yang bukan nol.

int angka = -10;

Bilangan oktal adalah bilangan bulat berbasis 8, yang berarti hanya dapat terdiri dari angka-angka 0 hingga 7. Bilangan oktal ditulis seperti bilangan bulat biasa dimulai dengan 0.

// 22 basis delapan atau 18 dalam desimal
int angka = 022;

Bilangan heksadesimal adalah bilangan berbasis 16. Bilangan heksadesimal dilambangkan dengan 0 hingga 9 dan a hingga f dan dimulai dengan 0x.

// 2a heksadesimal atau 42 dalam desimal
int angka = 0x2a;

Long integer. Seperti dijelaskan pada bab terdahulu long integer membutuhkan memori sebesar 64bit, yang artinya kita dapat menyimpan bilangan bulat hingga 2 ^ 64. Untuk merepresentasikan long integer, tambahkan huruf L pada akhir bilangan.

int angka = 22L;

Literal Karakter

Kita dapat melambangkan suatu karakter dengan tanda petik tunggal misalnya ‘a’ atau ‘3′ atau ‘=’. Suatu karakter dapat juga dilambangkan dengan kode ASCII nya. Caranya dengan memulainya dengan \u00 (garis miring terbalik) kemudian diikuti dengan kode ASCII nya dalam bentuk heksadesimal.

// huruf 'A' dalam ASCII
char huruf = '\u0041';

Selain itu ada beberapa karakter lain selain alfabet yang dapat dilambangkan dengan escape sequence. Berikut ini beberapa contohnya.

\n = tombol enter atau baris baru.

\r = carriage return.

\t = tombol tab.

\b = tombol backspace.

\\ = karakter \

\’ = karakter ‘

\” = karakter ”

Literal Boolean

Nilai true dan false pada java merupakan literal boolean. Suatu variabel bertipe boolean hanya dapat memiliki nilai true atau false.

boolean ok = true;

Ingat bahwa boolean true atau false TIDAK menggunakan tanda petik tunggal seperti ekspresi pada karakter.

Literal Bilangan Riil

Bilangan riil, misalnya -0.00127 atau 415.842, pada java dapat disimpan baik sebagai float atau double. Bilangan real dapat direpresentasikan dalam bentuk desimal biasa, pecahan, atau eksponen (dilambangkan dengan e atau E).

TipeUkuranRentangPresisi (jumlah digit)
bytesbit
float432+/- 3.4 x 10386-7
double864+/- 1.8 x 1030815

Imbuhan akhir d atau D dan f atau F dapat pula ditambahkan untuk menentukan tipenya secara eksplisit. Berikut beberapa contohnya.

double d = 3.27E+32;
float f = 4f;
float pi = 3.14159;

Literal String

String merupakan untaian huruf dan angka yang tersusun menjadi satu kalimat. Dalam bahasa java, string bukan merupakan tipe primitif, tetapi merupakan kelas. String pada java tidak disimpan dalam bentuk array seperti pada C. Java menyediakan beberapa metoda untuk melakukan penggabungan, modifikasi, atau perbandingan. String ditulis di antara dua tanda petik ganda seperti contoh berikut.

String salam = "Selamat Datang";

String juga dapat mengandung karakter spesial seperti dibahas pada literal karakter. Misalnya

String hallo = "Selamat Datang \"Bapak Presiden\"";
System.out.println("Hallo Bambang\nSelamat pagi,\nSemoga hari anda cerah\n";

Berikut ini adalah beberapa contoh lainnya.

// Contoh string kosong
String teks = "";

// Contoh string berisi "
teks = "\"";

// String dapat juga dipisah menjadi beberapa baris
teks = "ini baris pertama " +
"dan ini lanjutannya."

Literal Null

Literal terakhir pada bahasa java adalah literal null. Null merupakan kondisi di mana suatu objek tidak diberi alokasi memori. Pada saat suatu objek dideklarasikan, komputer akan mengalokasikan memori untuk objek tersebut. Apabila objek tersebut telah selesai dipergunakan, kita dapat melepas lokasi memori yang digunakan oleh objek tersebut sehingga memori itu dapat digunakan oleh objek lain. Berikut ini adalah contohnya

obj = null;

Literal null berfungsi memberi tahu garbage collector (pemulung memori) bahwa objek tersebut tidak lagi terpakai. Kemudian memori akan dilepaskan agar dapat digunakan oleh objek lain.

Mengimport proyek ke dalam Eclipse

Dalam situs ini, akan ada beberapa program yang cukup panjang dan mungkin menyusahkan Anda apabila harus mengetik satu per satu. Anda dapat juga mendownload berkas terkompresi untuk kemudian diimport ke dalam Eclipse.

  • Download file ini ke komputer Anda
  • Pada Eclipse, klik "New -> Import -> General -> Existing Project into Workspace"
  • Lalu tik "Select Archieve", pilih file yang telah Anda download tersebut, dan klik "Finish"

Menjalankan Eclipse untuk pertama kali

Menjalankan Eclipse untuk pertama kali

  • Cari file bernama eclipse.exe (pada Windows) atau eclipse (pada Ubuntu) kemudian double-click
  • Pada saat Eclipse pertama kali dijalankan, Eclipse akan menanyakan workspace, yaitu folder tempat proyek dan data diletakkan. Anda bisa menempatkan di mana saja asalkan jangan di dalam folder Eclipse itu sendiri.
  • Click Browse dan pilih folder yang ada inginkan. Tik "Use this as default and do not ask again"
  • Halaman pembuka akan muncul. Klik "Workspace", tombol paling kanan berbentuk anak panah untuk masuk ke dalam workspace Anda.

Program Java pertama Anda

  • Klik "File -> New -> Java Project"
  • Isi nama proyek (misalnya SelamatDatang), kemudian klik "Finish"
  • Setelah Eclipse membuat proyek untuk Anda, di bagian kiri workspace Anda akan melihat struktur direktori proyek Anda yang dimulai dengan nama proyek, folder src, dan folder JRE System Library
  • Klik kanan pada folder src, kemudian "New -> Package"
  • Isi nama package (misalnya selamatdatang), kemudian klik "Finish"
  • Klik kanan lagi pada folder selamatdatang, kemudian "New -> Class"
  • Isi nama class (misalnya SelamatDatang)
  • Karena class ini adalah class utama yang akan langsung dijalankan oleh JRE (Java Runtime Environment), click "public static void main(String[] args)" pada bagian "Which method stubs would you like to create?"

  • Klik "Finish"
  • Eclipse akan membuat program kosong yang berisi package dan class sesuai dengan nama yang Anda masukkan pada tahap sebelumnya
  • Sekarang ketik program berikut di bawah "// TODO"
System.out.println("Selamat Datang!");
  • Kemudian simpan hasilnya

Menjalankan program Java pertama Anda

  • Untuk menjalankan program Anda, klik "Run -> Run"
  • Di bagian bawah pada tab yang berjudul "Console" hasil program Anda ditampilkan
  • Program ini akan menampilkan tulisan Selamat Datang! seperti pada gambar berikut ini

Eclipse IDE

Eclipse merupakan komunitas open source yang bertujuan menghasilkan platform pemrograman terbuka. Eclipse terdiri dari framework yang dapat dikembangkan lebih lanjut, peralatan bantu untuk membuat dan memanage software sejak awal hingga diluncurkan. Platform Eclipse didukung oleh ekosistem besar yang terdiri dari vendor tekonologi, start-up inovatif, universitas, riset institusi serta individu.

Banyak orang mengenal Eclipse sebagai IDE (integrated development environment) untuk bahasa Java, tapi Eclipse lebih dari sekedar IDE untuk Java.

Komunitas Eclipse memiliki lebih dari 60 proyek open source. Proyek-proyek ini secara konsep terbagi menjadi 7 categori :

  1. Enterprise Development
  2. Embedded and Device Development
  3. Rich Client Platform
  4. Rich Internet Applications
  5. Application Frameworks
  6. Application Lifecycle Management (ALM)
  7. Service Oriented Architecture (SOA)

Secara umum Eclipse digunakan untuk membangun software inovatif berstandar industri, dan alat bantu beserta frameworknya membantu pekerjaan menjadi lebih mudah.

Lisensi

Eclipse menggunakan EPL (Eclipse Public License), yaitu lisensi yang memungkinkan organisasi untuk menjadikan Eclipse sebagai produk komersialnya, dan pada saat yang sama meminta orang yang melakukan perubahan untuk mengkontribusikan hasilnya kembali kepada komunitas.

Instalasi

  • Anda membutuhkan Java 5 JRE untuk menjalankan Eclipse.
  • Download Eclipse IDE for Java Developers untuk menggunakan kode pada situs Belajar Java ini.
  • Gunakan utility pada sistem operasi anda untuk membuka kompresi file tersebut ke dalam hard disk anda.
  • Catatan untuk Windows: Apabila Anda menggunakan utilitas kompresi file yang berasal dari Windows XP atau Windows Vista itu sendiri, kadang kala utilitas tersebut tidak berhasil membuka file dengan nama yang panjang. Jika Anda mengalami masalah dekompresi Eclipse pada Windows, letakkan hasil dekompresi pada root directory (misalnya C:\eclipse) atau gunakan software dekompresi lain yang gratis seperti 7-Zip


Selasa, 09 November 2010

Sejarah Microsoft Windows

Awal-awal Versi Windows

Windows 1.0

Ah.. Yang Betul Ini... Versi pertama Microsoft Windows, yang disebut dengan Windows 1.0, dirilis pada tanggal 20 November 1985. Versi ini memiliki banyak kekurangan dalam beberapa fungsionalitas, sehingga kurang populer di pasaran. Pada awalnya Windows versi 1.0 ini hendak dinamakan dengan Interface Manager, akan tetapi Rowland Hanson, kepala bagian pemasaran di Microsoft Corporation, meyakinkan para petinggi Microsoft bahwa nama "Windows" akan lebih "memikat" konsumen. Windows 1.0 bukanlah sebuah sistem operasi yang lengkap, tapi hanya memperluas kemampuan MS-DOS dengan tambahan antarmuka grafis. Selain itu, Windows 1.0 juga memiliki masalah dan kelemahan yang sama yang dimiliki oleh MS-DOS.

Lebih jauh lagi, Apple yang menuntut Microsoft membuat Microsoft membatasi kemampuannya. Sebagai contoh, jendela-jendela di dalam Windows 1.0 hanya dapat ditampilkan di layar secara "tile" saja, sehingga jendela tersebut tidak dapat saling menimpa satu sama lainnya. Selain itu, tidak ada semacam tempat yang digunakan untuk menyimpan berkas sebelum dihapus (Recycle Bin), karena memang Apple berkeyakinan bahwa mereka memiliki hak terhadap paradigma tersebut. Microsoft pun kemudian membuang limitasi tersebut dari Windows dengan menandatangani perjanjian lisensi dengan Apple.

Windows 2.x

Windows versi 2 pun muncul kemudian pada tanggal 9 Desember 1987, dan menjadi sedikit lebih populer dibandingkan dengan pendahulunya. Sebagian besar populeritasnya didapat karena kedekatannya dengan aplikasi grafis buatan Microsoft, Microsoft Excel for Windows dan Microsoft Word for Windows. Aplikasi-aplikasi Windows dapat dijalankan dari MS-DOS, untuk kemudian memasuki Windows untuk melakukan operasinya, dan akan keluar dengan sendirinya saat aplikasi tersebut ditutup.

Microsoft Windows akhirnya memperoleh peningkatan signifikan saat Aldus PageMaker muncul dalam versi untuk Windows, yang sebelumnya hanya dapat berjalan di atas Macintosh. Beberapa ahli sejarahwan komputer mencatat ini sebagai kemunculan sebuah aplikasi yang laku secara signifikan selain buatan Microsoft sebagai awal kesuksesan Microsoft Windows.

Windows versi 2.0x menggunakan model memori modus real, yang hanya mampu mengakses memori hingga 1 megabita saja. Dalam konfigurasi seperti itu, Windows dapat menjalankan aplikasi multitasking lainnya, semacam DESQview, yang berjalan dalam modus terproteksi yang ditawarkan oleh Intel 80286.

Windows 2.1x

Selanjutnya, dua versi yang baru dirilis, yakni Windows/286 2.1 dan Windows/386 2.1. Seperti halnya versi Windows sebelumnya, Windows/286 menggunakan model memori modus real, tapi merupakan versi yang pertama yang mendukung High Memory Area (HMA). Windows/386 2.1 bahkan memiliki kernel yang berjalan dalam modus terproteksi dengan emulasi Expanded Memory Specification (EMS) standar Lotus-Intel-Microsoft (LIM), pendahulu spesifikasi Extended Memory Specification (XMS) yang kemudian pada akhirnya mengubah topologi komputasi di dalam IBM PC. Semua aplikasi Windows dan berbasis DOS saat itu memang berjalan dalam modus real, yang berjalan di atas kernel modus terproteksi dengan menggunakan modus Virtual 8086, yang merupakan fitur baru yang dimiliki oleh Intel 80386.

Versi 2.03 dan kemudian versi 3.0 mendapatkan tuntutan dari Apple karena memang versi 2.1 ini memiliki modus penampilan jendela secara cascade (bertumpuk), selain beberapa fitur sistem operasi Apple Macintosh yang "ditiru" oleh Windows, utamanya adalah masalah tampilan/look and feel. Hakim William Schwarzer akhirnya membatalkan semua 189 tuntutan tersebut, kecuali 9 tuntutan yang diajukan oleh Apple terhadap Microsoft pada tanggal 5 Januari 1989.

Kesuksesan dengan Windows 3.0

Microsoft Windows akhirnya mencapai kesuksesan yang sangat signifikan saat menginjak versi 3.0 yang dirilis pada tahun 1990. Selain menawarkan peningkatan kemampuan terhadap aplikasi Windows, Windows 3.0 juga mampu mengizinkan pengguna untuk menjalankan beberapa aplikasi MS-DOS secara serentak (multitasking), karena memang pada versi ini telah diperkenalkan memori virtual. Versi ini pulalah yang menjadikan IBM PC dan kompatibelnya penantang serius terhadap Apple Macintosh. Hal ini disebabkan dari peningkatan performa pemrosesan grafik pada waktu itu (dengan adanya kartu grafis Video Graphics Array (VGA)), dan juga modus terproteksi/modus 386 Enhanced yang mengizinkan aplikasi Windows untuk memakai memori lebih banyak dengan cara yang lebih mudah dibandingkan dengan apa yang ditawarkan oleh MS-DOS.

Windows 3.0 dapat berjalan di dalam tiga modus, yakni modus real, modus standar, dan modus 386 Enhanced, dan kompatibel dengan prosesor-prosesor keluarga Intel dari Intel 8086/8088, 80286, hingga 80386. Windows 3.0 akan mencoba untuk mendeteksi modus mana yang akan digunakan, meski pengguna dapat memaksa agar Windows bekerja dalam modus tertentu saja dengan menggunakan switch-switch tertentu saat menjalankannya

  • win /r: memaksa Windows untuk berjalan di dalam modus real
  • win /s: memaksa Windows untuk berjalan di dalam modus standar
  • win /3: memaksa Windows untuk berjalan di dalam modus 386 Enhanced.

Versi 3.0 juga merupakan versi pertama Windows yang berjalan di dalam modus terproteksi, meskipun kernel 386 enhanced mode merupakan versi kernel yang ditingkatkan dari kernel modus terproteksi di dalam Windows/386.

Karena adanya fitur kompatibilitas ke belakang, aplikasi Windows 3.0 harus dikompilasi dengan menggunakan lingkungan 16-bit, sehingga sama sekali tidak menggunakan kemampuan mikroprosesor Intel 80386, yang notabene adalah prosesor 32-bit.

Windows 3.0 juga hadir dalam versi "multimedia", yang disebut dengan Windows 3.0 with Multimedia Extensions 1.0, yang dirilis beberapa bulan kemudian. Versi ini dibundel dengan keberadaan "multimedia upgrade kit", yang terdiri atas drive CD-ROM dan sebuah sound card, seperti halnya Creative Labs Sound Blaster Pro. Versi ini merupakan perintis semua fitur multimedia yang terdapat di dalam versi-versi Windows setelahnya, seperti halnya Windows 3.1 dan Windows for Workgroups, dan menjadi bagian dari spesifikasi Microsoft Multimedia PC.

Fitur-fitur yang disebutkan di atas dan dukungan pasar perangkat lunak aplikasi yang semakin berkembang menjadikan Windows 3.0 sangat sukses di pasaran. Tercatat, dalam dua tahun sebelum dirilisnya versi Windows 3.1, Windows 3.0 terjual sebanyak 10 juta salinan. Akhirnya, Windows 3.0 pun menjadi sumber utama pemasukan Microsoft, dan membuat Microsoft melakukan revisi terhadap beberapa rencana awalnya.

Beralih sementara ke OS/2

Selama pertengahan hingga akhir 1980an, Microsoft dan IBM bekerja sama dalam mengembangkan sebuah sistem operasi penerus DOS, yang disebut sebagai IBM OS/2. OS/2 dapat menggunakan semua kemampuan yang ditawarkan oleh mikroprosesor Intel 80286 dan mampu mengakses memori hingga 16 Megabyte. OS/2 1.0 dirilis pada tahun 1987, yang memiliki fitur swapping dan multitasking, selain tentunya mengizinkan aplikasi MS-DOS untuk berjalan di atasnya.

OS/2 versi 1.0 hanyalah sebuah sistem operasi yang berbasis modus teks/command line saja. OS/2 versi 1.1 yang dirilis pada tahun 1988 menawarkan antarmuka grafis, yang disebut dengan Presentation Manager (PM). Presentation Manager ini menggunakan sistem koordinat yang sama dengan koordinat Cartesius, berbeda dengan sistem operasi Windows dan beberapa sistem GUI lainnya. Penggunaan sistem koordinat tersebut menyebabkan titik x,y 0,0 pada OS/2 diletakkan pada pojok kiri bawah layar, sementara pada Windows, peletakannya pada pojok kiri atas. OS/2 versi 1.2, yang dirilis pada tahun 1989, memperkenalkan sebuah sistem berkas baru, yang disebut dengan High Performance File System (HPFS), yang ditujukan untuk menggantikan sistem berkas File Allocation Table (FAT).

Pada awal-awal tahun 1990an, hubungan antara Microsoft dan IBM pun meregang akibat munculnya sebuah konflik. Hal ini dikarenakan mereka saling bekerja sama dalam mengembangkan sistem operasi komputer pribadi masing-masing (IBM dengan OS/2 dan Microsoft dengan Windows-nya), keduanya memiliki akses terhadap kode masing-masing sistem operasi. Microsoft menghendaki pengembangan lebih lanjut dari sistem operasi Windows buatannya, sementara IBM memiliki hasrat bahwa semua pekerjaan masa depannya haruslah dibuat berdasarkan sistem operasi OS/2. Dalam sebuah percobaan untuk mengakhiri konflik ini, IBM dan Microsoft akhirnya setuju bahwa IBM akan mengembangkan IBM OS/2 versi 2.0, untuk menggantikan OS/2 versi 1.3 dan Windows 3.0, sementara Microsoft harus mengembangkan sebuah sistem operasi baru, OS/2 versi 3.0, yang akan kemudian menggantikan OS/2 versi 2.0.

Persetujuan ini pun tidak berlangsung lama, sehingga hubungan IBM dan Microsoft pun dihentikan. IBM akhirnya melanjutkan pengembangan OS/2, sementara Microsoft mengganti nama sistem operasi OS/2 versi 3.0 (yang belum dirilis) menjadi Windows NT. Keduanya masih memiliki hak untuk menggunakan teknologi OS/2 dan Windows yang sudah dibentuk sampai pemutusan persetujuan; akan tetapi, Windows NT benar-benar ditulis sebagai sebuah sistem operasi yang baru dan sebagian besar kode bebas dari kode IBM OS/2.

Setelah versi 1.3 dirilis untuk untuk membenarkan beberapa masalah dalam OS/2 versi 1.x, IBM akhirnya merilis OS/2 versi 2.0 pada tahun 1992. Versi 2.0 ini menawarkan peningkatan yang signifikan, yakni sebuah GUI berorientasi objek, yang disebut dengan Workplace Shell (WPS), yang mencakup di dalamnya sebuah dekstop dan dianggap oleh banyak orang merupakan fitur terbaik di dalam OS/2. Microsoft pun akhirnya "menjiplak" beberapa elemen dari Workplace Shell pada sistem operasi Windows 95 yang dirilis tiga tahun kemudian. Versi 2.0 juga menawarkan API yang mendukung penuh instruksi 32-bit milik Intel 80386, sehingga menawarkan fitur multitasking yang bagus dan mampu mengalamatkan memori hingga 4 gigabyte. Meskipun demikian, banyak hal di dalam internal sistem masih menggunakan kode 16-bit, yang mengharuskan device driver juga harus ditulis dengan menggunakan kode 16-bit juga, selain tentunya beberapa hal internal lainnya. Hal ini merupakan salah satu alasan mengapa OS/2 kekurangan driver perangkat keras. Versi 2.0 juga mampu menjalankan aplikasi DOS dan Windows 3.0, karena memang IBM juga masih memiliki hak untuk menggunakan kode DOS dan Windows setelah "perceraian" hubungan antara mereka.

Pada saat itu, memang tidak jelas siapa yang menjadi pemenang dalam perlombaan yang disebut "Desktop Wars", akan tetapi pada akhirnya OS/2 tidak mampu mendapatkan pangsa pasar yang cukup meskipun IBM pada akhirnya merilis beberapa versi OS/2 yang jauh lebih hebat lagi setelah versi 2.0 ini.

Munculnya dualisme: Windows 3.1 turun ke pasar rumahan dan Windows NT turun ke pasar korporat

Logo yang digunakan oleh Microsoft Windows dari 1992 hingga 2000

Windows 3.1

Tampilan ruangan kerja Windows 3.x

Sebagai respons dari dirilisnya IBM OS/2 versi 2.0 ke pasaran, Microsoft mengembangkan Windows 3.1, yang menawarkan beberapa peningkatan minor terhadap Windows 3.0 (seperti halnya kemampuan untuk menampilkan font TrueType Fonts, yang dikembangkan secara bersama-sama dengan Apple), dan juga terdapat di dalamnya banyak sekali perbaikan terhadap bug dan dukungan terhadap multimedia. Versi 3.1 juga menghilangkan dukungan untuk modus real, sehingga hanya berjalan pada modus terproteksi yang hanya dimiliki oleh mikroprosesor Intel 80286 atau yang lebih tinggi lagi. Microsoft pun pada akhirnya merilis Windows 3.11, yang merupakan versi Windows 3.1 yang mencakup semua tambalan dan perbaikan yang dirilis setelah Windows 3.1 diluncurkan pada tahun 1992.

Windows for Workgroups

Kira-kira pada waktu yang sama, Microsoft merilis Microsoft Windows for Workgroups, yang tersedia baik sebagai tambahan untuk Windows 3.1 dan sebagai sebuah versi yang tercakup di dalamnya lingkungan dasar Windows dan tambahan kemampuan jaringan di dalam sebuah paket. Windows for Workgroups mencakup driver jaringan komputer dan stack protokol yang lebih baik, dan juga mendukung jaringan secara peer-to-peer. Salah satu download opsional untuk Windows for Workgroups adalah stack protokol TCP/IP dengan nama kode "Wolverine", yang mengizinkan akses ke Internet melalui jaringan korporat. Windows for Workgroups dirilis dalam dua versi, Windows for Workgroups 3.1 dan Windows for Workgroups 3.11. Tidak seperti versi-versi Windows sebelumnya, Windows for Workgroups 3.11 hanya berjalan di dalam modus 386 Enhanced, dan membutuhkan setidaknya mesin dengan prosesor Intel 80386SX.

Semua versi tersebut terus menerus meningkatkan laju penjualan Windows versi 3.x. Meskipun Windows 3.1x masih memiliki banyak kekurangan, yang sebelumnya telah dikoreksi oleh OS/2, seperti nama berkas yang panjang (melebihi 11 karakter, dalam format 8.3), desktop, atau proteksi sistem terhadap kelakuan aplikasi yang tidak diinginkan, Microsoft secara cepat mengambil alih pasar GUI di pangsa pasar desktop untuk IBM PC dan kompatibelnya. Windows API pun menjadi standar de-facto untuk perangkat lunak konsumen.

Windows NT

Selama waktu itu, Microsoft terus melanjutkan pengembangan sistem operasi yang barunya, yang disebut dengan Windows NT. Arsitek utama dari Windows NT adalah Dave Cutler, yang merupakan salah satu dari pemimpin arsitek sistem operasi VMS di perusahaan Digital Equipment Corporation (DEC), yang kemudian dibeli oleh Compaq yang sekarang bagian dari Hewlett-Packard. Microsoft merekrut Cutler pada tahun 1988 untuk membuat sebuah versi OS/2 yang bersifat portabel, tapi akhirnya Cutler malahan membuat sistem operasi baru.

Sebelum pindah ke Microsoft, Cutler sebenarnya sedang membuat sebuah sistem operasi penerus VMS di DEC, yang disebut dengan Mica. Dan pada saat petinggi DEC menggagalkan proyek tersebut, ia keluar dari DEC dan membawa banyak pekerja ahli bersamanya ke Microsoft. DEC memiliki keyakinan bahwa Cutler membawa kode Mica untuk digunakan oleh Microsoft dan menuntutnya. Akhirnya, Microsoft pun kalah dan pada akhirnya disuruh membayar 150 juta dolar Amerika dan memiliki kesepakatan untuk mendukung chip CPU baru buaan DEC, DEC Alpha, yang kala itu tercatat sebagai sebuah chip tercepat, agar dapat berjalan di dalam Windows NT.

Windows NT 3.1 (bidang pemasaran Microsoft menghendaki Windows NT agar terlihat sebagai kelanjutan dari Windows 3.1) akhirnya muncul pertama kali dalam bentuk Beta bagi para pengembang perangkat lunak pada bulan Juli 1992 dalam sebuah perhelatan Professional Developers Conference (PDC) yang dilangsungkan di San Fransisco, California, Amerika Serikat. Microsoft juga mengumumkan keinginannya untuk mengembangkan sebuah sistem operasi penerus bagi Windows NT sekaligus juga pengganti Windows 3.1 pada konferensi tersebut (yang diberi nama kode Chicago), yang kemudian akan menyatukan keduanya ke dalam sebuah sistem operasi yang padu. Sistem operasi tersebut diberi nama Cairo.

Ternyata Cairo merupakan sebuah proyek yang lebih rumit dibandingkan apa yang telah diantisipasi oleh Microsoft, dan hasilnya NT dan Chicago tidak "bersatu" sampai Windows XP diluncurkan. Selain itu, bagian-bagian Cairo belum muncul di dalam sistem operasi Microsoft Windows hingga saat ini. Contohnya adalah subsistem WinFS, yang merupakan implementasi dari Object File System di dalam Cairo, memang sempat dikerjakan oleh Microsoft dalam beberapa waktu, tapi pada akhirnya Microsoft mengumumkan bahwa mereka menghentikan pengembangan WinFS dan akan menggabungkan teknologi yang dikembangkan untuk WinFS di dalam produk dan teknologi Microsoft yang lainnya, khususnya adalah Microsoft SQL Server.

Dukungan device driver untuk Windows NT juga kurang begitu banyak karena memang mengembangkan driver untuk Windows NT dianggap rumit oleh beberapa pengembang, selain tentunya Windows NT juga memiliki superioritas dalam model abstraksi perangkat kerasnya. Masalah ini telah menghantui semua versi Windows NT hingga Windows NT 5.0 (Windows 2000) keluar ke pasaran. Para programmer pun mengeluh bahwa mengembangkan device driver untuk Windows NT adalah sesuatu hal yang rumit, dan para pengembang perangkat keras juga tidak mau mengambil risiko untuk mengembangkan device driver untuk sebuah sistem operasi yang memiliki pangsa pasar terbatas. Selain itu, meskipun Windows NT menawarkan performa yang baik dan mampu mengekspolitasi sumber daya sistem secara lebih efisien, dalam beberapa sistem dengan perangkat keras terbatas, Windows NT dianggap sebagai sistem yang boros sumber daya. Hal ini mengakibatkan munculnya opini publik bahwa Windows NT hanya cocok untuk mesin-mesin yang besar dan juga jauh lebih mahal (seperti halnya workstation dengan DEC Alpha atau Intel Pentium yang kala itu memang masih baru). Windows NT juga tidak dapat bekerja untuk pengguna pribadi karena kebutuhan sumber dayanya yang tinggi. Selain itu, GUI yang digunakannya hanyalah salinan dari GUI Windows 3.1, yang masih kalah jauh jika dibandingkan dengan Workplace Shell milik OS/2, sehingga alasan Windows NT merupakan pengganti bagi Windows 3.1 tidaklah masuk akal.

Akan tetapi, fitur-fitur tersebutlah yang membuat Windows NT pilihan yang sempurna untuk pangsa pasar server jaringan lokal (LAN), yang pada tahun 1993 sedang mengalami booming besar-besaran, seiring dengan komoditas jaringan di dalam kantor telah meningkat secara drastis. Fitur-fitur jaringan dalam Windows NT menawarkan beberapa pilihan konektivitas jaringan yang luas dan juga tentunya sistem berkas NTFS yang efisien. Windows NT 3.51 merupakan primadona Microsoft saat terjun ke pasar ini, yang kemudian mengambil alih sebagian besar pangsa pasar yang sebelumnya dimiliki oleh Novell Netware beberapa tahun ke depan.

Salah satu peningkatan terbesar dari Windows NT adalah Application Programming Interface (API) 32-bit yang baru, yang dibuat untuk menggantikan Windows API 16-bit yang sudah lama. API 32-bit ini dinamakan dengan Win32 API, dan dari sanalah Microsoft menyebut API 16-bit yang lama sebagai Win16. Win32 API memiliki tiga buah implementasi utama: satu untuk Windows NT (yang merupakan Win32 API terlengkap dengan dukungan ANSI ataupun Unicode), satu untuk Win32s (yang merupakan bagian dari Win32 yang dapat digunakan di atas sistem Windows 3.1), dan juga satu lagi untuk Chicago (yang hanya mendukung ANSI). Hal ini menyebabkan kompatibilitas yang tinggi antara Chicago dan Windows NT, meskipun pada dasarnya kedua sistem tersebut adalah sangat jauh berbeda jika dilihat dari arsitektur dasarnya.

Windows NT merupakan sistem operasi Windows pertama yang dibuat dengan menggunakan kernel hibrida, setelah pada versi-versi sebelumnya hanya menggunakan kernel monolithic saja.

Windows 95

Tampilan layar Microsoft Windows 95.

Setelah Windows 3.11, Microsoft mulai memulai pengembangan sebuah versi Windows yang berorientasi kepada pengguna yang diberi nama kode Chicago. Chicago didesain agar mmeiliki dukungan terhadap multitasking secara pre-emptive 32-bit seperti halnya yang terdapat di dalam OS/2 dan Windows NT, meskipun kernel 16-bit masih terdapat di dalamnya demi alasan kompatibilitas ke belakang. Win32 API yang pertama kali diperkenalkan pada Windows NT pun diadopsi sebagai sebuah standar antarmuka pemrograman baru yang berbasis 32-bit, dengan kompatibilitas Win16 juga dipertahankan dengan menggunakan sebuah teknik yang dinamakan dengan "thunking". GUI yang baru juga dimiliki oleh sistem operasi, meskipun pada awalnya Microsoft tidak merencanakannya sebagai bagian dari sistem operasi saat dirilis. Memang beberapa elemen antarmuka pengguna yang dimiliki oleh Cairo dipinjam dan ditambahkan kepada sistem operasi tersbut sebagai aspek lainnya dari versi itu (khususnya fitur Plug and Play).

Microsoft tidak mengganti semua kode Windows menjadi 32-bit; banyak bagian di dalamnya masih berupa 16-bit (meskipun tidak menggunakan modus real secara langsung), demi alasan kompatibilitas ke belakang, kinerja, dan waktu pengembangan. Hal ini dan fakta bahwa banyaknya kelemahan dalam desain versi-versi Windows sebelumnya, membuat sistem operasi yang baru ini terganggu efisiensi dan stabilitasnya.

Akhirnya, bagian marketing Microsoft menggunakan nama Windows 95 sebagai nama produk bagi Chicago, saat dirilis pada tanggal 24 Agustus 1995. Microsoft memiliki dua keuntungan dari peluncuran ini: 1) adalah mustahil bagi para konsumen untuk menjalankan Windows 95 pada sistem operasi DOS bukan buatan Microsoft yang jauh lebih murah; 2) meskipun jejak-jejak DOS tidaklah pernah dicabut dari sistem operasi tersebut, malahan versi tersebut menancapkan sebuah versi DOS untuk dimuat sebagai bagian dari proses booting, Windows 95 berjalan dengan sendirinya di dalam modus 386 Enhanced, dengan menggunakan memori virtual dan model pengalamatan memori flat 32-bit. Fitur-fitur itu menjadikan aplikasi Win32 untuk mengalamatkan RAM virtual sebanyak maksimal 2 gigabyte (dengan 2 gigabyte sisanya dicadangkan untuk sistem operasi), dan dalam teorinya mencegah aplikasi tersebut untuk mengganggu ruangan memori yang dimiliki oleh aplikasi Win32 lainnya tanpa adanya persetujuan dari sistem operasi. Dalam hal ini, memang fungsionalitas Windows 95 mendekati apa yang dimiliki oleh Windows NT, meskipun Windows 95/98/Me tidak mendukung memori melebihi 512 megabyte tanpa menyunting konfigurasi sistem yang merepotkan.

Di balik kesuksesan Microsoft, IBM terus melanjutkan pasar OS/2, dengan memproduksi OS/2 versi 3.0 dan OS/2 Warp (versi 4.0). IBM merespons keluhan yang diajukan oleh para konsumen mengenai kebutuhan perangkat keras komputer yang tinggi yang diminta oleh OS/2 versi 2.0, OS/2 versi 3.0 pun dibuat jauh lebih ramping dengan melakukan optimalisasi pada ukuran dan kecepatan. Sebelum Windows 95 dirilis, OS/2 Warp 3.0 bahkan telah dibundel dalam beberapa penyedia perangkat keras mayor di Jerman. Akan tetapi, dengan dirilisnya Windows 95, OS/2 lagi-lagi kehilangan pangsa pasarnya kembali, diambil alih oleh Windows 95.

Mungkin tidak mungkin untuk mencari tahu apa alasan mengapa OS/2 gagal dalam mendapatkan pangsa pasar yang besar. Walaupun OS/2 terus dapat menjalankan aplikasi Windows 3.1, sebenarnya sudah tidak ada yang kekurangan lagi, kecuali pada sebagian kecil dari Windows API yang disebut Win32s. Tidak seperti Windows 3.1, IBM tidak memiliki akses terhadap kode sumber Windows 95 dan tidak mau menggunakan waktu dan sumber daya yang ada untuk melakukan emulasi terhadap Win32 API. IBM juga memperkenalkan OS/2 pada kasus Amerika Serikat versus Microsoft, dengan menyalahkan taktik marketing pada bagian Microsoft, tapi banyak orang mungkin setuju bahwa masalah di dalam bagian marketing IBM lah dan dukungannya yang sangat kurang dari para pengembang perangkat lunak yang meyebabkan kegagalan-kegagalan OS/2.

Sebelum menggantinya dengan versi Windows yang baru, Microsoft merilis Windows 95 dalam lima versi berbeda, yakni sebagai berikut:

  • Windows 95 - rilis yang sebenarnya dari Windows 95
  • Windows 95 A - mencakup pembaruan Windows 95 Original Service Release 1 (OSR1) yang dimasukkan secara langsung terhadap instalasi.
  • Windows 95 B - mencakup beberapa pembaruan mayor lainnya, seperti halnya sistem berkas FAT32, dan Internet Explorer 3.0. Versi ini juga dikenal dengan Windows 95 OSR2, atau banyak orang di Indonesia menyebutnya sebagai Windows 97.
  • Windows 95 B USB - atau Windows 95 OSR2.1 merupakan versi Windows 95 yang menawarkan dukungan terhadap perangkat keras berbasis bus Universal Serial Bus/USB.
  • Windows 95 C - atau Windows 95 OSR2.5 mencakup semua fitur di atas, ditambah Internet Explorer 4.0. Versi ini merupakan versi yang paling terakhir dirilis dari seri Windows 95.

Windows 95 OSR2, OSR2.1 dan OSR2.5 tidaklah dirilis untuk publik, akan tetapi hanya kepada OEM saja yang mau menggunakan sistem operasi tersebut ke dalam komputer buatannya. Beberapa perusahaan OEM bahkan menjual hard disk baru dengan sistem operasi Windows 95 OSR2 di dalamnya.

Selain fitur yang terkandung di dalam Windows 95, Microsoft juga memperkenalkan Microsoft Plus! for Windows 95 yang mencakup beberapa fitur tambahan yang tidak dimiliki oleh Windows 95.

Windows NT 4.0

Tampilan layar Windows NT 4.0 Server.

Microsoft merilis Windows NT 4.0, sebagai penerus Windows NT 3.x yang sukses mengancam dominasi Novell Netware dan UNIX di pasar korporat. Windows NT 4.0 ini pada awalnya dikembangkan sebagai sebuah bagian dari usaha untuk memperkenalkan Windows NT kepada pasar workstation. NT 4.0 memiliki antarmuka yang sama dengan Windows 95, tetapi menggunakan kernel yang sama dengan Windows NT, sehingga lebih stabil. Memang, ada sebuah patch tambahan yang tersedia untuk Windows NT 3.51 yang mampu membuat NT 3.51 agar mirip seperti NT 4.0, tapi sangat tidak stabil dan memiliki banyak bug. Antarmuka pengguna tersebut pada awalnya memang dikembangkan di atas Windows NT, tapi karena Windows 95 dirilis terlebih dahulu sebelum NT 4.0, maka orang cenderung berpikir "Windows NT 4.0 adalah jiplakan dari Windows 95."

Windows NT 4.0 datang dalam empat versi:

  • Windows NT 4.0 Workstation
  • Windows NT 4.0 Server
  • Windows NT 4.0 Server, Enterprise Edition (yang mencakup dukungan terhadap clustering dan SMP hingga 8-way)
  • Windows NT 4.0 Terminal Server

Windows 98

Tampilan layar Windows 98.

Pada 25 Juni 1998, Microsoft merilis sebuah sistem operasi Windows baru, yang dikenal sebagai Windows 98. Windows 98 dianggap sebagai revisi minor terhadap Windows 95, tapi secara umum dilihat jauh lebih stabil dan dapat diandalkan dibandingkan dengan pendahulunya, Windows 95. Windows 98 mencakup banyak driver perangkat keras baru dan dukungan sistem berkas FAT32 yang lebih baik yang mengizinkan partisi untuk memiliki kapasitas lebih besar dari 2 gigabyte, sebuah batasan yang terdapat di dalam Windows 95. Dukungan USB di dalam Windows 98 pun juga jauh lebih baik dibandingkan dengan pendahulunya.

Windows 98 mengundang kontroversi saat Microsoft memasukkan penjelajah web Microsoft Internet Explorer ke dalam sistem operasi dan tidak dapat dicabut, sehingga menjadikan Windows Explorer dan GUI Windows mampu menampilkan direktori seolah-olah halaman web. Hal ini membuka kasus baru, yang disebut sebagai Amerika Serikat versus Microsoft, yang menanyakan mengapa Microsoft repot-repot menjaga dominasinya di dalam sistem operasi komputer pribadi untuk berkompetisi dengan para pesaingnya seperti Netscape dan IBM dengan cara yang tidak jujur.

Pada tahun 1999, Microsoft merilis Windows 98 Second Edition, sebuah rilis yang menawarkan banyak peningkatan dibandingkan versi sebelumnya. Internet Connection Sharing, yang merupakan sebuah bentuk dari Network Address Translation, yang mengizinkan beberapa mesin di dalam sebuah jaringan lokal agar dapat menggunakan satu buah jalur koneksi Internet bersama-sama pun diperkenalkan pada versi ini. Banyak masalah minor di dalam Windows yang lama telah dikoreksi, yang menjadikan Windows 98 menurut banyak orang sebagai sebuah versi Windows 9x yang paling stabil di antara semua versi Windows 9x lainnya.

Windows 2000

Logo yang digunakan oleh Microsoft Windows selama tahun 2000-2001
Tampilan desktop Windows 2000

Microsoft merilis Windows 2000 pada 17 Februari 2000, sebuah versi yang sebelumnya dikenal dengan sebutan Windows NT 5.0 atau "NT 5.0". Versi Windows 2000 ditujukan untuk dua pangsa pasar, yakni pangsa pasar workstation dan juga pangsa pasar server.

Di antara fitur-fitur Windows 2000 yang paling signifikan adalah Active Directory, sebuah model jaringan pengganti model jaringan NT domain, yang menggunakan teknologi yang merupakan standar industri, seperti Domain Name System (DNS), Lightweight Directory Access Protocol (LDAP), dan Kerberos untuk menghubungkan antara sebuah mesin ke mesin lainnya. Windows Terminal Services juga, yang pada Windows NT 4.0 hanya terdapat di dalam satu produk saja, pada Windows 2000 terdapat dalam semua versi server. Fitur-fitur baru yang diadopsi dari Windows 98 juga ditanamkan di dalamnya, seperti Device Manager yang telah ditingkatkan (dengan menggunakan Microsoft Management Console), Windows Media Player, dan DirectX 6.1 (yang memungkinkan sistem operasi berbasis kernel Windows NT untuk menjalankan game). Windows 2000 juga merupakan versi Windows berbasis kernel NT terakhir yang tidak mengharuskan penggunanya untuk melakukan aktivasi terhadapnya.

Meskipun Windows 2000 dapat memperbarui komputer yang sebelumnya menjalankan Windows 98, Windows 2000 tidaklah dianggap sebagai produk yang cocok untuk pengguna rumahan. Alasannya banyak, di antaranya adalah kurangnya device driver untuk banyak perangkat pengguna seperti pemindai (scanner) dan juga pencetak (printer), pada saat dirilis. Situasi tersebut akhirnya berbalik pada saat Windows XP dirilis oleh Microsoft.

Windows 2000 tersedia dalam enam edisi, yakni:

  • Windows 2000 Professional
  • Windows 2000 Server
  • Windows 2000 Advanced Server
  • Windows 2000 Datacenter Server
  • Windows 2000 Advanced Server Limited Edition
  • Windows 2000 Datacenter Server Limited Edition

Windows Me

Tampilan Windows Millennium Edition screenshot
Logo Windows Me

Pada bulan September 2000, Microsoft memperkenalkan Windows Millennium Edition (dikenal juga dengan sebutan Windows Me atau Windows ME). Versi ini memperbarui Windows 98 dengan dukungan multimedia dan Internet yang lebih baik. Versi ini juga memasukkan fitur "System Restore," yang mengizinkan para penggunanya untuk mengembalikan keadaan sistem ke sebuah titik yang dikenal baik-baik saja, pada saat sistem operasi mengalami kegagalan. System Restore menjadi fitur yang masih dipertahankan pada Windows XP. Versi ini juga memperkenalkan Windows Movie Maker versi pertama.

Windows Me dibuat dalam waktu yang singkat, kira-kira hanya satu tahun, yang ditujukan hanya untuk mengisi kekosongan rilis antara Windows 98 dan Windows XP sebagai sistem operasi untuk kelas rumahan. Fitur-fitur yang terdapat di dalam Windows Me (seperti Internet Explorer 5.5, Windows Media Player 7.0, dan Microsoft DirectX 7.1) bahkan bisa diperoleh secara gratis dari situs Windows Update, kecuali System Restore. Hasilnya, Windows Me pun tidak dianggap sebagai sebuah sistem operasi yang unik di antara saudara-saudaranya dari keluarga Windows 9x, Windows 95 dan Windows 98. Windows Me juga dikritik karena munculnya masalah kestabilan, dan juga dukungan terhadap MS-DOS yang berjalan di dalam modus real. Orang-orang bahkan menyebut Windows Me sebagai Windows Mistake Edition.

Windows Me merupakan sistem operasi terakhir yang dibuat berdasarkan kernel monolithic Windows 9x dan MS-DOS. Versi ini pun menjadi versi terakhir sistem operasi Windows yang tidak memiliki Windows Product Activation (WPA).

Windows XP: menyatukan kedua jajaran produk

Logo Microsoft Windows yang didesain ulang oleh Microsoft saat merilis Windows XP, yang digunakan hingga 4 Desember 2006
Tampilan Windows XP menampilkan folder Sample Pictures, Sample Music, dan Control Panel, dengan tema Luna dan desktop Bliss.

Pada tahun 2001, Microsoft memperkenalkan Windows XP (yang memiliki nama kode "Whistler" selama pengembangan. Akhirnya, setelah merilis beberapa versi Windows berbasis Windows 9x dan NT, Microsoft berhasil menyatukan kedua jajaran produk tersebut. Windows XP menggunakan kernel Windows NT 5.1, sehingga menjadikan kernel Windows NT yang terkenal dengan kestabilannya memasuki pasar konsumen rumahan, untuk menggantikan produk Windows 9x yang berbasis 16/32-bit yang sudah menua.

Windows XP merupakan versi sistem operasi Windows yang paling lama (paling tidak hingga saat ini), karena memang berkisar dari tahun 2001 hingga tahun 2007, saat Windows Vista dirilis ke konsumen. Jajaran sistem operasi Windows XP akhirnya diteruskan oleh Windows Vista pada 30 Januari 2007.

Windows XP tersedia dalam beberapa versi:

  • Windows XP Home Edition, yang ditujukan untuk pasar desktop dan laptop rumahan.
  • Windows XP Home Edition N, sama seperti Home Edition yang biasa, tapi tidak memiliki Windows Media Player, karena memang peraturan Uni Eropa tidak memperbolehkannya.
  • Windows XP Professional, yang ditujukan bagi para power user dan pebisnis.
  • Windows XP Professional N, sama seperti Professional Edition, tapi tidak memiliki Windows Media Player, karena peraturan Uni Eropa tidak mengizinkannya.
  • Windows XP Media Center Edition (MCE), dirilis pada bulan November 2002, merupakan Windows XP Home Edition yang ditujukan untuk dektop dan laptop dengan penekanan pada hiburan rumahan.
    • Windows XP Media Center Edition 2003
    • Windows XP Media Center Edition 2004
    • Windows XP Media Center Edition 2005, yang dirilis pada 12 Oktober 2004.
  • Windows XP Tablet PC Edition, yang ditujukan untuk PC Tablet (PC dengan layar sentuh)
    • Windows XP Tablet PC Edition 2005
  • Windows XP Embedded, yang ditujukan untuk sistem benam (embedded system)
  • Windows XP Starter Edition, yang ditujukan untuk para pengguna komputer di beberapa negara berkembang.
  • Windows XP Professional x64 Edition, yang dirilis pada 25 April 2005 untuk sistem-sistem rumahan dan workstation yang menggunakan prosesor 64-bit yang berbasiskan set instruksi x86-64 (AMD64 atau Intel EM64T).
  • Windows XP 64-bit Edition, merupakan sebuah versi Windows XP yang ditujukan untuk jajaran prosesor Intel Itanium, yang mempertahankan kompatibilitas dengan aplikasi 32-bit dengan menggunakan emulator perangkat lunak. Versi ini sama saja dengan Windows XP Professional, dari segi fitur-fiturnya. Produk ini dihentikan pada bulan September 2005 saat vendor terakhir workstation berbasis prosesor Itanium menghentikan produk-produknya sebagai "workstation", karena memang mereka cenderung memfokuskan Itanium sebagai basis komputer server.
    • Windows XP 64-bit Edition 2003, dibuat berbasiskan basis kode Windows NT 5.2 (sama seperti Windows Server 2003).

Windows Server 2003

Desktop dan menu Start Windows Server 2003.

Pada tanggal 24 April 2003, Microsoft meluncurkan Windows Server 2003, sebuah pembaruan untuk sistem operasi Windows 2000 Server, yang menawarkan banyak fitur-fitur keamanan yang baru, pemandu "Manage Your Server wizard" yang menyederhanakan peranan sebuah mesin yang menjalankannya, dan juga peningkatan kinerja. Windows Server 2003 menggunakan kernel Windows NT versi 5.2.

Di dalam Windows Server 2003, beberapa layanan yang tidak terlalu dibutuhkan di dalam lingkungan server dinonaktifkan secara default, terutama "Windows Audio" dan "Themes" demi alasan kestabilan; Agar dapat menggunakan suara dan tampilan yang sama dengan Windows XP, pengguna harus mengaktifkannya secara manual, melalui snap-in Microsoft Management Console Services.msc Selain itu, akselerasi perangkat keras untuk kartu grafis juga dimatikan; lagi-lagi pengguna harus mengaktifkannya secara manual, tentu saja jika device driver yang digunakan "bisa dipercayai".

Pada bulan Desember 2005, Microsoft merilis Windows Server 2003 R2, yang merupakan Windows Server 2003 Service Pack 1 ditambah dengan beberapa paket tambahan. Di antara semua fitur-fitur barunya adalah fitur-fitur manajemen untuk kantor-kantor cabang, dan integrasi identitas yang luas.

Windows Server 2003 tersedia dalam lima buah edisi:

  • Windows Server 2003, Web Edition
  • Windows Server 2003, Standard Edition
  • Windows Server 2003, Enterprise Edition (32-bit dan 64-bit)
  • Windows Server 2003, Datacenter Edition
  • Windows Server 2003, Small Business Server

Windows Fundamentals for Legacy PCs sebagai platform thin client

Tampilan desktop Windows Fundamentals for Legacy PCs

Pada bulan Juli 2006, Microsoft merilis sebuah versi Windows XP Service Pack 2, yang ditujukan untuk pasar thin-client, yang disebut sebagai Windows Fundamentals for Legacy PCs (WinFLP). WinFLP hanya tersedia bagi para pelanggan Microsoft Software Assurance. Tujuan dibuatnya WinFLP adalah untuk memberikan pilihan upgrade kepada para pelanggannya yang masih menggunakan Windows 95, Windows 98, Windows Me, dan Windows NT Workstation. Sebagian besar aplikasi pengguna dijalankan di atas mesin jarak jauh dengan menggunakan Terminal Services atau Citrix.

Windows Vista

Setelah meraih kesukesan besar dengan Windows XP, Microsoft tidak lantas berhenti begitu saja mengembangkan Windows. Versi terbaru dari Windows, disebut dengan Windows Vista, dirilis pada tanggal 30 November 2006 [1] bagi kalangan bisnis sementara untuk kalangan pengguna rumahan dirilis pada tanggal 30 Januari 2007. Windows Vista memang dicanangkan agar memiliki keamanan yang lebih tangguh dibandingkan dengan versi-versi sebelumnya, dengan memperkenalkan sebuah modus pengguna yang terbatas, yang disebut sebagai User Account Control (UAC), untuk menggantikan filosofi "administrator-by-default" yang diberlakukan pada Windows XP. Windows Vista juga memperkenalkan fitur grafik yang jauh lebih "memikat", yang disebut dengan Windows Aero GUI, aplikasi yang baru (seperti halnya Windows Calendar, Windows DVD Maker dan beberapa game baru termasuk Chess Titans, Mahjong, dan Purble Place). Selain itu, Windows Vista juga menawarkan versi Microsoft Internet Explorer yang lebih aman, serta Windows Media Player versi baru (versi 11).

Windows Vista, menampilkan antarmuka grafis Aero-nya yang memikat, Welcome screen dan menu Start.

Windows Vista menggunakan nomor versi 6.0, sehingga memang terdapat perbedaan versi yang signifikan jika dibandingkan dengan Windows XP yang menggunakan nomor versi 5.1 atau Windows Server 2003 (5.2). Karena, memang Windows Vista memiliki banyak perbedaan yang mendasar, khususnya pada bagian arsitektur dasar sistem operasi.

Windows Vista dijual dalam beberapa edisi:

  • Windows Vista Starter
  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Ultimate

Windows Home Server

Windows Home Server (sebelumnya memiliki nama kode Q singkatan dari Quattro) merupakan sebuah produk server yang diturunkan dari Windows Server 2003, yang didesain khusus untuk digunakan oleh para konsumen dari pengguna rumahan. Sistem operasi ini diperkenalkan pada tanggal 7 Januari 2007 oleh Bill Gates. Windows Home Server dapat dikonfigurasikan dan dipantau dengan menggunakan program console yang dapat diinstalasikan pada sebuah PC klien. Windows ini memiliki fitur Media Sharing, backup terhadap drive lokal dan drive jarak jauh, dan duplikasi berkas.

Windows Server 2008

Windows Server 2008, adalah sebuah versi baru Windows Server, yang dijadwalkan untuk dirilis pada tanggal 27 Februari 2008. Pada saat pengembangannya, Windows Server memiliki nama kode "Windows Server Codenamed Longhorn." Windows Server 2008 dibangun di atas beberapa keunggulan teknologi dan keamanan yang pada awalnya diperkenalkan dengan Windows Vista, dan ditujukan agar bisa lebih modular secara signifikan, ketimbang pendahulunya, Windows Server 2003.

Windows 7

Rilis selanjutnya setelah Windows Vista adalah Windows 7, yang sebelumnya dikenal dengan sebutan Blackcomb dan Vienna. Saat pertama kali dirilis, Windows ini memiliki kernel NT versi 6.1 build 7600, yaitu perbaikan dari Windows Vista dimana saat rilis pertama memiliki kernel NT 6.0 build 6000. Windows 7 yang dirilis pada tanggal 22 Oktober 2009 ini memiliki keamanan dan fitur yang baru, diantaranya adalah: Jump List, Taskbar yang membuka program dengan tampilan kecil, Windows Media Player 12, Internet Explorer 8, dan lain-lain. Beberapa fitur yang unik adalah Sidebar yang berganti nama menjadi Gadget dan bebas ditaruh kemana-mana pada desktop (tidak seperti Sidebar yang hanya bisa diletakkan di tempat tertentu). Fitur itu membuat Windows 7 menjadi menarik. Spesifikasi Windows 7 lebih ringan dan harganya juga lebih murah dari pada Windows Vista.

Sama seperti Windows Vista, Windows 7 juga terdiri 6 edisi yaitu:

  • Windows 7 Starter
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Professional
  • Windows 7 Ultimate
  • Windows 7 Enterprise
 

_Nhink_. Design By: SkinCorner