Minggu, 30 Desember 2007

SEJARAH LINUX

Sejarah Linux
Author: Arry Rahmawan Published: 31st March 2007Category: Linux Dasar dan Opensource Popularity: 15%
Siapa yang belum tahu Mandriva Linux? Siapa yang belum tahu Open Suse? Siapa yang belum tahu Red Hat? Bagi orang yang biasa berkecimpung di dunia komputer, khususnya Linux, maka nama-nama itu sudah tidak asing lagi di telinga. Namun tahukah Anda bahwa sebenarnya, Linux memiliki sejarah yang cukup panjang perjalanannya?

UNIX merupakan salah satu sistem operasi yang mengawali lahirnya Linux ke dunia ini. UNIX merupakan salah satu sistem operasi yang ada saat ini. Adapun UNIX merupakan salah satu sistem operasi populer selain keluarga raksasa Microsoft (mulai dari DOS, MS 9x sampai Vista), Novell, OS/2, BeOS, MacOS dan lainnya.
Sejarah kemunculan UNIX dimulai pada tahun 1965 ketika para ahli dari Bell Labs, sebuah laboratorium milik AT&T, bekerja sama dengan MIT dan General Electric membuat sistem operasi bernama Multics(sudah pernah dengar belum?). Nah, sistem operasi Multics ini awalnya didesain dengan harapan akan menciptakan beberapa keunggulan, seperti multiuser, multiprosesor, dan multilevel filesystem. Namun pada tahun 1969, AT&T akhirnya menghentikan proyek pembuatan Multics karena sistem operasi Multics ini sudah tidak memenuhi tujuan semula. Dengan kata lain, proyek ini mengalami hambatan karena dalam kenyataannya Multics banyak terdapat bugs dan sulit sekali dioperasikan.
Beberapa programmer Bell Labs yang terlibat dalam pembuatan dan pengembangan Multics, yaitu Ken Thompson, Dennis Ritchie, Rudd Canaday, dan Doug Mcllroy, secara tidak resmi tetap meneruskan proyek pengembangan Multics. Dan akhirnya sampailah pada sebuah sistem operasi generasi penerus dari Multics bulan Januari 1970 yang diberi nama UNIX.
Adapun generasi baru Multics ini memiliki lebih banyak keuggulan dibandingkan saudara tuanya. Nama UNIX diberikan oleh Brian Kernighan untuk memberi penegasan bahwa UNIX bukanlah Multics (tidak sama). UNIX akhirnya memiliki keunggulan seperti yang diharapkan pada awal penciptaannya. Yaitu:
1. Multilevel Filesystem
2. Multiuser dan Multiprosesor
3. Desain arsitektur yang independen terhadap suatu hardware
4. Berbagai device dapat dianggap sebagai file khusus
5. Memiliki user interface yang sederhana
6. Cocok untuk lingkungan pemrograman
7. Memiliki utilitas yang dapat saling digabungkan
Setahun setelahnya, UNIX dapat dijalankan pada komputer PDP-11 yang memiliki memory 16 KB dan sebuah disk berukuran 512 KB. Pada waktu itu source codenya UNIX masih ditulis dalam bahasa mesin (assembler). Kemudian pada tahun 1973, source code UNIX ditulis ulang dalam bahasa C yang dibuat oleh Dennis Ritchie.
Tujuan Mr. Ritchie mengubah source code UNIX ke dalam bahasa C tak lain dan tak bukan karena bahasa C didesain multiplatform dan bersifat fleksibel. Dengan dirubahnya source code ke dalam bahasa C, maka UNIX dapat dikembangkan dan dikompilasi ulang ke berbagai jenis komputer. Sejak saat itu dibuatlah berbagai macam varian UNIX yang sengaja didesain untuk jenis komputer tertentu.
Setahun kemudian, karena merasa UNIX sudah cukup matang, maka Thompson dan Ritchie mempublikasikan sebuah paper tentang UNIX. Ternyata UNIX mendapat sambutan yang sangat luar biasa dari lingkungan perguruan tinggi. Dan UNIX lah yang menjadi sistem operasi favorit di lingkungan perguruan tinggi.
Awalnya, sistem operasi UNIX ini didistribusikan secara gratis di dunia pendidikan, namun setelah banyak digunakan oleh korporasi industri dan bisnis (karena kehandalannya menangani bidang jaringan (networking), UNIX akhirnya diperdagangkan dan dipatenkan). Dalam perkembangan selanjutnya, UNIX dan varian-variannya yang dikomersialkan menjadi suatu sistem operasi yang cukup mahal pada saat itu(namun ada beberapa yang gratis karena dikembangkan dengan semangat openSource), hal ini disebabkan karena kestabilan, mampu mengerjakan program multitasking dan dapat digunakan oleh beberapa user secara bersamaan.
Adapun varian UNIX yang dikomersialkan dan populer karena kehandalannya seperti BSD 4.1 (1980), SunOS, BSD 4.2, SysV(1983), UnixWare dan Solaris 2(1988), dan lainnya. Dan yang dikembangkan dengan semangat openSource atau free diantaranya: FreeBSD, OpenBSD, NetBSD, Mnix, Hurd
Dari tadi ngomongin UNIX mulu, Linuxnya di mana? Oke, oke. Kita mulai…..
Kenal Linus Torvalds kan? Linus dilahirkan di Helsinki, Finlandia pada tanggal 28 Desember 1969. Orang yang disebut sebagai Bapak Linux(LINus UniX) ini, sudah mengenal bahasa pemrograman pada umurnya yang ke 10. Saat itu ia sering mengutak-atik komputer kakeknya, Commodore VIC-20. Karena hobinya dalam dunia komputing, 1988 Linus diterima di Univerity of Helsinki dan pada tahun 1990, Linus memulai kelas pemrograman C pertamanya. Pada tahun 1991, Linus tidak puas terhadap sistem operasi yang ada pada PC pertamanya (MS-DOS atau Disk Operation System), OS buatan Microsoft.
Linus lebih cenderung untuk menggunakan sistem operasi UNIX seperti yang dipakai komputer milik universitasnya. Akhirnya ia mengganti sistem operasi openSource Minix yang berbasiskan UNIX. Adapun Minix ini merupakan sistem UNIX kecil yang dikembangkan oleh Andrew S. Tanenbaum, seorang professor yang menggeluti penelitian masalah OS dari Vrije Universiteit, Belanda. Adapun Minix ini digunakan untuk keperluan pengajaran dan pendidikan.
Namun Linus merasa bahwa Minix masih memiliki banyak kelemahan. Dan mulai saat itu, di usianya yang ke-23, Linus mulai mengutak-atik kernel Minix. Dan ia mulai mengembangkan sistem yang kompatibel dengan IBM PC. Pada bulan Agustus 1991, lahirlah Linux 0.01 hasil oprekan Linus, dan pada tanggal 5 Oktober 1991, secara resmi Linus mengumumkan Linux 0.02 yang hanya dapat menjalankan BASH dan gcc compiler. Selain itu, Linus juga mempublikasikan sistem operasi buatannya tersebut lengkap dengan source codenya, yang ternyata disambut dengan sangat antusias oleh para programmer dan developer di seluruh dunia agar dapat di develop bersama-sama.
Sampai saat ini, Linux dibangun oleh berbagai macam komunitas dan jangan heran apabila banyak sekali distro-distro Linux yang beredar. Mulai dari yang berbayar sampai yang gratis, dari untuk pemula sampai tingkat lanjut, dan biasanya dengan banyaknya distro Linux yang beredar akan membuat orang awam bingung untuk memilih distro. Bayangkan, ada beratus-ratus distro yang tercipta atau bahkan beribu-ribu. Namun perlahan tapi pasti, diantara distro-distro Linux ini ada yang menyamai (atau bahkan) melebihi kemampuan dari Sistem Operasi keluarga raksasa (Microsoft) dan dengan semakin mudahnya dan semakin lengkapnya dukungan Linux pada hardware, besar kemungkinan Linux akan menjadi alternatif (atau bahkan sistem operasi utama di dunia). InsyaAllah bila tidak ada halangan, saya akan memberikan tips-tips memilih distro Linux.

