17 Oktober 2012

Oracle/PLSQL: Decode Function

Ternyata fungsi perumpamaan itu tidak di script program saja berikut saya berikan informasi untuk perumpamaan yg di pakai dalam database Oracle Atau PLSQL :

Contoh : 

SELECT supplier_name,
decode(supplier_id, 10000, 'IBM',

10001, 'Microsoft',

10002, 'Hewlett Packard',


'Gateway') result
FROM suppliers;


dalam program sama seperti :

Contoh :

IF supplier_id = 10000 THEN
     result := 'IBM';
ELSIF supplier_id = 10001 THEN
    result := 'Microsoft';
ELSIF supplier_id = 10002 THEN
    result := 'Hewlett Packard';
ELSE
    result := 'Gateway';
END IF;


Silahkan Mencoba.... ^_^

9 Oktober 2012

Perintah - perintah Dasar Linux

==Perintah-Perintah Dasar Linux==


Sebagai panduan Anda, berikut adalah daftar perintah secara alfabet. Sebenarnya, Anda dapat saja '''menekan tab dua kali''' untuk melihat semua kemungkinan perintah yang dapat digunakan. Misalnya Anda ingin mengetahui perintah apa saja yang dimulai dengan huruf a, maka Anda cukup mengetikkan '''a''' lalu tekan tab dua kali!

Daftar Perintah Menurut Alfabet
 & adduser alias bg cat cd chgrp chmod chown cp fg find grep gzip halt hostname kill less login logout ls man mesg mkdir more mount mv passwd pwd rm rmdir shutdown su tail talk tar umount unalias unzip wall who xhost + xset zip

===&===
Perintah '''&''' digunakan untuk menjalan perintah di belakang (''background'')
Contoh:
 '''wget''' http://id.wikibooks.org '''&'''

Perintah '''&''' dipakai dibelakang perintah lain untuk menjalankannya di ''background''. Apa itu jalan di background? Jalan di''background'' maksudnya adalah kita membiarkan sistem untuk menjalankan perintah sendiri tanpa partisipasi kita, dan membebaskan shell/command prompt agar bisa dipergunakan menjalankan perintah yang lain.

Lihat juga:
:Silahkan lihat juga perintah '''bg''' dan '''fg'''.

===adduser===
Perintah '''adduser''' digunakan untuk menambahkan user.

Biasanya hanya dilakukan oleh ''root'' untuk menambahkan user atau account yg baru. Setelah perintah ini bisa dilanjutkan dengan perintah passwd, yaitu perintah untuk membuat password bagi user tersebut.
Contoh:
 # '''adduser''' vicky
 # '''passwd''' anakkota#

Perhatikan bahwa semua perintah yang membutuhkan akses root, di sini saya tulis dengan dengan menggunakan tanda '''#''', untuk memudahkan Anda membedakannya dengan perintah yang tidak perlu akses root.

===alias===

Digunakan untuk memberi nama lain dari sebuah perintah. Alias digunakan untuk memudahkan agar tidak harus mengetikkan perintah yang panjang, tapi cukup aliasnya saja.

Misalnya bila Anda ingin perintah '''ls''' dapat juga dijalankan dengan mengetikkan perintah dir, maka buatlah aliasnya sbb:

 $ '''alias''' dir=ls

Kalau Anda suka dengan tampilan berwarna-warni, cobalah bereksperimen dengan perintah berikut:
 $ '''alias''' dir="ls -ar --color:always"


Untuk melihat perintah-perintah apa saja yang mempunyai nama lain saat itu, cukup ketikkan '''alias''' saja (tanpa argumen). Lihat juga perintah '''unalias'''.

Jika Anda menjalankan perintah '''adduser''', Anda akan diminta memasukkan password untuk user yang Anda buat. Isikan password untuk user baru tersebut dua kali dengan kata yang sama.

===apt-cache===

Untuk mencari aplikasi yang telah didownload oleh apt-get.
 $ '''apt-cache search''' apache2

===apt-get===

Untuk menginstall atau uninstall aplikasi di linux, sebagian keluarga linux yang menggunakan adalah debian dan turunannya.
Contoh untuk menginstall aplikasi apache:
 $ '''apt-get install''' apache2

Untuk mengecek pembaruan dari aplikasi yang terinstall di linux.
 $ '''apt-get update'''

Untuk memperbarui aplikasi di linux, biasanya digunakan setelah apt-get update.
 $ '''apt-get upgrade'''

===bg===

