Step by step to learn programming………… …………zero to hero….!!!

•Januari 27, 2009 • Tinggalkan sebuah Komentar

Wah…wah..wah……judulnya kok ada embel-embel zero to heronya sich….cem betul aja…!!! hmm…hmm..hm…begini lho..maksudnya…melalui tulisan ini penulis berharap semoga adik-adik almamater penulis maupun siapa saja yang membaca oret-oret ini bisa memahami step by step yang harus ditempuh mulai dari null (nol boookkk…!!!) untuk belajar pemrograman. ( NB : bagi yang udah pakar mendingan nggak usah ikutan baca aja dech…!!!! Ntar malah…xxxxx ????)

Selama ini pemrograman oleh banyak rekan penulis (…teman-teman satu stambuk penulis dulu…) dan adik-adik almamater penulis dianggap sebagai suatu disiplin ilmu yang njelimet…dan pelik….!!! Lho…apa..iya…mas…??? jawabannya bisa iya bisa tidak..!!! lho koq plin-plan gitu jawabannya…??? Begini lho…kalo kita buat program sederhana tentunya kan nggak njelimet….tapi…kalo buat suatu aplikasi yang kompleks..wahhh…pasti njelimet tuhh…he…he…he….!!!!.

Sebagaimana yang telah kita dapatkan dari meja kuliah (“intrupsi bro….bukan meja kuliah…!!!! Tapi bangku kuliah…!!! Ya…iya..dech…”) kalo pemrograman adalah proses mengkonversi solusi bentuk algoritma menjadi solusi dalam bentuk program komputer yang dikembangkan berdaasarkan algoritma yang telah disusun sebelumnya. Sedangkan program komputer adalah rangkaian instruksi/perintah yang harus dilaksanakan oleh komputer untuk mencapai tujuan dengan menggunakan bahasa yang dapat dipahami oleh komputer. Dimana bahasa yang dimaksud dalam defenisi di atas adalah bahasa pemrograman.

Berdasarkan defenisi di atas dapat kita ambil sebuah kesimpulan bahwa kalo kita ingin belajar pemrograman maka kita harus belajar algoritma dulu…emangnya algoritma itu apaan..??? algoritma adalah suatu himpunan berhingga langkah-langkah/prosedur logika yang harus dilaksanakan untuk menyelesaikan suatu permasalahan yang berorientasi pada pemrograman komputer. Tujuan algoritma adalah memberikan petunjuk tentang langkah/prosedur logika penyelesaian suatu permasalahan dalam bentuk yang mudah dipahami secara nalar sebagai acuan yang membantu saat mengembangkan program komputer. Pemahaman tentang algoritma merupakan aspek kritis dalam pemrograman komputer, yakni guna memperoleh kebenaran logika (logical validity) program aplikasi yang dikembangkan. Pemahaman tentang algoritma akan mencegah sejak dini kemungkinan terjadinya kesalahan logika pada program komputer yang dikembangkan. Peranan algoritma menjadi penting, karena kesalahan logika program akan mengakibatkan kesalahan yang fatal pada hasil eksekusinya.

Memahami solusi permasalahan dalam bentuk algoritma, berati mengerti tentang permasalahannya dan mengerti tentang bagaimana menyelesaikannya dengan benar. Hal ini jauh lebih penting dan bermanfaat lho..!!!. Kebiasaan cara berfikir logis, terstruktur, dan sistematis dan kemampuan menerapkan trik-trik yang tepat dalam menyelesaikan suatu permasalahan, merupakan tuntutan dan sekaligus menjadi keuntungan yang nyata bagi seseorang yang mempelajari algoritma. Pada sisi lain pemahaman konsep algoritma menuntut kita untuk dapat menentukan pilihan alternatif solusi yang paling tepat bagi program aplikasi. Gimana… dah ngudeng khan…???

Oh ya sebelum bicara lebih jauh tentang pemrograman, berikut penulis lampirkan lima aspek penting dalam membuat sebuah program aplikasi. Lima aspek (tahapan) yang dimaksud adalah :

  1. Analisis masalah
  2. merancang algoritma
  3. membuat program komputer
  4. menguji hasil program komputer
  5. dokumentasi

Tahap 1 dan ke-2 pada tahapan diatas disebut fase penyelesaian masalah sedangkan tahap 3 sampe ke-5 disebut fase implementasi. Untuk memahami tahap 1 dan ke-2, penulis menyarankan pembaca mempelajari betul-betul materi sebagai berikut :

1. logika dan algoritma pemrograman

2. perancangan dan analisis algoritma

3. struktur data

4. object oriented engineering

object oriented engineering di era sekarang ini menjadi sangat penting mengingat hampir sebagian besar bahasa pemrograman sekarang ini mengusung teknologi Object Oriented Programming (OOP) itu. Wah…banyak amat…ya yang harus dipelajari??? Ya begitulah….!!!!oh..ya…dimana kita bisa ngambil tutorial tentang itu semua….??? Jawabannya bisa di internet (googling aja…!!!!) atau beli bukunya di Toko Buku (ingat..Toko Buku…bukan toko besi…!!!he..he..he…).

Penulis sarankan ketika anda mempelajari fase penyelesaian masalah ini, pelan-pelan anda mulai men-translate-nya kedalam bahasa pemrograman berbasis console (CLI : Command Line Interface), seperti Pascal, C/C++, atau Python. Ingat..kedalam bahasa yang berbasi console ya…jangan yang GUI seperti Visual basic atau Visual Borland delphi…dulu…!!!! Kenapa ….???? Gini…lho….untuk lebih memperdalam pemahaman kita tentang aspek kritis algoritma kita harus mulai dengan console, karena kalo dengan GUI hal itu nggak akan tercapai…percayalah…!!!! Kemudian ketika anda sudah masuk ke materi object oriented, anda bisa gunakan C++ atau python sebagai pengantar lalu kemudian kembangkan pemahaman anda dengan bahasa Java (anda akan menemukan keasyikannya…), tapi ingat….start with console…!!!!!.

Setelah anda sudah cukup merasa paham…lalu coba anda kembangkan kemampuan anda dengan mempelajari GUI based programming language seperti : Visual Studio 6.0 (misal: Visual Basic 6.0), Visual Borland Delphi 7.0, dll. Untuk OOP nya gunakan Visual Studio. Net (misal : Visual Basic .Net) atau IDE Java (Netbeans, Jbuilder). Tanpa terasa sebenarnya anda sudah memasuki pinggiran rimba fase implementasi lho….!!!!asyik kan petualangannya…!!!. Ketika sudah sampai disini cari tutorial lagi utk belajar pemrograman web client side (HTML/XHTML, CSS, Javascript, XML)….nah..untuk client side web programming ini gunakan text editor biasa dulu seperti Notepad di Windows atau vi di Unix System, jangan gunakan IDE dulu seperti Dreamweaver atau NVU. Setelah mahir….baru gunakan IDE untuk mempermudah kerja kita….!!!.

Ketika anda sudah mulai memasuki fase Implementasi ini, pelan-pelan pelajarilah aspek-aspek pokok pada masing-masing bahasa pemrograman yang dipelajari. Buatlah aplikasi-aplikasi untuk menunjukkan tingkat pemahaman anda…buatlah aplikasi yang menambah semangat dan motivasi anda untuk belajar (misalnya…mbuat virus atau game ….gitu….!!!! Lho koq…???? alnya dengan begitu kita malah jadi ngerasa asyik…dan puas…lho!!!) lalu teruskan dengan aplikasi-aplikasi seperti aplikasi multimedia, dll. Setelah itu pelajarilah konsep sistem basis data dilanjutkan dengan mempelajari software-software RDBMS (Relational Database Management System) seperti Ms. Access, SQL Server, MySQL atau Oracle. Lalu pelajarilah Analisa dan Perancangan Sistem (SSADM maupun OOA&D). Setelah pemahaman anda tentang hal itu sudah OK, lanjutkan dengan membuat aplikasi Sistem Informasi -1 tier. Setelah itu sambil mempelajari materi-materi informatika lain, coba anda terapkan kemampuan anda untuk membuat aplikasi-aplikasi lain, misalnya : aplikasi Sistem Pakar, aplikasi Client Server -2 tier (tentunya untuk ini anda harus belajar Jaringan Komputer dulu…!!!!). Oh ya…jangan lupa pelajarilah pemrograman web (Server Side…,gunakanlah PHP atau JSP atau ASP.Net..,jangan lupa pelajari juga AJAX-nya…!!!), Mobile Web (WML, XHTML MP), Mobile Programming (.Net Mobile atau J2ME). Nah sampai disini anda bisa main-main untuk mencari informasi dari para suhu di internet untuk membuat aplikasi-aplikasi lain yang menarik dan sesuai dengan minat dan kompetensi skill anda…..selamat mencoba…!!!!!

Konsep DataBase dan Pengenalan RDBMS

•Januari 27, 2009 • 1 Komentar

Dengan semakin berkembangnya teknologi informasi dan semakin luasnya penggunaan aplikasi teknologi informasi oleh berbagai instansi/perusahaan, mulai dari perusahaan kecil, menengah, maupun besar. Istilah database merupakan istilah yang sering muncul digunakan dalam pemanfaatan IT di perusahaan-perusahaan tersebut. Database banyak digunakan oleh perusahaan untuk mengatur data perusahaan seperti data untuk akuntansi, inventori, produksi, penjualan dan sebagainya. Nah…kompleks juga ya..!!! Sebenarnya database itu apaan sich……………??? (Bagi yang udah ngerti nggak usah dibaca aja dech….ini khusus bagi yang belum paham aja koq…!!!!)

Database dapat diartikan sebagai suatu bentuk penyimpanan informasi yang terpusat agar data-data atau informasi yang ada di dalamnya mudah dicari, dikelola dan digunakan kembali. Database dapat kita anggap sebagai sebuah lemari arsip, dimana arsip yang ada didalamnya dapat kita pergunakan lagi dan mudah kita cari lagi karena biasanya sudah diurutkan berdasarkan urutan nama arsipnya. Database juga bekerja hampir sama seperti lemari arsip, kita dapat mencari lagi data yang ada dalam database dan mempergunakannya lagi sesuai dengan kebutuhan kita.

Agar konsep database dapat anda pahami dengan baik, maka penulis akan memberikan contoh sederhana sebagai berikut :

Misalnya sebuah perusahaan bernama “Abdiateknokom” memiliki catatan mengenai pembeli barang diperusahaan tersebut. Maka catatan pembeli tersebut biasanya berupa tabel dengan kolom-kolom yang akan menyimpan informasi mengenai pembeli, misalnya Nama Pembeli, Alamat, Kota, Kode Pos, Propinsi dan Telepon. Kemudian pada setiap baris, informasi mengenai setiap pembeli disimpan sesuai dengan kolom-kolom yang telah disediakan seperti contoh pada tabel berikut :

Nama Pembeli

Alamat

Kota

Kode Pos

Propinsi

Telepon

Vidi

Jl.Anggrek No.35

Medan

20239

Sumut

6619224

Deny

Jl.Mawar No.29

Siantar

20231