Minggu, 16 Desember 2007

Belajar Komputer Untuk PEMULA

Belajar Pemrograman
Lalu bagaimana seorang programer mulai belajar memprogram? Dalam menjawab pertanyaan ini kita sering terjebak dalam masalah pemilihan bahasa pemrograman pertama bagi pemula. Bahasa pemrograman apakah yang paling tepat diajarkan kepada seorang pemula, sehingga kelak ia dapat survive di antara sekian ratus bahasa pemrograman. Sampai saat ini pun perdebatan masih terus berlanjut untuk memilih bahasa pemrograman pertama yang paling tepat. Tidak dapat diragukan lagi bahwa bahasa pemrograman hampir sebanyak bahasa manusia, atau mungkin lebih banyak lagi.

Pemilihan bahasa pemrograman pertama merupakan masalah pelik. Sebab bahasa pemrograman pertama akan mempengaruhi cara berfikir programer di masa yang akan datang. Programer dengan bahasa pertamanya Pascal akan lebih mudah berpindah ke bahasa pemrograman yang memiliki paradigma sama, yaitu berorientasi prosedur seperti C, Modula, Oberon. Tetapi programer tersebut kesulitan untuk berpindah ke bahasa pemrograman dengan paradigma yang lain seperti CLOS dan Scheme, yaitu bahasa pemrograman keluarga Lisp. Selain daripada itu, setelah menentukan paradigmanya, masalah berikutnya yang muncul adalah memilih bahasa pemrograman yang paling dominan dalam paradigma tersebut. Misalnya, untuk paradigma berorientasi fungsi manakah yang paling tepat diajarkan kepada pemula, apakah CLOS atau Scheme atau EmacsLisp. Masalah kedua ini berkaitan dengan, kemudahan dalam belajar, dialek dalam keluarga bahasa pemrograman tersebut, atau bahkan kecenderungan pasar.
Pada umumnya, lembaga pendidikan memilih paradigma pemrograman berorientasi prosedur sebagai paradigma pertama siswa mereka. Bahasa yang digunakan umumnya Pascal atau C. Hal ini dikarenakan paradigma tersebut lebih sering dipakai di dalam kehidupan sehari-hari. Setelah itu, disesuaikan dengan situasi dan kondisi diajarkan paradigma lain. Tetapi ada pula lembaga pendidikan yang memilih bahasa ML, bahasa dengan paradigma berorientasi fungsi, seperti MIT. Alasan MIT, karena sebagian mahasiswa sebelumnya telah memiliki ketrampilan dan pengetahuan dalam paradigma pemrograman berorientasi prosedur, demi alasan keadilan dipilihlah bahasa dan pemrograman yang asing untuk sebagian besar mahasiswa. Dengan demikian sebagian besar mahasiswa memulai belajar pemrograman dari awal yang sama.
Yang perlu kita perhatikan adalah mengajar/belajar pemrograman tidaklah sama dengan belajar bahasa pemrograman. Agar kita tidak salah langkah dalam mengajar/belajar pemrograman, Derek Andrew [1, pp.255-276] memberikan rambu-rambu sebagai berikut:
Kita tidak belajar atau mengajar bahasa pemrograman, tetapi belajar atau mengajar bagaimana cara memprogram
Bagi seorang pengajar point terpenting adalah point pertama: perlunya mengajari ahli komputer kita bagaimana cara memprogram. Asalkan suatu bahasa pemrograman itu cukup memadai bagi kita untuk belajar atau mengajar pemrograman, apapun bahasa pemrograman yang kita gunakan tidak menjadi masalah.