Untuk maminta sebuah proses yang dihentikan sementara(suspend) agar berjalan di background. Misalnya Anda sedang menjalankan sebuah perintah di foreground (tanpa diakhiri perintah '''&''') dan suatu saat Anda membutuhkan shell tersebut maka Anda dapat memberhentikan sementara perintah tersebut dengan '''Ctrl-Z''' kemudian ketikan perintah '''bg''' untuk menjalakannya di background. Dengan cara ini Anda telah membebaskan shell tapi tetap mempertahankan perintah lama berjalan di background.

Lihat juga perintah '''fg'''.

===cat===

Menampilkan isi dari sebuah file di layar.
Contoh:
 $ '''cat''' /nama/suatu/file

===cd===



[ubuntu@fujitsu ubuntu]$ cd /usr/X11R6/bin
[ubuntu@fujitsu ubuntu bin]$ pwd

===chgrp===

Perintah ini digunakan untuk merubah kepemilikan kelompok file atau direktori. Misalnya untuk memberi ijin pada kelompok atau grup agar dapat mengakses suatu file. Sintaks penulisannya adalah sbb:

 # '''chgrp''' <grup baru> <file>

<ref>ggggg</ref>

===chmod===
Digunakan untuk menambah dan mengurangi ijin pemakai untuk mengakses file atau direktori. Anda dapat menggunakan sistem numeric coding atau sistem letter coding. Ada tiga jenis permission/perijinan yang dapat dirubah yaitu:
#'''r''' untuk read,
#'''w''' untuk write, dan
#'''x''' untuk execute.

Dengan menggunakan letter coding, Anda dapat merubah permission diatas untuk masing-masing '''u''' (user), '''g''' (group), '''o''' (other) dan '''a''' (all) dengan hanya memberi tanda plus ('''+''') untuk menambah ijin dan tanda minus ('''-''') untuk mencabut ijin.

Misalnya untuk memberikan ijin baca dan eksekusi file coba1 kepada owner dan group, perintahnya adalah:

 $ '''chmod''' ug+rx coba1

Untuk mencabut ijin-ijin tersebut:

 $ '''chmod''' ug-rx coba1

Dengan menggunakan sitem ''numeric coding'', ''permission'' untuk user, group dan other ditentukan dengan menggunakan kombinasi angka-angka, 4, 2 dan 1 dimana 4 (read), 2 (write) dan 1 (execute).

Misalnya untuk memberikan ijin baca(4), tulis(2) dan eksekusi(1) file coba2 kepada owner, perintahnya adalah:

 $ '''chmod''' 700 coba2
testing dicoba
 $ '''chmod''' 644 coba3

Perhatian: Jika Anda hosting di server berbasis Linux, perintah ini sangat penting sekali bagi keamanan data Anda. Saya sarankan semua direktori yang tidak perlu Anda tulis di chmod 100 (jika Apache jalan sebagai current user (Anda)) atau di chmod 501 jika Apache jalan sebagai www-data atau nobody (user lain).

===chown===

Merubah user ID (owner) sebuah file atau direktori

 $ '''chown''' <user id> <file>

===cp===

Untuk menyalin file atau copy. Misalnya untuk menyalin file1 menjadi file2:

 $ '''cp''' <file1> <file2>

===fg===

Mengembalikan suatu proses yang dihentikan sementar(suspend) agar berjalan kembali di foreground. Lihat juga perintah bg diatas.

===find===

Untuk menemukan dimana letak sebuah file. Perintah ini akan mencari file sesuai dengan kriteria yang Anda tentukan. Sintaksnya adalah perintah itu sendiri diikuti dengan nama direktori awal pencarian, kemudian nama file (bisa menggunakan wildcard, metacharacters) dan terakhir menentukan bagaimana hasil pencarian itu akan ditampilkan. Misalnya akan dicari semua file yang berakhiran .doc di current direktori serta tampilkan hasilnya di layar:

 $ '''find''' . -name *.doc -print

Contoh hasil:
 . /public/docs/account.doc
 . /public/docs/balance.doc
 . /public/docs/statistik/prospek.doc
 ./public/docs/statistik/presconf.doc

===grep===
''Global regular expression parse'' atau '''grep''' adalah perintah untuk mencari baris-baris yang mengandung teks dengan kriteria yang telah Anda tentukan pada file yang diberikan.

Format perintah:
 $ '''grep''' [opsional] <teks> <file>

Misalnya akan dicari file-file yang mengandung teks marginal di current direktori:

 $ '''grep''' marginal <file>
diferent.doc: Catatan: perkataan marginal luas dipergunakan di dalam ilmu ekonomi
prob.rtf: oleh fungsi hasil marginal dan fungsi biaya marginal jika fungsi
prob.rtf: jika biaya marginal dan hasil marginal diketahui maka biaya total