Sumut

6624536

Dwiansyah

Jl. Solo No. 117

Takengon

30457

NAD

6672899

Budi

Jl. Tuasan No. 32

Meulaboh

31267

NAD

6798272

Andreas

Jl. Mulia No.125

Tebing Tinggi

20897

Sumut

6627394

Melalui tabel tersebut di atas, kita dapat dengan mudah menemukan informasi mengenai seorang pembeli yang kita butuhkan. Kita dapat dengan mudah mengetahui informasi seorang pembeli itu beralamat dimana, di kota apa, berapa kode pos alamatnya, propinsi mana dan berapa nomor teleponnya. Pengetahuan ini sangat bermanfaat karena jika anda mengetahui pembeli barang perusahaan anda umumnya berasal dari kota atau kode pos tertentu, maka iklan barang-barang perusahaan anda dapat dipasang pada koran-koran lokal di kota atau kode pos tersebut….!!! hm…m..mmm…!!!

Dalam dunia database, baris disebut dengan istilah record, sedangkan kolom disebut dengan istilah field. Setiap record dalam tabel merepresentasikan masing-masing data, contohnya tabel di atas merepresentasikan 5 buah data yang berisi data-data pembeli. Setiap kolom dalam tabel merepresentasikan jenis data yang ada dalam masing-masing kolom tersebut, contohnya data-data kolom nama pembeli di atas merepresentasikan nama-nama pembeli, setiap data yang tersimpan pada kolom nama pembeli di atas memiliki jenis yang sama, yaitu menyimpan informasi nama-nama pembeli.

Jika tabel hanya memiliki jumlah baris yang sedikit seperti contoh di atas, tentu dengan mudahnya kita dapat mencari informasi yang diperlukan. Namun jika jumlah barisnya sangat banyak bahkan mungkin sampai ribuan atau malah jutaan, maka informasi tersebut tidak mungkin dapat kita cari dengan mudah …!!! (wahh…hh…bisa…keluar tuh…..biji mata…he…he…he…!!!). Nah atas dasar inilah diperlukan program database yang memanfaatkan kemampuan komputer untuk membantu kita dalam mencari informasi yang kita miliki…hm..hmmm wis…ngudeng…khann…???….maaf ya sok-sok pake bahasa jawa, soalnya penulis lagi belajar bahasa jawa, maklum wong jowo tapi ora iso boso jowo nih…lucu…khan…. !!! he…he…he….wakakkak…kak…dah…udah…ngakaknya…!!!

Biasanya suatu perusahaan tidak hanya memiliki satu tabel saja seperti contoh di atas, tetapi memerlukan bermacam-macam tabel bergantung pada jenis informasi yang dibutuhkan, misalnya tabel jenis produk yang dijual, informasi mengenai penjual barang, pesanan dan sebagainya. Demikian pula tabel satu dengan yang lain sering saling berkaitan. Sebagai contoh ; tabel pembeli, penjual dan pesanan yang dijual saling berkaitan satu dengan yang lain…..betuk…ngggak…??? betul khan…!!!

Agar komputer dapat dengan cepat memproses suatu database, maka digunakan suatu konsep yang disebut relational database, dimana tabel yang satu dengan yang lain dapat saling dikaitkan atau mempunyai relasi agar pelacakan data dapat dilakukan dengan cepat dan efektif.

Konsep relational database ini pertama kali dikemukakan pada tahun 1970 oleh DR. Edgar F. Codd dari perusahaan riset IBM. Pada tulisannya, beliau memberikan prinsip kerja suatu relational database beserta elemen-elemen utamanya. Konsep tersebut dikenal sebagai model Entity Relationship (ER) . Software database yang telah mendukung penggunaan dari Entity Relationship ini disebut RDBMS (Relational DataBase Management Systems), diantaranya Ms. Access, SQL Server, MySQL, Oracle, dan-lain-lain.

Untuk menjelaskan konsep dasar Entity Relationship (ER), maka contoh tabel di atas akan penulis gunakan sebagai ilustrasi…setuju…kan??? Setuju…!!!!. Nah..coba perhatikan kembali tabel tersebut, nih..dia penulis cantumkan lagi :

Nama Pembeli

Alamat

Kota

Kode Pos

Propinsi

Telepon

Vidi

Jl.Anggrek No.35

Medan

20239

Sumut

6619224

Deny

Jl.Mawar No.29

Siantar

20231

Sumut

6624536

Dwiansyah

Jl. Solo No. 117

Takengon

30457

NAD

6672899

Budi

Jl. Tuasan No. 32

Meulaboh

31267

NAD

6798272

Andreas

Jl. Mulia No.125

Tebing Tinggi

20897

Sumut

6627394

Pada tabel tersebut, nama pembeli merupakan informasi utama pada masing-masing baris karena memberikan identitas mengenai siapa pembeli tersebut. Namun jika kebetulan ada dua atau lebih nama yang sama, maka identitas baris yang menggunakan nama tersebut akan menjadi kacau. Oleh sebab itu pada ER, ditambahkan satu kolom baru yang misalnya disebut Nomor Pembeli yang merupakan identitas utama setiap baris pada tabel tersebut, karena setiap pembeli harus memiliki satu nomor pembeli yang unik seperti yang terlihat pada tabel berikut :

Tabel Pembeli

Nomor Pembeli

Nama Pembeli

Alamat

Kota

Kode Pos

Propinsi

Telepon

8001

Vidi

Jl.Anggrek No.35

Medan

20239

Sumut

6619224

8002

Deny

Jl.Mawar No.29

Siantar

20231

Sumut

6624536

8003

Dwiansyah

Jl. Solo No. 117

Takengon

30457

NAD

6672899

8004

Budi

Jl. Tuasan No. 32

Meulaboh

31267

NAD

6798272

8005

Andreas

Jl. Mulia No.125

Tebing Tinggi

20897

Sumut

6627394

Kolom yang menjadi identitas utama suatu tabel dalam dunia RDBMS dinamakan Primary Key. Pada setiap tabel hanya boleh ada satu kolom yang menjadi Primary Key….ingat..ingat…jangan sampe lupa….!!!!

Sekarang sebagai contoh lebih lanjut akan diperkenalkan dua buah tabel baru, yaitu tabel penjual dan tabel pesanan seperti yang tampak berikut :

Tabel Penjual

Nomor Penjual

Nama Penjual

Jabatan

Manajer

Telepon

101

Deno

Sales

Ponitri

7719224

102

Supran

Sales

Ponitri

7724536

103

Didit

Kasir

Ponitri

7772899

104

Muhtadi

Sales

Ponitri

7798272

105

Ponitri

Manajer

Lidia

7727394

Tabel Pesanan

Kode Pesanan

Nomor Pembeli

Nomor Penjual

Tanggal

P101

8001

101

10-Jan-09

P102

8002

102

10-Jan-09

P103

8003

103

11-Jan-09

P104

8004

104

11-Jan-09

P105

8005

105

11-Jan-09

Pada tabel-tabel tersebut di atas, nomor penjual merupakan Primary Key pada tabel penjual, sedangkan kode pesanan merupakan Primary Key pada tabel pesanan.

Namun sekarang perhatikan juga tabel pesanan di atas. Pada tabel pesanan terlihat terdapat juga kolom nomor pembeli dan kolom nomor penjual yang merupakan primary key pada tabel-tabel sebelumnya. Inilah yang dikatakan sebagai relasi tabel antara tabel yang satu dengan tabel yang lain. Dalam dunia RDBMS, kolom pada suatu tabel yang merupakan primary key pada tabel yang lain disebut disebut Foreign Key. Suatu tabel boleh memiliki lebih dari satu Foreign Key bergantung pada relasi yang dibutuhkan.

Dengan referensi atau relasi yang telah dibuat pada contoh di atas, jika kode pesanan suatu transaksi pembelian diketahui, maka semua informasi lain mengenai pembeli dan penjual khususnya untuk transaksi tersebut juga dengan mudah dapat diketahui. Inilah yang merupakan inti dari konsep RDBMS…..sederhana…kan…???

Jadi dapat diambil sebuah kesimpulan kalau sebuah database itu terdiri atas beberapa bagian tabel dan setiap tabel dalam sebuah database dapat dihubungkan dan direlasikan dengan tabel lainnya….ho..ooooo…..gitu….toh….!!!

Ups…pembahasan kita tentunya tidak sedangkal ini…!!! masih ada banyak hal lagi yang belum penulis berikan kepada anda untuk lebih memahami konsep database yang sebenarnya. Contoh di atas hanyalah merupakan pengantar untuk membuka cakrawala berfikir kita dengan konsep visual agar pengertian dasar tentang database dapat lebih mudah dipahami bentuknya. Paragraf berikutnya, tulisan ini akan menjelaskan kepada anda tentang langkah-langkah membangun sebuah database…..belum pegel kan mata…nya….???? Mudah-mudahan…belom…ya…!!!

Membangun database adalah langkah awal dari pembuatan sebuah aplikasi. Konsep manajemen database adalah konsep-konsep yang dipakai untuk membangun database. Konsep ini akan mempengaruhi keberhasilan anda dalam membangun database. Konsep ini meliputi :

  1. Pemilihan item (field) untuk sebuah tabel
  2. Hubungan antara satu tabel dengan tabel yang lain dalam sebuah database

Keberhasilan dalam membangun database akan menyebabkan aplikasi lebih mudah dibaca, mudah dikembangkan dan mudah mengikuti perkembangan perangkat lunak.

Langkah pertama dalam membangun database adalah membangun tabel dengan benar. Tabel-tabel dengan desain yang baik akan mengurangi kompleksitas aplikasi, juga menambah fleksibilitas.

Struktur data yang baik merupakan faktor utama dalam kesuksesan aplikasi yang akan dibuat. Dengan mengikuti aturan dari model database relational, data dapat dengan mudah dimanipulasi. Agar data mentah dalam dunia nyata dapat mencapai database model relational diperlukan proses yang dinamakan normalisasi……

………..( bersambung….!!!!!)

Komputer Virtual apa dan bagaimana…???

•Januari 27, 2009 • 1 Komentar

Mungkin banyak dari kita yang belum mengenal software-software komputer virtual…!!! Wajar…., mungkin terlalu sibuk sampe nggak sempat ngeluangin waktu utk surfing di internet….maklumlah jadwal yang padat…ya namanya anak muda…yang pacaran lah…yang sibuk kegiatan kampus lah….yang ini..itulah…wah…wah…wah..!!!

Komputer virtual adalah sebuah software yang memiliki kemampuan untuk memvirtualisasikan satu atau lebih komputer dalam komputer kita. Ya…gampangnya dalam komputer kita ada komputer lagi gituu…!!!. Lho koq bisaaa…??? Ntar dulu…jangan nggaruk-nggaruk kepala dulu….!!!

Dengan komputer virtual ini, kita dapat memanfaatkannya untuk mencoba melakukan installasi berbagai macam sistem operasi dalam komputer kita dengan aman, tanpa harus melakukan dual boot. Selain itu komputer virtual dapat kita jadikan komputer percobaan untuk menguji aplikasi yang kita buat sebelum di-install pada sistem operasi utama komputer kita.

