Perangkat lunak

komponen tak berwujud yang dapat dijalankan dalam komputer


Perangkat lunak atau piranti lunak adalah program komputer yang berfungsi sebagai sarana interaksi antara pengguna dan perangkat keras. Perangkat lunak dapat juga dikatakan sebagai 'penterjemah' perintah-perintah yang dijalankan pengguna komputer untuk diteruskan ke atau diproses oleh perangkat keras. Perangkat lunak ini dibagi menjadi 3 tingkatan: tingkatan program aplikasi (application program misalnya Microsoft Office), tingkatan sistem operasi (operating system misalnya Microsoft Windows), dan tingkatan bahasa pemrograman (yang dibagi lagi atas bahasa pemrograman tingkat tinggi seperti Pascal dan bahasa pemrograman tingkat rendah yaitu bahasa rakitan).

OpenOffice.org Writer

Perangkat lunak adalah program komputer yang isi instruksinya dapat diubah dengan mudah. Perangkat lunak umumnya digunakan untuk mengontrol perangkat keras (yang sering disebut sebagai device driver), melakukan proses perhitungan, berinteraksi dengan perangkat lunak yang lebih mendasar lainnya (seperti sistem operasi, dan bahasa pemrograman), dan lain-lain.

Lihat pula


Software ( Perangkat lunak ) Perangkat lunak atau piranti lunak adalah program komputer yang berfungsi sebagai sarana interaksi antara pengguna dan perangkat keras. Perangkat lunak dapat juga dikatakan sebagai 'penterjemah' perintah-perintah yang dijalankan pengguna komputer untuk diteruskan ke atau diproses oleh perangkat keras. Perangkat lunak ini dibagi menjadi 3 tingkatan: tingkatan program aplikasi (application program misalnya Microsoft Office), tingkatan sistem operasi (operating system misalnya Microsoft Windows), dan tingkatan bahasa pemrograman (yang dibagi lagi atas bahasa pemrograman tingkat tinggi seperti Pascal dan bahasa pemrograman tingkat rendah yaitu bahasa rakitan). Perangkat lunak adalah program komputer yang isi instruksinya dapat diubah dengan mudah. Perangkat lunak umumnya digunakan untuk mengontrol perangkat keras (yang sering disebut sebagai device driver), melakukan proses perhitungan, berinteraksi dengan perangkat lunak yang lebih mendasar lainnya (seperti sistem operasi, dan bahasa pemrograman), dan lain-lain. Penjelasan Lebih Lanjut : Perangkat lunak dibagi menjadi 3 tingkatan: - Tingkatan program aplikasi Perangkat lunak aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer, tapi tidak secara langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata, lembar kerja, dan pemutar media. Beberapa aplikasi yang digabung bersama menjadi suatu paket kadang disebut sebagai suatu paket atau suite aplikasi (application suite). Contohnya adalah Microsoft Office dan OpenOffice.org, yang menggabungkan suatu aplikasi pengolah kata, lembar kerja, serta beberapa aplikasi lainnya. Aplikasi-aplikasi dalam suatu paket biasanya memiliki antarmuka pengguna yang memiliki kesamaan sehingga memudahkan pengguna untuk mempelajari dan menggunakan tiap aplikasi. Sering kali, mereka memiliki kemampuan untuk saling berinteraksi satu sama lain sehingga menguntungkan pengguna. Contohnya, suatu lembar kerja dapat dibenamkan dalam suatu dokumen pengolah kata walaupun dibuat pada aplikasi lembar kerja yang terpisah. Klasifikasi aplikasi Aplikasi dapat digolongkan menjadi beberapa kelas, antara lain: 1. Perangkat lunak perusahaan (enterprise) 2. Perangkat lunak infrastruktur perusahaan 3. Perangkat lunak informasi kerja 4. Perangkat lunak media dan hiburan 5. Perangkat lunak pendidikan 6. Perangkat lunak pengembangan media 7. Perangkat lunak rekayasa produk Perangkat lunak perusahaan • Perangkat lunak akuntansi • Bagian pendukung (back office) • Perangkat lunak bisnis • Manajemen sumber daya manusia Perangkat lunak infrastruktur perusahaan • Perangkat lunak alur kerja bisnis • Sistem manajemen basis data • Manajemen aset digital • Manajemen dokumen Perangkat lunak informasi kerja • Manajemen waktu dan sumber daya • Manajemen data • Dokumentasi • Perangkat lunak analitik • Perangkat lunak kolaborasi Perangkat lunak media dan hiburan • Media digital • Perangkat lunak hiburan Perangkat lunak pendidikan • Manajemen ruang kelas • Manajemen survei • Manajemen pelatihan • Perangkat lunak kesiapan penjualan Perangkat lunak pengembangan media • Perangkat lunak seni grafis • Penyuntingan media Perangkat lunak rekayasa produk • Rekayasa perangkat keras • Rekayasa perangkat lunak - Tingkatan sistem operasi Dalam Ilmu komputer, Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web. Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi. Pendahuluan Biasanya, istilah Sistem Operasi sering ditujukan kepada semua software yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi software terinstall. Dalam Ilmu komputer, Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web. Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.