===gzip===
Ini adalah software kompresi zip versi GNU, fungsinya untuk mengkompresi sebuah file. Sintaksnya sangat sederhana:

 $ '''gzip''' <namafile>

Walaupun demikian Anda bisa memberikan parameter tertentu bila memerlukan kompresi file yang lebih baik, silakan melihat manual page-nya. Lihat juga file '''tar''', '''unzip''' dan '''zip'''.

===halt===

Perintah ini hanya bisa dijalankan oleh super useratau Anda harus login sebagai root. Perintah ini untuk memberitahu kernel supaya mematikan sistem atau shutdown.

===hostname===

Untuk menampilkan host atau domain name sistem dan bisa pula digunakan untuk mengesset nama host sistem.

Contoh pemakaian:
 [user@localhost mydirectoryname] $ '''hostname'''
 localhost.localdomain


===kill===

Perintah ini akan mengirimkan sinyal ke sebuah proses yang kita tentukan. Tujuannya adalah menghentikan proses.
Format penulisan:
 $ '''kill''' <sinyal> <pid>

PID adalah nomor proses yang akan di hentikan.
Tidak tahu PID proses mana yang mau dibunuh? Cobalah bereksperimen dengan perintah:
 '''ps''' aux | grep <myusername>

===less===

Fungsinya mirip perintah '''more'''.



===login===

Untuk masuk ke sistem dengan memasukkan login ID atau dapat juga digunakan untuk berpindah dari user satu ke user lainnya.
<ref>
=== testing ===
{| class="wikitable"
<gallery>
|-
! Teks judul !! Teks judul !! Teks judul
|-
| Teks sel || Teks sel || Teks sel
|-
| Teks sel || Teks sel || Teks sel
|-
| Teks sel || Teks sel || Teks sel

</gallery>
<br />
|}
</ref>

===logout===

Untuk keluar dari sistem.

===ls===

Menampilkan isi dari sebuah direktori seperti perintah '''dir''' di DOS. Anda dapat menggunakan beberapa option yang disediakan untuk mengatur tampilannya di layar. Bila Anda menjalankan perintah ini tanpa option maka akan ditampilkan seluruh file nonhidden(file tanpa awalan tanda titik) secara alfabet dan secara melebar mengisi kolom layar. Option -la artinya menampilkan seluruh file/all termasuk file hidden(file dengan awalan tanda titik) dengan format panjang.

===man===

Untuk menampilkan manual page atau teks yang menjelaskan secara detail bagaimana cara penggunaan sebuah perintah. Perintah ini berguna sekali bila sewaktu-waktu Anda lupa atau tidak mengetahui fungsi dan cara menggunakan sebuah perintah.
 $ man <perintah>

Untuk keluar dari halaman manual, tekan tombol "q"

===mesg===
Perintah ini digunakan oleh user untuk memberikan ijin user lain menampilkan pesan dilayar terminal. Misalnya mesg Anda dalam posisi y maka user lain bisa menampilkan pesan di layar Anda dengan write atau talk.
 $ '''mesg''' y atau mesg n

Gunakan '''mesg n''' bila Anda tidak ingin diganggu dengan tampilan pesan-pesan dari user lain.

===mkdir===

Membuat direktori baru, sama dengan perintah md di DOS.
a

Contoh : mkdir <nama folder> kemudian enter
  <pre>$mkdir mahasiswa</pre>

===more===

Mempaging halaman, seperti halnya less

===mount===

Perintah ini akan me-mount filesystem ke suatu direktori atau mount-point yang telah ditentukan. Hanya superuser yang bisa menjalankan perintah ini. Untuk melihat filesystem apa saja beserta mount-pointnya saat itu, ketikkan perintah mount. Perintah ini dapat Anda pelajari di bab mengenai filesystem. Lihat juga perintah '''umount'''.
 $ '''mount'''
 /dev/hda3 on / type ext2 (rw)
 none on /proc type proc (rw)
 /dev/hda1 on /dos type vfat (rw)
 /dev/hda4 on /usr type ext2 (rw)
 none on /dev/pts type devpts (rw,mode=0622)

===mv===

Untuk memindahkan file dari satu lokasi ke lokasi yang lain. Bila argumen yang kedua berupa sebuah direktori maka mv akan memindahkan file ke direktori tersebut. Bila kedua argumen berupa file maka nama file pertama akan menimpa file kedua. Akan terjadi kesalahan bila Anda memasukkan lebih dari dua argumen kecuali argumen terakhir berupa sebuah direktori.

===nano===