Virtual komputer ini secara teknis sering disebut juga sebagai virtual machine/CPU emulator/computer virtualizer/computer emulator. Intinya, aplikasi ini mampu menghadirkan satu atau lebih komputer virtual untuk kita lengkap dengan harddisk virtual dan perangkat pendukung lainnya. Selain dapat di-install berbagai sistem operasi di dalamnya, kita juga dapat membangun jaringan virtual antara semua komputer virtual (guest) dan komputer fisikal (host) yang kita miliki…!!!! Ajaib khan…!!!.

Bagi anda yang maniak/hobis atau bahkan software developer yang ingin mengembangkan sebuah aplikasi yang diharapkan dapat berjalan pada beberapa platform sekaligus secara natif, maka virtual komputer ini akan sangat membantu aktifitas anda tersebut…ih…ih..ih…enaklah…!!! Ya..iyalah…masak…ya…iya..dong…wulan aja jamilah bukan jamidong..he…he…he…!!!!.

Berikut penulis berikan daftar beberapa virtual komputer mulai dari yang kaya fitur hingga yang sederhana.

  1. Bochs

Dibangun oleh Kevin Lawton dengan bahasa C++ dan dilisensikan dibawah GNU/GPL. Bochs dapat berjalan pada hampir semua platform sistem operasi seperti Windows dan Linux . Sebagai emulator, Bochs mampu mengemulasikan CPU intel x86, BIOS Custom dan berbagai I/O devices. Untuk suara, bochs mengemulasikan sounds blaster dan untuk perangkat jaringan, bochs mengemulasikan kartu NE2000, atau yang kompatibel. Bagi anda yang ingin menggunakan bochs dan memanfaatkan berbagai image yang telah tersedia, kunjungilah http://bochs.sourceforge.net/diskimages.html. Dan untuk informasi selengkapnya, kunjungilah situs http://bochs.sourceforge.net/

  1. GXEMUL

Dibangun oleh Anders Gavare, merupakan emulator komputer lengkap dengan CPU dan berbagai komponen hardware, seperti framebuffer, interrupt controller, bus, disk controller, dan serial controller. Emulator ini dibangun dengan bahasa C dan dilisensikan dibawah revised BSD-style. Versi stabil terbaru ketika tulisan ini dimuat adalah 0.4.6.3. Untuk informasi selengkapnya kunjugilah http://gavare.se/gxemul

  1. Hercules

Program canggih ini dibangun oleh Roger Bowler dan saat ini, dimaintain oleh Jay Marnard, dilisensikan dibawah Q Public License. Sebagai host, Hercules mampu berjalan pada Linux, Windows (98, 2000, XP), Mac OS X. Untuk informasi selengkapnya, kunjungilah : http://www.hercules-390.org

  1. Mac-On Linux

Aplikasi ini memungkinkan virtualisasi Mac OS atau Mac OS X di Linux. Dengan demikian kita yang menggunakan arsitektur x86 tidak dapat memanfaatkan aplikasi ini. Untuk Host, Mac On Linux mendukung Linux dengan kernel 2.4 dan 2.6.

Untuk informasi selengkapnya, lihat : http:// mac-on-linux.sourceforge.net/

  1. Paralells Workstation

Bersifat proprietary dengan harga US$ 49.99. Hanya diperuntukkan bagi host Linux. Untuk informasi selengkapnya, lihat http://www.parallels.com/en/products/workstation/

  1. Pear PC

Software ini dapat berjalan independen terhadap arsitektur. Program yang dibangun oleh sebastian Bialas dan dilisensikan GPL ini termasuk sangat menarik. Dari sisi host, software ini dapat berjalan pada POSIX X-11, termasuk Linux. Selain itu ia juga dpt berjalan pada host Win32. Untuk informasi selengkapnya, lihat : http://pearpc.sourceforge.net/index.html

  1. Qemu

Qemu adalah emulator yang sangat populer di dunia free/opensource software. Untuk sistem X-86 (host dan guest), qemu bahkan bisa berjalan lebih baik lagi dengan memanfaatkan Kqemu (Qemu Accelerator), yang memungkinkan virtualisasi dilakukan dengan performa yang mendekati natif (near native performance). Qemu dapat dijalankan dalam dua mode : 1. User (hanya untuk host Linux dan dapat digunakan untuk menjalankan proses Linux yang dikompilasi untuk satu CPU di CPU lain) 2. Sistem (emulasi satu komputer penuh). Untuk informasi selengkapnya, lihat http://bellard.org/qemu/index.html

  1. Virtual Box

Software ini dibangun oleh Inotek yang kemudian dibeli oleh Sun Microsystems pada 12 Februari 2008 lalu. Belakangan software ini cukup popular sebagai virtual machine x86 yang kaya fitur dan mudah digunakan. Selain itu virtual Box juga dilisensikan di bawah GPL. Untuk host, software ini mendukung : Linux, Windows, Macintosh, open solaris. Informasi selengkapnya, lihat http://www.virtualbox.org/

  1. Vmware Workstation

Software ini merupakan salah satu virtual machine yang paling popular dan kaya fitur. VMWare juga termasuk software proprietary yang relatif mahal lho….yaitu sekitar US$ 189. Wah…hh…mahal banget…ya..untuk ukuran kantong kita…!!!, tapi untungnya saat ini tersedia VMWare Player yang memungkinkan kita utk menjalankan virtual machine yang dibangun diantaranya oleh VMWare Workstation, VMWare Server dan VMWare ESX. Produk ini bebas didownload dari website VMWare. Untuk informasi selengkapnya, kunjungilah http://vmware.com/products/ws/.

Sebenarnya masih banyak lagi lho…software-software virtual machine bertebaran di internet. Bagi pecinta sistem operasi, virtual machine adalah salah satu produk yang sangat menarik. Mengapa..??? lho koq..??? ya…iya…lah …coba baca lagi pengantar dari tulisan ini di atas….!!! Nah…bagi anda yang suka ngoprek OS….tunggu apa lagi…!!!! Download….!!!! Satu lagi…dengan menggunakan VMWare, bagi anda yang lagi belajar materi Sistem Operasi di bangku kuliah…bisa langsung praktek…untuk melengkapi teori yang telah didapatkan di bangku kuliah.”….Happy Ngoprek…!!!

Dapat apa sich di kamus..ehh..kampus…??? (sebuah refleksi…!!!)

•Januari 27, 2009 • 1 Komentar

Kuliah…atau kuli…ah, ya..itu sich emang beda…!!! Jadi, apa bedanya..??? lho..koq..??? Bagi anda yang sudah 2 tahun kuliah, ngerasa nggak….?? kalau tambah sibuk karena tugas dari dosen yang kayak tsunami )..wa..kak..kak…kak, tapi nggak ngerasa nambah ilmu…!!! Kebanyakan sich gitu..!!! bagi yang belom ngerasain..tunggu aja..dech..giliran..lu..lu..pade…!!! ce..ile…sok..sok..betawi…,ini medan bung…!!!

Sebenarnya di kampus itu apa sich yang kita dapat…??? koq masih nggak ngeh hakekat belajar )…Lha katanya disuruh menimba ilmu, nah ilmunya ini sebenarnya apa sih? Ilmu kanuragan kali ya….??? Ih..ih..ih..emangnya Brama Kumbara…!!!

Berikut, jawaban yang penulis peroleh dari pak Romi Satria Wahono…!!!! (romisatriawahono.net) : kita belajar itu, baik di sekolah, di kampus, di universitas dan di lembaga pelatihan untuk meningkatkan KSTAE atau kata orang betawi “PeKTeSiPeng”, waduh apaan tuh? )KSTAE itu Knowledge, Skill, Technique, Attitude, Experience alias Pengetahuan, Keterampilan, Teknik, Sikap dan Pengalaman. Ini kalau kita ambil contoh orang belajar naik motor dan belajar di kampus, mungkin penjelasannya seperti di bawah:

Knowledge (Pengetahuan): Kita jadi tahu bahwa di motor ada lampu, stang kemudi, rem, gas, spion, bel. Kita juga tahu cara bagian motor itu bekerja termasuk gimana njalaninya. Kalau kita belajar pemrograman, ya kita ngerti lah apa itu fungsi, apa itu variable, juga apa itu object, apa itu method, apa itu attribute. Kita juga diajarin banyak lagi pengetahuan, sistem basis data, rekayasa perangkat lunak, pemrograman berorientasi objek, software project management, dsb. Pokoknya yang selama ini bikin pusing itulah knowledge. Lho kenapa bikin pusing? Soalnya kampus kadang nggak imbang ngasih knowledge dan keterampilan, alias besar teori daripada praktek )

Skill (Keterampilan): Kita ngerti cara ngidupin motor. Supaya motor maju harus masukan gigi ke satu dan tekan gas. Kecepatan mulai tinggi masukin ke gigi dua, kalau ada halangan di depan injek rem. Kalau mau belok tekan lampu sen. Di kampus, tugas mandiri, misalnya disuruh buat kalkulator atau program deteksi bilangan prima di mata kuliah OOP itu semua untuk ngelatih keterampilan. Semakin banyak tugas, harusnya makin terampil, cuman kalau nyontek, ya makin bego aja mahasiswa )Usahakan untuk mengerjakan sendiri tugas, karena tujuannya untuk melatih keterampilan kita, sayang masa depan kita kalau kita sering nyontek dalam tugas mandiri. Nah, IPK itu hanya untuk mengukur mahasiswa di level knowledge dan skill. Jadi peran IPK sebenarnya hanya sampai di sini ;)

Technique (Teknik): Ternyata keterampilan nggak cukup, karena kita perlu menguasai teknik misalnya supaya motor kecepatan tinggi nggak ngepot. Kita ngeremnya harus dari jauh dan pakai rem tangan plus rem kaki bareng. Mau belok juga harus ambil ancang-ancang, kecepatan diturunkan, baru belok. Nah kalau di kampus, karena mata kuliah banyak dan di setiap mata kuliah ada tugas coding, keterampilan bahasa Java kita jadi meningkat. Kita bisa bahasa Java kromo inggil, ngoko, eh bukan maksud saya kita jadi punya banyak teknik supaya program kita lebih rapi, program kita lebih cepat jadi, punyak teknik untuk bisa reuse code, coding jalan terus walaupun pakai notepad atau emacs, dsb.

Attitude (Sikap): Wah ternyata pengetahuan, keterampilan, teknik saja nggak cukup membuat kita bisa survive di dunia. Kita perlu sikap yang baik dalam mengendarai motor. Lampu lalu lintas itu kalau merah berhenti, jangan nyelonong saja. Kalau nyalip orang juga jangan dari kiri. Hormati pengendara lain, dahulukan perempuan atau yang membawa anak-anak. Jangan asal ngebut di kampung orang, kalau nggak mau benjol tuh kepala. Sikap ini kalau di kampus, ya kalau jadi programmer jangan terus buat virus, atau ngerusak sistem orang, atau malah maling code orang )Nah ini semua adalah sikap. Kampus yang hanya mengajari orang untuk punya pengetahuan, teknik dan keterampilan tanpa memperhatikan attitude (sikap) artinya mendidik orang pinter tapi sesat di jalan.

