5
BAB 2 TINJAUAN PUSTAKA
Pada bab ini, akan dibahas landasan teori mengenai perkembangan aplikasi mobile (android), algoritma Round Robin dan client server. Pada akhir bab ini akan dipaparkan penelitian-penelitian terdahulu mengenai algortima Round Robin. 2.1 Sistem Informasi O’Brien (2010) berpendapat bahwa sistem didefinisikan sebagai sekumpulan komponen yang saling terkait, dengan batas jelas, bekerja bersama untuk mencapai tujuan dengan menerima input dan menghasilkan output dalam proses transformasi terorganisir. Menurut Laudon (2010), Data adalah aliran fakta-fakta mentah yang merupakan peristiwa yang terjadi dalam organisasi atau lingkungan fisik sebelum mereka terorganisir dan disusun menjadi bentuk yang orang-orang dapat memahami dan menggunakarmya. Sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi organisasi yang bersifat manajerial dalam kegiatan strategi dari suatu organisasi untuk dapat menyediakan kepada pihak luar tertentu dengan laporan – laporan yang diperlukan (Sutabri, 2005). Menurut Laudon (2010), Sistem Informasi merupakan komponen yang saling bekerja sama untuk mengumpulkan, mengolah, menyimpan dan menyebarkan informasi untuk mendukung pengambilan keputusan, pengndalian, analisis dan visualisasi dalam sebuah organisasi.
Universitas Sumatera Utara
6
Aktifitas dasar dari Sistem Informasi menurut Laudon (2010) adalah sebagai berikut : 1. Input Melibatkan penangkapan atau pengumpulan data mentah dari dalam organisasi atau dari lingkungan ekstemal untuk pengolahan dalam suatu sistem informasi. 2. Process Melibatkan proses mengkonversi input mentah ke bentuk yang lebih bermakna. 3. Output Mentransfer proses informasi kepada orang yang akan menggunakannya atau kepada aktivitas yang akan digunakan. 4. Feedback Output yang dikembalikan ke anggota organisasi yang sesuai untuk kemudian membantu mengevaluasi atau mengoreksi tahap Input. Menurut O'Brien (2010), komponen dan aktivitas Sistem Informasi terdiri dari sumber daya data, hardware, software, manusia, dan jaringan untuk melakukan aktivitas input, pemrosesan, output, penyimpanan dan pengelolaan yang mengubah sumber daya data menjadi produk informasi. 2.2 Round Robin Round robin merupakan salah satu algoritma penjadwalan yang paling sederhana untuk proses dalam sistem operasi. Round robin ditugaskan untuk membagi waktu setiap proses pada porsi yang sama dan dalam urutan melingkar, menjalankan semua proses tanpa prioritas dikenal juga sebagai eksekutif siklik, (Ishwari, 2012). Penjadwalan round-robin itu sederhana, mudah diterapkan, dan bebas starvation. Penjadwalan round-robin juga dapat diterapkan untuk masalah penjadwalan lainnya, seperti penjadwalan paket data dalam jaringan komputer. Round robin dirancang untuk sistem time sharing. Algoritma ini mirip dengan penjadwalan FCFS (First Come First Served), namun preemption ditambahkan untuk switch (peralihan proses) antara proses. (Yaashuwanth, 2009)
Universitas Sumatera Utara
7
Antrian yang siap diperlakukan atau dianggap sebagai antrian sirkular. CPU menglilingi antrian yang sudah siap dan mengalokasikan masing-masing proses untuk interval waktu tertentu sampai satu time slice /quantum. Algoritma ini berjalan dengan menggilir proses yang ada pada antrian. Setiap Proses akan mendapat jatah sebesar time quantum. Jika time quantum habis atau proses sudah selesai, CPU akan dialihkan ke proses yang selanjutnya. Dengan proses ini memberikan keadilan pada setiap proses, karena tak ada proses yang diprioritaskan, semua proses mendapat jatah waktu yang sama dari CPU yaitu (1/n), dan tak akan menunggu lebih lama dari (n-1)q dengan q adalah lama 1 quantum. Proses load balancing sebenarnya merupakan proses fleksibel yang dapat diciptakan dengan berbagai cara dan metode. Proses ini tidak dapat dilakukan oleh sebuah perangkat tertentu atau sebuah software khusus saja. Cukup banyak cara dan pilihan untuk mendapatkan jaringan yang dilengkapi dengan sistem load balancing. Cara kerja dan proses pun berbedabeda satu dengan yang lainnya. Sistem load balancing yang sederhana memang hanya mampu membuat sebuah perwakilan nama atau alamat IP untuk mewakili beberapa IP dari server-server di belakangnya. 2.2.1 Ketentuan Algoritma Round Robin Ketentuan Algoritma Round Robin adalah sebagai berikut: 1. Jika quantum dan proses belum selesai maka proses menjadi runnable dan pemroses dialihkan ke proses lain. 2. Jika quantum belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked dan pemroses dialihkan ke proses lain. 3. Jika quantum belum habis tapi proses telah selesai, maka proses diakhiri dan pemroses dialihkan ke proses lain. Algoritma ini sepenuhnya bergantung besarnya time quantum. Jika terlalu besar, algoritma ini akan sama saja dengan algoritma first come first served. Jika terlalu kecil, akan semakin banyak peralihan proses sehingga banyak waktu terbuang. Algoritma penjadwalan ini dapat diimplementasi sebagai berikut:
Universitas Sumatera Utara
8
1. Mengelola senarai proses read (runnable) sesuai urutan kedatangan. 2. Ambil proses yang berada di ujung depan antrian menjadi running. 3. Bila quantum belum habis dan proses selesai maka ambil proses di ujung depan antrian proses ready. Jika quantum habis dan proses belum selesai maka tempatkan proses running ke ekor antrian proses ready dan ambil proses di ujung depan antrian proses ready.
Gambar 2.1 Flowchart Round Robin (Dwi Cahyo, 2014) 2.2.2 Menghitung Average Waiting Time Algoritma Round Robin Dalam algoritma penjadwalan proses Round Robin, proses akan diberikan porsi waktu pengerjaan yang sama dari tiap-tiap prosesnya. Algoritma Round Robin ini disebut dengan algoritma yang adil. Untuk memahami dari cara kerja algoritma penjadwalan Round Robin ini, berikut contoh simulasinya:
Universitas Sumatera Utara
9
Tabel 2.1 contoh perhitungan round robin PROCESS ID PRIORITY
ARRIVAL TIMES (ms) BURST TIMES (ms)
P1
3
0
11
P2
2
3
8
P3
3
5
10
P4
1
7
5
P5
2
12
10
Berdasarkan tabel 2.1 berikut adalah proses penyelesaian perhitungan average time untuk algoritma Round Robin:
Gambar 2.2 penyelesaian perhitungan avarage waiting time (Dwi Cahyo, 2014) Dari Gantt Chart di atas terlihat bahwa setiap proses dikerjakan menurut waktu yaitu setiap proses di proses sebesar 5. Awalnya P1 akan di kerjakan sebanyak 5 langkah, kemudian, P2 sebanyak 5 langkah, dan begitupun selanjutnya hingga P5. Proses yang sudah di proses menurut porsi waktu yang diberikan akan kembali menunggu dan berada paling belakang dari antrian proses yang ada. Contohnya P1 dikerjakan di awal, kemudian ada P2, P3,P4,dan P5 yang mengantri di belakangnya. Jika P1 selesai di proses menurut porsi waktunya maka P1 akan di pindahkan ke belakang, sehingga urutannya menjadi P2, P3, P4, P4, P1. begitupun seterusnya.
Universitas Sumatera Utara
10
Tabel 2.2 Proses perhitungan waiting times PROSES
WT (ms)
P1
(0-0)+(25-5)+(43-30)=33
P2
(5-3)+(30-10)=22
P3
(10-5)+(33-15)=33
P4
15-7=8
P5
(20-12)+(38-25)=21
TOTAL
107
Dengan menggunakan data pada tabel di 2.2, berikutnya adalah kita menentukan average waiting times menggunakan rumus:
2.3 Android Android adalah sistem operasi Linux yang digunakan untuk telepon seluler (mobile) seperti telepon pintar (smartphone) dan komputer tablet (PDA). Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri yang digunakan oleh bermacam peranti bergerak. Android kini telah menjelma menjadi sistem operasi mobile terpopuler di dunia. Android pada mulanya didirikan oleh Andy Rubin, Rich Miner, Nick Sears dan Chris White pada tahun 2003 (Murya, 2014). Pada bulan november 2007, Google mengadakan konfersi pers. Ternyata tidak ada Gphone (Google Phone) diluncurkan seperti yang banyak diperkirakan orang. Waktu itu diumumkan terbentuknya Open Handset Alliance yang didirikan Google bersama 34 perusahaan lain, untuk mengembangkan OS Open Source.
Universitas Sumatera Utara
11
Kala itu, banyak pihak masih skeptis, terutama para pesaing seperti Microsoft dan Nokia. CEO Microsoft Steve Ballmer menilai kata-kata Google cuman omong kosong sedangkan Nokia mengira OS tersebut hanyalah sebuah versi linux biasa dan bukan ancaman yang signifikan. Seminggu kemudian, Google meluncurkan software developer kit Android yang dapat didownload secara gratis di websitenya dan mengadakan perlombaan aplikasi. Niat Google akhirnya tercium, mereka akan merilis OS yang akan digunakan oleh banyak vendor. HTC, Motorola dan LG mengumumkan rencana produksi hanset Android. OS ini sepenuhnya bebas dikustomisasi oleh pabrikan. Misi Google adalah semakin banyak orang akan mengakses layanan Coogle dari Android. Android digadanggadang akan menggantikan PC. Dan semua itu akan terjadi pada tahun depan,” kata CEO Google kala itu, Eric Schmidt dengan nada optimistis. 2.3.1 Generasi Android Sekitar bulan september 2007 sebuah studi melaporkan bahwa Google mengajukan hak paten aplikasi telepon seluler yang akhirnya dinamakan Nexus One, salah satu jenis telepon pintar GSM yang menggunakan Android pada sistem operasinya. Telepon seluler ini diproduksi oleh HTC Corporation dan tersedia dipasaran pada tanggal 5 januari 2010. Kemudian pada 9 desember 2008 diumumkan anggota baru yang bergabung dalam kerja Android ARM Holdings, Atheros Communications, diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericson, Toshiba Crop, dan Vodafone Group Plc. Seiring pembentukan Open Handset Alliance, OHA mengumumkan produk perdana mereka, Android, perangkat bergerak atau mobile yang merupakan modifikasi kernel Linux 2.6. Adapun beberapa versiversi Android yang pernah dirilis adalah sebagai berikut: a. Android Versi 1.1 b. Android Versi 1.5 (Cupcake) c. Android Versi 1.6 (Donut) d. Android Versi 2.0/2.1 (Eclair) e. Android Versi 2.2 (Froyo: Frozen Yoghurt) f. Android Versi 2.3 (Gingerbread) g. Android Versi 3.0/3.1 (Honeycomb)
Universitas Sumatera Utara
12
h. Android Versi 4.0 (ICS: Ice Cream Sandwich) i. Android Versi 4.1/43 (Jelly Bean) j. Android Versi 4.4 (Kitkat) k. Andorid Versi 5.0 (Lollipop) Menurut Hermawan (2011), pengembangan sistem operasi dan aplikasi Android mengacu pada empat prinsip yaitu: 1. Terbuka Android dibangun untuk menjadi benar-benar terbuka. Sebagai contoh, sebuah aplikasi dapat mengambil dan mengakses fungsi-fungsi utama ponsel seperti membuat panggilan, mengirim pesan teks, bahkan menggunakan kamera. Hal ini memungkinkan para pengembang untuk membuat aplikasi yang lebih baik. 2. Semua Aplikasi Dibuat Sama Android tidak membedakan antara aplikasi inti ponsel dan aplikasi pihak ketiga. Kedua jenis aplikasi ini dapat dibangun dan memiliki akses yang sama ke ponsel. Pengguna dapat sepenuhnya mengatur telepon sesuai kepentingan mereka. 3. Mendobrak Batasan-Batasan Aplikasi Android membuang berbagai hambatan untuk membangun aplikasi baru yang inovatif. Misalnya, seorang pengembang dapat menggabungkan informasi dari web dengan data individu dari ponsel seperti data kontak, kalender atau lokasi geografis. Sehingga memberikan informasi yang lebih relevan. 4. Pengembangan Aplikasi yang Cepat dan Mudah Android menyediakan akses ke berbagai libraries dan tools yang dapat digunakan untuk membangun aplikasi yang kaya.
Beberapa fitur yang tersedia pada Android antara lain: 1. Framework aplikasi, memungkinkan penggunaan dan pemindahan dari komponen yang tersedia.
Universitas Sumatera Utara
13
2. Dalvik virtual machine, virtual machine yang dioptimalkan untuk perangkat mobile. 3. Grafik, grafik 2D dan grafik 3D yang didasarkan pada library OpenGL. 4. SQLite, untuk penyimpanan data. 5. Mendukung media audio, video, dan berbagai format gambar. 6. GSM, Bluetooth, EDGE, 3G, dan WiFi. 7. Kamera, GPS (Global Positioning Sistem), Kompas, dan accelerometer. 8. Lingkungan pengembangan yang kaya, termasuk emulator, peralatan debugging, dan plugin untuk Eclipse IDE.
2.3.2 Arsitektur android Sistem operasi Android dibangun berdasarkan kernel Linux dan memiliki arsitektur seperti berikut ini: 1. Applications Lapisan ini adalah lapisan aplikasi, serangkaian aplikasi akan terdapat pada perangkat mobile. Aplikasi inti yang telah terdapat pada Android termasuk kalender, kontak, SMS, dan lainnya. Aplikasi-aplikasi ini ditulis dengan bahasa pemrograman Java. 2. Application Framework Pengembang aplikasi memiliki akses penuh ke Android sama dengan aplikasi inti yang telah tersedia. Pengembang dapat dengan mudah mengakses informasi lokasi, mengatur alarm, menambahkan pemberitahuan ke status bar dan lain sebagainya. Arsitektur aplikasi ini dirancang untuk menyederhanakan penggunaan kembali komponen, aplikasi apa pun dapat mempublikasikan kemampuan dan aplikasi lain dapat menggunakan kemampuan mereka sesuai batasan keamanan. Dasar dari aplikasi adalah seperangkat layanan dan sistem, yaitu berbagai View yang digunakan untuk membangun UI, Content Provider yang memungkinkan aplikasi berbagi data, Resource Manager menyediakan akses bukan kode seperti grafik, string, dan layout, Notification Manager yang akan membuat aplikasi
Universitas Sumatera Utara
14
dapat menampilkan tanda pada status bar dan Activity Manager yang berguna mengatur daur hidup dari aplikasi. 3. Libraries Satu set libraries dalam bahasa C/C++ yang digunakan oleh berbagai komponen pada sistem Android.
4. Android Runtime Satu set libraries inti yang menyediakan sebagian besar fungsi yang tersedia di libraries inti dari bahasa pemrograman Java. Setiap aplikasi akan berjalan sebagai proses sendiri pada Dalvik Virtual Machine.
5. Linux Kernel Android bergantung pada Linux kernel 2.6 untuk layanan sistem inti seperti keamanan, manajemen memori, manajemen proses, network stack, dan model driver. Kernel juga bertindak sebagai lapisan antara hardware dan seluruh software. 2.4 Client Server Client server adalah salah satu model komunikasi 2 komputer atau lebih yang berfungsi melakukan pembagian tugas. Client bertugas untuk melakukan input, update, penghapusan, dan menampilkan data sebuah database. Sedangkan server bertugas menyediakan pelayanan untuk melakukan manajemen, yaitu menyimpan dan mengolah database (Wahana Komputer, 2010). Ada beberapa model arsitektur client server, diantaranya adalah 1-Tier (standalone), 2-Tier, dan n-Tier. Arsitektur 1-Tier merupakan model dimana sebuah komputer mengakses sebuah database dari komputer sendiri. Dengan kata lain, aplikasi antarmuka user dan aplikasi database terdapat pada komputer yang sama. Arsitektur 2-Tier merupakan model yang membagi tugas antara komputer client dan komputer server. Komputer client bertugas menyediakan antarmuka untuk user, permintaan data ke server, serta pemrosesan data. Komputer server bertanggung jawab terhadap penyimpanan, pengelolaan, serta melayani permintaan akses data.
Universitas Sumatera Utara
15
Arsitektur n-Tier berarti membagi komponen menjadi n entitas, yaitu 1 tier client dan n-1 tier server. Bagian client bertugas menyediakan antarmuka aplikasi, sedangkan bagian server bertugas menyediakan data. 2.5
Penelitian Terdahulu
Dalam penelitian, penulis membutuhkan beberapa bahan penelitian yang sudah pernah dilakukan peneliti-peneliti lainnya mengenai masalah penjadwalan. Tabel 2.3 Penelitian Terdahulu No
Judul
Penulis
Keterangan
1.
Sistem Penjadwalan
Qurza Siddharta
Hasil penerapan metode
Iklan Pada Radio
Aryawarman.
Priority Schedulling adalah
Megantara FM Nganjuk
2007.
pemrioritasan penyiaran
dengan Algoritma
iklan berdasarkan besarnya
Dynamic Priority
biaya pemasangan iklan,
Schedulling
sehingga dapat mencapai maksimasi hasil pendapatan.
2.
A New Round Robin
Abbas Noon,dkk.
Round Robin merupakan
Based Scheduling
2011.
sebuah algoritma
Algorithm for
penjadwalan yang optimal.
Operating Sistems: Dynamic Quantum Using the Mean Average
3
A New Scheduling
C.Yaashuwanth,
Algoritma Round Robin
Algorithms
Dkk. 2009.
sangat efektif dalam
for Real Time Tasks
melakukan penjadwalan. Algortima sangat efisien, cepat, dan hemat memori.
Universitas Sumatera Utara
16
Tabel 2.3 Penelitian Terdahulu (lanjutan) No
Judul
4
5
Penulis
Keterangan
A Priority based Round
Ishwari Singh
Round Robin adalah
Robin CPU
Rajput. 2012.
algoritma yang sangat
Scheduling Algorithm
efisien dengan waktu
for Real Time Sistems
bekerja relatif cepat
Implementasi
Monica Santika.
Algoritma Shortest Job Firs
Algoritma Shortest Job
2012
lebih baik daripada Round
First dan Round Robin
Robin untuk sistem
pada Sistem
penjadwalan barang
Penjadwalan Pengiriman Barang
Universitas Sumatera Utara