MEMBUAT DISTRO LINUX “ANDROS”(LINUX EDISI PEMROGRAMAN) Naskah Publikasi disusun oleh Andreas Amunawar 07.01.2236 JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2010 REMASTERING DISTRO LINUX”ANDROS” (LINUX PROGRAMMING EDITION) MEMBUAT DISTRO LINUX “ANDROS” (LINUX EDISI PEMROGRAMAN) Andreas Amunawar Jurusan D3 Teknik Informatika STMIK AMIKOM YOGYAKARTA ABSTRACT Linux is an operating system that more used because Linux is open source, it is also Linux operating system more stable and have better data security when compared to other operating systems. But Linux still has some less, which are less user friendly to either display or desktop application or software installation required.Linux is open source operating system Linux is free to be developed. Linux Andros is a Linux remastering results from Linux Ubuntu 9.04 and derivatives used to get a new Linux distribution based programming applications there in. Linux Andros made as simple as possible and developed with the concept of user-friendly for easy to use. Keyword : Linux, Remastering, Linux Andros, Open source, Linux Programming 1. Pendahuluan Linux merupakan sistem operasi yang banyak digunakan karena bersifat open source, selain itu juga karena sistem operasi Linux lebih stabil dan memiliki keamanan data yang lebih baik apabila dibandingkan dengan sistem operasi lainnya. Tetapi Linux masih mempunyai beberapa kekurangan, diantaranya adalah kurang user friendly baik untuk tampilan desktopnya maupun untuk penginstalan aplikasi atau software yang dibutuhkan bagi para penggunanya. Pengembang dapat membuat sistem operasinya sendiri dan menyertakan aplikasi– aplikasi yang sesuai dengan kebutuhan. Pengembang Linux juga dapat membuat distro baru dengan cara mengambangkan distro yang sudah ada, hal tersebut biasa disebut remastering. Penelitian ini akan mencoba untuk membuat distro Linux baru yang berbasiskan pemrograman, sehingga akan disertakan aplikasi pemrograman yang bisa digunakan dalam distro Linux tersebut. Remastering adalah proses kostumisasi ulang suatu distro ataupu Live CD menjadi sebuah distro Linux baru dengan penambahan atau pengurangan fitur dan aplikasi lainnya sesuai kebutuhan. Sehingga Linux hasil proses remastering dapat memenuhi kebutuhan dari pengembangnya. 2. 2.1 Landasan teori Definisi Linux Linux adalah sistem operasi yang bersifat open source. Linux sebenarnya turunan dari UNIX yang dirancang untuk dijalankan pada personal komputer. UNIX merupakan sistem operasi yang bersifat portable (tidak bergantung pada hardware tertentu) sehingga dapat digunakan dari platform notebook hingga super-computer. 2.2 Sejarah Linux Linux awalnya merupakan proyek hobi yang dibuat oleh Linus Torvald, seorang mahasiswa Universitas Helsinki di Finlandia. Linus Torvald terinspirasi dari sistem operasi Minix yaitu sistem operasi sederhana yang dibuat oleh Andy Tanembaum. Oleh karena itu Linus termotivasi untuk membuat sistem operasi turunan UNIX yang lebih sempurna. Pada bulan Oktober 1991, Linus Torvald mempublikasikan sistem operasi yang bernama Linux (Linu’s Unix). 2.3 Kernel Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Kernel merupakan suatu software yang membentuk sistem dan memiliki tugas melayani bermacam program aplikasi untuk mengakses hardware komputer secara aman dan terkendali Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka Kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing. Ada 4 kategori Kernel: • Monolithic Kernel : Kernel yang menyediakan abstraksi perangkat keras yang kaya dan tangguh. • MicroKernel : Kernel yang menyediakan hanya sekumpulan kecil abstraksi perangkat keras sederhana, dan menggunakan aplikasi-aplikasi yang disebut sebagai server untuk menyediakan fungsi-fungsi lainnya. • Hybrid: Kernel yang mirip MicroKernel, tetapi ia juga memasukkan beberapa kode tambahan di kernel agar kernel menjadi lebih cepat. • ExoKernel : Kernel yang tidak menyediakan sama sekali abstraksi hardware, tapi menyediakan sekumpulan pustaka yang menyediakan fungsi-fungsi akses ke perangkat keras secara langsung atau hampirhampir langsung. 2.4 Izin Akses (File Permision) Izin akses file berarti setiap file memiliki informasi untuk mengatur siapa yang berhak untuk membaca, menjalankan/mengubah file tersebut. Izin akses file digunakan untuk melindungi file/sistem dari orang lain yang tidak mempunyai hak. 2.5 Linux Ubuntu Ubuntu adalah salah satu distribusi Linux yang berbasiskan pada Debian. Proyek Ubuntu disponsori oleh Canonical Ltd. Nama Ubuntu diambil dari nama "Jo Bun Too" berasal dari bahasa kuno Afrika, yang berarti "rasa perikemanusian terhadap sesama manusia". Ubuntu juga bisa berarti "aku adalah aku karena keberadaan kita semua". Tujuan dari distribusi Linux Ubuntu adalah membawa semangat yang terkandung di dalam Ubuntu ke dalam dunia perangkat lunak. 2.6 Remastering Remastering merupakan proses pembungkusan ulang paket aplikasi software di Linux. Bisa dikatakan bahwa remastering merupakan proses pembuatan sistem operasi baru dengan paket aplikasi yang berbeda dari sistem aslinya. Dengan remastering memungkinkan pengguna untuk menambah atau mengurangi paket aplikasi di sistem operasi Linux dengan paket aplikasi yang baru. Latar belakang dari remastering Linux adalah karena Linux induk yang ada belum bisa memenuhi kebutuhan penggunanya. 3 Perancangan 3.1 Gambaran Umum Linux Andros Linux Andros yang akan dibuat didesain secara sederhana dengan menerapkan konsep user friendly. Mahasiswa maupun masyarakat umum sudah sangat akrab dengan operasi windows, maka dari itu Linux Andros akan disesain mirip dengan sistem operasi windows. 3.2 Perangkat Lunak yang di Gunakan a. Paket Remastersys yang digunakan untuk meremastering. b. Kernel 2.6.34 dengan dukungan perangkat keras terbaru dan kinerja yang lebih baik. c. Paket aplikasi pemrograman yang disertakana antara lain adalah Gambas2, Netbeans dan JDK nya, Lazarus, Kdevelop, Mysql, Kompozer, Bluefish, Anjuta IDE, Quanta Plus, Opeenoffice.org Spreadsheet dan Openoffice.org Database d. GNOME (global desktop environment), merupakakan kumpulan program dan pustaka yang mengatur desktop agar lebih nyaman 3.3 Perangkat Keras yang di Butuhkan Proses remastering dapat berjalan dengan baik dengan computer yang memiliki spesifikasi minimal sebagai berikut : • Intel Pentium III 800 MHZ atau setara • Harddisk freespace 8 GB atau diatasnya • Memory 512 atau diatasnya • Monitor dengan VGA minimal 16 MB atau diatasnya • Drive CD-ROM/DVD. 3.4 Perancangan dan Kostumisasi Linux Andros 3.4.1 Usplash (boot screen) Bootscreen akan ditampilkan setelah proses boot dari suatau sistem operasi. logo Nama distro Linux andros progessbar Pembuatan usplash dilakukan dengan membuat gambar background, gambar progress bar, dan background progress bar. Gambar yang sudah dibuat selanjutnya akan dikompilasi dengan script C untuk mendapatkan file yang berekstensikan .so struct usplash_theme usplash_theme = { .version = THEME_VERSION, /* ALWAYS set this to THEME_VERSION, it's a compatibility check */ .next = &usplash_theme_640_480, .ratio = USPLASH_4_3, /* Background and font */ .pixmap = &pixmap_usplash_640_400, .font = &font_helvB10, /* Palette indexes */ .background = 0x0, .progressbar_background = 0x7, .progressbar_foreground = 0x156, .text_background = 0x0, .text_foreground = 0x85, .text_success = 0x85, .text_failure = 0x19, /* Progress bar position and size in pixels */ .progressbar_x = 184, /* 640/2-216/2 */ .progressbar_y = 142, .progressbar_width = 216, .progressbar_height = 8, /* Text box position and size in pixels */ .text_x = 120, .text_y = 307, .text_width = 360, .text_height = 100, /* Text details */ .line_height = 15, .line_length = 32, .status_width = 35, /* Functions */ .init = t_init, .clear_progressbar = t_clear_progressbar_640_400, .draw_progressbar = t_draw_progressbar_640_400, .animate_step = t_animate_step_640_400,}; 3.4.2 Login Window Linux terkenal dengan manajemen keamanannya, maka dari itu untuk memulai menggunakan sistem operasi Linux harus memasukkan password dan username terlebih dahulu. Login box Gambar 3.6 rancangan login window Pembuatan login window membutuhkan beberapa file gambar juga dibutuhkan script XML untuk mengcompilasi file-file gambar tersebut. Semua file file yang akan dikompilasi di archive (dijadikan file zip). <!-- username/password label & entry container --> <item type="rect"> <pos anchor="n" x="50%" y="203" height="20" width="330"/> <normal color="#FFFFFF" alpha="0.0"/> <box orientation="horizontal" spacing="0"> <!-- username/password label --> <item type="label" id="pam-prompt"> <pos anchor="center" x="50%" y="50%" width="140" height="20" /> <stock type="username-label"/> <normal color="#FFF4DE" font="Dejavu Sans 9"/></item> <!-- username/password entry --> <item type="entry" id="user-pw-entry"> <normal color="#643F2F" font="Dejavu Sans 9 Bold"/> <pos anchor="w" width="155" height="17" x="14%" y="50%" /> </item></box> </item> 3.4.3 Desktop Utama Perancangan desktop utama meliputi perancangan dari start menu, icon, theme quick launch, panel, dan penambahan windows list pada panel utama. shortchut desktop Start menu Windows list Quick launch Gambar 3.11 rancangan desktop utama 3.4.4 Icon Theme Untuk memberikan ciri khusus atau menampilkan keunikan dari Linux Andros digunakan theme icon yang berupa icon bahsa pemrograman. Icon tersebut dipakai dalam main menu dalam start menu dan juga icon folder dalam file browser. Gambar 3.13 icon theme 4 PEMBAHASAN 4.1 Instalasi Linux Ubuntu 9.04 Proses instalasi tidak akan dibahas dalam bab ini, hal ini dikarenakan sudah banyak referensi yang bisa digunakan sebagai panduan 4.2 Update dan Upgrade File Sistem Perintahn yang dapat digunakan untuk melakukan update dan upgrade system adalah:# sudo apt-get update dan # sudo apt-get upgrade 4.3 Instalasi Paket-Paket Tambahan Pembangun 4.3.1 JDK dan Paket-Paket Pendukungnya Perintah yang digunakan untuk menginstall paket jdk, jre dan paket pendukung lainnya adalah sudo apt-get install sun-java6-bin sun java6-jdk 4.3.2 Netbenas Proses penginstalan Netbeans dilakukan dengan mendownload file instralernya dari server pengembang Netbeans yaitu www.netbeans.org. Hal ini dikarenakan netbeans tidak diertakan ke dalam repository Linux Ubuntu 9.04. Langkah-langkah penginstallan netbeans: • Download paket netbeans yang berbentuk .sh dari situs resminya http://www.netbeans.org • Masuk ke direktori dimana paket tersebut disimpan. • Ketikkan perintah sh netbenas-6.7.1-ml-linux.sh untuk instalasinya 4.3.3 Gambas2 Untuk penginstallan gambas2 ketikkan perintah. sudo apt-get install gambas2 4.3.4 Mysql Server dan Mysql Query Browser Penginstallan myql server dapat dilakukan dengan perintah sudo apt-get install mysql-server 4.3.5 Kompozer Penginstalan kompozer digunakan perintah sudo apt-get install kompozer. 4.3.6 Lazarus Penginstalan Lazarus dapat dilakukan dengan perintah sudo apt-get install kompozer 4.3.7 Anjuta Perintah penginstalannya adalah sudo apt-get install anjuta. 4.3.8 Bluefish Penginstalan bluefish mengetikkan perintah sudo apt-get install bluefish 4.3.9 Kdevelop Perintah untuk instalasi Kdevelop yaitu sudo apt-get install kdevelop 4.3.10 Quanta plus Penginstalan Quanta plush gunakan perintah sudo apt-get install quanta 4.4 Uninstall Paket-Paket Aplikasi yang tidak Dibutuhkan Program-program yang tidak dibutuhkan dapat dihapus agar tidak memakan memori yang besar, Paket-paket yang bisa dihapus antara lain : Gucharmap, evolution, gnome-utils, gnome- nettools, Brasero disc burner , gnome- system- tools, Ekiga soft phone, bluez-gnome, tomboy notes, vinegre, f spot photo manager, tsclient, gnome-games, transmision gtt, seahorse , evince 4.5 Menjalankan Linux Hasil Kostumisasi 4.5.1 Usplash Usplash atau merupakan tampilan pertama kali suatu sistem operasi di-load. Gambar 4.31 usplash (boot screen) 4.5.2 Login Window Login window merupakan halaman tampilan setelah proses booting selesai dijalankan. Direktori peletakkan login window yaitu usr/share/gdm/theme 4.5.3 Desktop Utama dan File Browser Desktop utama merupakan tampilan awal komputer saat komputer pertama kali menjalankan sistem operasi Gambar 4.33 desktop utama 4.6 Paket-Paket Pemrograman yang Diinstall 4.6.1 Gambas Beberapa fitur yang dimiliki Gambas antara lain: Menggunakan basis data seperti MyQL dan PostgreSQL, Menerjemahkan program Visual Basic ke Gambas 4.6.2 Bluefish Bluefish menyokong pengembangan banyak bahasa pemrograman termasuk HTML, XHTML, CSS, PHP, C, Javascript, SQL, Perl, , JSP, Python, Ruby Gambar 4.35 interface bluefish 4.6.3 Anjuta Aplikasi pemrograman Anjuta digunakan untuk melakukan pengembangan pada bahasa pemrograman C maupun C++. Gambar 4.36 interface Anjuta 4.6.4 Kdevelop KDevelop adalah sebuah IDE FOSS untuk KDE untuk komputer dengan sistem operasi Linux. Kdevelop tidak menyertakan compiler, Kdevelop menggunakan compiler external seperti gcc untuk membuat executable code. 4.6.5 Kompozer .Kompozer menggabungkan antara manajemen web file dan WYSIWYG web editor, jadi preview web dapat anda lihat langsung pada saat pembuatannya. 4.6.7 Lazarus . Aplikasi Lazarus hampir mirip dengan Gambas dan Anjuta, tetapi Lazarus memiliki lebih banyak fitur dan lebih mudah digunakan. Gambar 4.39 interface Lazar 4.6.8 Mysql MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. Gambar 4.40 mysql prompt 4.6.9 Netbeans Tools atau framework yang sangat populer untuk mengembangkan aplikasi berbasis java Gambar 4.41 interface netbeans 4.6.10 Quanta plus Quanta Plus mendukung banyak bahasa pemrograman dan bahasa markup, dan menyertakan banyak perlengkapan untuk perancang dan pemrogram Gambar 4.42 interface Quanta