Experience (Pengalaman): Pengalaman ini seperti jam terbang. Hanya bisa kita dapatkan kalau kita pernah mengalami kejadian dan pengalaman. Contohnya, karena sering bolak-balik ke Puncak untuk jualan pisang ;), kita jadi ngerti banget mainin gigi supaya mesin nggak rontok meskipun naik gunung terjal nan macet. Terus juga karena rumah sering kebanjiran, kita ngerti banget lah kira-kira banjir berapa senti yang bikin motor kita nggak bisa jalan. Gimana kalau jatuh, sebaiknya posisi tubuh seperti apa yang membuat luka tidak parah. Semua kita dapatkan dari pengalaman. Pengalaman itu mahal, ya pasti karena kadang ada harga yang harus dibayar. Terus kalau di Kampus, pengalaman kan nggak ada? Hmm pengalaman itu tetap ada, kita KKN, magang, kerja paruh waktu, ngerjain TA itu adalah supaya punya pengalaman. Banyak buat project (software) yang bisa dijual, mulai belajar jualan, latih jiwa enterpreneurship adalah keharusan untuk bekal hidup di dunia IT nan ganas dan kejam.

Woyyyy….bangun…bangun…!!!! gimana dah ngerti nggak…??? Dalam banget kan penjelasan Pak Romi, berikut pesan beliau di akhir tulisan tersebut : “Untuk adik-adikku mahasiswa dan mahasiswi di manapun berada, jangan cepat menyerah, nikmati pahit dan manis kehidupan kampus, jalani penuh dengan rasa tanggung jawab. Orang tua kita dan juga negeri ini menanti karya kita semua…Tetap dalam perdjoeangan !”

BAGAIMANA MAHASISWA ILMU KOMPUTER BELAJAR : MENGKRITISI KURIKULUM DAN GAYA PENDIDIKAN KITA (kritik membangun dari Pak Romi Satria Wahono..!!!!)

•Januari 27, 2009 • Tinggalkan sebuah Komentar

Berikut ini adalah tulisan dari pak romi satria wahono, salah seorang pakar teknologi informasi dan pemerhati pendidikan teknologi informasi di Indonesia. Tulisan ini penulis ambil dari blog beliau “romisatriawahono.net”. Tulisan ini penulis masukkan kedalam blog penulis untuk sedikit memberikan wacana kepada pembaca akan lemahnya kurikulum dan gaya pendidikan di negeri kita ini !!!! selamat membaca dan merenungi isinya…!!!!!

Sepulang dari study di Jepang tahun 2004, saya banyak mengajar di beberapa Universitas di Jakarta, terutama di fakultas atau jurusan yang berhubungan dengan ilmu komputer dan teknik informatika. Saya mengajar mata kuliah yang memang saya kuasai, dan terkait langsung dengan tema penelitian saya. Diantaranya adalah mata kuliah Software Engineering (Rekayasa Perangkat Lunak), Algoritma dan Bahasa Pemrograman (Algorithm and Programming Language), dan Basis Data (Database). Kebanyakan mata kuliah tersebut diajarkan setelah semester 5 (tingkat 3 atau 4). Dalam interaksi belajar mengajar di kelas, saya menemukan beberapa fenomena menarik berhubungan pengetahuan mahasiswa dan kurikulum yang diajarkan di universitas.

Saya menemukan tipe mahasiswa yang ketika saya terangkan dia kesulitan menangkap beberapa konsep yang seharusnya sudah dia dapat di semester sebelumnya. Katanya, itu tidak diajarkan di universitas tersebut. Fenomena ini terjadi dalam universitas yang memotong (mengubah) beberapa kurikulum yang seharusnya diajarkan, karena tidak ada SDM pengajar (dosen). Di lain pihak, saya menemukan fenomena lain dimana mahasiswa mengatakan bahwa dia mengenal beberapa konsep yang saya singgung, hanya dia lupa mata kuliah yang mengajarkannya. Fenomena ini terjadi di universitas yang mencekoki mahasiswanya dengan mata kuliah berlebih, dengan argumentasi bahwa supaya mahasiswa mendapat pengetahuan secara lengkap. Sering dosen mengajar bukan pada bidang yang dikuasai, hal itu terpaksa dilakukan oleh universitas untuk mengejar mata kuliah yang harus jalan. Dua-duanya ternyata membuat mahasiswa jadi linglung, yang satu linglung karena memang tidak pernah diajarkan, dan yang lain linglung karena terlalu banyak yang diajarkan. Intinya sih kedua-duanya sama-sama nggak ngerti ;).