Kalau sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi adalah penghubung antara lapisan hardware dan lapisan software. Lebih jauh daripada itu, Sistem Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin aplikasi software lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem file. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi mengatur skedule yang tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.

Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.

Sistem Operasi secara umum terdiri dari beberapa bagian: 1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory 2. Kernel, yaitu inti dari sebuah Sistem Operasi 3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna 4. Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain 5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka.

Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu, tetapi sebagian besar Sistem Operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang bersamaan. Sistem Operasi seperti itu disebut sebagai Multi-tasking Operating System. Beberapa Sistem Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung kepada input pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS

Sebagai contoh, yang dimaksud sistem operasi itu antara lain adalah Windows, Linux, Free BSD, Solaris, palm, dan sebagainya. Layanan inti umum Seiring dengan berkembangnya Sistem Operasi, semakin banyak lagi layanan yang menjadi layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan network dan koneksitas internet, yang dulunya tidak menjadi layanan inti umum. Sistem Operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.

Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman Aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah program aplikasi dapat berkomunikasi dengan Sistem Operasi. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User, program juga berkomunikasi dengan program lainnya melalui API.

Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat untuk windows 3.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara window program tersebut dengan program yang lain. Sistem Operasi saat ini Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar: 1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7 (Seven) yang akan dirilis pada tahun 2009, dan Windows Orient yang akan dirilis pada tahun 2014)). 2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd. 3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.4 (Tiger). Awal tahun 2007 direncanakan peluncuran versi 10.5 (Leopard). Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll. Proses Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah chip dalam sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi. Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkan proses adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini sangat menghemat pemakaian memori. Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa proses secara bersamaan. Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya). Status Proses Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu: 1. Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya 2. Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor 3. Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas - Tingkatan bahasa pemrograman Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer, adalah teknik komando/instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu set aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi. Bahasa pemrograman Komputer adalah mesin yang dapat melaksanakan seperangkat perintah dasar (instruction set). Komputer hanya dapat diberi perintah yang terdiri dari perintah-perintah dasar tersebut. Perintah-perintah yang lebih rumit (misalnya mengurutkan suatu daftar sesuai abjad) harus diterjemahkan menjadi serangkaian perintah-perintah dasar yang dapat dimengerti komputer (perintah-perintah yang termasuk dalam instruction set komputer tersebut) yang pada akhirnya dapat mennyelesaikan tugas yang diinginkan, meskipun dijalankan dengan beberapa operasi dasar, bukan satu operasi rumit. Bahasa pemrograman adalah bahasa yang dapat diterjemahkan menjadi kumpulan perintah-perintah dasar tersebut. Penerjemahan dilakukan oleh program komputer yang disebut kompilator (compiler). Setiap bahasa pemrograman mempunyai kompilatornya sendiri. Contohnya, kompilator C++ tidak akan mengerti program yang ditulis dengan bahasa Java. Sintaks dari bahasa pemrograman lebih mudah dipahami oleh manusia daripada sintaks perintah dasar. Namun tentu saja komputer hanya dapat melaksanakan perintah dasar itu. Maka di sinilah peran penting kompilator sebagai perantara antara bahasa pemrograman dengan perintah dasar. Kegiatan membuat program komputer dengan menggunakan bahasa pemrograman disebut pemrograman komputer. Contoh bahasa pemrogaman adalah bahasa FORTRAN, COBOL, BASIC, JAVA, dan C++. Daftar bahasa pemrogram Berikut ini adalah daftar bahasa pemrograman komputer: • Ada • ALGOL • Assembly • BASIC: o ASP o BASIC o COMAL o Visual Basic o Visual Basic for Applications o VBScript • Batch (MS-DOS) • COBOL • UNIX shell script: o Bourne shell (sh) script o Bourne-Again shell (bash) script o Korn shell (ksh) script o C shell (csh) script • C: o C++ o C# o Visual C++ • ColdFusion • dBase dkk.: o Clipper o Foxbase o FoxPro o Visual FoxPro • Eiffel • FORTRAN • Haskell • Java o JavaScript o JSP • Lisp • Logo • Pascal o Delphi • Perl • Prolog • Python • PHP • Pike • REXX • RPG • Ruby • Simula • Smalltalk • Scheme • SQL Lain – Lain : Freeware ( Perangkat lunak bebas ) Perangkat lunak bebas (Inggris: free software) adalah istilah yang diciptakan oleh Richard Stallman dan Free Software Foundation [1] yang mengacu kepada perangkat lunak yang bebas untuk digunakan, dipelajari dan diubah serta dapat disalin dengan atau tanpa modifikasi, atau dengan beberapa keharusan untuk memastikan bahwa kebebasan yang sama tetap dapat dinikmati oleh pengguna-pengguna berikutnya. Bebas di sini juga berarti dalam menggunakan, mempelajari, mengubah, menyalin atau menjual sebuah perangkat lunak, seseorang tidak perlu meminta ijin dari siapa pun. Untuk menjadikan sebuah perangkat lunak sebagai perangkat lunak bebas, perangkat lunak tersebut harus memiliki sebuah lisensi, atau berada dalam domain publik dan menyediakan akses ke kode sumbernya bagi setiap orang. Gerakan perangkat lunak bebas (free software movement) yang merintis perangkat lunak bebas berawal pada tahun 1983, bertujuan untuk memberikan kebebasan ini dapat dinikmati oleh setiap pengguna komputer. Dengan konsep kebebasan ini, setiap orang bebas untuk menjual perangkat lunak bebas, menggunakannya secara komersial dan mengambil untung dari distribusi dan modifikasi kode sumbernya. Walaupun demikian setiap orang yang memiliki salinan dari sebuah perangkat lunak bebas dapat pula menyebarluaskan perangkat lunak bebas tersebut secara gratis. Model bisnis dari perangkat lunak bebas biasanya terletak pada nilai tambah seperti dukungan, pelatihan, kustomisasi, integrasi atau sertifikasi. Perangkat lunak bebas (free software) jangan disalahartikan dengan perangkat lunak gratis (freeware) yaitu perangkat lunak yang digunakan secara gratis. Perangkat lunak gratis dapat berupa perangkat lunak bebas atau perangkat lunak tak bebas. Sejak akhir tahun 1990-an, beberapa alternatif istilah untuk perangkat lunak bebas digulirkan seperti "perangkat lunak sumber terbuka" (open-source software), "software libre", "FLOSS", dan "FOSS". Dewasa ini umumnya perangkat lunak bebas tersedia secara gratis dan dibangun/dikembangkan oleh suatu paguyuban terbuka. Anggota-anggota paguyuban tersebut umumnya bersifat sukarela tetapi dapat juga merupakan karyawan suatu perusahaan yang memang dibayar untuk membantu pengembangan perangkat lunak tersebut. Sejarah Artikel utama untuk bagian ini adalah: Sejarah perangkat lunak bebas Pada 1950-an, 1960-an dan 1970-an, suatu perangkat lunak dapat dibagi penggunaannya secara bebas oleh pengguna-pengguna komputer. Industri perangkat keras sangat diuntungkan karena dengan dibuatnya suatu perangkat lunak yang berjalan di atas perangkat keras yang mereka buat, menjadikan perangkat keras mereka berguna. Pada 1970-an dan akhir 1980-an, perusahaan-perusahaan pembuat perangkat lunak mulai menggunakan hak cipta untuk melarang penggunaan perangkat lunak berbagi, dan mulai menyebarkan perangkat lunak dalam format biner (format terkompilasi) dan bukannya dalam kode sumber untuk mencegah perangkat lunak untuk dapat dipelajari atau dimodifikasi. Pada 1983, Richard Stallman meluncurkan proyek GNU setelah merasa frustasi dengan efek yang ditimbulkan dari perubahan budaya industri komputer dan pengguna-penggunanya. Pengembangan perangkat lunak sistem operasi GNU dimulai pada Januari 1984, dan Yayasan Perangkat Lunak Bebas (FSF) didirikan pada Oktober 1985. Ia memperkenalkan definisi perangkat lunak bebas dan "copyleft", yaitu sebuah model lisensi yang memastikan kebebasan dalam hal penggunaan perangkat lunak bebas bagi semua orang.[2] Perangkat lunak bebas merupakan upaya besar dari dunia internasional untuk menghasilkan perangkat lunak yang digunakan oleh individu, perusahaan besar dan lembaga pemerintah. Perangkat lunak bebas memiliki penetrasi pasar yang tinggi dalam aplikasi server Internet seperti Apache HTTP Server, sistem basisdata MySQL, dan bahasa skrip PHP. Paket besar perangkat lunak bebas juga tersedia seperti GNU/Linux dan FreeBSD. Pengembang-pengembang perangkat lunak bebas juga telah membuat versi bebas dari aplikasi-aplikasi dekstop yang umum digunakan seperti penjelajah web, paket perkantoran dan pemutar multimedia. Tetapi perlu dicatat bahwa dalam banyak kategori, perangkat lunak bebas yang digunakan untuk pengguna-pengguna individu atau pengguna rumahan hanya memiliki porsi kecil dari pasar yang lebih banyak dikuasai oleh perangkat lunak berbayar. Kebanyakan perangkat lunak bebas didistribusikan secara online dan gratis, atau secara off-line dengan dikenai sejumlah biaya untuk distribusi. Keuntungan ekonomis dari model perangkat lunak bebas telah diakui oleh beberapa perusahaan besar seperti IBM, Red Hat, dan Sun Microsystems. Banyak perusahaan yang bisnis intinya tidak berada dalam sektor teknologi informasi memilih perangkat lunak bebas sebagai solusi Internet mereka karena investasi yang rendah dan kebebasan untuk kustomisasi. Contoh perangkat lunak bebas Beberapa perangkat lunak bebas yang dikenal secara internasional: • Sistem operasi: GNU/Linux, BSD, Darwin, dan OpenSolaris • Kompilator GCC, GDB debugger dan C libraries • Server: BIND name server, Sendmail mail transport, Apache HTTP Server, dan Samba file server • RDBMS: MySQL dan PostgreSQL • Bahasa pemrograman: Perl, PHP, Python, Ruby dan Tcl • GUI: X Window System, GNOME, KDE, dan Xfce • Paket perkantoran OpenOffice.org, Mozilla dan penjelajah web Firefox serta penyunting grafis GIMP • Sistem dokumen TeX dan LaTeX • Alat bantu UNIX untuk otomatisasi skrip dan pengujian: Expect • Alat bantu UNIX untuk layanan pemantauan jaringan: Nagios • Sistem manajemen konten MediaWiki • ogg: tipe berkas perangkat lunak bebas yang fungsinya menyerupai MP3 atau MP4 • Lihat pula: Kategori:Perangkat lunak bebas Direktori Perangkat Lunak Bebas (Free Software Directory) adalah proyek dari Yayasan Perangkat Lunak Bebas dan UNESCO yang memantau basisdata yang besar dari perangkat lunak bebas. Definisi Artikel utama untuk bagian ini adalah: Definisi perangkat lunak bebas Untuk membantu membedakan antara perangkat lunak bebas dan perangkat lunak gratis, Richard Stallman, pendiri gerakan perangkat lunak bebas, menjelaskan: "Perangkat lunak bebas adalah perihal kebebasan, bukan harga. Untuk mengerti konsepnya, Anda harus memikirkan 'bebas' seperti dalam "kebebasan berpendapat", bukan 'bebas' dalam "bir gratis"..[3] Menurut Richard Stallman dan Yayasan Perangkat Lunak Bebas, suatu perangkat lunak dikatakan perangkat lunak bebas jika pengguna yang menerima salinan perangkat lunak tersebut memiliki empat kebebasan yaitu: • Kebebasan 0: Bebas untuk menjalankan perangkat lunak untuk tujuan apapun. • Kebebasan 1: Bebas untuk mempelajari dan mengubah perangkat lunak. • Kebebasan 2: Bebas untuk menyalin perangkat lunak, sehingga Anda dapat membantu tetangga Anda. • Kebebasan 3: Bebas untuk memajukan perangkat lunak, dan merilisnya ke publik, sehingga komunitas dapat menikmati keuntungan tersebut. Kebebasan 1 dan 3 membutuhkan akses atas kode sumber, karena tidak mungkin untuk mempelajari dan mengubah perangkat lunak tanpa kode sumbernya. Kelompok lainnya telah mempublikasikan definisi lain yang menggambarkan hal yang hampir sama tentang perangkat lunak bebas. Panduan Perangkat Lunak Bebas Debian (Debian Free Software Guidelines) dan Definisi Sumber Terbuka (Open Source Definition) adalah contohnya. Penamaan Artikel utama untuk bagian ini adalah: Istilah alternatif untuk perangkat lunak bebas Beberapa pengguna menggunakan istilah "libre" untuk menghindari disambiguasi dari kata free. Istilah tersebut kebanyakan ditemui di gerakan perangkat lunak bebas. Istilah lainnya yang digunakan adalah "perangkat lunak sumber terbuka" ("open source software") yang tercantum dalam Panduan Perangkat Lunak Bebas Debian yang dibuat pada tahun 1998. Lisensi Artikel utama untuk bagian ini adalah: Lisensi perangkat lunak bebas Baik Yayasan Perangkat Lunak Bebas maupun Inisiatif Sumber Terbuka mempublikasikan daftar lisensi yang cocok dengan definisi perangkat lunak bebas dan perangkat lunak sumber terbuka. (Lihat: Daftar lisensi perangkat lunak yang disetujui FSF dan Daftar lisensi perangkat lunak yang disetujui OSI). Beberapa lisensi perangkat lunak bebas yang umumnya dipakai adalah: • GNU General Public License • GNU Lesser General Public License • BSD License • Mozilla Public License • MIT License • Apache License Lisensi permisif dan copyleft FSF mengelompokkan lisensi-lisensi perangkat lunak bebas ke dalam: • Lisensi-lisensi copyleft, adalah GNU General Public License yang paling menonjol. Lisensi-lisensi ini mengakui hak cipta oleh penciptanya dan mengijinkan pendistribusian dan modifikasi dengan beberapa syarat yang memastikan bahwa semua versi yang telah dimodifikasi tetap bebas selama waktu yang diinginkan penciptanya. • Lisensi-lisensi BSD, dimana umumnya perangkat lunak yang berlisensi ini didistribusikan dengan sistem operasi BSD. Penciptanya memegang hak cipta dan mengharuskan atribusi pada versi-versi yang dimodifikasi, tetapi tetap mengijinkan pendistribusian dan modifikasi selama waktu yang diinginkan penciptanya. • Perangkat lunak domain publik - Pencipta meninggalkan hak ciptanya. Karena perangkat lunak domain publik tidak memiliki perlindungan hak cipta, perangkat lunak lisensi ini dapat secara bebas digunakan dalam bentuk apapun termasuk ke dalam bentuk berbayar. Penciptanya dalam kondisi apapun tidak bisa lagi menetapkan pembatasan-pembatasan apapun setelah dirilis dan diedarkan. Dampak Perangkat lunak bebas memainkan sejumlah peranan dalam pengembangan Internet, World Wide Web dan infrastruktur dari perusahaan-perusahaan dot-com. Perangkat lunak bebas menyebabkan pengguna-pengguna dapat bekerja sama dalam memperbaiki dan memajukan program yang mereka gunakan sehingga menjadikan perangkat lunak bebas sebagai barang publik dan bukannya barang pribadi. Dalam model bisnis perangkat lunak bebas, pembuat dapat mengenakan biaya untuk distribusi dan menawarkan dukungan berbayar serta kustomisasi perangkat lunak. Perangkat lunak tak bebas (proprietary software) menggunakan model bisnis yang berbeda, di mana pengguna harus membayar lisensi sebelum dapat menggunakan perangkat lunak. Terkadang beberapa jenis dukungan purna jual termasuk dalam lisensi perangkat lunak tak bebas tersebut, tetapi tidak banyak perangkat lunak berbayar mengenakan biaya tambahan untuk dukungan. Perangkat lunak bebas pada umumnya tersedia secara gratis atau dengan harga yang relatif murah dibandingkan dengan harga perangkat lunak tak bebas. Dengan perangkat lunak bebas, pebisnis dapat menyesuaikan perangkat lunak sesuai dengan kebutuhan dengan mengubah perangkat lunak. Perangkat lunak bebas pada umumnya tidak memiliki garansi dan tidak mengenakan kewajiban legal kepada siapa pun. Walaupun demikian, garansi terkadang dibuat antara dua belah pihak tergantung perangkat lunak dan penggunaannya berdasarkan persetujuan terpisah dari lisensi perangkat lunak bebas yang bersangkutan. Banyak pihak memperdebatkan segi keamanan dari perangkat lunak bebas yang dianggap lebih rentan dari perangkat lunak berbayar. Pihak pengguna perangkat lunak bebas mengklaim angka celah keamanan perangkat lunak bebas yang lebih banyak dibandingkan celah keamanan yang ditemukan pada perangkat lunak berbayar disebabkan karena kode sumber perangkat lunak bebas dapat diakses siapa pun termasuk pihak-pihak yang menggunakannya secara ilegal. Mereka juga mengklaim walaupun perangkat lunak berbayar tidak mempublikasikan celah keamanan, tetapi celah tersebut ada dan kemungkinan diketahui oleh para peretas. Di segi lain, ketersediaan kode sumber dari perangkat lunak bebas menyebabkan banyak pengguna dapat menganalisa kode sumber tersebut dan menjadikan tingkat kemungkinan tinggi bagi seseorang untuk menemukan suatu celah dan membuat perbaikannya. Kontroversi Kode sumber terbuka merupakan keharusan dalam perangkat lunak bebas. Ada beberapa kontroversi yang disebabkan oleh beberapa bagian dari perangkat lunak bebas yang bertentangan dengan semangat kode sumber terbuka: Binary blobs Pada tahun 2006, OpenBSD memulai kampanye pertama menentang penggunaan binary blobs, binary large objects, dalam kernel. Blobs merupakan device driver yang secara didistribusikan secara bebas untuk perangkat keras dimana kode sumbernya tidak dirilis oleh pembuatnya. Hal ini membatasi kebebasan pengguna untuk mengubah perangkat lunak tersebut. Blobs juga tidak didokumentasikan dan dapat memiliki bug, sehingga memiliki risiko keamanan terhadap kernel yang menggunakannya. Sasaran dari kampanye menentang blobs adalah untuk mengumpulkan dokumentasi perangkat keras yang dapat mendukung pengembang untuk menulis driver yang bebas. Isu blobs dalam kernel Linux dan device driver lainnya memotivasi beberapa pengembang di Irlandia untuk meluncurkan gNewSense, sebuah distro Linux yang tidak memiliki binary blobs. Proyek ini menerima dukungan dari FSF. BitKeeper BitKeepeer adalah sebuah perangkat lunak pengontrol versi buatan Larry McVoy. Ia kemudian membuat proyek-proyek perangkat lunak bebas yang menggunakan BitKeeper, dengan maksud untuk menarik para pengguna. Pada tahun 2002 sebuah keputusan kontroversial dibuat untuk menggunakan BitKeeper dalam pengembangan kernel Linux yang notabene merupakan proyek perangkat lunak bebas. Berikut kutipan dari sebuah tulisan di Newsforge oleh Richard Stallman yang menggambarkan kenapa ini menjadi sumber utama kontroversi. Gerakan perangkat lunak bebas telah mengatakan "Pikirkan kebebasan berpendapat, dan bukannya bir gratis" selama 15 tahun. McVoy mengatakan hal yang sebaliknya; ia mengundang para pengembang untuk memfokuskan pada kurangnya harga dan bukannya kebebasan. Aktivis perangkat lunak bebas seharusnya meninggalkan ide ini, tetapi beberapa orang dalam komunitas kita yang menilai keuntungan teknis di atas kebebasan dan komunitas terpengaruh olehnya.... Sebuah kernel bebas, bahkan sebuah sistem operasi secara keseluruhan, tidaklah cukup untuk menggunakan komputer Anda secara bebas; kita membutuhkan perangkat lunak bebas untuk hal-hal lainnya. Aplikasi bebas, driver bebas, BIOS bebas: beberapa proyek tersebut menghadapi kendala besar -- yaitu kebutuhan untuk melakukan rekayasa terbalik atau menekan perusahaan agar membuat dokumentasi yang diperlukan, atau untuk bekerja dalam ancaman paten. Kesuksesan membutuhkan kekuatan dan determinasi. Kernel yang lebih baik tentu saja dibutuhkan, tetapi tidak atas suatu harga yang akan melemahkan kekuatan untuk membebaskan dunia perangkat lunak yang tersisa." [4] Sehubungan dengan rekayasa terbalik atas protokol-protokol BitKeeper yang dilakukan kemudian, McVoy akhirnya menarik penggunaan gratis untuk proyek-proyek perangkat lunak bebas. Kesepakatan paten Artikel utama untuk bagian ini adalah: Paten perangkat lunak dan perangkat lunak bebas Pada November 2006, Microsoft dan Novell mengumumkan sebuah kerjasama kontroversial yang antara lain berisi tentang proteksi paten untuk beberapa pelanggan Novell dalam beberapa kondisi tertentu. [5] - Open Source Software ( Perangkat lunak sumber terbuka ) Perangkat lunak sumber terbuka (Inggris: open source software) adalah jenis perangkat lunak yang kode sumber-nya terbuka untuk dipelajari, diubah, ditingkatkan dan disebarluaskan. Karena sifat ini, umumnya pengembangannya dilakukan oleh satu paguyuban terbuka yang bertujuan mengembangkan perangkat lunak bersangkutan. Anggota-anggota paguyuban itu seringkali sukarela tapi bisa juga pegawai suatu perusahaan yang dibayar untuk membantu pengembangan perangkat lunak itu. Produk perangkat lunak yang dihasilkan ini biasanya bersifat bebas dengan tetap menganut kaidah dan etika tertentu. Semua perangkat lunak bebas adalah perangkat lunak sumber terbuka, tapi sebaliknya perangkat lunak sumber terbuka belum tentu perangkat lunak bebas, tergantung kaidah yang dipakai dalam melisensikan perangkat lunak sumber terbuka tersebut. Perbedaan perangkat lunak sumber terbuka dengan perangkat lunak gratis Serupa dengan perangkat lunak gratis, perangkat lunak sumber terbuka merupakan perangkat lunak yang juga dapat diperoleh dan didistribusikan secara bebas. Berbeda halnya dengan perangkat lunak gratis yang belum tentu boleh dilihat kode aslinya, perangkat lunak sumber terbuka dapat dibaca kode-kode pemrograman sesuai aslinya. Kode pemrograman ini dapat juga diubah, dimodifikasi dan dikembangkan sendiri oleh kita dengan tetap memperhatikan kaidah yang berlaku sesuai dengan lisensi perangkat lunak tersebut. Sebagai contoh untuk memahami perbedaan antara kedua jenis perangkat ini dapat diilustrasikan misalnya perusahaan Microsoft pada suatu saat menjadikan salah satu produknya menjadi perangkat lunak gratis. Hal ini berarti siapapun dapat mendapatkannya secara gratis. Akan tetapi anda tidak diperkenankan untuk kemudian memodifikasi dan mengembangkan produk perangkat lunak tersebut. Dapat disimpulkan, perangkat lunak sumber terbuka sudah pasti merupakan perangkat lunak gratis, namun sebaliknya perangkat lunak gratis belum tentu merupakan perangkat lunak sumber terbuka.

by abdi smk labor