Salah satu editor di linux, seperti halnya notepad di windows. Contoh untuk mengedit suatu file.
 $ '''nano''' /etc/apt/sources.list
Setelah selesai untuk menyimpan menggunakan ctrl+o dan untuk keluar menggunakan ctrl+x

===passwd===

Digunakan untuk mengganti password. Anda akan selalu diminta mengisikan password lama dan selanjutnya akan diminta mengisikan password baru sebanyak dua kali. Password sedikitnya terdiri dari enam karakter dan sedikitnya mengandung sebuah karakter.

===pwd===

Print working directory, atau untuk menampilkan nama direktori dimana Anda saat itu sedang berada.
<pre>$ pwd</pre>
Contoh Hasil:
<pre>/home/user</pre>

===rm===

rm atau remove digunakan untuk menghapus file. Secara default, tidak menghapus direktori.

Contoh Pengunaan:
<pre>$ rm [opsi] <file></pre>

===rmdir===

rmdir atau remove directory(ies) digunakan menghapus direktori, apabila kosong.

Contoh Pengunaan:
<pre>$ rmdir <direktori></pre>

===scp===

Untuk menyalin file dari satu host ke host lainnya. contoh mengirim file buku.txt dari host 192.168.1.1 dengan user aku.
 $ '''scp''' aku@192.168.1.1:/home/buku.txt /home/

===shutdown===

Perintah ini untuk mematikan sistem, seperti perintah halt. Pada beberapa sistem anda bisa menghentikan komputer dengan perintah shutdown -h now dan merestart sistem dengan perintah shutdown -r now atau dengan kombinasi tombol Ctr-Alt-Del..

===su===

Untuk login sementara sebagai user lain. Bila user ID tidak disertakan maka komputer menganggap Anda ingin login sementara sebagai super user atau root. Bila Anda bukan root dan user lain itu memiliki password maka Anda harus memasukkan passwordnya dengan benar. Tapi bila Anda adalah root maka Anda dapat login sebagai user lain tanpa perlu mengetahui password user tersebut.

===tail===

Menampilkan 10 baris terakhir dari suatu file. Default baris yang ditampilkan adalah 10 tapi Anda bisa menentukan sendiri berapa baris yang ingin ditampilkan:
 $ tail <jumlah baris> <file>

===talk===

Untuk mengadakan percakapan melalui terminal. Input dari terminal Anda akan disalin di terminal user lain, begitu sebaliknya.

===tar===

Menyimpan dan mengekstrak file dari media seperti tape drive atau hard disk. File arsip
tersebut sering disebut sebagai file tar. Sintaknya sebagai berikut:
 $ '''tar''' <aksi> <option> <file atau direktori>