Fenomena aneh lain tentunya masih banyak, misalnya mahasiswa tingkat 3 jurusan teknik informatika (atau ilmu komputer) yang tidak kenal siapa Dennis Ritchie ;), tidak bisa membuat program meskipun hanya untuk sebuah fungsi untuk memunculkan Hello World (apalagi mengkompilenya), tidak paham tentang paradigma pemrograman, juga tidak paham apa itu kompiler, shell, pointer, fungsi, array, dan tentu semakin mual-mual kalau saya sebut algoritma atau struktur data (.

Bagaimana seorang mahasiswa Ilmu Komputer belajar? Saya mencoba memberi gambaran umum dengan mengambil studi kasus bagaimana jurusan ilmu komputer di Saitama University mengatur kurikulumnya. Saitama University bukan termasuk universitas yang terbaik untuk ilmu komputer, umurnya masih sangat muda dengan SDM pengajar (professor) yang juga terbatas, bahkan beberapa professor diambil dari jurusan elektro untuk beberapa mata kuliah tertentu. Ini tidak mengurangi keseriusan universitas untuk menyajikan pendidikan dan kurikulum terbaik untuk mahasiswa-mahasiswanya.

Saya mulai program undergraduate (S1) di Department of Information and Computer Sciences, Saitama Univesity tahun 1995. Tingkat I (semester 1 dan 2), mata kuliah dasar (kiso kamoku) sangat dominan. Kalkulus, statistik, probabilitas, fisika dasar, kimia dasar, discrete mathematics, dan mata kuliah dasar lain banyak diajarkan. Semester 2 sudah ada beberapa mata kuliah jurusan (senmon kamoku) yang diajarkan, diantaranya adalah bahasa pemrograman, bahasa C (prosedural), HTML, dengan praktek lab untuk mengenal Unix, shell, text editor (emacs), laTeX (TeX), gnuplot, kompiler, teknik typing 10 jari, dsb. Pada saat masuk tingkat II (semester 3), saya menyadari bahwa mata kuliah tingkat I membekali saya dengan beberapa tool dan konsep dasar, sehingga saya bisa survive mengikuti proses belajar mengajar di tingkat selanjutnya. Lab komputer hanya berisi Unix terminal. Seluruh laporan dan tugas harus ditulis dengan laTeX dengan text editor emacs, apabila memerlukan bahasa pemrograman harus dibuat dalam bahasa C dan dikompilasi dengan GCC. Apabila ada data yang harus ditampilkan dalam bentuk grafik, bisa menggunakan Gnuplot. Setiap mahasiswa harus mempunyai situs web (homepage), dimana selain berisi aktifitas pribadi, juga berisi seluruh laporan dan tugas yang dikerjakan. Selain lewat situs web, laporan harus dikirim dengan menggunakan email ke professor pengajar, dalam format PS atau PDF dengan source dari laTeX.

Yang menarik, bahwa gaya pendidikan yang ditempuh menganut konsep korelasi, berhubungan, saling mendukung dan terarah dari semester 1 sampai akhir. Skill terhadap komputer dan bahasa pemrograman juga cukup dalam, karena ada kewajiban menguasai bahasa C, HTML, Unix, Linux, Shell, dsb yang bukan untuk ritualitas mata kuliah semata, tapi untuk bekal sang mahasiswa supaya bisa survive di jenjang semester berikutnya. Apakah tidak diajarkan paradigma dan bahasa pemrograman lain? jawabannya adalah diajarkan, tetapi untuk konsumsi mahasiswa tingkat 3 (semester 5 dan 6). Pemrograman berorientasi objek (Java), functional programming (LISP dan Scheme), dan Prolog diajarkan pada semester 5 dan 6 untuk membidik supaya sang murid “nyantol” ketika mengikuti mata kuliah Kecerdasan Buatan (Artificial Intelligence) dan Rekayasa Perangkat Lunak (Software Engineering). Dan dengan sebelumnya menguasai bahasa prosedural seperti C, kita semakin “ngeh” tentang pentingnya paradigma berorientasi objek ketika mendalami mata kuliah tentang pemrograman berorientasi objek.

Korelasi mata kuliah ini nampak juga dari deretan gaya pengajaran, setelah mahir berbahasa C, kita diminta ngoprek Minix yang terbuat dari bahasa C (sistem operasi buatan Andrew S. Tanenbaum, yang menginspirasi Linus Torvald membuat Linux) pada mata kuliah Operating System (Sistem Operasi), membuat sendiri shell (dengan fungsi yang mendekati bash dan cshell) diatas sistem operasi yang sudah kita oprek, dan diminta mendesain dan mengembangkan bahasa pemrograman sendiri di mata kuliah Compiler Engineering (teknik kompilasi). Berurutan, berhubungan, tetap fokus dan mendalam, itu mungkin resep desain kurikulum yang diajarkan.

Pada saat tingkat 2 dan 3 itulah sang mahasiswa diarahkan untuk menuju arah kompetensi sesuai dengan yang diinginkan. Dan yang pasti, hampir seluruh mahasiswa mendapatkan “bekal” dan “skill” yang relatif sepadan untuk bergerak. Mahasiswa yang ingin melanjutkan karier menjadi seorang Programmer, disiapkan mata kuliah Struktur Data, Algorithm, Programming Language, Compiler Engineering, Automaton dan Formal Language. Yang ingin jadi Software Engineer, harus fokus mengikuti mata kuliah Software Engineering, Industrial Software Engineering, System Development Engineering, Software Project Management, dsb. Yang ingin berkarier di perusahaan animasi dan grafis, harus serius mengikuti mata kuliah Computer Graphics, Image Processing, CAD Enginering, Pattern Recognition, dsb. Yang siap bergelut di perusahaan Telekomunikasi, harus melahap mata kuliah Information Theory, Communication System, Signal Processing, Speech Processing, dsb. Yang ingin ke arah Hardware, harus menguasai mata kuliah Electronic Circuits, Electronic Devices, Computer Architecture, Quantum Mechanics, Logic Circuits, dsb. Bagaimana dengan yang tertarik dengan Kecerdasan Buatan? harus mau berpusing-pusing ria di mata kuliah Artificial Intelligence, Expert System, Knowledge Engineering, Neural Network, dsb.

Rencana pengembangan karier ini semakin matang dan tertata ketika masuk ke tingkat 4, seluruh mahasiswa harus menjalani 1 tahun terakhir di grup penelitian yang dipimpin oleh seorang professor. Penelitian dan thesis (tugas akhir) sifatnya wajib dilakukan, untuk memperdalam dan memahami implementasi riil dari bidang ilmu peminatan yang direncanakan dan dicita-citakan sang mahasiswa. Apa itu bidang ilmu peminatan? Ya bidang yang sudah saya sebut diatas tadi. Programming, Software Engineering, Communication System, Computer Graphics, Artificial Intelligence, Computer Hardware, Networking, dsb. Masing-masing professor dengan grup penelitian biasanya fokus di satu atau dua bidang ilmu peminatan, termasuk didalamnya penelitian yang dilakukan dan mata kuliah yang diajar. Tidak ada seorang professor Software Engineering yang mendapat jatah mengajar mata kuliah Computer Graphics, karena memang bukan bidangnya. Kalaupun bisa memberikan, tentu tidak menguasai the root problem (akar permasalahan) yang ada di bidang tersebut, ini yang membuat mata kuliah jadi hambar, tidak mendalam dan mahasiswa jadi bingung memahami apa hakekat dari mata kuliah tersebut.

Jadi masing-masing mata kuliah ada arah, ada desain yang ingin dicapai, dan ini yang dijelaskan di awal perkuliahan. Tidak ada kegiatan OSPEK yang berisi penyiksaan dan penghinaan, tidak ada hura-hura pesta masuk perguruan tinggi, yang ada adalah penjelasan tentang kurikulum secara komprehensif. Sang mahasiswa ingin menjadi apa, tertarik di bidang apa, itu yang dibidik dan diarahkan oleh universitas dengan penjelasan desain kurikulum beserta dengan mata kuliah apa yang sebaiknya diambil oleh sang mahasiswa. Jumlah kredit untuk syarat kelulusan S1 juga tidak sepadat Indonesia, hanya sekitar 118, sudah termasuk didalamnya penelitian dan tugas akhir yang dihitung sekitar 10-12 kredit. Jadi total kredit dari mata kuliah hanya sekitar 106. Kelonggaran waktu yang ada dapat kita gunakan untuk kerja parttime di perusahaan-perusahaan IT, mengasah kemampuan jadi programmer, network engineer, admin, software designer, dsb. Mahasiswa mendapatkan konsep di kelas, dan mematangkan diri di lapangan, tempat kita menggarap project maupun tempat kerja. Itu adalah strategi penting dalam mengkader para computer scientist.Â

Universitas di Indonesia yang membuka fakultas/jurusan Ilmu Komputer dan Teknik Informatika harus berbenah. Tidak hanya berambisi mengejar jumlah murid karena konsep aji mumpung (mumpung TI sedang booming, terima mahasiswa sebanyak banyaknya (), tapi juga harus bertanggungjawab terhadap figur dan karakter hasil didikan dan lulusan universitasnya. Untuk para calon mahasiswa, pilihlah Universitas yang memiliki kurikulum dan dosen pengajar yang baik. Jangan memilih jurusan karena trend, ikut-ikutan teman, atau alasan tidak logis lainnya. Pilihlah karena memang kita berminat untuk berkarier di bidang tersebut.

Tambahan penulis (abdipn9984) :

Untuk STMIK-STMIK/AMIK atau apapun namanya…!!!! yang semakin menjamur di kota Medan yang indah ini, segeralah berbenah di sana…sini…(benahilah…kualitas kurikulum….kualitas tenaga pengajar…fasilitas laboratorium….pemberdayaan mahasiswa…!!!) Jangan hanya mengumbar janji ini….itu…..lewat iklan…!!!! Atau berkelahi saling mengumpat antara satu dengan yang lain…agar mendapat simpati calon mahasiswa….!!! kami butuh bukti bukan janji…!!!!

Router OS….wah…apaan tuh…!!!!

•Januari 27, 2009 • Tinggalkan sebuah Komentar

Router OS merupakan sistem operasi khusus yang hanya diperuntukkan sebagai network router pada PC yang akan dijadikan sebuah router. Router OS ini umumnya diturunkan dari Linux dan BSD. Router OS ini banyak sekali variannya, dari yang bayar hingga yang gratis. Berikut penulis lampirkan daftar Router OS yang bersifat gratis :

  • Monowall (berbasis FreeBSD)
  • Pfsense
  • DD-WRT X86
  • Smoothwall Express
  • IPCop
  • Zeroshell
  • Lintrack
  • Clark-Connect
  • AspisOS (Security & size optimized, buildroot-based)
  • AstLinux (termasuk asterix PBX)
  • EmbCop (ready to use IPCOP image)
  • Fli4l (release dlm bhs jerman)
  • GNAP (berbasis Gentoo Linux)
  • K240 Linux (berbasis Gentoo Linux, release dlm bhs Czech)
  • LEAF
  • ME2000 (Linux Wireless node based on LEAF)
  • Locustworld MeshAP
  • MeshNode
  • Pebble Linux
  • Metrix Pyramid (berbasis ubuntu Linux)
  • Voyage Linux (berbasis Debian, derived from Pebble Linux)
  • How-to for VPN / Linux from the kernel up
  • Net BSD Net BSD (termasuk patch untuk WRAP)
  • Sbsd simplified Net BSD installer
  • Open BSD Open BSD flashboot
  • Mikrtik Router OS versi 2.9.27

Sedangkan yang bersifat berbayar (komersial) diantaranya :

· Mikrotik Router OS

· Ikarus OS

· StarOS

· CafeRadius Hotspot Controller

· Meshcom

· Meshnode

· MITC MeshAP for Willox

· STYX (Secure Internet Appliances berbasis FreeBSD,dlm bhs Jerman)

· Wisper MeshAP Adaptation

· Qorvus QcodeTM

· Apliware (free beta test)

· Neology

· Hotspot Express

Penulis sendiri hanya pernah mencoba Mirotik Router OS 2.9.27, dan Pfsense. Daripada pening mikirin gimana caranya belajar Cisco Router yang suangat muahal itu…!!!!(emang sich ada simulatornya yang tersedia banyak di internet seperti : Cisco Router eSim, routerSim, boson netSim…tapi..yang namanya simulator ya…pasti ada keterbatasan khan…!!!! makanya nyoba Router OS…dech….!!!!). Nah untuk berbagi ilmu, insya Allah berikutnya penulis akan menulis teknis installasi kedua Router OS tersebut.

Nyok…kenalan ama …Solaris…nyok…!!!!!

•Januari 27, 2009 • Tinggalkan sebuah Komentar

Solaris….??? OS apaan lagi tuh…??? Wahhh…ane fikir dulu OS tuh Cuma Windows aja, eh…eh..rupanya nggak ya…!!!!, ada Linux….ada BSD…ehhh….ada Solaris juga…wahhh…jadi banyak kenalan nich…!!!!

Solaris adalah versi UNIX dari Sun Microsystems yang dirilis sejak 1991. Solaris merupakan sebuah versi System V release 4 Unix. Pada awalnya yang dimaksud dengan UNIX Sun adalah SunOS, sedangkan Solaris adalah gabungan antara Sistem Operasi SunOS 5.x, Interface GUI CDE (Common Desktop Environment), dan software ONC+TM (Open Network Computing).

Mungkin banyak dari temen-temen yang sebelumnya nggak kenal ama Sun Microsystems, tetapi mungkin telah familiar dengan bahasa pemrograman java, bahasa pemrograman yang sangat populer di era internet sekarang yang sangat memudahkan developernya dengan karakteristiknya yang “write once, run anywhere”.

Kembali kepada Solaris, berikut akan penulis jelaskan tentang komponen-komponen pembentuk Solaris OE (Operating Environment) :

  1. SunOS Operating Systems, adalah software yang me-manage system dan operasi system yang ter-schedule (schedule systems operations). Operating systems menerjemahkan instruksi dari user atau dari program aplikasi dan menginstruksikan kepada komputer mengenai apa yang harus dilakukan. Operating systems menangani data, mengontrol data yang tersimpan dalam harddisk, berkomunikasi dengan I/O devices, seperti monitor, harddisk, diskette drives, printer maupun modem.
  2. ONC+, adalah software yang menyediakan service jaringan, seperti Network File System (NFS) yang memungkinkan sharing file antar komputer. Service lain yang dilayani antara lain Network Information Service (NIS) yang menyediakan layanan naming information pada client dalam jaringan, dan Network Information Service Plus (NIC+).
  3. CDE, adalah GUI untuk desktop yang berfungsi misalnya untuk menampilkan login screen pada monitor user. User dapat menggunakan GUI untuk mengakses kebanyakan fungsi dari komputer.

Sama seperti Linux, Solaris juga dapat berjalan pada PC berbasis Intel (x86) dan juga berlisensi gratis. Sebenarnya yang lisensinya free adalah untuk mesin dibawah 8 processor (binary bisa di download di website Sun), sedangkan untuk server di atas 8 processor, lisensinya ada dan sudah include di server Sun, jika customer membeli server Sun.

Jika pengguna adalah pemakai UNIX atau Linux maka secara otomatis sudah mengenal Solaris, karena Solaris hanyalah versi lain dari UNIX dengan pengembangan feature (pada system administrator, package, dll) dan budle software oleh Sun Microsystems. Seperti juga Linux, Solaris juga dapat berfungsi secara simultan baik sebagai server maupun sebagai workstation. Tidak ada perbedaan antara Solaris sebagai server maupun Solaris sebagai workstation, semuanya menggunakan media kit Solaris yang sama.

Kini Solaris banyak digunakan sebagai server-server production utama pada industri yang bergerak di bidang telekomunikasi, perminyakan, maupun industri-industri lainnya. Rilis dari Solaris kini telah mencapai versi 10.

Selain Solaris, Sun Microsystems juga mengeluarkan sistem operasi Open Solaris (kini sudah mencapai versi 2008.11). Open Solaris dibuat berdasarkan Solaris. Project Open Solaris dimulai pada awal thn 2004, oleh tim yang dibuat oleh orang-orang yang melindungi aspek berbeda pada Open Solaris, seperti lisensi, analisis dan manajemen source code, marketing dan sebagainya. Source code Open Solaris secara bertahap berkembang, dimulai dengan Dtrace (sebuah Tracing tool yang digunakan untuk menyetel sistem untuk unjuk kerja dan pemanfaatan yang optimal).

Open Solaris di-rilis setiap 6 bulan sekali, sedangkan Solaris di-rilis setiap 3-5 tahun sekali. Bisa dikatakan kalo Open Solaris adalah versi Beta dari Solaris. Segala teknologi yang dianggap berhasil diterapkan dalam Open Solaris, nantinya akan di-include-kan kedalam Solaris versi berikutnya. (..agak mirip ama Fedora dan RedHat…tuh….!!!).

Open Solaris 2008.05 (versi sebelum 2008.11) merupakan versi rilis stabil pertama dari Open Solaris. Sistem operasi ini hadir dengan beberapa fitur baru diantaranya, sebuah brand Image Packaging System (IPS) baru, dan digunakannya ZFS sebagai default file systems.

Sebuah image Live CD tunggal Open Solaris 2008.05 memudahkan pengguna untuk melihat sebuah sistem operasi yang lengkap hanya dalam beberapa menit. Proses instalasi kedalam sebuah PC pun dapat dengan mudah dilakukan. IPS, sebuah paket manajemen sistem baru, akan membuat setiap orang dapat menginstal paket dari repository berbasis jaringan. Mengenai ZFS, sebenarnya apa yang istimewa dari filesystem ZFS?

Salah satu yang istimewa adalah kita dapat memiliki sebuah sistem yang memperbolehkan kita untuk mengembalikan seluruh sistem ke tempat sebelumnya. Open Solaris 2008.05 hanya tersedia untuk platform x86 (intel). Jika memiliki platform yang berbeda, maka kita harus menunggu lebih lama untuk rilis versi selanjutnya sampai rilis untuk platform yang dibutuhkan telah dibuat. Kebanyakan code di rilis dibawah lisensi CDDL, yakni salah satu lisensi Open Source yang sudah diterima oleh Open Source Initiative.

Bagi yang ingin mencoba versi live CD Open Solaris, dapat menikmati Bellenix maupun Schillix. Keduanya merupakan versi Live CD dari Open Solaris, yang dibangun oleh komunitas open source. Wah…h..h.hhh…..gimana…??? penasaran khan…??? Ntar dech artikelnya penulis sambung dengan teknis installasi dan beberapa tips-trik lain tentang Solaris/Open Solaris…tunggu..aja..yaaa…sabar…sabar….sabar…!!!!

Mari mengenal Linux…..!!!! ( tak kenal maka tak cinta,…tak cinta maka ta’aruf dong…!!!

•Januari 27, 2009 • Tinggalkan sebuah Komentar

Secara teknis, Linux adalah kernel atau inti dari Sistem Operasi yang bersifat open source, yang pertama dibuat oleh Linus Torvalds di Helsinki Finlandia pada tahun 1991. Dalam arti yang luas, Linux adalah Sistem Operasi yang telah dilengkapi program-program untuk bekerja di terminal seperti DOS dan aplikasi desktop seperti : Windows dan Macintosh. Atau dalam artian yang luas, Linux dapat dikatakan merupakan kernel Linux dan program-program yang menyatu menjadi Sistem Operasi yang lengkap, dengan logo pinguin bernama Tux, yang dilengkapi dengan program untuk installasi, aplikasi desktop, aplikasi perkantoran, aplikasi jaringan, multimedia, dan lain-lain.

Secara sederhana, sistem Linux terdiri dari gabungan kernel ditambah sejumlah pustaka yang menyediakan berbagai fungsionalitas plus aplikasi yang digunakan oleh user. Semua komponen tersebut dibalut dengan prosedur tertentu dan membentuk distribusi Linux (atau yang lebih dikenal dengan sebutan distro Linux). Kernel yang digunakan adalah kernel yang dibangun oleh tim developer kernel dipimpin oleh Linus Torvalds. Sementara, pustaka dan program aplikasi yang digunakan bersumber dari komunitas free/open source software, baik itu dibawah bendera GNU maupun yang lainnya.

Kernel adalah jantung (core) Sistem Operasi Linux, yakni modul pusat Sistem Operasi. Kernel merupakan bagian Sistem Operasi yang di-load pertama kali saat sistem dihidupkan, dan ia disimpan dalam memori utama. Kernel sendiri memiliki tugas sebagai berikut :

a. Manajemen memori (diantaranya menjaga aplikasi apa yang memiliki suatu bagian dari memori sehingga dua aplikasi tidak akan saling mengganggu data yang dimiliki oleh masing-masing).

    1. Multitasking.
    2. Komunikasi diantara proses-proses yang berada di dalam sebuah komputer.
    3. Menangani multiprosesor pada sistem-sistem yang memiliki lebih dari 1 CPU.
    4. Manajemen proses tugas.
    5. Manajemen disk.
    6. Manajemen CPU.
    7. Menyeleksi program.
    8. Menjadwal tugas I/O.
    9. Membentuk fungsi accounting dan quota.
    10. Mengatur file system secara logis.
    11. Mengatur driver yang mengontrol beragam device fisik yang terpasang, dan bagaimana informasi di transfer diantara mereka dan komputer itu sendiri.
    12. Mengatur pengalokasian memori diantara berbagai program.
    13. Memberikan kapabilitas proteksi dan keamanan sistem.
    14. dan lain-lain.

Setiap sistem UNIX datang dengan kode kernel masing-masing, dan masing-masing menyimpannya pada lokasi yang berbeda-beda. Oleh karena itu, kode kernel Open BSD, FreeBSD, Solaris/Open Solaris, dan Linux, berbeda satu sama lain.

Kernel Linux sendiri memiliki lisensi yang bersifat GPL (General Public License), yang memungkinkan setiap orang memiliki hak yang sama untuk mengakses kernel hingga ke kode programnya. Kernel Linux yang terdapat pada masing-masing distro, selain bisa di-upgrade (diganti dengan versi yang lebih baru agar dapat dipasang aplikasi/hardware yang lebih canggih), kernel Linux juga bisa dioptimalisasi (dikonfigurasi dan dikompilasi ulang). Namun demikian, hal ini sangat beresiko. Tapi kalau ingin membangun distro yang memiliki spesifikasi khusus, misalkan ingin membangun distro khusus untuk warnet, router atau lainnya, maka otomatis hal ini wajib dilakukan. Optimalisasi kernel dilakukan untuk tujuan sebagai berikut :

a. Mengeset berbagai driver device (men-setup yang baru atau menghapus yang tidak dibutuhkan).

b. Menghapus error system yang ditemukan.

c. Membuat modifikasi personal untuk sistem.

d. Membentuk opsi percobaan.

e. Mengatasi kapasitas RAM yang terbatas.

Kernel yang telah dimodifikasi sehingga sesuai dengan kebutuhan sebagaimana yang tersebut diatas, dikenal dengan “custom kernel“.

Kernel Linux yang telah kita optimalisasi (customize), dapat kita kirimkan patch-nya ke Linus Torvalds dan tim developer kernel-nya (www.kernel.org). Pihak Linus akan melakukan review terhadap perubahan tersebut dan memutuskan apakah menerima atau menolaknya.

Selain kernel, dalam satu sistem Linux, kita bisa mendapatkan puluhan sampai ratusan bahkan ribuan pustaka dan aplikasi, tergantung pada distro yang digunakan. Yang hebatnya, berbagai pustaka itu dapat digunakan untuk kebutuhan pembuatan aplikasi di Linux.

Berbagai pustaka sistem tersebut diletakkan tersebar dalam sistem Linux, tidak disimpan didalam direktori program seperti program files di Windows . Hal ini dibuat sedemikian rupa, untuk mengurangi redundansi file dan memudahkan proses upgrade. Kita bisa menemukan pustaka sistem tersebut dibeberapa direktori berikut:

a.

/lib

:

Pustaka-pustaka yang disimpan di direktori ini sangatlah penting. Kehilangan pustaka di direktori ini akan menyebabkan sistem tidak dapat berjalan.

b.

/usr/lib

:

Pustaka yang disimpan di direktori ini tergolong penting. Kehilangan pustaka di direktori ini akan menyebabkan banyak program tidak dapat berjalan.

c.

/usr/local/lib

:

Pustaka yang di-install terpisah oleh user. Kehilangan pustaka di direktori ini akan menyebabkan beberapa program yang di-install terpisah oleh user tidak dapat bekerja.

d.

Direktori-direktori lain, terutama di /opt<nama_program>

:

Tempat dimana program dan file pendukung disimpan di direktori sendiri. Mirip seperti program files di Windows.

Pustaka-pustaka sistem Linux tersebut, beberapa diantaranya adalah sebagai berikut : AALIB, APR, ATK, CAIRO, DB, FREETYPE, FUSE, GD, GLIB, GLIBC, GMP, GTK+, LESSTIFF, LIBJPEG, LIBPING, LIBTIFF, LIBUNGIF, LIBxML2, NCURSES, PANGO, QT, READING, STL, S-LANG, STDLIB/CXXXLIBS, TERMPCAP, X-WINDOW, ZLIB, dan lain-lain. Dengan memanfaatkan berbagai pustaka yang ada, kita bisa memfokuskan diri pada fungsionalitas utama program. Apabila kita menemukan kelemahan pada berbagai pustaka yang ada, kita bisa melaporkan, mengirimkan patch, bergabung dengan tim developer atau memulai proyek lain.

PENGENALAN DISTRIBUSI LINUX (DISTRO LINUX)

Distro adalah kernel Linux ditambah dengan kumpulan paket-paket software dari GNU dan yang lainnya, yang dibundel menjadi satu, dengan tujuan untuk mempermudah proses distribusi software tersebut. Distro Linux, antara satu dengan lainnya memiliki perbedaan, yang biasanya berkisar tentang :

a. Installasi

Masing-masing distro menggunakan metode dan antar muka sendiri-sendiri untuk installasinya. Rata-rata distro besar sudah menggunakan tampilan grafik untuk installasinya, kecuali ada beberapa yang bertahan menggunakan installasi mode teks seperti Debian dan Slackware.

b. Aplikasi yang disertakan (paket)

Aplikasi-aplikasi di Linux jumlahnya saat ini banyak sekali. Masing-masing distro, memberikan paket-paket aplikasi alternatif yang berbeda, disamping paket standar yang dapat ditemui hampir di setiap distro.

c. Program bantu yang tersedia

Hampir di setiap distro, mempunyai program bantu yang memudahkan user. Misalnya RedHat, menyertakan RPM (RedHat Package Management) yang memudahkan pengguna untuk menginstall dan menghapus program biner. SuSE menyertakan YaST (Yet Another Setup Tool) untuk manajemen program dan sistem, dan SaX (SuSE Advanced X-Configuration) untuk membantu instalasi X-Window. Slackware menyertakan paket pkgTool untuk installasi dan penghapusan program, sementara Debian menyertakan dpkg untuk fungsi yang sama.

Satu hal lagi yang sangat unik dalam Linux, kini sangat banyak ditemui berbagai distro Linux yang berjalan secara live CD (yaitu distro Linux yang dapat berjalan dan mengkonfigurasi sendiri secara langsung dari CD). Hal ini tentunya menjadikan siapa saja dapat menggunakan Linux tanpa harus melakukan installasi. Linux yang selama ini dikenal sebagai sistem operasi yang susah di-installasi dan dikonfigurasi, dibalikkan keadaannya oleh distro-distro Live CD. Bayangkan, CD hanya berukuran 700 MB, ketika dijalankan menjadi sekitar 2 GB, tanpa harus diinstallasi.wah…wah…wah…!!!!

Perlu diketahui bahwa distro Live CD tidak berbahaya bagi data di harddisk pengguna, karena Distro Live CD tidak akan otomatis mengakses data di harddisk kecuali swap (virtual memory).

Ketika komputer di-boot dengan Distro Live CD, semua hardware yang di-support oleh kernel Linux yang ada pada Distro Live CD akan dideteksi dan dikonfigurasi. Distro Live CD mendeteksi harddisk dan partisinya. Semua partisi tidak akan di-mount secara otomatis, tapi hanya ditampilkan di desktop, sehingga memudahkan pengguna mengakses secara read-only, termasuk partisi NTFS. Jika tersedia swap, Distro Live CD akan mengaktifkan dan menggunakannya untuk bekerja.

Distro Live CD juga akan mendeteksi jaringan. Jika Distro Live CD dijalankan dalam suatu jaringan yang menyediakan akses server DHCP, Distro Live CD akan mengkonfigurasi jaringan untuk mendapatkan alamat IP dan konfigurasi terkait internet lainnya, seperti Gateway dan DNS.

Satu hal lagi yang perlu diketahui kalau kini dengan semakin berkembangnya Linux, para pengembang distro Linux semakin kreatif dengan mengembangkan distro Live CD yang spesifik, mau tau apa aja…??? pada tulisan berikutnya penulis akan membahasnya…tunggu..ya……!!!!!sabar…sabar….!!!!!!

Hackintosh…. …..Make Our Dream Comes True….!!!!!

•Januari 27, 2009 • Tinggalkan sebuah Komentar

Pada 6 Juni 2005, CEO Apple (Steve Jobs) secara resmi mengumumkan rencana alih platform Mac OS, yang semula berbasis processor PowerPC dari IBM ke processor Intel. Hal ini dilakukannya saat event WWDC (World Wide Developer Conference). Sebelumnya diketahui bahwa Apple pada tahun 2001 telah menggunakan kernel BSD (Darwin) pada rilis Mac OS X, yang jelas membuka peluang berjalannya Mac OS X ke dalam platform intel.

Menurut Steve Jobs, perpindahan ke Intel ini karena Apple melihat road map Intel yang dianggap sangat kondusif dengan peningkatan performa dan konsumsi daya yang lebih rendah sehingga chip processor lebih dingin.

Sebagaimana yang kita ketahui bersama kalo Apple, selain mengeluarkan Sistem Operasi, mereka juga mengeluarkan hardware sendiri. Sehingga Mac OS yang mereka keluarkan tidak dapat dijalankan di platform lain selain platform yang mereka keluarkan sendiri. Komputer apple yang paling murah saat ini adalah Mac Mini dengan kisaran harga sekitar $635….wahh…mahal..ya..!!!

Nah… Team of Hackintosh atau disingkat dengan ToH akhirnya berhasil mengintegrasikan OS Mac pada komputer PC di tahun itu juga dengan meng-hack kode pengenalan hardware pada OS Mac yang asli tanpa memakai teknik virtualisasi. Teknik virtualisasi adalah teknik membuat hardware virtual agar bisa digunakan untuk diinstal OS dalam OS yang telah terinstal OS. Dalam hal kecepatan proses dari hackintosh dibanding OS Mac yang asli tidak jauh beda karena hackintosh bersifat native (seperti aslinya). Lalu muncullah beberapa versi Hacintosh untuk operating system Mac OSX 10.4 sebagai contoh pada waktu muncul versi 10.4 seperti Marklar-Tiger, JaS, Uphuck, Koolkal. Versi awal dari hackintosh sendiri masih banyak kekurangan dalam hal pengenalan hardware dan sistem update sistem operasi itu sendiri. Sebagai contoh juga untuk pengenalan hardware 10.4.5 dengan 10.4.8 masih banyak perbedaan, OS 10.4.5 berhasil mengenali hardware ATI X300 tapi belum tentu 10.4.8 berhasil dikenali kalau tidak mengulang proses inisialisasi hardwarenya atau menginstal hardwarenya kembali. Lebih lanjut jika kita ingin mengupdate 10.4.6 ke 10.4.7 ke 10.4.8 maka kita harus memerlukan paket update yang terintegrasi khusus untuk Hackintosh, kita tidak bisa mengupdate langsung lewat internet dari situs resmi apple sendiri. Karena pada hakekatnya ada perbedaan dalam hal pengenalan BIOS dan bagian kernel.

Semenjak diluncurkannya update versi 10.4.11 dan OS terbaru yaitu Mac OSX 10.5 Leopard pada hackintosh telah bisa mengupdate secara langsung (untuk Leopard berlaku distro tertentu yang bisa langsung update contohnya dari iATKOS). Hal ini dimungkinkan pada versi terbaru telah mengintegrasikan apa yang dinamakan EFI dan Vanilla kernel. EFI adalah nama BIOS (basic input output system) dari komputer asli Mac dan Vanilla adalah kernel asli dari MacOSX itu sendiri, yang sebelumnya pada Hackintosh masih memakai Darwin Kernel. Dan memang EFI sebagai syarat mutlak bekerjanya MacOSX Leopard agar bisa booting pada waktu instalasi OS-nya. Selain iATKOS, untuk versi 10.5.2 telah di-rilis juga Kalyway-Leopard dan Leo4All-Leopard. Jadi anda bisa mendapatkan sebuah komputer Mac hanya dengan menggunakan PC berbasis Intel maupun AMD….benar…benar…menjadikan mimpi menjadi kenyataan…iya…khan…????

Kini telah rilis iDeneb v1.1 10.5.5 yang hadir dengan ukuran 4.38 GB yang diwakili oleh satu keping DVD installer. iAtkos v4i adalah release yang stabil, namun kata orang iDeneb v1.1 lebih baik karena release-nya lebih baru dengan “boot loader” yang lebih baru pula.

Wah…h..h.hhh…..gimana…??? penasaran khan…??? Ntar dech artikelnya penulis sambung dengan teknis installasi dan beberapa tips-trik lain Hackintosh di PC intel maupun AMD…tunggu..aja..yaaa…sabar…sabar….sabar…!!!!

BSD….!!!! …..bukan Linux…Lhoo….???

•Januari 27, 2009 • Tinggalkan sebuah Komentar

Banyak yang ngira…kalo Free BSD, OpenBSD, Net BSD dan beberapa varian BSD Family lainnya merupakan distro Linux. Lho…lho…lho…kok…??? Iya…jujur..lho…emang banyak yang ngira gitu kok…termasuk saya sendiri duluuuu….!!! He…he…he….…!!!….namanya juga belom tau….iya..nggak..???

Nah….melalui tulisan ini, penulis mau ngasi info ama temen-temen yang belom tau..kalo BSD itu bukan Linux…tetapi sistem operasi yang berbeda…walaupun sama-sama diturunkan dari Unix Sistem.

BSD (Barkeley Software Distribution) adalah implementasi sistem operasi Unix (beserta utility-nya) yang originalnya dikembangkan dan didistribusikan oleh University of California at Barkeley.

BSD pada awalnya (1978) hanyalah sekumpulan utility yang dibuat oleh Civitas Barkeley University untuk membantu mengembangkan Unix. Cerita berawal pada penghujung tahun 60-an (1969), ketika para programmer bernama Dennis Ritchie, Ken Thompson, dkk… di Bell Labs AT&T mengembangkan sebuah program yang akhirnya menjadi Unix. AT&T terhalang oleh regulasi pemerintah dan tidak bisa menjual software yang dibuatnya saat itu.

Karena itu AT&T memberikan begitu saja copy dari Unix, termasuk source code dan semuanya kepada siapa saja yang menginginkannya. Ketika University of California at Barkeley menerima source code ini, co-creator Unix, Ken Thompson tengah berkunjung ke salah satu fakultas. Melalui bantuannya yang konsisten (yang kemudian pada tahun 1983 beliau pindah ke University of California at Barkeley dan bergabung ke dalam Barkeley Computer Systems Research Group [CSRG] ) , para periset dan mahasiswa, terutama Bill Joy (co-founder SUN Microsystems) berusaha mengembangkan code dan melahirkan apa yang disebut the Barkeley Software Distribution (BSD). Itulah yang kemudian menjadi cikal bakal lahirnya sistem-sistem Unix BSD.

Pada awal tahun 1980, pemerintah Amerika Serikat menghentikan monopoli AT&T (termasuk Bell Labs didalamnya) dan muncul regulasi yang membolehkan mereka menjual software. Setelah Unix menjadi cukup populer, manajemen AT&T berfikir untuk menghasilkan uang dari popularitas Unix itu. Mereka kemudian memasang harga ribuan dollar dari apa yang sebelumnya gratis. Ini dilakukan mereka sejak edisi 1983 dari Unix, yaitu UNIX system V.

Selain menjual System Unix, AT&T juga melarang universitas (kampus) menggunakan source code Unix dalam mata kuliah sistem operasi. Ini adalah kejadian yang berdampak besar, karena banyak kelas komputer yang bergantung pada Unix. Seorang dosen bernama Andrew Tanenbaum memutuskan untuk menciptakan sebuah penggantinya. Pada tahun 1987, Tanenbaum menulis sebuah naskah yang sangat bagus berjudul Operating System yang berisi tentang bagaimana sistem operasi bekerja. Dia ingin agar para instruktur bisa menggunakannya sebagai teks kuliah, dan dia tahu bahwa akan sangat membantu jika mahasiswa bisa bereksperimen dengan ide sistem operasi dasar, tetapi AT&T melarang melakukan hal itu dengan source code Unix. Tanenbaum kemudian menulis sebuah sistem operasi baru untuk tujuan mengajar, yaitu sebuah sistem operasi mirip Unix yang lebih sederhana dan dibuatnya sendiri dari nol tanpa kode dari AT&T. Karena harga PC murah, Tanenbaum membuat sistem operasi tersebut untuk berjalan di PC. Tanenbaum menyebut sistem operasinya Minix sesuai dengan ukurannya yang minimalis (…Minix inilah yang kemudian pada tahun 1991 dioprek oleh Linus Torvalds….untuk membuat Unix versinya sendiri dari nol dengan menambahkan banyak fungsionalitas kedalamnya yang kini dikenal orang sebagai Linux).

Berbeda dengan Tanenbaum, BSD Unix memasukkan sebagian source code AT&T, dan akibatnya semua yang ingin tetap legal harus membayar AT&T jika menggunakan BSD. Melihat hal ini, sekelompok programmer menciptakan versi gratis AT&T dari Unix, dan pada tanggal 1 November 1988, versi BSD tanpa lisensi yang pertama muncul, dinamai BSD Networking Release 1.

Dengan dukungan dari DARPA, Barkeley Computer Systems Research Group (CSRG) berhasil mengembangkan BSD hingga menjadi salah satu dari dua flavor Unix mayor saat itu. Faktanya sistem Unix BSD berkembang lebih inovatif dari Unix System V. Ia lebih digemari oleh kalangan akademik dan institusi-institusi riset. Versi BSD keluaran CSRG ini antara lain adalah 2BSD, 3 BSD, dll.

Dengan kondisi seperti ini, AT&T melihat BSD sebagai sebuah ancaman (namun tidak demikian dengan Tanenbaum yang membuat tiruan UNIX dalam Minix-nya). AT&T kemudian mengeluarkan ancaman hukum kepada orang-orang di BSD, menuduh bahwa mereka telah melanggar lisensi AT&T. Tuntutan itu tidak selesai sampai tahun 1994 dan akhirnya memutuskan BSD boleh didistribusikan dengan bebas. Tetapi tuntutan hukum itu telah merampas waktu 6 tahun yang potensial untuk mengembangkan BSD.

Sewaktu tuntutan hukum sedang berjalan, eksistensi tuntutan itu membuat orang menjadi enggan untuk mendekati BSD, meskipun BSD adalah sebuah implementasi software yang bermutu. Banyak programmer yang seharusnya bisa membantu mengembangkan BSD kemudian malah tertarik ke Linux. Hal inilah mungkin yang menyebabkan Linux menjadi bombing seperti sekarang ini, namun keberhasilan Linux bukan karena hanya masalah hukum yang dialami BSD saja, melainkan juga karena sifat easy-going Linus Torvalds dan kepribadiannya yang selalu wellcome terahadap siapa saja untuk membantu mengembangkan Linux.

Tetapi ketahuilah, bahwa BSD tidak mati. Yahoo, UUNet, MindSpring, dan CompuServer menggunakan BSD serta Macintosh OS X dari Apple juga dibuat berdasarkan BSD.

Berbeda dengan Linux, BSD terpecah belah menjadi banyak versi, hal ini terjadi karena dalam dunia BSD, forking (modifikasi sebuah sistem BSD untuk menciptakan sebuah BSD baru yang berbeda dari kernel resmi BSD tersebut) sangat sering dilakukan oleh berbagai pihak di awal perkembangan BSD. Masing-masing versi BSD merupakan sistem operasi yang berbeda. Hal ini berbeda dengan Linux, Linux tidak terpecah-belah walaupun terdiri atas ratusan disro. Linux adalah sebuah sistem operasi yang satu (menggunakan kernel Linux yang sama, yakni yang dibuat oleh Linus Torvalds dan timnya), namun terdiri atas banyak distribusi (distro).

Secara garis besar BSD, terdiri atas dua kubu yakni Unix BSD (versi komersil) dan BSD versi Gratis. Versi modern BSD adalah BSD 4.4 yang dirilis tahun 1993 oleh CSRG- University of California at Barkeley. Kebanyakan sistem-sistem BSD saat ini berstandarkan atas BSD 4.4-lite ini.

Diantara sekian banyak flavor BSD, terdapat tiga sistem freeware yang populer digunakan yakni sebagai berikut :

  1. FreeBSD

Sistem operasi ini pada awalnya diusulkan oleh David Greenman dengan berbasiskan patchkit yang telah ada pada 386BSD. Rilis Free BSD versi 1.0 keluar pada Desember 1993. Berbagai upgrade dan peningkatan dilakukan secara berkesinambungan dan signifikan hingga melahirkan rilis-rilis yang sangat stabil dan digunakan secara luas oleh masyarakat dunia. Yahoo! salah satu direktori internet terbesar saat ini menggunakan FreeBSD sebagai sistem operasi servernya. Berdasarkan penuturan Hubbard (salah seorang pembuat FreeBSD), sasaran utama FreeBSD Project adalah memberikan sistem operasi yang dapat digunakan untuk beragam tujuan.

FreeBSD adalah salah satu varian BSD yang terkenal memiliki tools instalasi yang paling sederhana diantara BSD yang lainnya. Satu hal yang membuat Free BSD terkenal easy to use adalah dari sistem software 3rd party yang datang bersamanya (ports collection) dikenal memberikan kemudahan yang berati bagi para user untuk menambah atau menghapus aplikasi-aplikasi sebagaimana yang mereka kehendaki. Para user cukup hanya mengeksekusi satu baris perintah, dan aplikasi-aplikasi dengan sendirinya di download, di cek integritasnya, di build dan di install secara otomatis. Tugas-tugas administrasi sistem menjadi sangat praktis dan mudah.

Proyek pembuatan sistem operasi Free BSD ditangani secara professional. oleh sebuah tim yang cukup besar. Tim itu sendiri dibagi atas 3 kelompok besar, yaitu Free BSD Core Team, Free BSD Developers, dan Free BSD Documentation Project. Free BSD Core Team merupakan dewan direksi dari proyek pembuatan Free BSD ini. Tim ini yang bertanggung jawab menentukan tujuan-tujuan proyek secara keseluruhan dan aturan pelaksanaannya. Free BSD Developers merupakan tim yang bertanggung jawab melakukan tugas teknis dalam pembuatan Free BSD. Karena tim ini membuthkan banyak orang maka anggota Free BSD Core Team juga menjadi anggota Free BSD Developers. Sedangkan tim Free BSD Documentation Project merupakan tim yang bertanggung jawab untuk sejumlah pekerjaan yang berbeda diantaranya pendokumentasian proyek, pembuatan Hand Book, pendokumentasian FAQ, dan lain-lain. Model pengembangan Free BSD diarahkan untuk menciptakan sistem operasi yang stabil namun mudah untuk digunakan. Kini FreeBSD telah mencapai versi 7.0

Sebagai informasi, dengan semakin maraknya sistem operasi berbasis Live CD. Kini telah hadir Freesbie, versi Live CD dari FreeBSD. Bagi temen-temen yang ingin sekedar tau tentang sistem operasi FreeBSD namun belum tau banyak tentang teknis installasinya, dapat mencoba Freesbie sebagai solusi alternatif.coba dech…!!!!

  1. NetBSD

Fokus pengembangan NetBSD adalah berusaha memberikan sistem operasi yang stabil, multiplatform, dan berorientasi riset. Pada januari 2001, portabilitas NetBSD dikabarkan sudah mencapai 33 platform.

Lebih menakjubkan lagi, NetBSD mendukung segudang hardware dan perlengkapan modern maupun tradisional, termasuk perlengkapan berbasis PC In tel, Compaq’s Alpha, atau arsitektur Sun Microsystem’s SPARC. Server tua dan hardware kelas workstation pun seperti Digital Equipment Corporation’s VAX, komputer Apple’s Macintosh berbasis processor Motorola 68000 juga didukung.

Dedikasi NetBSD atas portabilitasnya telah memimpin sistem operasi-sistem operasi lain. Pada saat grup FreeBSD mulai memporting sistemnya ke platform alpha, pekerjaan pada proyek NetBSD dijadikan landasan. Demikian juga, Linux telah mengambil keuntungan dari pengalaman NetBSD. Utility booter spesial yang digunakan NetBSD untuk komputer-komputer Macintosh seri 68000 dimodifikasi sedemikian rupa dan menjadi booter pinguin yang digunakan untuk me-launch Linux dalam mesin-mesin tersebut.

Akhirnya, kontribusi besar NetBSD lainnya adalah sebagai batu loncatan atas lahirnya sistem operasi OpenBSD. The NetBSD Projects bercita-cita melahirkan sistem operasi riset kelas dunia yang andal. Oleh karena portabilitas NetBSD terhadap beragam hardware sangat terbuka. Sekolah dan institusi-institusi riset dapat mewujudkan riset nyata melalui perlengkapan-perlengkapan yang tersedia.

Proyek Major lainnya yang dikembangkan oleh NetBSD adalah KAME. KAME membantu memperkenalkan IPV6, Ipsec (baik untuk IPV4 dan IPV6), dan peningkatan-peningkatan TCP/IP secara umum dalam dunia Unix.

NetBSD merupakan sistem yang cerdas, datang dengan komplemen lengkap atas tool-tool Unix, dan banyak situs menggunakan NetBSD sebagai server DNS atau server jaringan mereka, terutama karena portabilitasnya yang luas terhadap beragam hardware dan perlengkapan.

  1. OpenBSD

Pada permulaan 1990-an, Theo de Raadt memegang tanggung jawab terhadap porting SPARC dalam NetBSD dan bagian-bagian lainnya. Akan tetapi, karena adanya kesalahpahaman antara dirinya dengan tim inti NetBSD berkaitan dengan arah pengembangan NetBSD, maka Theo mengundurkan diri dan selanjutnya merintis OpenBSD. Rilis pertama OpenBSD keluar pada tahun 1996.

Apabila NetBSD memiliki keunikan dengan portabilitasnya yang luas, OpenBSD memfokuskan diri pada ketangguhan sistem dan keamanan. Mantera OpenBSD yang berbunyi secure by default telah menghasilkan produk sistem operasi yang paling sempurna saat ini.

Mengambil keuntungan dari domisilinya di Kanada, misi de Raadt tidak terhambat oleh hukum amerika, dimana penerapan algoritma kriptografi yang kuat sangat dimungkinkan, seperti RSA, BlowFish, dan sejumlah algoritma lainnya. Lebih dari itu, versi modifikasi algoritma BlowFish sekarang digunakan untuk meng-enkripsi password user.

Developer OpenBSD tidak hanya berhenti di situ, satu sumbangsih lain dari kerja keras mereka adalah OpenSSH, yakni clone multiplatform protokol terpopuler untuk mewujudkan komunikasi-komunikasi yang aman.

Fitur lain dari OpenBSD adalah auditing pengkodean yang teliti, hati-hati dan apik tenan. Itu semua untuk menjamin keamanan sistem operasi yang bisa dipercaya. Dimulai sejak 1996, tim OpenBSD melakukan analisis baris demi baris pada keseluruhan konstruksi sistem operasi dengan mencari peluang atas berbagai hole security dan bug potensial.

Sistem-sistem Unix cukup terganggu dengan apa yang disebut fixed-size buffers. Di samping tidak familiar bagi para programmer, mereka juga mengarah pada lahirnya hole security, seperti apa yang terjadi pada eksploitasi fingerd dalam 4.2BSD.

Keseriusannya dalam pengawasan keamanan menyebabkan tim OpenBSD kerap menemukan kelemahan-kelemahan yang berhubungan dengan keamanan pada berbagai sistem operasi lain atau aplikasi-aplikasi 3rd party, termasuk pada sistem FreeBSD, NetBSD maupun yang lainnya.

Kebanyakan jaminan keamanan diwujudkan dengan audit code secara berkesinambungan, dan OpenBSD tidak mentolerir berbagai port jaringan terbuka dalam instalasi defaultnya. Seandainya sebuah situs memerlukan akses ke protokol finger, lpd atau protokol-protokol lain, mereka terlebih dahulu harus diaktifkan. Lazimnya, protokol-protokol harus nonaktif saat tak digunakan, dan instalasi OpenBSD mempertimbangkan hal itu dengan seksama.

OpenBSD termasuk sistem operasi yang portabel. Mungkin hal itu terpengaruh oleh karakteristik NetBSD sebagai garis keturunannya. OpenBSD cukup stabil dalam lusinan arsitektur, termasuk platform PC berbasis Intel, Motorola 68-k based Macintosh, dan lain-lain. Kini OpenBSD telah mencapai versi 4.4

Sebagai tambahan informasi, selain Freesbie yang merupakan versi Live CD dari FreeBSD. OpenBSD juga memiliki versi Live CD yakni Anonymous.

Nah..…dari panjangnya penjelasan di atas, penulis berharap temen-temen jadi tau mengenai BSD dan variannya. Berikutnya, penulis berusaha dengan waktu yang ada pada penulis untuk menulis artikel tentang teknis installasi maupun administering system pada ke-3 varian BSD di atas. Tunggu aja ya…!!!!