BAB 2 TINJAUAN PUSTAKA 2.1. Teori Umum 2.1.1. Data Data adalah fakta, yang mungkin diproses atau mungkin tidak akan diproses (disunting, diringkas, atau diperbaiki) dan tidak memiliki pengaruh langsung terhadap pengguna (Hall, 2011:11). 2.1.2. Database (Basis Data) Basis data adalah kumpulan data logis yang saling berhubungan, yang mendeskripsikan data tersebut, dan dirancang untuk memenuhi kebutuhan informasi suatu organisasi (Connolly & Begg, 2015:63). 2.1.3. Flowchart Flowchart adalah teknik analisis untuk menggambarkan beberapa aspek dari sistem informasi secara jelas, ringkas, dan logis. Flowchart menggunakan sekumpulan simbol yang menjadi acuan untuk menggambarkan prosedur dari sebuah perusahaan dalam proses transaksi dan aliran data pada sistem tersebut (Romney & Steinbart, 2012:75). Tabel 2. 1 Simbol Flowchart (Romney & Steinbart, 2012:76-77) Simbol Nama Keterangan Document Melambangkan dokumen atau laporan Melambangkan Multiple documents beberapa dokumen atau laporan Melambangkan Input/output input/output dari suatu program 7 8 Computer processing Proses perhitungan Proses operasi yang Manual operation dilakukan secara manual Document or Processing Flow Arah aliran program Menghubungkan aliran On-page connector proses di halaman yang sama Menghubungkan aliran Off-page connector proses di halaman yang berbeda Melambangkan awal, Terminal akhir, dan interupsi program Penyeleksian data yang Decision memberikan pilihan untuk langkah selanjutnya 2.1.4. DFD (Data Flow Diagram) DFD adalah sebuah perangkat grafis yang menggambarkan aliran data melalui sistem dan pekerjaan atau pengolahan yang dilakukan oleh sistem tersebut serta input dan output-nya (Whitten & Bentley, 2007:317). DFD dibagi menjadi tiga level, yaitu: 1. Diagram Level Konteks Menggambarkan hubungan antara sistem dan agen eksternal yang berperan sebagai sumber input dan output data. Diagram level konteks menggambarkan keseluruhan sistem menjadi satu proses. 9 2. Diagram Level-0 DFD Menggambarkan bagaimana sistem dibagi-bagi menjadi sub-sistem yang masing-masing berhubungan dengan satu atau lebih dari data mengalir ke atau dari sebuah agen eksternal. 3. Diagram Level-1 sampai Level-n DFD Menggambarkan penguraian yang lebih detail dari diagram level-0. Jika diperlukan, diagram level-1 akan diuraikan lagi menjadi diagram level-2, dan begitu seterusnya hingga detail level yang diperlukan dari seluruh proses telah didapat. Tabel 2. 2 Simbol Data Flow Diagram (Romney & Steinbart, 2012:70) Simbol Nama Keterangan Process External Agents Proses atau pekerjaan yang harus dilakukan Batas dari sistem Berhubungan dengan Data Store semua entitas di model data Menggambarkan aliran Arrows data dari dan ke sistem (input dan output) 2.1.5. Rekayasa Perangkat Lunak Rekayasa perangkat lunak adalah pembuatan dan penggunaan prinsipprinsip keahlian teknik untuk mendapatkan perangkat lunak yang ekonomis, handal, dan bekerja secara efisien pada mesin yang sesungguhnya. Rekayasa perangkat lunak mendirikan pondasi untuk suatu proses perangkat lunak yang lengkap dengan mengidentifikasi sejumlah aktivitas kerangka kerja yang berlaku untuk semua proyek perangkat lunak, terlepas dari ukuran dan kompleksitasnya (Pressman, 2010:13). 10 Gambar 2. 1 Lapisan Perangkat Lunak (Pressman, 2010:14) 2.1.6. Agile Development Metode agile adalah suatu metode yang dapat merespon perubahan dengan cepat. Ketika terjadi perubahan kebutuhan, developer yang menerapkan metode agile dapat dengan cepat mengadaptasi kebutuhan baru tersebut ke dalam proyek atau program yang sedang dikerjakannya (Pressman, 2010:68). 2.1.7. Scrum Menurut Pressman (2010:82-84), scrum digunakan untuk memandu kegiatan pembangunan dalam suatu proses yang menggabungkan kegiatan framework atau kerangka kerja. Kegiatan kerangka kerja tersebut ialah kebutuhan, analisis, desain, evaluasi, dan pengiriman. Dalam setiap aktivitas kerangka kerja, tugas pekerjaan terjadi dalam pola proses yang disebut sprint. Setiap sprint memiliki panjang waktu satu hingga empat minggu. Pekerjaan yang dilakukan dalam sprint disesuaikan dengan masalah yang dihadapi, didefinisikan, dan sering dimodifikasi secara real time oleh tim Scrum. Begitu pula dengan jumlah sprint yang diperlukan untuk setiap aktivitas kerangka kerja. Aktivitas tersebut akan bervariasi tergantung pada kompleksitas produk dan ukuran produk. Scrum menekankan penggunaan satu set pola proses perangkat lunak yang telah terbukti efektif untuk proyek dengan jadwal yang ketat, kebutuhan yang berubah-ubah, dan kekritisan bisnis. Masing-masing pola proses mendefinisikan satu set tindakan pembangunan. Proses tersebut antara lain: 1. Backlog Backlog merupakan suatu daftar prioritas persyaratan proyek atau fitur yang memberikan nilai bisnis bagi klien. Item dapat 11 ditambahkan ke backlog setiap saat. Scrum master menilai prioritas backlog dan meng-update yang diperlukan. 2. Sprint Sprint terdiri dari unit kerja yang diperlukan untuk mencapai persyaratan yang ditetapkan dalam backlog yang harus masuk ke dalam sebuah time-box, yang biasanya dikerjakan dalam waktu 30 hari. Perubahan tidak diperkenalkan selama sprint. Oleh karena itu, sprint memungkinkan anggota tim untuk bekerja di lingkungan dengan jangka pendek, tapi tetap stabil. 3. Scrum meeting Scrum meeting biasanya berlangsung singkat, yakni selama 15 menit. Scrum meeting membantu tim untuk mengungkap potensi masalah sedini mungkin. dan biasanya diselenggarakan setiap hari oleh tim scrum. Tim scrum dirancang untuk mengoptimalkan fleksibilitas dan produktivitas. Setiap tim scrum memiliki tiga peran yaitu: a. Scrum master: bertanggung jawab untuk memastikan proses ini dipahami dan diikuti karena Scrum master mendidik product owner dan tim untuk menggunakan scrum. Scrum master memimpin rapat dan menilai tanggapan dari setiap orang. b. Product owner: bertanggung jawab untuk mendefinisikan barang persyaratan dan tindakan dalam produk. c. Tim: melakukan pekerjaan dalam membangun sebuah aplikasi, terdiri dari developer dengan semua keterampilan. 4. Demo Demo memberikan kenaikan perangkat lunak untuk klien sehingga fungsi yang telah diimplementasikan dapat ditunjukkan dan dievaluasi oleh klien. Penting untuk dicatat bahwa demo tidak mungkin berisi semua fungsi yang direncanakan, melainkan fungsi-fungsi yang dapat dikirim dalam time-box yang didirikan. 12 Gambar 2. 2 Diagram Scrum (Pressman, 2010:83) 2.1.8. Interaksi Manusia dan Komputer Interaksi manusia dan komputer adalah tata cara atau aturan-aturan yang digunakan dalam perancangan, implementasi dan evaluasi dari sistem yang interaktif. Tujuan utama dari aturan-aturan ini adalah untuk merancang dan mengevaluasi tampilan antarmuka. Tampilan antarmuka adalah jembatan antara komputer dengan manusia untuk berhubungan dengan sistem. Ada lima faktor pengukuran kegunaan (usability measures) dalam merancang tampilan antarmuka (Shneiderman, Plaisant, Cohen, & Jabos, 2010:22-32): 1. Time to learn (waktu belajar) Waktu belajar merupakan waktu yang diperlukan untuk mempelajari sistem yang baru berdasarkan tampilan antarmukanya. 2. Speed of performance (kecepatan kinerja) Kecepatan kinerja adalah waktu yang diperlukan pengguna untuk menyelesaikan tugas-tugas dengan menggunakan sistem tersebut. 3. Rate of errors by users (tingkat kesalahan pengguna) Tingkat kesalahaan pengguna menjelaskan tentang seberapa sering kesalahan dalam aplikasi tersebut terjadi dan seperti apa jenis kesalahan tersebut. 13 4. Retention over time (daya ingat) Daya ingat merupakan kemampuan pengguna dalam menggunakan tampilan antarmuka sebaik dari waktu terakhir kali pengguna menggunakannya. 5. Subjective satisfaction (kepuasan subjektif) Kepuasan subjektif menjelaskan tentang tingkat kepuasan dari setiap pengguna dalam menggunakan tampilan antarmuka tersebut. 2.1.9. Delapan Aturan Emas Ada delapan prinsip dalam perancangan tampilan antarmuka, yang dikenal juga dengan eight golden rules atau delapan aturan emas. Berikut adalah delapan aturan tersebut (Shneiderman, Plaisant, Cohen, & Jabos, 2010, 88:89): 1. Strive for consistency (berusaha untuk konsisten) Perancangan tampilan antarmuka yang konsisten misalnya, urutan action, tampilan menu, tampilan tata letak, layar bantuan, pemilihan warna, pemakaian huruf kapital, pemilihan jenis huruf, dan lain sebagainya. 2. Cater to universal usability (menyediakan fungsionalitas universal) Perbedaan-perbedaan dari kemampuan pengguna dalam menjalankan aplikasi, misalnya perbedaan antara pengguna pemula dengan pengguna yang sudah ahli (expert), pengguna dengan rentan waktu tertentu, atau pengguna yang memiliki keterbatasan fisik. Oleh karena itu, aplikasi perlu menambahkan fitur help atau cara penggunaan aplikasi dengan benar bagi pengguna pemula dan fitur shortcut untuk pengguna yang sudah ahli agar mempercepat penggunaan aplikasi. 3. Offer informative feedback (memberikan umpan balik yang informatif) Pemberian umpan balik (feedback) kepada pengguna setelah melakukan suatu aksi / tindakan. Dalam pemberian umpan balik, isinya harus bersifat informatif dan mudah dimengerti agar pesan dapat tersampaikan dengan baik dan pengguna tahu apa yang harus dilakukan selanjutnya. 4. Design dialogs to yield closure (merancang dialog untuk menghasilkan penutupan) 14 Perancangan urutan aksi/tindakan dari awal hingga akhir. Pengelompokan aturan tersebut sebaiknya terorganisir dengan baik mulai dari awal, pertengahan, hingga akhir. Ketika sebagian atau seluruh aksi telah selesai dilakukan, sertakan dengan umpan balik (feedback) yang menunjukan bahwa aksi telah memenuhi aturan dan pengguna dapat melanjutkan ke aksi berikutnya. 5. Prevent errors (mencegah kesalahan) Merancang sistem yang mampu menghindari kesalahan serius yang dilakukan pengguna ketika menggunakan aplikasi. Jika sampai melakukan kesalahan serius tersebut, berikan umpan balik yang menunjukkan letak kesalahan yang telah dilakukan pengguna serta instruksi dalam mangatasi kesalahan tersebut. 6. Permit easy reversal of actions (memberikan aksi balik yang mudah) Sistem memberikan fitur dimana aksi yang telah dilakukan pengguna dapat dikembalikan ke kondisi sebelumnya seperti fitur back atau undo. Hal ini dapat membantu pengguna dalam mencegah melakukan kesalahan atau pengguna yang ingin membatalkan aksi yang dilakukannya ataupun ingin kembali ketahap atau kondisi yang diinginkan pengguna. 7. Support internal locus of control (mendukung pusat kendali internal) Sistem yang dirancang harus bisa dikontrol oleh pengguna dan bukan menjadikan seolah-olah pengguna yang dikontrol sistem. 8. Reduce short-term memory load (mengurangi beban ingatan jangka pendek) Untuk memberikan kemudahan bagi pengguna dalam menggunakan sistem, sistem perlu menyiapkan tampilan yang sederhana, memiliki urutan yang jelas, tidak rumit, dan juga usahakan agar pengguna tidak perlu mengingat banyak aksi seperti tombol-tombol atau simbol-simbol tertentu. Hal ini dikarenakan tidak semua pengguna memiliki ingatan yang kuat dan keahlian yang bagus. 15 2.2 2.2.1. Teori yang berkaitan dengan Tema Penelitian Sistem Sistem adalah kumpulan dari dua atau lebih komponen atau subsistem yang saling terkait yang menyajikan satu tujuan yang sama (Hall, 2011:5). 2.2.2. Informasi Informasi adalah sekumpulan fakta yang telah diorganisir dan diolah sehingga memiliki nilai tambah di luar nilai fakta individu (Stair & Reynolds, 2012:8). 2.2.3. Registrasi Registrasi dapat diartikan sebagai pencatatan atau pendaftaran (Departemen Pendidikan Nasional, 2008:1280). Berdasarkan pengertian tersebut dapat dikatakan bahwa registrasi dalam penulisan ini berarti pendaftaran yang berfungsi untuk menghubungkan data pribadi ke dalam sistem. 2.2.4. Karyawan Karyawan adalah setiap orang yang bekerja dengan menjual tenaganya (fisik dan pikiran) kepada suatu perusahaan dan memperoleh balas jasa yang sesuai dengan perjanjian (Hasibuan, 2007:117). 2.2.5. Pelatihan Pengembangan sumber daya manusia atau pelatihan dapat didefinisikan sebagai kerangka kerja untuk membantu karyawan mengembangkan keterampilan pribadi dan organisasi, pengetahuan dan kemampuan. Pengembangan sumber daya manusia memberikan kesempatan seperti pelatihan pengusaha, pengembangan karir karyawan, manajemen kinerja dan pengembangan, pembinaan, monitoring, perencanaan yang sukses, dan identifikasi nilai karyawan (Reddy, Lokesh, & Gupta, 2015:18). Pelatihan merupakan suatu proses pendidikan jangka pendek yang mempergunakan prosedur sistematis dan terorganisasi, pegawai non manajerial mempelajari pengetahuan dan keterampilan teknis dalam tujuan 16 yang terbatas. Komponen-komponen dari pelatihan yang dibuat oleh perusahaan antara lain (Mangkunegara, 2006:50-51): 1. Tujuan dan sasaran pelatihan harus jelas dan dapat diukur. Pelatihan merupakan cara yang digunakan oleh setiap perusahaan dalam mengembangkan skill and knowledge bagi para karyawannya. Hal ini dilakukan perusahaan agar para karyawan dapat saling bahumembahu dalam mencapai tujuan perusahaan. Sehingga pelatihan yang perusahaan wajibkan kepada para pekerjanya akan efisien. 2. Para pelatih (trainers) harus merupakan seorang ahli yang berkualifikasi Keprofesionalan pelatih/pengajar merupakan keharusan. Hal ini dikarenakan pekerja adalah alat perusahaan yang membutuhkan keterampilan. Bagaimana mungkin pekerja yang diberikan pelatihan mendapatkan wawasan yang lebih, kalau pelatih/pengajarnya tidak qualified. 3. Materi pelatihan harus disesuaikan dengan tujuan yang hendak dicapai Setiap pelatihan yang dilaksanakan memiliki beragam materi yang tersaji sesuai dengan kebutuhan. Model pelatihan yang diprioritaskan oleh perusahaan bagi pekerjanya, harus disesuaikan dengan tujuan akhir dari pelatihan tersebut. Sehingga pelatihan yang dilaksanakan akan efisien dan efektif. 4. Metode pelatihan harus sesuai dengan kemampuan pekerja yang menjadi peserta Setiap pekerja memiliki kekuatan dan kelemahan, hal ini adalah manusiawi mengingat manusia tidak ada yang sempurna. Sehingga perusahaan harus pintar menyeleksi dan memonitor mengenai metodemetode apa yang sesuai dengan tingkat kemampuan pekerja, perusahaan harus bisa melihat hal-hal apa saja yang dibutuhkan pekerja agar dapat meningkatkan skill dan knowledge karena tingkatan usia para pekerja yang menjadi peserta pelatihan pasti berbeda. Hal ini merupakan salah satu faktor bagaimana karyawan menangkap materi yang diberikan kepada karyawan. 17 5. Peserta pelatihan harus memenuhi persyaratan yang ditentukan Ini adalah hal yang cukup penting, namun sering diabaikan oleh pihak yang mengadakan pelatihan. Fenomena yang terjadi adalah pekerja yang tidak berkompeten dalam materi yang disajikan, namun karena kekurangan peserta pelatihan atau karena terlambatnya informasi mengenai pelatihan yang akan dilangsungkan, maka persyaratan bagi peserta pun terabaikan. Padahal jika persyaratan dijalankan sesuai dengan yang berlaku, maka peserta pelatihan akan mendapatkan banyak keuntungan setelah mengikuti pelatihan. Sementara itu, jika persyaratan bagi peserta diabaikan maka pelatihan yang karyawan ikuti tidak akan membuahkan hasil yang maksimal. Hal ini tentu saja akan berakibat bagi kemajuan perusahaan. 2.2.6. Internet Internet adalah sebuah koleksi jaringan komputer yang terpisah untuk saling berhubungan di seluruh dunia, termasuk untuk keperluan komersial, edukasi, organisasi pemerintah, dan Internet Service Provider (Connolly & Begg, 2015:314). 2.2.7. WWW (World Wide Web) WWW atau yang sering disebut sebagai web merupakan penjelajahan halaman informasi yang sangat besar yang berada di dalam internet. Informasi yang ada di dalam web dipresentasikan di dalam sebuah halaman web yang terbentuk dari sekumpulan teks, grafik, gambar, suara, dan video (Connolly & Begg, 2015:1048). 2.2.8. HTML (Hyper Text Markup Language) HTML adalah format dokumen bahasa yang digunakan untuk merancang halaman web. HTML merupakan sistem untuk menandai atau tagging sebuah dokumen sehingga dapat dipublikasikan di dalam sebuah web (Connolly & Begg, 2015:1052). 18 2.2.9. CSS (Cascade Style Sheet) CSS adalah template di balik suatu halaman HTML yang menggambarkan penyajian data dan tata letak teks dan data yang terdapat di dalam sebuah halaman HTML. CSS memberikan keuntungan bagi web developer karena perubahan yang dibuat di style sheet akan tercermin di halaman HTML (Ullman & Dykes, 2007:10). Beberapa keuntungan menggunakan style sheet antara lain (Tittel & Noble, 2011:130): 1. Mengontrol setiap aspek dari tampilan halaman Menentukan jumlah ruang antara garis, karakter spasi, margin halaman, penempatan gambar dan juga dapat menentukan posisi elemen pada halaman web yang dibuat. 2. Menerapkan perubahan secara global Memastikan desain yang konsisten di seluruh seluruh situs web dengan menerapkan style sheet yang sama untuk setiap halaman web. Untuk memodifikasi tampilan seluruh situs, hanya perlu mengubah satu dokumen (style sheet) dan bukan markup pada setiap halaman. 3. Memerintahkan browser untuk mengontrol penampilan Memberikan informasi yang lebih banyak pada web browser mengenai tampilan yang diinginkan pada halaman web yang dibuat dari pada menggunakan HTML. 4. Membuat halaman web yang dinamis Menggunakan JavaScript atau bahasa scripting lain dan digabungkan dengan style sheet untuk membuat teks dan konten lainnya yang dapat bergerak, tampil, atau menghilang dalam menanggapi tindakan pengguna sehingga dapat membuat tampilan web yang dinamis. 2.2.10. PHP (PHP Hypertext Preprocessor) PHP merupakan bahasa server-side-scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis. Karena merupakan server-side scripting, maka sintaks dan perintah-perintah PHP akan dieksekusi di server kemudian hasilnya dikirimkan ke browser dalam format HTML (Arief, 2011:43). PHP memiliki beberapa kelebihan antara lain (Sunyoto, 2007:121): 1. PHP mudah dibuat dan dijalankan. 19 2. PHP mampu berjalan pada sistem operasi UNIX, Windows, dan Macintosh. 3. PHP bisa didapatkan secara gratis. 4. PHP mampu berjalan pada web server, seperti Microsoft Personal Web Server, Apache, IIS, dan lain-lain. 5. PHP dapat diletakkan dalam tag HTML. 2.2.11. AJAX AJAX adalah serangkaian teknik pemrograman atau pendekatan tertentu di dalam pemrograman web. Teknik pemrograman ini menyebabkan suatu situs dapat memperbarui halaman pada situs atau bagian dari web application dengan input dari server, tanpa memerlukan perintah untuk memuat kembali halaman secara langsung (Ullman & Dykes, 2007:2). 2.2.12. JavaScript JavaScript adalah bahasa pemrograman yang dapat digunakan untuk melengkapi HTML dengan animasi, interactivity, dan efek visual yang dinamis (McFarland, 2014:XIII). Interactivity yang dimaksud ialah kemampuan sifat interaktif antara manusia dengan mesin. 2.2.13. JSON Menurut website asli JSON di http://JSON.org, JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat oleh komputer. Penggunaan JSON secara umum terdiri dari fungsi encode dan decode. Fungsi encode akan mengubah nilai dari variabel array menjadi suatu format yang dapat dibaca sebagai JSON array. Sedangkan fungsi decode adalah proses memperoleh nilai dari suatu variabel dengan format JSON array. Dalam proses decode, nilai dari variabel JSON array akan diekstrak menjadi suatu nilai output tertentu (Sunyoto, 2007:21). 20 2.2.14. jQuery jQuery adalah library JavaScript yang bertujuan untuk membuat pemrograman JavaScript menjadi lebih mudah dan lebih menyenangkan. JavaScript library atau jQuery adalah sekumpulan kode JavaScript yang kompleks yang berguna untuk menyederhanakan tugas-tugas yang sulit dan juga untuk memecahkan masalah cross-browser (McFarland, 2014:XVI). Cross browser yang dimaksud ialah masalah yang ditimbulkan akibat aplikasi dijalankan pada browser lain. 2.2.10. Bootstrap Bootstrap merupakan sebuah alat bantu untuk membuat tampilan halaman website yang dapat mempercepat pekerjaan seorang pengembang website ataupun pendesain halaman website. Sesuai namanya, website yang dibuat dengan alat bantu ini memiliki tampilan halaman yang mirip dengan tampilan halaman twitter. Desainer juga dapat mengubah tampilan halaman website sesuai dengan kebutuhan. Tampilan web yang dibuat Bootstrap akan menyesuaikan ukuran layar dari browser yang digunakan baik di desktop, tablet ataupun mobile device. Fitur ini bisa diaktifkan ataupun dinonaktifkan sesuai dengan keinginan (Widyantoro, 2014:6) 2.2.11. XAMPP XAMPP merupakan paket PHP berbasis open source yang dikembangkan oleh sebuah komunitas open source. XAMPP memberikan kemudahan yaitu tidak diperlukan penginstalan program lain karena semua kebutuhan telah disediakan oleh XAMPP. XAMPP adalah perangkat lunak bebas mendukung banyak sistem operasi yang merupakan kompilasi dari beberapa perangkat lunak. XAMPP dikembangkan oleh sebuah tim proyek bernama Apache Friends. Fungsinya adalah sebagai server yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP Server, MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X yang berarti mendukung 4 sistem operasi, Apache, MySQL, PHP dan Perl (Nugroho, 2008:2) 21 2.2.12. Direktori Direktori sering juga dideskripsikan sebagai database, namun lebih tepatnya adalah database terspesialisasi yang memiliki karakteristik yang menjadikannya berbada dari database yang memiliki tujuan secara umum (Tuttle, et al., 2006:3). 2.2.13. LDAP (Lightweight Directory Access Protocol) LDAP mendefinisikan sebuah pesan protokol yang digunakan oleh klien direktori dan server direktori. Protokol LDAP menggunakan pesan yang berbeda. LDAP adalah sebuah standar industri terbuka yang mendefinisikan metode standar untuk mengakses dan memperbarui informasi di sebuah direktori. LDAP telah mendapatkan penerimaan sebagai metode akses direktori internet, dan juga menjadi strategi dalam intranet perusahaan. LDAP mendefinisikan protokol komunikasi, sehingga data yang ada di LDAP dapat diambil melalui protokol tersebut (Tuttle, et al., 2006:3). 2.2.14. Ubuntu Ubuntu merupakan salah satu distribusi Linux. Ubuntu saat ini telah menjadi sistem operasi yang paling disukai setelah Windows. Berikut adalah alasan untuk menggunakan Ubuntu (Nixon, 2010:1-2): 1. Pengembangannya bebas Sebagai sistem operasi Linux, Ubuntu memiliki filosofi perangkat lunak harus gratis. Hal ini berarti segala pengembangan Ubuntu bersifat bebas. 2. Download dan update gratis Segala bentuk aplikasi yang tersedia bersifat gratis. Bukan hanya proses instalasi pertama, namun juga update-nya. 3. Proses instalasi yang mudah Proses instalasi Ubuntu sangat cepat, bahkan lebih cepat daripada Windows XP, Vista, maupun 7. 22 4. Proses update mudah Ketika ada versi terbaru, Ubuntu akan memberitahu dan menawarkan penggunanya untuk menaikkan versi secara otomatis dengan gratis selama memiliki akses internet. 5. Layanan bantuan tersedia Layanan bantuan untuk pengguna pribadi tersedia di dalam website Ubuntu dan forum di internet. Jika terdapat permasalahan, biasanya pengguna mendapatkan jawaban dalam hitungan jam atau menit. Hal ini dikarenakan Ubuntu ditulis oleh sukarelawan di seluruh dunia yang tetap berkomunikasi satu dengan lainnya melalui forum-forum. 6. Untuk enterprise, harga yang ditawarkan cukup murah Ubuntu untuk bisnis akan lebih banyak membutuhkan banyak lisensi untuk layanan bantuan. Secara keseluruhan, layanan bantuan Ubuntu tetap lebih murah daripada Windows. 7. Dapat dimodifikasi Jika pengguna merupakan developer yang sudah mengerti dengan Linux di organisasi, pengguna tersebut dapat mengambil source code Ubuntu secara gratis dan dapat dimodifikasi sesuai kebutuhan. 8. Portabel Ubuntu dapat dijalankan dari CD-ROM atau flash disk tanpa perlu diinstal. 2.2.15. Cron Job Cron Job adalah salah satu utility program untuk penjadwalan yang dimiliki oleh sistem operasi UNIX. Hal ini memungkinkan pengguna untuk melakukan otomisasi eksekusi program atau script pada waktu yang ditentukan. Berbeda dari sistem Windows yang menggunakan file .bat atau scheduler yang terdapat pada program file, pada UNIX atau Linux dinamakan Cron dan untuk melakukan eksekusi disebut Cron Job (Jaiswal & Yagyasen, 2015:189). Cron Job sangat berguna untuk melakukan tugas-tugas sistem yang teratur, seperti membersihkan file log, sinkronisasi sistem, back-up file, dan sebagainya. Kebanyakan distribusi Linux akan memiliki beberapa Cron Job yang telah dikonfigurasi secara default sebagai bagian dari proses instalasi 23 sistem operasi untuk melakukan hal-hal seperti menghapus modul kernel yang tidak diperlukan, memperbarui basis data yang digunakan oleh locate command dan rotating log files (Jadhav, Tambe, & Deshmukh, 2013:5). 24