Contoh:
 $ '''tar''' -czvf namaFile.tar.gz /nama/direktori/*
Perintah di atas digunakan untuk memasukkan semua isi direktori, lalu dikompres dengan format tar lalu di zip dengan gzip, sehingga menghasilkan sebuah file bernama namaFile.tar.gz

 $ '''tar''' -xzvf namaFile.tar.gz
Perintah di atas untuk mengekstrak file namaFile.tar.gz

===umount===
Adalah kebalikan dari perintah mount, yaitu untuk meng-unmount filesystem dari mount-pointnya. Setelah perintah ini dijalankan direktori yang menjadi mount-point tidak lagi bisa digunakan.
 # '''umount''' <filesystem>

===unalias===

Kebalikan dari perintah alias, perintah ini akan membatalkan sebuah alias. Jadi untuk membatalkan alias dir seperti telah dicontohkan diatas, gunakan perintah:
 $ '''unalias''' dir

===unzip===

Digunakan untuk mengekstrak atau menguraikan file yang dikompres dengan zip. Sintaknya sederhana dan akan mengekstrak file yang anda tentukan:
 $ '''unzip''' <namafile>

Lihat juga perintah-perintah '''gzip''' dan '''unzip'''.

===wall===

Mengirimkan dan memberitahu tentang isi pesan dan menampilkannya di terminal tiap user yang sedang login. Perintah ini berguna bagi superuser atau root untuk memberikan peringatan ke seluruh user, misalnya pemberitahuan bahwa server sesaat lagi akan dimatikan.
 # wall Dear, everyone..... Maaf Saya LAgi Marah, server akan saya matikan 10 menit lagi.

===who===

Untuk menampilkan siapa saja yang sedang login dan aktif / sedang menjalankan program . Perintah ini akan menampilkan informasi mengenai login name, jenis terminal, waktu login dan remote hostname untuk setiap user yang saat itu sedang login. Misalnya:
 $ '''who'''
 root ttyp0 May 22 11:44
 flory ttyp2 May 22 11:59
 pooh ttyp3 May 22 12:08

=== xhost +===

Perintah ini digunakan untuk memberi akses atau menghapus akses(xhost -) host atau user ke sebuah server X.

===xset===

Perintah ini untuk mengeset beberapa option di X Window seperti bunyi bel, kecepatan mouse, font, parameter screen saver dan sebagainya. Misalnya bunyi bel dan kecepatan mouse dapat Anda set menggunakan perintah ini:
 $ '''xset''' b <volume> <frekuensi> <durasi dalam milidetik>

 $ '''xset''' m <akselerasi> <threshold>

===zip===

Perintah ini akan membuat dan menambahkan file ke dalam file arsip zip. Lihat juga perintah gzip dan unzip.

{{GNU Linux}}

Linux Sebagai Bagian Sistem Operasi

Sistem Operasi Linux/UNIX terdiri dari kernel, program sistem dan beberapa program aplikasi. Kernel merupakan inti dari sistem operasi yang mengatur penggunaan memori, piranti masukan keluaran, proses-proses, pemakaian file pada file system dan lain-lain. Kernel juga menyediakan sekumpulan layanan yang digunakan untuk mengakses kernel yang disebut system call. System call ini digunakan untuk mengimplementasikan berbagai layanan yang dibutuhkan oleh sistem operasi.

Program sistem dan semua program-program lainnya yang berjalan di atas kernel disebut user mode. Perbedaan mendasar antara program sistem dan program aplikasi adalah program sistem dibutuhkan agar suatu sistem operasi dapat berjalan sedangkan program aplikasi adalah program yang dibutuhkan untuk menjalankan suatu aplikasi tertentu.

Contoh : daemon merupakan program sistem dan pengolah kata (word processor) merupakan program aplikasi.

Bagian penting kernel Linux
Kernel Linux terdiri dari beberapa bagian penting, seperti : manajemen proses, manajemen memori, hardware device drivers, filesystem drivers, manajemen jaringan dan lain-lain. Namun bagian yang terpenting ialah manajemen proses dan manajemen memori. Manajemen memori menangani daerah pemakaian memori, daerah swap, bagian-bagian kernel dan untuk buffer cache. Manajemen proses menangani pembuatan proses-proses dan penjadwalan proses. Pada bagian dasar kernel berisi hardware device drivers untuk setiap jenis hardware yang didukung.

Referensi :

roy87.blogspot.com

7 Oktober 2012

Kelebihan Linux

Di sini akan dijelaskan beberapa kelebihan dari sistem operasi Linux/UNIX dibandingkan dengan dengan sistem operasi yang lain. Dan berikut ini adalah beberapa fakta dari hal-hal yang menguntungkan dengan menggunakan program dan file-file Linux/UNIX :

  1. Pada dasarnya semua data tersimpan di dalam harddisk walau ada beberapa kondisi dimana data tersimpan di disket. Linux/UNIX memberikan beberapa proses spesial dimana terminal, printer dan device. hardware lainnya dapat diakses seperti kita mengakses file yang tersimpan dalam harddisk atau disket.
  2. Ketika program dijalankan, program tersebut dijalankan dari harddisk ke dalam RAM dan setelah dijalankan akan dinamakan sebagai proses.
  3. Linux/UNIX menyediakan servis untuk membuat, memodifikasi program, proses dan file.
  4. Linux/UNIX mendukung struktur file yang bersifat hirarki.
  5. Linux/UNIX adalah salah satu sistem operasi yang termasuk ke dalam kelas sistem operasi yang dapat melakukan multitasking. Multitasking sendiri adalah keadaan dimana suatu sistem operasi dapat melakukan banyak kerjaan pada saat yang bersamaan.
  6. Selain multitasking, Linux/UNIX juga dapat mendukung multiuser. Yaitu sistem operasi yang pada saat bersamaan dapat digunakan oleh lebih dari satu user yang masuk ke dalam sistem. Bahkan untuk Linux juga mendukung untuk multiconsole dimana pada saat bersamaan di depan komputer langsung tanpa harus melalui jaringan dan memungkinkan lebih dari satu user masuk ke dakam sistem.

Referensi : http://roy87.blogspot.com/2011/09/kelebihan-linux.html

Sejarah Linux

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).

Referensi:

  • Sofana, Iwan. 2006. Mudah Belajar Linux. Bandung: Informatika
  • http://www.thinkgeek.com/books/nonfiction/38b2/
  • http://www.softpanorama.org/People/Torvalds/linus_finland_period.shtml
  • http://www.thocp.net/biographies/torvalds_linus.html