BAB II TINJAUAN PUSTAKA 2.1. Landasan Teori 2.1.1 Sistem Operasi Sistem Operasi adalah sebuah perangkat lunak (software) yang berfungsi untuk mengalokasikan sumber daya untuk proses. Menurut Stalling (2005) Sistem Operasi adalah suatu program yang mengontrol eksekusi program aplikasi dan berfungsi sebagai antarmuka (interface) antara pengguna komputer dengan hardware komputer.
Gambar 2.1. Alur Kerja Sistem Operasi Tujuan didesain dan dibangunnya sebuah sistem operasi memiliki tiga tujuan diantaranya adalah : •
Kemudahan: Sistem operasi membuat komputer menjadi lebih mudah dipakai dan digunakan.
•
Efisien: Sistem operasi memungkinkan sumber daya sistem komputer untuk digunakan dengan cara yang efisien.
•
Kemampuan berkembang: Sistem operasi harus disusun sedemikian rupa sehingga memungkinkan pengembangan yang efektif, pengujian, dan penerapan fungsi-fungsi sistem yang baru tanpa mengganggu layanan yang sedang berjalan.
Sistem operasi merupakan sebuah elemen terpenting dalam sistem komputer, hal ini berarti sebuah sistem komputer tidak akan bisa dioperasikan tanpa adanya sebuah perangkat lunak sistem operasi yang mengatur alur komunikasi antara perangkat komputer dan pengguna. Menurut Stalling (2005), Pada umumnya sebuah sistem operasi memiliki layanan dalam beberapa bidang yang dibutuhkan oleh pengguna diantaranya adalah : •
Pembuatan program, Sistem operasi menyediakan berbagai fasilitas dan layanan seperti editor dan debugger, untuk membantu para pemrogram dalam membuat program.
•
Eksekusi program, Diperlukan task untuk melakukan eksekusi sebuah program, Instruksi dan data harus dimuatkan ke dalam memori utama, perangkat Input / Output (I/O) dan file harus di inisialisasi, dan sumber daya lainnya harus dipersiapkan.
•
Akses ke perangkat Input/Output, Setiap perangkat I/O masing-masing membutuhkan set instruksi atau signal control untuk operasi.
•
Akses terkontrol ke file, Kontrol harus mencakup pengertian yang tidak hanya sifat perangkat I/O (disk drive, tape drive).
•
Deteksi error dan respons, Bermacam-macam error dapat terjadi pada saat sistem komputer bekerja. Yang meliputi masalah perangkat keras (hardware) internal dan eksternal, kesalahan lain dapat disebabkan oleh masalah perangkat lunak (software)
•
Accounting, Sistem operasi yang baik akan mengumpulkan statistik pemakaian dari berbagai macam sumber daya dan memonitor parameter kinerja, seperti
waktu respons.
Adapun lapisan-lapisan sebuah sistem komputer dapat dideskripsikan seperti pada gambar berikut :
Gambar 2.2 Lapisan Dan Gambaran Sebuah Sistem Komputer (Sumber : Operating System 'Internal and Design Principles'. 2005)
Menurut Anonim (2009) Sistem operasi memiliki tipe dan karakteristik yang berbeda untuk masing-masing arsitektur, diantaranya adalah sebagai berikut : •
Realtime, sebuah tipe sistem operasi yang berfungsi untuk menjalankan perangkat lunak yang bersifat realtime, dengan tujuan untuk
mengutamakan
kecepatan respon terhadap proses •
Multi-User, sebuah tipe sistem operasi yang memungkinkan satu pengguna atau lebih untuk mengakses sebuah sistem operasi dalam waktu yang bersamaan.
•
Multi-Tasking & Single-Tasking, sistem operasi yang multi-tasking memungkin satu atau lebih proses (program) untuk berjalan dalam waktu yang bersamaan. Sedangkan sistem operasi yang single-tasking hanya dapat menjalankan satu proses (program).
•
Sistem terdistribusi, adalah sebuah sistem operasi yang terdistribusi untuk mengatur sebuah kelompok komputer untuk dapat menjadi satu sistem komputer, yang terdistribusi menggunakan fasilitas jaringan komputer agar saling terhubung dan berkomunikasi satu sama lain.
•
Sistem embeded, adalah sistem operasi yang dirancang untuk dapat digunakan pada sistem komputer yang memiliki sumber daya yang kecil, sistem operasi ini dirancang khusus untuk memiliki kapasitas yang kecil akan tetapi efisien untuk menjalankan sistem komputer yang memiliki sumber daya yang kecil.
2.1.1.1 Kernel Kernel
adalah
sebuah
perangkat
lunak
yang
didesain
untuk
mengalokasikan memory untuk proses yang dijalankan oleh user. Menurut Santoso (2005). Kernel merupakan jantung dari sistem operasi. Semua proses input dan output yang berlangsung selama komputer berjalan diatur oleh kernel seperti pembacaan dan penulisan terhadap disk, manajemen memory dan penjadwalan program aplikasi.
Gambar 2.3 Fungsi Dan Tujuan Kernel (Sumber : Operating System 'Internal and Design Principles'. 2005) Seiring
dengan
berkembangnya
teknologi,
terdapat
beberapa
perkembangan kernel dari berbagai variasi sistem operasi sistem operasi, variasi kernel tersebut dapat dibagi menjadi empat jenis diantaranya adalah sebagai berikut :
• Monolithic Kernel, adalah sebuah kernel yang menyediakan layanan abstraksi penggunaan perangkat keras (hardware) yang sangat banyak. • MicroKernel, adalah kernel yang hanya menyediakan layanan abstraksi perangkat keras yang sederhana, dan menyediakan fungsi aplikasi sebagai server. • Hybrid Kernel, adalah kernel yang memiliki arsitektur sistem yang serupa dengan microkernel, kelebihan dari Hybrid Kernel lebih mengutamakan kecepatan dengan menambahkan paket-paket pustaka untuk meningkatkan kinerja. • ExoKernel, adalah kernel yang tidak menyediakan abstraksi perangkat keras (hardware), Exokernel hanya menyediakan library-library yang menyediakan layanan akses langsung ke perangkat keras.
2.1.2 Open Source & General Public License (GPL) 2.1.2.1 Open Source Open Source adalah sebuah gagasan pengembangan perangkat lunak (software) yang bersifat terbuka. Open source merupakan pengembangan perangkat lunak yang berorientasi pada kebebasan penggunaan, sehingga perangkat lunak yang kode sumbernya dibuat terbuka dapat dipelajari, dikembangkan dan didistribusikan kembali tanpa ada diskriminasi.
Menurut Stallman (2010) Open source adalah metodologi pengembangan perangkat lunak yang berdasarkan pada kebebasan, perangkat lunak bebas merupakan sebuah gerakan sosial untuk membebaskan pengguna untuk menggunakan, mempelajari, memodifikasi dan mendistribusikan kembali sebuah perangkat lunak. Menurut
Open
source
initiative
(2005),
perangkat
lunak
yang
dikembangkan secara bebas dan terbuka (open source) memuat beberapa kriteria diantaranya : 1. Bebas di distribusikan 2. Kode sumber yang terbuka 3. Dapat dikembangkan secara bersama-sama 4. Integritas pengembang awal perangkat lunak sumber terbuka 5. Tidak ada diskriminasi dari orang atau kelompok 6. Tidak ada diskriminasi berdasarkan lokasi / daerah / negara 7. Bebas di distribusikan dan dikembangkan kembali. 8. Lisensi tidak menspesifikasikan produk perangkat lunak 9. Tidak membatasi perangkat lunak lain. 10. Diharus menggunakan teknologi yang netral Open Source Software merupakan sebuah pengembangan perangkat lunak dengan sumber yang dibuat terbuka agar dapat dipelajari dan dikembangkan kembali oleh pengembang lain. Open Source Software didefinisikan sebagai perangkat lunak yang dikembangkan secara gotong-royong tanpa koordinasi
resmi, menggunakan kode program (source code) yang tersedia secara bebas, serta didistribusikan melalui media internet.
2.1.2.2 General Public License (GPL) General Public License atau lisensi umum adalah lisensi yang dibuat berdasarkan pada gagasan pengembangan perangkat lunak berbasis open source. open source merupakan perangkat lunak yang dikembangkan berdasarkan pada kepedulian terhadap sesama, software yang dikembangkan secara open source bukan berarti tidak memiliki lisensi, akan tetapi telah disepakati bahwa perangkat lunak yang dibangun dan dikembangkan secara terbuka (open source) akan diberikan lisensi penggunaan publik, adapun lisensi yang diberikan adalah GPL (General Public License). Menurut Stallman (2011) Perangkat lunak yang menggunakan lisensi umum (General Public License) diwajibkan untuk mengacu ke empat prinsip dasar berikut : 1. Kebebasan menjalankan program untuk tujuan apapun. 2. Kebebasan untuk mempelajari dan mengubah perangkat lunak. 3. Kebebasan untuk mendistribusi software secara bebas tanpa ada diskriminasi atas suku, ras, agama, dan budaya 4. Kebebasan untuk mengembangkan dan merilis ke publik, sehingga dapat digunakan oleh masyarakat.
Lisensi GPL memberikan hak kepada orang lain untuk menggunakan sebuah ciptaan asalkan modifikasi atau produk dari ciptaan tersebut memiliki lisensi yang sama.
2.1.3 GNU / LINUX GNU (Genuine not Unix) yang berarti bukan mesin unix digagaskan pertama kali oleh Richard Matius Stallman pada pertengahan Tahun 1980, berawal dari keresahan pembatasan hak (lisensi) penggunaan sebuah perangkat lunak. Unix merupakan sebuah perangkat lunak yang tersusun dari bagian-bagian yang berbeda-beda dan dikembangkan secara komersil. Stallman merintis pengembangan perangkat lunak yang berorientasi pada kebebasan pengguna. GNU bertujuan untuk memberdayakan kebebasan para pengguna dengan kebebasan menggunakan dan mengembangkan sebuah perangkat lunak. Menurut Stallman (2011), GNU adalah sebuah sistem operasi yang sepenuhnya terdiri dari perangkat lunak bebas, merupakan akronim untuk GNU's Not Unix (GNU Bukanlah Unix). Proyek ini memperkenalkan konsep copyleft yang pada dasarnya mengadopsi prinsip copyright, namun prinsip tersebut digunakan untuk menjamin kebebasan berkreasi. Jaminan tersebut berbentuk pelampiran kode sumber (source code), serta pernyataan bahwa perangkat lunak tersebut boleh dimodifikasi asalkan tetap mengikuti prinsip copyleft.
Konsep dari proyek GNU ini lebih dikenal dengan istilah "Free Software". Konsep GNU yang dirintis oleh Stallman banyak diadopsi dan digunakan oleh pengguna komputer (programmer / developer), sehingga semakin hari perkembangan perangkat lunak semakin pesat. Pada awal tahun 1991 seorang Mahasiswa Finlandia bernama Linus Torvalds, telah merilis sebuah kernel sistem operasi yang diberi nama Linux (Like Unix). Linux adalah sebuah kernel yang didesain secara unik yang didesain mirip dengan Unix, Linux mengutamakan kecepatan pengaksesan data, dan menggunakan prinsip kerja penggunaan kernel monolithic. Menurut Sofyan (2001) Linux adalah sebuah program open source, dikembangkan dibawah lisensi GPL (General Public License). Linux mengadopsi lisensi GPL (General Public License) sehingga Linux dapat didistribusikan, dikembangkan, dan digunakan oleh siapa saja, melalui berbagai media internet.
2.1.4 Kelebihan GNU/LINUX GNU/Linux adalah sebuah Sistem operasi yang dikembangkan secara terbuka dengan lisensi umum (GPL), GNU/Linux memiliki keunggulan, diantaranya adalah sebagai berikut : 1. Bebas untuk digunakan karena menggunakan lisensi umum, sehingga bisa digunakan, dipelajari, dan dikembangkan oleh siapapun tanpa ada batasan. 2. Kelengkapan Fitur, GNU/Linux menyediakan banyak fungsi untuk berbagai kebutuhan, misalnya membuat dokumen, mengedit teks, mengedit gambar,
memainkan musik, video, internet, jaringan komputer dan sebagainya. 3. Tidak bergantung dengan salah satu vendor karena didukung oleh banyak komunitas dalam hal dokumentasi penggunaan, dan solusi pemecahan masalah. 4. Relatif aman dari serangan virus, mallware dan worm 5. Kompatibel dengan berbagai perangkat keras komputer, arsitektur dan processor komputer.
2.1.5 Pemaketan Sistem Operasi (Remastering) Remastering adalah suatu proses pemaketkan kembali distro yang menjadi dasar (basis) distribusi Linux rujukan menjadi sebuah distribusi Linux baru, yang sesuai dengan keinginan dan kebutuhan pengguna. Keuntungan dalam pembuatan remastering distro adalah tidak perlu adanya pengumpulan paket serta kompilasi terhadap kernel, dan kestabilan sistem sudah terjamin karena menggunakan distribusi distro besar sebagai basis pembuatannya.
Menurut Vandian (2013), Remastering Linux adalah sebuah proses untuk membuat sebuah linux baru dari linux yang sudah ada. Tahapan-tahapan yang dilakukan pada umumnya dalam proses remastering adalah sebagai berikut :
Gambar 2.4 Proses Remastering Distribusi GNU/Linux (Sumber : Jurnal ILOS 'IPB LInux Operating System : 2009 ) 2.2. Penelitian Terkait Menurut
Yusriadi
(2010)
dalam
penelitiannya
telah
melakukan
pengembangan sistem operasi berbasiskan GNU/Linux menggunakan teknik remastering dan menggunakan distribusi linux Mandriva sebagai distribusi linux acuan. Tujuan dikembangkan sistem operasi berbasiskan GNU/Linux adalah untuk membuat sebuah sistem operasi berbasiskan linux dan memodifikasi perangkat lunak yang diperlukan dengan tujuan dapat membantu pengguna yang masih kesulitan untuk menginstall dan belajar menggunakan Linux, terutama untuk masyarakat yang menggunakan perangkat komputer notebook. Metode penelitian ini merupakan penelitian dan pengembangan model pembelajaran, yang ditekankan pada pengguna yang memiliki netbook. Metode penelitian yang digunakan dalam penulisan ini adalah dengan studi kepustakaan, maka kerangka
penelitian secara garis besar di buat dengan urutan sebagai berikut : 1. Mengumpulkan paket untuk analisa kebutuhan. 2. Analisis paket. 3. Mengembangkan dan memilih alternatif tindakan. 4. Uji coba model baru & uji reaksi. 5. Penambahan paket baru untuk diagnosa. 6. Analisa ulang dan pengembangan serta revisi model.
Sehingga dengan adanya penelitian diatas menghasilkan sebuah distribusi Linux Mandriva Flash 2010. didalam perangkat sistem operasi Mandriva Flash 2010 yang telah memuat perangkat lunak untuk perkantoran, hiburan, dan internet. Menurut Hendriadi, dkk (2005) dalam penelitiannya telah melakukan pengembangan sistem operasi berbasiskan GNU/Linux dengan menggunakan teknik remastering pada sistem operasi berbasis GNU/Linux. Dengan tujuan untuk menunjang aktifitas perkuliahan dan kegiatan akademik, berdasarkan pada hal tersebut maka akan didesain sebuah distribusi linux dengan nama Linuks (Linux Universitas Karawang), sehingga dengan didesainnya linuks dapat menunjang aktifitas perkuliahan. Linuks dilengkapi dengan fitur-fitur yang dibutuhkan oleh pengguna, dimana fitur-fitur yang dimuat didalam linuks sesuai dengan kebutuhan pengguna, yang sebelumnya telah dilakukan pengumpulan data melalui kuisioner, sehingga perangkat lunak yang dimuat didalam linuks meliputi perangkat lunak
perkantoran, pengolah gambar, pengolah suara, edukasi, pendidikan, perangkat lunak pemrograman, perangkat lunak religi, akuntansi, dan statistik. Pebriananta, dkk (2011) dalam penelitian yang telah dilakukan dengan mengembangkan sistem operasi berbasiskan GNU/Linux, dengan melakukan teknik remastering pada distribusi Linux Ubuntu “Karmic Koala” untuk membangun distro pemantau / monitoring kinerja jaringan komputer, distribusi linux yang dikembangkan didesain khusus untuk dapat memantau aktifitas dan kinerja jaringan komputer, sehingga dengan adanya distribusi Linux yang dikembangkan dapat meningkatkan tingkat keamanan jaringan komputer, proses remastering dilakukan pada distribusi Linux Ubuntu “Karmic Koala” yang diremaster menggunakan tools reconstructor. Distribusi linux yang dikembangkan diberi nama “SuloLinuz” yang dilengkapi berbagai fitur menarik, SuloLinuz menggunakan desktop environment yang berbeda dengan distro basisnya. Sulolinuz
menggunakan
LXDE
desktop
environment.
Sehingga
dengan
didesainnya SuloLinuz dapat membantu aktifitas administrator dalam melakukan proses monitoring terhadap aktifitas jaringan komputer. Dalam penelitian yang penulis lakukan memiliki kesamaan dibidang teknik pengembangan dengan melakukan remastering sistem operasi berbasiskan GNU/Linux, akan tetapi tingkat remastering yang dilakukan oleh penulis sampai ketahapan kostumisasi kernel Linux agar dapat mengenal lebih banyak perangkat keras komputer seperti modem, wireless, dan perangkat peripheral lainnya, sehingga berbeda dengan penelitian yang sebelumnya pernah dilakukan. Pada
penelitian ini penulis menggunakan metode penelitian Research & Development, untuk mengembangkan sistem operasi khas daerah Gorontalo yang diberi nama “SarondeOS”, sehingga diharapkan dengan adanya pengembangan ini dapat mempermudah masyarakat kota Gorontalo untuk migrasi dan menggunakan perangkat lunak bebas (Open Source).