BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Pengertian Jaringan Jaringan komputer adalah sebuah sistem yang terdiri atas komputer dan perangkat jaringan lainnya yang bekerja bersamasama untuk mencapai suatu tujuan yang sama. Agar dapat mencapai tujuan yang sama, setiap bagian dari jaringan komputer meminta dan memberikan layanan (service). Pihak yang meminta layanan disebut klien (client) layanan disebut pelayan dan yang memberikan (server). Arsitektur ini disebut dengan sistem client-server, dan digunakan pada hampir seluruh aplikasi jaringan komputer (Doug Lowe, 2005, p10). 2.1.2 Jaringan Komputer Menurut Mc Graw Hill. Behrouz A. Forouzan (2002). Jaringan, yang terdiri dari berbagai kombinasi komputer, media penyimpanan dan peranti komunikasi, bisa dikelompokkan dalam beberapa kategori utama yaitu : 1. Wide Area Network (WAN) WAN merupakan jaringan komunikasi yang mencakup wilayah geografis yang sangat luas misalnya pada sebuah negara atau dunia. Jaringan WAN biasanya menggunakan kombinasi antara teknologi dari satelit, kabel serat optik, microwave, dan koneksi kabel Unshielded Twisted Pair (UTP) , serta sambungan ke berbagai komputer mulai dari mainframe sampai terminal. Contohnya adalah perusahaan yang menggunakan telepon regional. 2. Metropolitan Area Network (MAN) MAN merupakan jaringan yang mencakup sebuah kota atau daerah. MAN biasanya dibangun untuk mem-bypass perusahaan 9 10 telepon lokal ketika mengakses layanan jarak jauh. Banyak sistem ponsel menggunakan MAN. 3. Local Area Network (LAN) LAN merupakan salah satu jaringan yang paling umum dilakukan, dimana hanya meggunakan komputer dan piranti dalam cakupan yang sangat terbatas misalnya pada kost-kostan atau perusahaan yang hanya untuk keperluan pribadi. 4. Home Area Network (HAN) HAN merupakan jaringan yang digunakan untuk menghubungkan beberapa piranti digital di rumah tidak hanya terbatas pada komputer tetapi juga pada printer dan sebagainya. 5. Personal Area Network (PAN) PAN memiliki kelebihan dalam hal jaringan dimana dengan memanfaatkan teknologi menghubungkan nirkabel perangkat-perangkat jarak dekat elektronik untuk pribadi dibandingan dengan HAN yang menggunakan kabel untuk menghubungkannya. 2.1.3 Pola Pengoperasian Jaringan 2.1.3.1 Jaringan peer to peer (P2P) Peer to peer adalah jenis jaringan komputer dimana setiap komputer bisa menjadi server sekaligus client. Setiap komputer dapat menerima dan memberikan access dari/ke komputer lain. PeertoPeer banyak diimplementasikan pada Local Area Networki (LAN). 2.1.3.2 Client Server Client Server adalah jaringan komputer yang salah satu (boleh lebih) komputernya difungsikan sebagai server untuk melayani komputer lain. Komputer yang dilayani oleh server disebut client. 11 2.1.4 Topologi Menurut Green, James Harry (1985). Topologi jaringan adalah sebuah pola interkoneksi dari beberapa terminal komputer. Topologi jaringan merupakan representasi geometri dari hubungan antar perangkat (terminal komputer, repeaters, bridges) satu dengan lainnya. Berdasarkan topologi jaringan, maka jaringan komputer dapat dibagi beberapa bagian, antara lain : • Topologi Bus Topologi Bus ini menggunakan “Single BackBone Segment” sebagai penghubung semua komputer yang ada pada jaringan. Semua komputer terhubung langsung ke komputer. Gambar 2.1 Topologi Bus • Topologi Star Topologi Star menghubungkan semua workstation ke satu buah titik pusat. Titik Pusat ini biasanya berupa hub atau switch sehingga seolah-olah komputer yang terhubung berbentuk seperti bintang. Gambar 2.2 Topologi Star 12 • Topologi Extended Star Topologi Extended Star merupakan topologi yang menggabungkan beberapa topologi star menjadi satu. Gambar 2.3 Topologi Extended Star • Topologi Ring Topologi Ring berbentuk rangkaian workstation yang masingmasing terhubung ke dua workstation lainnya, sehingga seolah-olah membentuk jalur melingkar seperti cincin (ring). Pada topologi ring, komunikasi dapat terganggu jika satu titik mengalami gangguan. Gambar 2.4 Topologi Ring • Topologi Mesh Topologi Mesh merupakan suatu bentuk hubungan antar perangkat dimana setiap perangkat terhubung secara langsung ke perangkat lainnya yang ada didalam jaringan, sehingga setiap perangkat dapat berkomunikasi langsung dengan perangkat yang dituju (dedicated links). Biasanya digunakan ketika jaringan yang ada tidak boleh mengalami kesalahan dalam berkomunikasi. 13 Gambar 2.5 Topologi Mesh • Topologi Tree Topologi jaringan ini sering disebut sebagai jaringan bertingkat, dimana biasanya digunakan untuk interkoneksi antar sentral dengan hirarki yang berbeda. Gambar 2.6 Topologi Tree 2.1.5 Model Referensi TCP/IP Sejarah ARPANET TCP/IP dimulainya dari lahirnya yaitu jaringan paket switching yang didanai oleh DARPA (Defence Advanced Research Projects Agency) pada tahun 1969. TCP/IP dijadikan standard oleh ARPANET pada tahun 1983. Untuk mempermudah konversi, DARPA mendanai suatu proyek yang juga mengimplementasikan protokol ini ke dalam BSD UNIX. Model refisi TCP/IP dibagi menjadi 4 layer, antara lain sebagai berikut (William Stallings, 2004, p38) : a. Aplication Layer Layer ini menangani protokol tingkat tinggi, 14 misalnya serperti aplikasi SSH untuk remote login, FTP, pengiriman e-mail dengan protokol SNMP, DNS yang berfungsi untuk memetakan nama-nama host menjadi IP address, HTTP untuk web browsing, dan masih banyak lagi protokol lainnya. b. Transport Layer Layer ini memungkinkan peer entity-peer entity pada host sumber dan host tujuan untuk melakukan komunikasi. Lapisan ini mendefinisikan data yang diproses oleh bagiamana lapisan aplikasi yang dikirimkan melalui jaringan. Dalam lapisan ini terdapat dua jenis protokol, yaitu TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol). Jenis protokol apa yang digunakan, dan bagaimana suatu data dikirimkan dengan protokol tersebut sangant bergantung pada lapisan aplikasi. c. Internet Layer Layer ini berfungsi mengijinkan host mengirimkan paket ke network dan memungkinkan paket-paket itu berjalan sendiri- sendiri ke tempat tujuannya. Selain itu juga, internet layer menentukan format paket yang resmi dan protokol resmi yang disebut Internet Protokol (IP). Ada dua versi IP yang sekarang digunakan, yaitu IPv4 dan IPv6. IPv4 terdiri atas kode sepanjang 32 bit, atau dinyatakan dengan memberi titik di setiap 8 bitnya. Contoh alamat IPv4: 00000010 00000010 00000001 00000001 atau dalam desimal menjadi 10.10.1.1. Sedangkan pada IPv6 terdiri atas kode sepanjang 128 bit. Contoh alamat IPv6: FE80:0000:0000:0000:02AA:00FF:FE9A:4CA2 bisa disederhanakan atau menjadi FE80:0:0:0:2AA:FF:FE9A:4CA2 atau bisa juga ditulis serperti FE80::2AA:FF:FE9A:4CA2. 15 d. Network Access Layer Layer ini berhubungan dengan hal-hal yang memungkinkan paket IP untuk membuat hubungan secara fisik, dan kemudian membuat hubungan fisk lainnya. e. Physical Layer Layer ini berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan. Pada level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio. Gambar 2.7 Model Referensi TCP/IP 2.1.6 Model Referensi Open System Interconnection (OSI) Model referensi jaringan terbuka OSI atau OSI Reference Model for open networking adalah sebuah model arsitektural jaringan yang dikembangkan oleh badan International Organization for Standardization (ISO) di Eropa pada tahun 1977. OSI sendiri merupakan singkatan dari Open System Interconnection. Model ini disebut juga dengan model "Model tujuh lapis OSI" (OSI seven layer models). Sebelum munculnya model referensi OSI, sistem jaringan komputer sangat tergantung kepada pemasok (vendor). OSI berupaya membentuk standar umum jaringan komputer untuk 16 menunjang interoperatibilitas antar pemasok yang berbeda. Dalam suatu jaringan yang besar biasanya terdapat banyak protokol jaringan yang berbeda. Tidak adanya suatu protokol yang sama, membuat banyak perangkat tidak bisa saling berkomunikasi. Ketujuh layer OSI adalah (William Stallings, 2004, p27): a. Physical Layer Layer ini berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan, topologi jaringan dan pengabelan. Selain itu, level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio. b. D ata Link Layer Layer ini befungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras (seperti halnya Media Access Control Address (MAC Address)), dan menetukan bagaimana perangkat- perangkat jaringan seperti hub, bridge, repeater dan switch layer 2 beroperasi. c. Network Layer Layer ini berfungsi untuk mendefinisikan alamatalamat IP, membuat header untuk paket-paket, dan kemudian melakukan routing melalui internetworking dengan menggunakan router dan switch layer 3. d. T ransport Layer Layer ini berfungsi untuk memecah data ke dalam paket- paket data serta memberikan nomor urut ke paket-pakettersebut sehingga dapat disusun kembali pada sisi tujuan setelah paket diterima dengan sukses 17 (acknowledgement),dan mentransmisikan ulang terhadap paket-paket yang hilang di tengah jalan. e. Session Layer Layer ini berfungsi untuk menyediakan (establish), mengatur (manage), dan memutuskan (terminate) sesi antara dua host yang sedang berkomunikasi. f. Presentation Layer Layer semantics ini berisi tentang syntax dan dari informasi yang dikirimkan. Untuk memungkinkan dua buah komputer yang memiliki presentation yang berbeda untuk dapat berkomunikasi, struktur data yang akan ditukar dapat dinyatakan dengan cara abstrak. Di layer ini dilakukan enkripsi, dekripsi dan kompresi data yang ditujukan untuk maksud keamanan. g.Application Layer Layer ini berfungsi sebagai antarmuka dengan aplikasi dengan bagaimana fungsionalitas jaringan, mengatur aplikasi dapat mengakses jaringan, dan kemudian membuat pesan-pesan kesalahan. Protokol yang berada dalam lapisan ini adalah HTTP, FTP, SMTP, NFS, dan lain sebagainya. Gambar 2.8 Model Referensi OSI dan TCP/IP 18 2.1.7 Perangkat Jaringan Untuk menciptakan sebuah jaringan komputer yang dapat menyediakan layanan komunikasi antar user, diperlukan beberapa perangkat jaringan yang menunjang. Perangkat jaringan yang dimaksud adalah : 1. NIC (Network Interface Card) Dalam (CCNA Exploration 4.0, Network Fundamentals, glossary, akses tanggal 29 September 2012) : NIC adalah sebuah jenis hardware komputer yang dibuat untuk menyediakan layanan komunikasi antar komputer dalam suatu jaringan komputer. Menurut (Dyson, 1999 : 272-273), NIC merupakan jenis device yang terpasang pada papan circuit komputer atau server yang bekerja sesuai dengan network operating system ataupun dengan driver device yang cocok untuk mengontrol alur lalu lintas informasi dalam sebuah jaringan. Gambar 2.9 NIC Dell Server (sumber:www.dell.com, akses tanggal 18 Februari 2015) 2. Router Dalam (CCNA Exploration 4.0, Network Fundamentals, glossary, akses tanggal 29 September 2012) : Router adalah 19 suatu device yang bekerja di layer network dengan menggunakan satu atau lebih metriks untuk menentukan jalur optimal dalam men-forward network traffic. Gambar 2.10 Router Cisco 2900 Series(sumber:http://www.cisco.com/en/US/products/ps105 40/index.html akses tanggal 18 Februari 2015) 3. Switch Menurut (Downing, et all, 2009 : 472), switch merupakan suatu device jaringan yang berfungsi untuk menyaring, meneruskan, dan mempropagasikan (floods) frame berdasarkan pada alamat tujuan dari setiap frame. Switch bekerja pada data link layer pada model OSI. Berdasarkan kemampuan dan area operasinya, switch dibedakan menjadi dua yaitu : a. Switch layer 2 Switch layer 2 merupakan jenis switch yang bekerja di layer 2 OSI model yang memakai MAC address dalam melakukan tugasnya sebagai switch. b. Switch layer 3 (multilayer switch) Switch layer 3 merupakan jenis switch yang bekerja di layer 3 OSI model yang juga memakai MAC address untuk melakukan tugasnya sebagai switch dan memakai IP address untuk melakukan tugasnya sebagai multilayer switch. Gambar 2.11 Cisco Catalyst Switch 3550 20 (sumber:http://www.powersourceonline.com,akses tanggal 18 Februari 2015) 4. Server Menurut ( Downing, et all, 2009 : 440 ) : Server merupakan komputer yang menyediakan service ke komputer lainnya (client). Sedangkan menurut (Dyson, 1999 : 350) : Server merupakan komputer yang menyediakan akses ke data, printing, komunikasi, dan service lainnya untuk user lainnya di dalam suatu jaringan. Dalam (CCNA Exploration 4.0, Network Fundamentals, akses tanggal 4 Oktober 2012) : Server merupakan komputer yang mengandung informasi yang dapat di-share ke komputer lainnya (client). Contohnya, web page, document, database, picture, video, dan audio file dapat disimpan di server dan dikirim ke client jika ada proses request. Dibawah ini akan dijelaskan mengenai beberapa tipe server yang dipakai dalam penelitian ini : a. Web Server Menurut (Anonymous, 2012, Webopedia) : Web Server merupakan komputer yang menyajikan halaman web. Setiap web server mempunyai sebuah IP address dan sebuah domain name. Sebagai contohnya jika user menginput sebuah alamat web di browser maka akan ada proses request ke web server yang memiliki domain name yang sama dengan alamat web yang diinput. Jika ditemukan oleh web server, web server akan mengambil halaman index.html (halaman default setiap website) dan mengirimkan kembali ke web browser user. 21 Sedangkan menurut (Dyson, 1999 : 419) : Web Server merupakan sebuah paket terdiri dari hardware dan software yang service ke komputer client melalui web browser. Ada 3 batasan dari nilai response time: a. 0.1 detik. Ini adalah response time yang ideal. User akan merasa bahwa sistem merespon dengan cepat dan tidak ada interupsi. b. 1.0 detik. Ini adalah batas response time terlama yang dapat diterima. User masih tidak merasakan adanya interupsi, walaupun mungkin mengalami delay. Response time yang diatas 1 detik dapat menginterupsi user. c. 10 detik. Ini adalah batas setelah response time tidak dapat diterima. Jika response time melebihi 8 detik, user akan mengalami banyak interupsi dan kebanyakan user akan meninggalkan situs atau sistem tersebut. Umumnya response time harus secepat mungkin. Interval response time yang paling baik adalah 0.1 – 1 detik. Meskipun user dapat beradapatasi dengan response time yang lambat, namun secara umum user tidak puas jika waktu tersebut lebih dari 2 detik. (sumber:http://www.loadtestingtool.com/help/responsetime.html) b. Database Server Menurut (Dyson, 1999 : 101-102) : Database server merupakan suatu aplikasi database yang mengikuti model arsitektur client/server dimana aplikasi tersebut terbagi atas dua bagian yaitu bagian front-end yang berjalan pada user workstation dan back-end yang berjalan di sebuah server atau host komputer. Bagian front-end berinteraksi dengan user dan bertugas mengumpulkan dan menampilkan data sedangkan 22 bagian back-end bertugas untuk analisis data, storage dan proses manipulasi. Gambar 2.12 Server Dell PowerEdge R210 II (sumber:http://www.dell.com, akses tanggal 18 Februari 2015) 2.1.8 Pengalamatan IP Alamat IP mendefinisikan keduanya dari jaringan dan perangkat yang bersifat spesifik. Dalam satu jaringan terdapat satu pengenal jaringan (network identifier) yang bersifat unik untuk semua perangkat jaringan yang tersambung. Keseluruhan alamat IP terdiri dari 32 bits yang penulisannya dalam bilangan biner untuk sebuah perangkat komputer. Untuk penyederhanaan dari bilangan-bilangan diatas, maka dibagilah ke dalam 4 bagian (octets), massing-masing bagian terdapat 8 bits. Dan untuk penyederhanaan lebih lanjut lagi, maka bilangan-bilangan biner tersebut direpresentasikan ke dalam bilangan desimal dengan nilai 0 sampai 255. Merupakan suatu pengetahuan yang sangat penting untuk mempelajari bagaimana cara untuk mengkonversi dari bilangan biner ke desimal maupun sebaliknya. 23 Tabel 2.1 Tabel nilai bilangan biner dengan desimalnya. Binary 00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 00001000 00001010 00001011 00001100 00001101 00001110 00001111 00010000 00100000 Equivalent 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 32 Dimana bilangan biner tertinggi yang masih dapat dihitung dari tabel di atas adalah sampai ke-8 bits diatas semuanya memuat angka 1, yaitu 11111111 yang nilai desimalnya adalah 255. Seperti yang sudah dibahas di atas, bahwa sebuah alamat IP memiliki 32-bits nomor dan kemudian dibagi kedalam bagian-bagian yang lebih kecil. Dan cara menuliskan sebuah alamat IP adalah dengan format X.X.X.X dimana X sendiri merupakan nilai dari 0 sampai dengan 24 255. Ingatlah bahwa sebuah alamat IP mengidentifikasikan keduanya dari network dan host-nya. Porsi dari pengalamatan IP terbagi atas tiga kelas yang bertujuan untuk mengakomodasikan jumlah host dari sebuah jaringan. Class A : Didesain untuk sebuah jaringan dengan skala besar. Porsi network address terdapat di oktet pertama dari 32-bits yang tadinya sudah dibagi ke dalam empat oktet, tiga oktet lainnya akan digunakan sebagai porsi host address. Dengan kata lain, memungkinkan untuk terdapat 128 jaringan yang berbeda, masing-masing memiliki potensi untuk mencakup 16.777.216 perangkat jaringan. Class B : Didesain untuk jaringan dengan skala level medium. Dua porsi dari empat bagian tadi digunakan sebagai network address, dan dua porsi sisanya digunakan sebagai host address dari jaringan. Di kelas jaringan ini, memungkinkan untuk terdapat 16,384 jaringan yang berbeda, yang masing-masingnya mencakup 65.536 perangkat jaringan. Class C : Didesain untuk jaringan dengan skala kecil, network address terdapat di tiga oktet pertama, dan host address nya dimuat di oktet terakhir. kelas ini merupakan kelas dengan network group paling banyak, dengan total 2,097,152. Sedangkan untuk host jaringannya tidak lebih dari 256 perangkat. 25 8 bits 8 bits 8 bits 8 bits Class A Network Host Host Host Class B Network Network Host Host Class C Network Network Network Host Tabel 2.2 Rangkuman tiga kelas jaringan. Untuk mengetahui lebih cepat kelas dari sebuah alamat IP, dapat mengikuti aturan sederhana yang juga dikenal dengan the first octet rule. Tabel 2.3 The First Octet Rule Table. Class First Octet Rule Decimal Binary A Bit pertama 0 0-127 00000000-01111111 B Dua bits pertama 128-191 10000000-10111111 C Tiga bits pertama 192-223 11000000-11011111 26 Kemudian, di dalam sebuah kelas jaringan terdapat sebuah alamat yang dikenal sebagai private address yang tidak dapat digunakan oleh user. Private address tersebut adalah : 10.0.0.0 – 10.255.255.255, 172.16.0.0 – 172.31.255.255, dan 192.168.0.0 – 192.168.255.255. Di kebanyakan kasus, private address disini ditujukan ke perangkat-perangkat jaringan yang tidak akan mengirimkan atau menerima lalu-lintas diluar dari jaringan mereka sendiri. Terdapat aplikasi lain yang memungkinkan untuk private address, adalah situasi dimana hanya terdapat sejumlah pengguna yang terbatas yang akan melakukan komunikasi diluar jaringan mereka sendiri di satu waktu. Dalam kejadian ini, tempat penampungan address akan dibentuk dimana alamat yang ditugaskan secara dinamis ke sebuah perangkat untuk waktu yang terbatas. Semua kejadian di atas adalah kegiatan untuk melakukan penghematan terhadapt jumlah alamat IP. Beberapa jumlah private address di atas merupakan alamat yang tidak diperkenankan di dalam sistem Internet. (Jeffrey Wheat, Randy Hiser, Jackie Tucker, Alicia Neely dan Andy McCullough, 2011, p91-93). 2.2 Teori Khusus 2.2.1 Sejarah Perkembangan Cloud Menurut Arif Mohammed (2011). Cloud (Awan) adalah suatu istilah yang dipinjam dari telepon. Sampai tahun 1990an, sirkuit data (termasuk yang membawa lalu lintas internet) yang berkabel keras diantara tujuan. Kemudian perusahaan telepon long-haul mulai menawarkan jasa Virtual Private Network (VPN) untuk komunikasi data. Perusahaan telepon memungkinkan menyediakan layanan yang berdasarkan VPN dengan jaminan bandwidth sebagai sirkuit yang diperbaiki dengan biaya yang lebih murah karena mereka dapat 27 mengganti lalu lintas untuk menyeimbangkan penggunaan yang mereka lihat cocok. Sehingga penggunaan jaringan mereka secara keseluruhan lebih efektif. Sebagai hasil dari penyusunan ini, memungkinkan untuk menentukan dengan cepat dan tepat jalan mana yang akan dilalui. Simbol cloud (awan) digunakan untuk menunjukkan tanggung jawab sebuah service provider (penyedia layanan), dan cloud computing (komputasi awan) memperluasnya untuk melindungi server sebaik infrastruktur jaringannya. Hal yang mendasari konsep cloud berawal pada tahun 1960-an, saat John McCarthy, pakar komputasi Massachusetts Institute of Technology (MIT) yang dikenal juga sebagai salah satu pionir intelejensi buatan, menyampaikan visi bahwa "suatu hari nanti komputasi akan menjadi infrastruktur publik seperti listrik dan telepon". Namun baru di tahun 1995, Larry Ellison, pendiri Oracle, memunculkan ide "Network Computing" sebagai kampanye untuk menggugat dominasi Microsoft yang saat itu merajai desktop computing dengan Windows 95-nya. Larry Ellison menawarkan ide bahwa sebetulnya user tidak memerlukan berbagai software, mulai dari Sistem Operasi dan berbagai software lain, dijejalkan ke dalam Personal Computer (PC) desktop mereka. PC Desktop bisa digantikan oleh sebuah terminal yang langsung terhubung dengan sebuah server yang menyediakan lingkungan yang berisi berbagai kebutuhan perangkat lunak yang siap diakses oleh pengguna. Ide "Network Computing" ini sempat menghangat dengan munculnya beberapa pabrikan seperti Sun Microsystem dan Novell Netware yang menawarkan Network Computing client sebagai pengganti desktop. Namun akhirnya, gaung Network Computing ini lenyap dengan sendirinya, terutama disebabkan kualitas jaringan komputer yang saat itu masih belum memadai, sehingga akses NC (Network Computing) ini menjadi sangat lambat, sehingga orang-orang akhirnya kembali memilih kenyamanan PC desktop, seiring dengan semakin murahnya harga PC. Merasakan ketidakpraktisan dengan program-program web- 28 based, maka kini diciptakanlah suatu terobosan baru, yaitu Cloud. Aplikasi yang ada di cloud computing tidak tergantung pada sistem operasi yang digunakan oleh pemakai (jadi boleh saja memakai Linux, Mac OS, MS Windows, bahkan sistem operasi Personal Digital Assistant (PDA) atau ponsel). Yang penting, user dapat mengakses Internet, menuju ke alamat atau situs tertentu, untuk menjalankan program yang dia perlukan. Contoh yang paling mudah dijumpai adalah aplikasi Google (di alamat www.google.com/apps) yang di antaranya terdiri atas organizer (pengelola data relasi, jadwal atau kalender, dan e-mail) dan aplikasi bisnis (pengolah kata, pengolah angka, dan program presentasi). Aplikasi tersebut selain gratis, juga selalu diperbarui oleh pembuatnya. Pemakai tidak perlu membayar apapun, kecuali kalau membutuhkan fitur-fitur yang lebih bagus. Tonggak selanjutnya adalah kehadiran konsep ASP (Application Service Provider) diakhir era 90-an. Seiring dengan semakin meningkatnya kualitas jaringan komputer, memungkinkan akses aplikasi menjadi lebih cepat. Hal ini ditangkap sebagai peluang oleh sejumlah pemilik data center untuk menawarkan fasilitasnya sebagai tempat hosting aplikasi yang dapat diakses oleh pelanggan melalui jaringan komputer. Dengan demikian pelanggan tidak perlu investasi di perangkat data center. Hanya saja ASP ini masih bersifat "private", dimana layanan hanya dikustomisasi khusus untuks atu pelanggan tertentu, sementara aplikasi yang di sediakan waktu itu umumnya masih bersifat clientserver. Kehadiran berbagai teknik baru dalam pengembangan perangkat lunak di awal abad 21, terutama di area pemrograman berbasis web disertai peningkatan kapasitas jaringan internet,telah menjadikan situs-situs internet bukan lagi berisi sekedar informasi statik. Tapi sudah mulai mengarah ke aplikasi bisnis yang lebih kompleks. Dan seperti sudah sedikit disinggung sebelumnya, popularitas cloud semakin menjulang saat di awal 2000-an, MarcBenioff ex VP di Oracle, meluncurkan layanan aplikasi 29 Customer Relationship Management (CRM) dalam bentuk Software as a Service (SaaS), Salesforce.com, yang mendapatkan sambutan luar biasa di dunia teknologi informasi. Dengan misinya yang terkenal yaitu "The End of Software", Benioff bisa dikatakan berhasil mewujudkan visi atasannya di Oracle, Larry Elisson, tentang network computing menjadi kenyataan satu dekade kemudian. Selanjutnya cloud bergulir seperti bola salju menyapu dunia teknologi informasi. Dimulai di tahun 2005, mulai muncul inisiatif yang didorong oleh nama-nama besar seperti Amazon.com yang meluncurkan Amazon EC2 (Elastic Compute Cloud), Google dengan Google App Engine, tak ketinggalan raksasa biru International Business Machines (IBM) meluncurkan Blue Cloud Initiative dan lain sebagainya. Semua inisiatif ini masih terus bergerak, dan bentuk cloud pun masih terus mencari bentuk terbaiknya, baik dari sisi praktis maupun dari sisi akademis. Bahkan dari sisi akademis, jurnal-jurnal yang membahas tentang hal ini baru bermunculan di tiga tahun belakangan. Akhirnya seperti yang di saksikan sekarang, seluruh nama-nama besar terlibat dalam pertarungan menguasai awan ini. Bahkan pabrikan Dell, pernah mencoba mempatenkan istilah "Cloud", namun ditolak oleh otoritas paten Amerika. Walaupun di luaran perebutan awan ini begitu dahsyat, tidak demikian dengan di tanah air Indonesia tercinta ini. Pemain yang benar-benar mencoba masuk di area ini masih sangat sedikit, bahkan jumlahnya bisa dibilang belum sebanyak jari sebelah tangan. Salah satu yang cukup serius bermain di area ini adalah PT Telkom, yang setidaknya saat ini sudah menawarkan dua layanan aplikasi berbasis Software as a Service. Salah satunya melalui anak usahanya, “Sigma Cipta Caraka, yang menawarkan layanan aplikasi core banking bagi bank kecil-menengah. Kemudian bekerjasama dengan IBM Indonesia dan mitra bisnisnya, PT Codephile , Telkom menawarkan layanan e-Office on Demand untuk kebutuhan kolaborasi/korespondensi di dalam suatu perusahaan atau organisasi. Sepinya sambutan dunia teknologi informasi dalam negeri terhadap cloud computing ini, mungkin disebabkan beberapa faktor, di 30 antaranya: 1. Penetrasi infrastruktur internet yang bisa dibilang masih terbatas. 2. Tingkat kematangan pengguna internet yang masih menjadikan media internet utamanya sebagai media hiburan atau sosialisasi. 3. Tingginya investasi yang dibutuhkan menyediakan layanan Cloud ini, karena harus merupakan kombinasi antara infrastruktur jaringan, hardware dan software sekaligus. Namun demikian, sebagai negara dengan jumlah penduduk terbesar ke-5 di dunia, yang berarti juga pasar terbesar ke-5 di dunia, para pelaku teknologi informasi dalam negeri harus sesegera mungkin mempersiapkan diri dalam arti mulai mengembangkan layananlayanan yang siap diubah menjadi cloud. Sehingga saat gelombang besar cloud ini sampai di sini, tidak hanya pemain asing besar saja yang akan menangguk keuntungan. Tentu saja peran pemerintah sebagai fasilitator dan regulator sangat diperlukan di sini. Sampai saat ini paradigma atau pandangan tentang cloud computing ini masih berevolusi, dan masih menjadi subyek perdebatan yang melibatkan akademisi, vendor teknologi informasi, badan pemerintah, dan pihakpihak terkait lainnya. 2.2.2 Definisi Cloud Seperti yang telah dipaparkan diatas, three layers model merupakan dasar dari cloud. Cloud merupakan metafora dari internet yang memiliki cakupan yang sangat luas sehingga cloud dapat diartikan secara abstrak. Pada umumnya banyak yang menyetujui bahwa cloud merupakan hasil konvergensi dari grid computing, utility computing dan software as a service, yang secara esensial merepresentasikan tren yang meningkat kearah penyebaran Information Technology (IT) eksternal, seperti ketahanan dalam menggunakan komputer, penyimpanan atau aplikasi bisnis, dan menjadikan mereka semua sebagai layanan. Grid computing merupakan sistem komputasi paralel yang memungkinkan banyak komputer yang terpisah secara lokasi namun tersambung via jalur 31 komunikasi untuk menggunakan sumber daya yang sama. Dengan grid computing setiap komputer sanggup mengerjakan aplikasi berat seperti autoCAD, yang tidak mungkin dilakukan sendirian oleh PC. Selain itu, grid computing pun tidak memandang sistem operasi atau platform dan hardware yang diajaknya berkolaborasi. “Cloud adalah salah satu tipe sistem yang paralel dan terdistribusi, yang merupakan inter-koneksi dari komputer virtual yang secara dinamis ditetapkan dan dipresentasikan sebagai satu atau lebih dari sumber daya komputasi yang terpadu. Dan berbasis pada persetujuan tingkatan layanan yang mengacu kepada negosiasi antara penyedia jasa dan konsumen.” (Ajith Singh. N, M. Hemalatha, 2012). Cloud merupakan sebuah solusi untuk banyak masalah komputasi. Meskipun kita berada dalam era IT, komplikasi dalam komputasi telah menciptakan banyak bencana dalam dunia komputer. Banyak krisis telah terjadi di dalam dunia bisnis. Keamanan, penyimpanan dan daya pengolahan data yang terbatas saat menggunakan komputasi tradisional. Data juga selalu berada dalam risiko dan tidak selalu tersedia selamanya. Namun dengan menggunakan cloud semua masalah ini dapat diatasi. Komputer dalam dunia bisnis harus memiliki hardware dan software terbaru. Karena pengaruh biaya, banyak yang tidak dapat memenuhi ketersediaan sumber daya yang cukup untuk memenuhi kebutuhan konsumen, tetapi semua itu dapat diatasi dengan menggunakan cloud. Cloud adalah teknologi baru yang cocok untuk lingkungan apapun termasuk dunia bisnis. “Private cloud dapat menyediakan sumber daya komputasi yang dibutuhkan untuk organisasi besar, seperti lembaga penelitian, universitas, atau korporasi. Argumen bahwa private cloud tidak mendukung utilitas komputasi didasarkan pada pengamatan bahwa sebuah organisasi harus berinvestasi dalam infrastruktur dan pengguna dari private cloud membayar untuk menggunakan sumber daya tersebut. Namun demikian, private cloud dapat menggunakan infrastruktur perangkat keras yang sama seperti public cloud. Tetapi keperluan keamanan akan berbeda dari public cloud dan perangkat 32 lunak yang berjalan pada cloud kemungkinan akan terbatas pada domain tertentu” (Dan C. Marinescu, 2013). Kemajuan dalam virtualisasi dan komputasi terdistribusi telah memungkinkan perusahaan jaringan dan administrator datacenter untuk secara efektif menjadi penyedia layanan yang memenuhi kebutuhan para pengguna dalam sebuah perusahaan. “Bisa bekerja sama dengan organisasi lain dalam komunitas yang mempunyai kepentingan yang sama. Melakukan hal yang sama bersama-sama tentunya lebih ringan daripada melakukannya sendiri.” (Alex Budiyanto, 2012) Cloud computing secara cepat menjadi bagian penting dari kehidupan manusia sebagai hasil dari inovasi di masa lalu pada bidang aplikasi berbasis web, dan akan terus membuat dampak yang serius di masa depan. Teknologi yang berkembang seperti grid akan mendorong gelombang inovasi berikutnya yang memungkinkan penciptaan aplikasi yang memberikan IT sebagai utilitas kelima setelah gas, air, listrik, dan telepon. Singkatnya, cloud mencakup daerah yang sangat luas dengan potensi yang sangat besar untuk meningkatkan efisiensi proses bisnis dan kualitas hidup. Perbedaan yang paling mencolok antara cloud dan grid computing adalah virtualization, yang merupakan salah satu kunci dari cloud. Seperti apa yang telah dijelaskan oleh Merrill Lynch (2008), “Cloud, tidak sama seperti grid computing, yang meningkatkan virtualisasi untuk memaksimalkan kinerja komputasi. Dimana virtualisasi merupakan cara untuk memisahkan logikal dan fisikal, yang menyelesaikan masalah yang ada pada grid computing.” Salah satu terminologi penting dalam dekade terakhir ini adalah web 2.0. Web 2.0 ini telah memberikan makna penting pada versi baru dari world wide web (WWW) yang merupakan paradigma pengembangan aplikasi web dan bagaimana pengguna menggunakan layanan web. Web 2.0 ini merupakan kulminasi teknologi yang memungkinkan sebuah halaman web bertindak sebagai sebuah aplikasi yang responsif dan cloud adalah bisnis model yang memungkinkan untuk berjalannya aplikasi tersebut. Cloud merupakan 33 salah satu content dimana web-content berubah menjadi web aplikasi dan layanan yang dapat digunakan adalah web 2.0. Cloud berimplikasi pada penggunaan aplikasi dan storage external namun memiliki akses terbuka karena adanya internet, sementara web 2.0 berimplikasi pada aktifitas sharing dan interaksi pada aplikasi yang dihosting secara external dan dapat diakses melalui internet (Arif Mohammed, 2011). Dari beberapa buku dan jurnal yang telah dibaca dan simpulkan, maka didapat kesimpulan yaitu cloud merupakan salah satu teknologi terapan di abad 21, yang menggunakan konsep internet dan aplikasi yang tidak berbasis desktop, dimana informasi secara permanen tersimpan di server internet dan tersimpan sementara di komputer pengguna sehingga pengguna tidak berorientasi pada perangkat lokal (memory, storage, processor, service, etc.). 2.2.3 Kelebihan dan Kekurangan Cloud “Pemaparan kelebihan cloud computing di sini bukan bertujuan untuk melakukan penjualan namun lebih menceritakan sisi apa yang ingin didorong dengan pemanfaatan cloud computing. Dengan mengetahui kelebihannya diharapkan bisa lebih bijak dalam melakukan pemilihan.” (SUN White Paper, 2009). 2.2.3.1 Kelebihan Cloud 1. Menghemat biaya dan lebih efisien dikarenakan menggunakan anggaran yang rendah untuk pembelian sumber daya sebuah perusahaan. 2. Bisa menghemat waktu sehingga perusahaan bisa langsung fokus ke profit dan berkembang dengan cepat. 3. Membuat operasional dan manajemen lebih mudah karena sistem pribadi/perusahaan yang tersambung dalam satu cloud dapat dimonitor dan diatur dengan mudah. 4. Meningkatkan performa dari komputer. 5. Maintenance mudah dilakukan. 6. Media penyimpanan yang dinamis. 7. Mudah untuk dikembangkan. 34 8. Mempunyai kapasitas penyimpanan yang tak terhingga. Michael Millner berkata bahwa cloud menyediakan kapasitas penyimpanan yang tak terbatas secara virtual. Ini berarti bahwa tidak adanya penyimpanan data batas pada tempat jika dibandingkan dengan sebuah PC. 9. Tidak perlu mengadakan pelatihan untuk pegawai dalam menggunakan aplikasi cloud tersebut. 10. Kolaborasi pada grup akan menjadi lebih baik karena semua user dalam grup tersebut dapat mengakses data pada saat yang bersamaan dan apabila terjadi perubahan pada data tersebut, perubahan tersebut akan langsung terjadi pada data tersebut. 11. Dapat mengakses informasi dimanapun mereka berada asalkan masih terhubung pada internet. 2.2.3.2 Kekurangan Cloud 1. Cloud membutuhkan koneksi internet secara konstan. 2. Kecepatan dari koneksi internet memiliki pengaruh yang sangat besar. Apabila maka user koneksi internet kurang baik, akan menghadapi masalah dalam mengakses aplikasi yang terdapat pada Cloud. 3. Masalah penyimpanan data. Apabila server dari cloud rusak dan data belum di-backup, maka semua data pengguna yang tersimpan pada cloud juga akan hilang. 4. Data yang disimpan pada cloud tidak sepenuhnya aman karena mungkin saja seseorang yang tidak berwenang dapat mengakses data para pengguna cloud. 2.2.4 Virtual Local Area Network (VLAN) Beberapa Switch dan beberapa Virtual Local Area Network (VLAN) bisa dijalankan bersama. Tetapi tidak bisa dijalankan jika hanya menggunakan salah satunya. Walaupun saat ini memungkinkan untuk mengkonfigurasi sebuah switchmodern yang bisa hanya memiliki 1 Virtual 35 Local Area Network (VLAN), biasanya sebuah switch memiliki 2 atau beberapa Virtual Local Area Network (VLAN).(Lewis,2011:122) Keuntungan Virtual Local Area Network (VLAN) : • Security Beberapa grup/kelompok yang memiliki data sensitif dipisahkan dari jaringan yang ada, mengurangi tingkat kebocoran data. • Cost Reduction Menghemat penggunaan biaya implementasi dan upgrade jaringan, meningkatkan efisiensi penggunaan bandwidth dan uplinks. • Higher Performance Membagi jaringan Layer 2 kedalam beberapa logical workgroups (broadcast domain) mengurangi kemacetan pada jaringan dan meningkatkan performa jaringan. • Broadcast Storm Mitigation Membagi sebuah jaringan menjadi Virtual Local Area Network (VLAN), mengurangi angka dari perangkat yang berpartisipasi dalam broadcast storm. Segmentasi Local Area Network(LAN) mencegah broadcast storm ke seluruh jaringan. • Improved IT staff efficiency Virtual Local Area Network (VLAN) memudahkan pengaturan jaringan karena pemakai dengan syarat jaringan yang sama dapat berbagi Virtual Local Area Network (VLAN)yang sama. • Simpler Project or application management Virtual Local Area Network (VLAN)mengumpulkan pengguna dan jaringan perangkat untuk mendukung bisnis dan dukungan geograpi (Lewis, 2011:124-125). 2.2.4.1 TIPE-TIPE VLAN Virtual Local Area Network (VLAN)dapat diklasifikasikan berdasarkan port yang digunakan, MAC address, atau jenis protokolnya. 1. Berdasarkan port Keanggotaan pada suatu Virtual Local Area Network (VLAN)dapat di dasarkan pada port yang di gunakan oleh Virtual 36 Local Area Network (VLAN)tersebut. Kelemahannya adalah user tidak bisa untuk berpindah pindah, apabila harus berpindah maka Network administrator harus mengkonfigurasikan ulang. 2. Berdasarkan MAC Address Keanggotaan suatu Virtual Local Area Network (VLAN)dapat pula berdasarkan MAC address dari setiap workstation/komputer yang dimiliki oleh user. Mekanismenya adalah dengan cara mencatat semua MAC address yang dimiliki oleh setiap Virtual Local Area Network (VLAN) yang dilakukan oleh switch. Pengklasifikasian berdasarkan MAC address menjadi solusi untuk menangani permasalahan apabila Virtual Local Area Network (VLAN)dibentuk berdasarkan port. Setiap user dapat berpindah-pindah tanpa perlu melakukan konfigurasi ulang Virtual Local Area Network (VLAN). Namun demikian, konfigurasi MAC address dilakukan secara manual sehingga kurang efisien untuk jaringan yang memiliki banyak workstation. 3. Berdasarkan Tipe Protokol Pada Layer 3 atau IP address yang digunakan pada pengklasifikasian ini, bridge/switch mengecek payloadfield dari setiap frame. Contohnya: melakukan pengklasifikasian setiap IP machine ke suatu Virtual Local Area Network (VLAN)dan setiap AppleTalkmachine ke Virtual Local Area Network (VLAN)yang lain. IP address dapat juga digunakan untuk mengidentifikasikan suatu mesin. Strategi ini sangat menguntungkan ketika workstations yang digunakan adalah notebook yang dapat dipindah-pindahkan. 2.2.4.2 Cara Kerja VLAN Virtual Local berdasarkan Area metode Network (tipe) (VLAN)diklasifikasikan yang digunakan untuk mengklasifikasikannya, baik menggunakan port, MAC addresses dsb. Semua informasi yang mengandung penandaan/pengalamatan suatu Virtual Local Area Network (VLAN)(tagging) di simpan dalam suatu database (tabel), jika penandaannya berdasarkan port yang digunakan maka database 37 harus mengindikasikan port-port yang digunakan oleh Virtual Local Area Network (VLAN). Untuk mengaturnya maka biasanya digunakan switch/bridge yang manageable atau yang bisa di atur. Switch/bridge inilah yang bertanggung jawab menyimpan semua informasi dan konfigurasi suatu Virtual Local Area Network (VLAN)dan dipastikan semua switch/bridge memiliki informasi yang sama. Switch akan menentukan kemana data-data akan diteruskan dan sebagainya. atau dapat pula digunakan suatu software pengalamatan (bridging software) yang berfungsi mencatat/menandai suatu Virtual (VLAN)beserta workstation menghubungkan antar Virtual Local yang Local Area Network didalamnya.untuk Area Network (VLAN)dibutuhkan router. 2.2.5 Virtual Machine (VMware) Dalam VMware vSphere: Overview Student Manual ESXi 5.0 and vCenter Server 5.0 (2011 : 37) : Virtual machine adalah suatu software yang dikontrol oleh VMkernel. Sebuah virtual machine memiliki virtual hardware yang terlihat seperti hardware fisik pada guest operating system dan aplikasi yang telah diinstal. Semua informasi konfigurasi dan data pada virtual machine dienkapsulasi menjadi satu set file berlainan yang disimpan dalam sebuah datastore. Enkapsulasi ini menunjukkan bahwa virtual machine bersifat portable dan dapat dengan mudah di-backup atau dikloning. Dalam VMware vSphere: Overview Student Manual ESXi 5.0 and vCenter Server 5.0 (2011 : 16) : Virtual machine merupakan sebuah software yang terdiri dari sekumpulan file yang disebut dengan virtual disk. Semua file dari virtual machine disimpan di dalam suatu directory dan hardware-nya dapat di-upgrade tanpa harus mengubah virtual machine terlebih dahulu. Hal ini dikarenakan virtual machine menggunakan virtual device driver yang terstandarisasi. Tabel 2.4 Physical Machine vs Virtual Machine 38 (sumber: VMware vSphere: Overview Student Manual ESXi 5.0 and vCenter Server 5.0 : 16) Physical Machine Virtual Machine Sulit untuk dipindahkan atau di- Mudah dipindahkan dan di-copy : copy • Dienkapsulasi menjadi file Terikat dengan suatu komponen hardware yang digunakan • Tidak bergantung pada hardware fisik Seringkali masa penggunaannya jangka pendek Mudah diatur : • Terisolasi dari virtual machine lainnya • Tidak terpengaruh dengan perubahan hardware Memiliki kemampuan untuk mensupport legacy applications Memungkinkan server untuk dikonsolidasi Menurut (Anonymous, 2012, VMware) : terdapat dua pendekatan umum untuk virtualisasi, yaitu hosted dan bare-metal. Software virtualisasi hosted berjalan sebagai aplikasi di atas operating system yang dijalankan oleh host. Virtualisasi bare-metal berjalan langsung pada hardware komputer, tanpa memerlukan host operating system. 39 Gambar 2.13 Virtualisasi Hosted vs Bare-Metal(sumber: http://www.vmware.com/products/datacentervirtualization/vsphere/scale-security.html, akses tanggal 18 Februari 2015) 2.2.6 Hypervisor Pada bagian ini, akan dijelaskan mengenai teori yang berkaitan dengan sistem Hypervisor secara umum dengan lebih detail. 2.2.6.1 Pengertian Hypervisor Hypervisor atau biasanya lebih dikenal dengan istilah virtual machine monitor (VMM), adalah software komputer atau software dari virtualization platform yang memungkinkan beberapa sistem operasi untuk dijalankan pada sebuah komputer Istilah hypervisor berasal dari IBM CP-370, yang merupakan implementasi ulang dari CP-67 untuk IBM System/370, yang dirilis pada tahun 1972 sebagai VM/370 (Wale Soyinka, 2009, p622). 2.2.6.2 Klasifikasi Hypervisor Hypervisor diklasifikasikan menjadi dua jenis yaitu (Nicholas A. Solter et al 2009, p654): a. Tipe 1 (native, bare-metal) Hypervisor yang menggunakan software yang berjalan secara langsung dalam host’s hardware sebagai hardware control dan guest operating system monitor. Guest operating system berjalan pada tingkatan yang berbeda di atas sistem hypervisor. Contoh hypervisor yang menggunakan sistem ini adalah VMware ESX Server, LynxSecure dari LynuxWorks, L4 microkernels termasuk OKL4 dari Open Kernel Labs, RealTime Systems RTS-hypervisor, VirtualLogix 40 VLX, Trango (sekarang VMware MVP), IBM POWER hypervisor (PowerVM), IBM System z hypervisor (PR / SM), Microsoft Hyper-V (diluncurkan pada Juni 2008), Xen, Citrix XenServer, Oracle VM Server, Parallels Server (diluncurkan ScaleMP pada vSMP tahun 2008), (diluncurkan Yayasan pada tahun 2005),Sun's Logical Domains hypervisor (dirilis tahun 2005), Wind River 's hypervisor dan VxWorks Mils Platform, XtratuM. Gambar 2.14 Hypervisor tipe 1 (Nicholas A. Solter et al 2009, p654) b. Tipe 2 (host) Hypervisor menggunakan software yang berjalan dalam operating system environment. Dalam sistem ini guest operating system berjalan pada tingkatan yang ketiga di atas hardware. 41 Contoh hypervisor yang menggunakan sistem ini adalah VMware Server (sebelumnya dikenal sebagai GSX), VMware Workstation, VMware Fusion, open source QEMU, Microsoft Virtual PC, Sun (sebelumnya Innotek) VirtualBox, dan TenAsys'eVM. Gambar 2.15 Hypervisor tipe 2 (Nicholas A. Solter et al 2009, p654) Tabel 2.5 Perbandingan VMware System Windows Server vSphere vSphere 5.5 2012 R2 Hyper-V Hypervisor Enterprise Plus Logical Processors 320 320 320 Physical Memory 4TB 4TB 4TB 2,048 4,096 4,096 64 8 641 1TB 1TB 1TB Resource Host Virtual CPUs per Host Virtual CPUs per VM VM Memory per VM 42 Active VMs per 1,024 512 512 Guest NUMA Yes Yes Yes Maximum Nodes 64 N/A2 32 Maximum VMs 8,000 N/A2 4,000 Host Cluster 2.2.6.3 Server Virtualization Ada tiga jenis utama virtualisasi server, yaitu: virtualisasi sistem operasi, emulasi hardware dan paravirtualisasi. Sistem virtualisasi merupakan konsep baru yang dirancang untuk meringankan banyak aplikasi yang sedang berjalan dalam sebuah komputer serta memiliki kinerja dengan efektifitas yang lebih baik (Bernard Golden and Clark Scheffy, 2008, p6). a. Virtualisasi sistem operasi Virtualisasi sistem operasi (OS) berjalan di atas host-server yang telah terisi sistem operasi dan menyediakan kumpulan aplikasi yang dapat merupakan saling program berinteraksi, yang aplikasi berjalan pada komputer untuk membantu mengoptimalkan sebuah mesin (komputer) dan untuk membantu kerja manusia. Dalam virtualisasi, aplikasi tersebut akan berjalan pada sebuah sistem operasi virtual. Dan aplikasi yang berjalan pada sistem virtual akan dapat berinteraksi satu sama lain seolah-olah memiliki sumber daya dari sistem operasi nyata. Dan seharusnya, aplikasi pada sebuah mesin 43 virtual tidak dapat berinteraksi dengan aplikasi yang terletak pada sistem virtual yang lain. Sistem virtualisasi ini sangat berguna juga digunakan untuk menjalankan fungsi-fungsi unik yang hanya ditawarkan oleh sebuah sistem operasi tertentu, dengan cara menggabungkannya ke dalam satu komputer. Sistem Virtualisasi merupakan konsep yang sangat membantu dalam pengoperasian server yang memungkinkan menggunakan virtualisasi untuk mendapatkan hak akses penuh pada satu komputer dengan sistem operasi yang berbeda. Tetapi, ada keterbatasan sistem operasi. Keterbatasan disebut sebagai ini virtualisasi biasanya fitur-fitur pilihan sistem operasi atau Containerization. b. Emulasi Hardware Dalam emulasi hardware, sistem hypervisor menyediakan suatu emulasi hardware yang dapat digunakan oleh sebuah sistem operasi. Emulasi hardware ini disebut dengan virtual mesin monitor atau VMM. VMM menyediakan emulasi hardware standar yang dapat digunakan oleh sistem operasi dalam mesin virtual. Sistem operasi dan VMM bekerja dengan sistem transfer antar paket yang memungkinkan paket tersebut dapat dikirimkan ke mesin virtual lain. Aplikasi dasar untuk emulasi hardware adalah aplikasi software development and quality 44 assurance, karena hal itu dapat menjalankan lebih banyak sistem operasi sejenis maupun sistem operasi berbeda pada sistem virtual. Hal ini dapat meningkatkan pengembangan dan pengujian perangkat lunak dalam jumlah lingkungan sistem operasi yang berbeda. Ada beberapa kelemahan dalam emulasi hardware, salah satunya adalah kelemahan dalam kinerja software virtualisasi. Aplikasi yang sering berjalan pada sistem virtualisasi lebih lambat dibandingkan jika mereka berjalan di sistem tanpa virtualisasi. Kelemahan lain emulasi hardware adalah virtualisasi menyajikan software antarmuka terhadap standar hardware (VMM) ke sistem operasi yang diisikan ke dalam mesin virtual. Hypervisor menyediakan sebuah antarmuka ke VMM dan kemudian menerjemahkannya ke sumber daya pada mesin. Ini berarti bahwa hypervisor harus menyediakan interface ke sumber daya mesin, interface ini disebut sebagai device driver. Driver harus terinstall ke sistem operasi sehingga hardware baru dan sistem operasi dapat berkomunikasi. Masalah pada driver untuk emulasi hardware adalah bahwa suatu hypervisor harus berisi device driver. Jika suatu mesin memiliki sumber daya Hardware dan tidak ada driver dalam sistem operasi hypervisor tersebut, maka software pada sistem operasi tidak dapat bekerja dengan optimal atau bahkan tidak dapat bekerja sama sekali. Hal ini dapat menyebabkan masalah, terutama organisasi yang ingin 45 mengambil keuntungan dalam bidang pengembangan hardware. Perusahaan yang menawarkan software virtualisasi emulasi hardware adalah VMware (dalam dua versi, VMware Server dan ESX Server) dan Microsoft, yang menawarkan produk yang disebut Virtual Server. VMware server x86 hanya mendukung sistem operasi Microsoft. Microsoft Virtual Server sekarang sudah digantikan oleh Hyper-V, yang disertakan sebagai komponen dari Microsoft Windows Server 2008. Alternatif lain adalah Xen dan Qemu, yaitu hypervisor berbasis open source yang dapat digunakan untuk melakukan virtualisasi. c. Para virtualisasi Para virtualisasi adalah nama untuk pendekatan lain untuk virtualisasi server. Dalam pendekatan ini, digunakan software yang dapat berfungsi sebagai hardware (emulasi). Sehingga sistem operasi dapat menggunakan hardware emulasi untuk menjalankan fungsinya. Ada dua menggunakan keuntungan pendekatan utama dalam paravirtualisasi. Pertama, menetapkan kinerja overhead yang kecil karena yang bekerja hanya beberapa program. Hardware emulasi, menetapkan seluruh hardware yang dibutuhkan kemudian diemulasikan sehingga menciptakan hubungan antara sistem operasi virtual dengan hasil emulasi. Sebuah sistem operasi akan menggunakan hardware atau sumber daya di sebuah mesin komputer. Paravirtualisasi 46 hanya mengijinkan satu sistem operasi untuk mengakses sebuah hardware, jika hardware tersebut sudah digunakan di suatu sistem operasi virtual, maka sistem operasi virtual yang lain tidak akan dapat menggunakan hardware yang sama. Keuntungan kedua dari paravirtualisasi adalah bahwa paravirtualisasi tidak membatasi driver hardware yang terkandung dalam virtualisasi. Namun, ada salah satu kelemahan yang signifikan dalam pendekatan virtualisasi. Karena ringan dan dapat memberikan banyak akses ke perangkat keras, dalam virtualisasi juga terdapat user interface dan interface dari paravirtualisasi dapat diubah sesuai dengan keinginan . Hal ini dapat terjadi apabila akses ke source code paravirtualisasi dari suatu sistem operasi virtual sudah berjalan sebelumnya. Akses ke source code ini dimungkinkan untuk sistem operasi open source seperti Solaris, Linux dan sistem operasi Microsoft yang menggunakan Microsoft source code access. Salah satu contoh yang relevan dengan paravirtualisasi adalah software open source seperti Xen, yang disponsori oleh perusahaan XenSource dan software Xen hampir terdapat pada semua distro linux. 2.2.6.4 Storage Virtualization Banyaknya merupakan jumlah dasar utama data yang digunakan terbentuknya storage virtualization. Saat ini banyak perusahaan direpotkan dengan masalah penyimpanan data. Penyimpanan data untuk bisnis maupun penyimpanan data untuk hal aplikasi web. Banyaknya jumlah data selalu 47 menyebabkan masalah dalam suatu organisasi atau perusahaan. Seperti banyak aplikasi yang membutuhkan data lebih dari kapasitas maksimum dalam satu server, dan banyak terdapat aplikasi internet yang mempunyai banyak mesin yang berisi satu data yang sama. Menyimpan banyak data dalam sebuah mesin server akan melakukan dapat menyebabkan pengiriman data, gangguan sehingga saat dapat menyebabkan crash atau error pada mesin server. Jika menggunakan banyak mesin untuk menyimpan data, akan terjadi masalah dalam backup data. Hal tersebut merupakan masalah yang terjadi dalam suatu organisasi yang menggunakan banyak data. Storage Virtualisasi merupakan salah satu jalan untuk mengatasi masalah akan banyaknya data yang terjadi. Virtualisasi penyimpanan data ini menggunakan tempat yang bersifat tersentralisasi dan digunakan untuk menanggulangi masalah pada akses data. Dengan menggunakan tempat yang terpusat maka jalur data akan lebih mudah untuk diatur dan efisien serta dapat mengurangi biaya penyimpanan yang digunakan untuk media data(Bernard Golden and Clark Scheffy,2008, p11). 2.2.7 MRTG(Multi Router Traffic Grapher) Multi Router Traffic Grapher atau yang disingkat MRTG adalah free software yang digunakan untuk memonitoring traffik load pada link jaringan. Dimana pengguna dapat melihat laporan dalam bentuk grafik. MRTG ditulis dalam bentuk perl dan berjalan di UNIX/Linux dan juga pada sistem operasi Windows dan juga pada Netware. MRTG menggunakan lisensi Gnu GPL. 48 Dikembangkan pertama kali oleh Tobias Oetiker dan Dave Rand, pertama kali digunakan untuk memonitoring router. Sekarang sudah dikembangkan untuk menjadi report berbagai macam. Informasi lengkap dapat dilihat dihttp://oss.oetiker.ch/mrtg/ Gambar 2.16 Contoh grafik MRTG MRTG berkembang menjadi RRDTool, yaitu round-robin database tool. Penggunaan RRDTool dapat dikembangkan menjadi berbagai macam aplikasi contohnya cacti, JFFNms dan masih banyak lainnya.Prinsip/konsep kerja dari RRDTool yang menggunakan prinsip algoritma penjadwalan round-robin, yaitu tidak ada proses yang diprioritaskan (berkeadilan), beranalogi dengan penjadwalan air dalam sistem subak yang menganut sistem distribusi air secara proporsional, artinya tetap menjaga prinsip keadilan, kebersamaan, rasa ikut memiliki dan rasa ikut bertanggung jawab. Penjadwalan air pada subak adalah sebagai berikut, selama musing kemarau, setiapsubak harus menerima jumlah air yang sama, ketika periode awal tanam, karena sawah harus diairi secara konstan dan kontinu.Lalu, subak yang mana yang harus mendapat air pertama kali saat musim kemarau tersebut ? Harus diperhatikan water dependency antar subak. Ternyata tidak hanya memperhitungkan air irigasi yang mengalir pada infrastruktur subak saja, melainkan harus dipertimbangkan juga air irigasi yang berada pada subak lainnya, diluar wilayah subak. Hal ini akan menjadi hal yang sangat krusial, karena air irigasi mengalir melewati batas-batas wilayah subak. Bagian air yang telah mengairi 49 area persawahan akan mengalir menuju kanal keluaran untuk masuk ke area persawahan yang lokasinya lebih rendah. Sehingga akan timbul diagram ketergantungan subakatas subak lainnya yang lokasinya lebih di atas. Gambar 10.4 merupakan contoh diagram ketergantungan antara 6 subak dalam batas wilayah sebuah subak gede (Stephan Lorenzen, 2006). Gambar 2.17 Contoh Skema Spasial Subak Gede (Stephan Lorenzen (2006) Seluruh subak dari subak gede menerima air dari dam A. Jika hanya mempertimbangkan air dari infrastruktur yang digunakan bersama, seluruh subakakan memiliki titik awal pembagian air yang sama. Akan tetapi, jika memperhatikan alur aliran air, maka akan menjadi lebih kompleks. Realitasnya sebagai berikut. 1. Subak 7, yang bukan merupakan anggota subak gede, menerima air irigasi dari dam yang berbeda, yaitu dam B yang berjarak 1,4 km lebih atas. Secara tidak langsung, seluruh subak pada subak gede tergantung pada subak 7, karena air yang masuk ke dam A dari dam B akan berkurang jika sudah digunakan lebih dahulu oleh subak 7 saat musim tanam. 2. Subak 6 harus mengikuti siklus tanam dari subak 7 karena 50% air irigasi untuk subak 6 berasal dari kelebihan air irigasi subak 7. Subak 6 akan memulai penanaman dua atau tiga minggu 50 setelah subak 7. Sehingga subak 6 disarankan untuk bergabung dengan subak 7. 3. Kasus yang sama untuk subak 4 dan 5. Kedua subak ini harus bergabung, juga menerima kelebihan air dari subak 7. Meskipun jumlahnya tidak sebanyak yang diterima subak 6, subak 4 dan 5 tetap sangat membutuhkan air ini terutama saat musim kemarau. 4. Subak 3 menerima kelebihan air dari subak 1 dan 2. Sehingga subak 3 diharapkan memulai masa tanam segera setelah musim tanam subak 1 dan 2. 5. Subak 1 dan 2 tidak tergantung kelebihan air dari subak-subak lainnya, tetapi memiliki kaitan upacara keagamaan dengan subak lainnya. Waktu tanam juga harus disesuaikan dengan jadwal upacara kegamaan yang berlangsung untuk seluruh subak. 6. Begitu pula dengan subak 4 dan 5 yang berada wilayah desa yang sama, harus mengatur jadwal tanam yang disesuaikan dengan jadwal upacara keagamaan wilayah desa tersebut. Ketergantungan antar subak ditunjukkan pada tabel 1 berikut ini. Tabel 2.6 Subak-Interdependency Subak 1 Dependensi dengan 2 Aspek Dependensi Upacara agama, spasial (area persawahan dalam batas desa yang sama) Koordinasi 1 7 dengan subak 7 dapat meningkatkan ketersediaan air untuk subak 1 yang sering kekurangan air 51 Upacara agama, spasial (area persawahan dalam batas 2 1 3 2 Aliran air keluar 3 1 Aliran air keluar desa yang sama) Koordinasi 4 7 dengan subak 7 dapat meningkatkan ketersediaan air untuk subak 1 yang sering kekurangan air Administratif 4 5 (subak 4 dan 5 memiliki kepalasubak yang sama), upacara agama, spasial (area persawahan dalam batas desa yang sama) Aliran air keluar, administratif (subak 4 dan 5 memiliki 5 4 kepala subak yang sama), upacara agama, spasial (area persawahan dalam batas desa yang sama) 6 7 Aliran air keluar (50% air berasal dari aliran air keluar dari subak 7). 2.2.8 Windows Server Windows Server adalah merek dagang untuk sistem operasi server yang dirilis oleh Microsoft Corporation. Windows Server adalah versi Windows yang khusus digunakan untuk server / datacenter. Biasanya digunakan sebagai server networking perusahaan, berbagai layanan berbasis cloud, atau sebagai server website / web app.windows server Windows server memiliki nama Codenamed Longhorn. kode”Windows Server 52 Berikut beberapa jenis windows server : • Windows NT Server, rilis pertama Windows NT Server merupakan Sistem Operasi server yang pertama kalinya di ciptakan oleh Microsoftdibangun dari puing-puing sisa pengembangan dari sistem operasi IBM 03/2 versi 3.0.Selanjutnya microsoft merekut beberapa orang pengembangan sistem operasi dari Digital Equipment corporation (DEC). tim pengembangan dikepalai oleh David Neilcutler, SR.Microsoft menciptakan Windows NT Server ini merupakan Sistem Operasi serveryang pertama kalinya di ciptakan oleh Microsoft. • Windows 2000 Server, rilis yang dibuat berdasarkan Windows 2000. Pada tahun 2000 Microsoft kembali menciptakan Sistem Operasi untuk Server yang diberi nama Windows Sever 2000.Microsoft merilis Windows2000 pada 17 Februari 2000, sebuah versi yang sebelumnya dikenal dengan sebutan Windows NT 5.0 atau "NT 5.0" • Windows Server 2003, • Windows Server 2008, • Windows Server 2008 R2, rilis Windows Server 2008 selanjutnya, yang berbasiskan kode yang sama dengan Windows 7. • Windows HPC Server 2008, sebuah versi Windows Server yang ditujukan untuk komputer dengan performa komputasi tinggi. • Windows Server 2012, Windows Server yang beredar sebelum Windows Server 2012 R2. 53 • Windows Server 2012 R2, Windows Server 2012 selanjutnya, yang berbasiskan kode yang sama dengan Windows 8.1. Rilis ini sedang diedarkan oleh Microsoft. • Windows Small Business Server, sistem operasi Windows Server untuk kalangan bisnis kelas-kecil. • Windows Essential Business Server, produk yang serupa dengan Small Business Server, tapi untuk kalangan bisnis kelasmenengah • Windows Home Server, produk server untuk kalangan rumahan dengan fitur : filesharing dan streaming, backup otomatis dan remote access. Kegunaan Komputer Server Komputer Server yaitu suatu komputer yang sediakan service atau service spesifik yang jalan di jaringan, baik jaringan internet maupun intranet. Komputer server biasanya on-line atau beroperasi sepanjang 24 jam nonstop. Hal inilah yang bikin specs komputer server tidak sama dengan komputer pada umumnya. Lantaran on-line sepanjang 24 jam nonstop serta mesti melayani Komputer Client maka specs Komputer Server mesti semakin bagus dari pada komputer umumnya. Berikut fungsi dari komputer server : 1. Server ini berfungsi sebagai media penyimpanan aplikasi-aplikasi yang nantinya akan di akses dari komputer client. Misalnya, aplikasi transaksi jual beli dan aplikasi lainnya yang jalan di intranet atau internet. 2. Proxy Server, biasanya digunakan untuk mengatur lalu lintas di jaringan melalui pengaturan proxy. Orang awam lebih mengenal proxy server untuk mengkoneksikan komputer klien ke internet. 3. Database Server, berfungsi untuk menyimpan data-data. Ada beberapa orang meletakkan data terpisah dari server aplikasinya, biasanya terinstal semacam Database management system, seperti oracle, MS SQL Server, MySQL dan sebagainya. 4. Game Server, server yang berfungsi menyediakan game online, sehingga kita bisa bermain di jaringan. 54 5. Web Server, menyediakan konten statis ke web browser dengan memuat file dari disk dan mentransfer melalui jaringan ke web browser pengguna,dll. 2.2.9 XAMPP (X APACHE MYSQL PHP PEARL) XAMPP adalah sebuah software web server apache yang didalamnya sudah tersedia database server mysql dan support php programming. XAMPP merupakan software yang mudah digunakan, gratis dan mendukung instalasi di Linux dan Windows. Keuntungan lainnya adalah cuma menginstal satu kali sudah tersedia Apache Web Server, MySQL Database Server, PHP Support (PHP 4 dan PHP 5) dan beberapa module lainnya. Hanya bedanya kalau yang versi untuk Windows sudah dalam bentuk instalasi grafis dan yang Linux dalam bentuk file terkompresi tar.gz. Kelebihan lain yang berbeda dari versi untuk Windows adalah memiliki fitur untuk mengaktifkan sebuah server secara grafis, sedangkan Linux masih berupa perintah-perintah di dalam console. Berikut ini Penjelasan dari bagian-bagian XAMPP: • X Kenapa disebut dengan system operasi? karena XAMPP bisa dijalankan di 4 OS besar yang sering digunakan oleh pengguna komputer saat ini. Dan 4 OS tersebut tidak lain dan tidak bukan adalah Windows, Linux, Mac OS dan Solaris. • A(Apacahe) merupakan aplikasi web server. Apache ini bersifat opensource yang berarti gratis dan bisa diedit oleh penggunanya. Tugas utama Apache adalah menghasilkan halaman web yang benar kepada user berdasarkan kode PHP yang dituliskan oleh pembuat halaman web. jika diperlukan juga berdasarkan kode PHP yang dituliskan,maka dapat saja suatu database diakses terlebih dahulu (misalnya dalam MySQL) untuk mendukung halaman web yang dihasilkan. • M ( MySQL), merupakan aplikasi database server. Perkembangannya disebut SQL yang merupakan kepanjangan dari Structured Query Language. SQL merupakan bahasa terstruktur yang 55 digunakan untuk mengolah database. MySQL dapat digunakan untuk membuat dan mengelola database beserta isinya. Kita dapat memanfaatkan MySQL untuk menambahkan, mengubah, dan menghapus data yang berada dalam database. • P (PHP), bahasa pemrograman web. Bahasa pemrograman PHP merupakan bahasa pemrograman untuk membuat web yang bersifat server-side scripting. PHP memungkinkan kita untuk membuat halaman web yang bersifat dinamis. Sistem manajemen basis data yang sering digunakan bersama PHP adalah MySQl. namun PHP juga mendukung sistem manajement database Oracle, Microsoft Access, Interbase, d-base, PostgreSQL, dan sebagainya • P (Perl), bahasa pemrograman, pertama kali dikembangkan oleh Larry Wall di mesin Unix. Perl pertama kali dirilis pada tanggal 18 Desember 1987 ditandai dengan keluarnya Perl 1. Dua diantara karakteristik utama perl adalah penanganan teks dan berbagai jalan pintas untuk meyelesaikan persoalan-persoalan umum.Perl sangat populer di gunakan dalam program-rogram CGI (Common Gateway Interface) dan protokol internet lainnya. 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 (empat sistem operasi apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia dalam GNU General Public License dan bebas, merupakan web server yang mudah digunakan yang dapat melayani tampilan halaman web yang dinamis. 2.3 Teori yang terkait tema penelitian (tematik) 2.3.1 Internet Menurut Mike W & Linda W (2008:44) internet adalah kumpulan jaringan komputer di seluruh dunia yang saling berhubungan yang memungkinkan bisnis, organisasi, pemerintahan, 56 dan individu untuk berkomunikasi dalam berbagai cara. Salah satu cara yang paling populer pengguna berkomunikasi di internet adalah dengan halaman. Anda juga dapat menggunakan internet untuk mengirim dan menerima email chatting dengan pengguna lain dan mentransfer file antara komputer. Menurut Douglas E.Comer (2004:424) internet menyediakan infrastruktur komunikasi umum tanpa menyebutkan layanan yang akan ditawarkan, komputer akan menjalankan layanan tersebut, bagaimana ketersediaan layanan akan menjadi dikenal, atau bagaimana layanan akan digunakan , seperti isu yang tersisa untuk perangkat lunak aplikasi dan pengguna. Bahkan, internet seperti sistem telepon. Meskipun menyediakan kemampuan untuk berkomunikasi, internet tidak spesifik seperti komputer berinteraksi atau apa yang komputer lakukan dengan layanan komunikasi. Internet adalah seperti sistem telepon dengan cara perangkat keras jaringan lain yang signifikan dan perangkat lunak protokol terkait, tidak tahu kapan untuk memulai kontak atau ketika menerima komunikasi yang masuk dari, komputer remote. Sebaliknya, seperti layanan telepon, komunikasi di internet membutuhkan sepasang program aplikasi untuk bekerja sama. Sebuah aplikasi pada satu komputer mencoba untuk berkomunikasi dengan aplikasi yang lain (analog menempatkan panggilan telepon), dan aplikasi pada komputer lain menjawab permintaan yang masuk (analog menjawab panggilan telepon). Meskipun sistem internet menyediakan layanan komunikasi dasar, perangkat lunak protokol tidak dapat memulai kontak atau menerima kontak dari, komputer remote. Sebaliknya, dua program aplikasi harus berpartisipasi dalam setiap komunikasi: satu aplikasi memulai komunikasi dan yang lainnya menerimanya. 2.3.2 Social Media and Social Networking Menurut P.J.Deitel & H.M.Deitel (2008:71), social media mengacu pada media sharing online seperti: video, musik, foto, berita, 57 dan lain-lain. Menurut Hitwise yang dikutip oleh P.J.Deitel & H.M.Deitel, bahwa sekarang kebutuhan masyarakat via online meningkat misalnya masyarakat mencari hiburan dengan menonton secara online. Hal ini membuktikan bahwa social media terus berkembang dan memegang peranan penting di masyarakat. Kemudian, P.J.Deitel & H.M.Deitel (2008:71) menyatakan pula bahwa banyak situs jejaring sosial telah menemukan cara-cara inovatif untuk menghubungkan orang melalui Internet dan perangkat mobile mereka seperti smartphone. User dapat mengirim konten ke online dan perangkat mobile yang internet-nya telah diaktifkan. Menurut H.Keitzmann, Hermkens, McCarthy, & S.Silvestre (2011) dalam artikelnya berjudul : “Social media? Get serious! Understanding the functional building blocks of social media”, Ada tujuh macam fungsi dari social media : a. Identity Menggambarkan sejauh mana pengguna mengungkapkan identitas mereka dalam pengaturan media sosial. Hal ini mencakup informasi seperti nama, usia, jenis kelamin, profesi, lokasi, dan juga informasi yang mendeskripsikan pengguna dengan cara tertentu. b. Conversations Menggambarkan sejauh mana pengguna berkomunikasi dengan pengguna lain dalam pengaturan media sosial. Banyak situs media sosial yang dirancang terutama untuk memfasilitasi percakapan antara individu-individu dan kelompok. c. Sharing Menggambarkan pertukaran, sejauh pendistribusian, mana dan pengguna menerima melakukan konten. Istilah “sharing” sering menyiratkan bahwa pertukaran konten antar pengguna sangat penting. d. Presence Menggambarkan sejauh mana pengguna dapat mengetahui apakah pengguna lainnya dapat diakses / online. Ini termasuk 58 mengetahui di mana lokasi pengguna yang lain di dunia maya atau dunia nyata. e. Relationship Menggambarkan sejauh mana pengguna dapat berhubungan dengan pengguna lain. f. Reputation Menggambarkan sejauh mana pengguna dapat mengidentifikasi orang lain, termasuk diri mereka sendiri. g. Groups Menggambarkan sejauh mana pengguna dapat membentuk communities dan subcommunities. Boyd & Ellison (2008) dalam jurnal yang berjudul “Social Network Sites: Definition, History, and Scholarship” menyatakan bahwa sejak diperkenalkannya social network sites seperti Facebook, Twitter, dan lain-lain, social network sites telah menarik jutaan pengguna, sehingga social network sites menjadi kebiasaan aktivitas user sehari-hari. Yang membuat unik suatu social network sites adalah mereka tidak memungkinkan pengguna untuk bertemu orang asing atau orang yang tidak mereka kenal, akan tetapi mereka membuat user seakan bertemu dengan orang yang tidak mereka kenal dalam suatu jejaring sosial yang dapat melakukan komunikasi secara online. Dalam hal ini, social network sites juga menemukan cara yang inovatif untuk menggabungkan mereka ke dalam alat-alat komunikasi seperti: mobile connectivity, blogging, dan lain-lain. 2.3.3 Android Menurut Ed Burnette, android adalah suatu perangkat lunak untuk smartphone dan PC tablet yang diciptakan oleh google dan Open Handset Alliance (OHA). Android berada didalam smartphone dan perangkat genggam lainnya. Keunikan Android dalam mengkombinasikan beberapa hal membuat Android menjadi operating system yang sangat istimewa 59 saat ini. Hal-hal yang berhasil membuatnya dikatakan istimewa, Burnette (2010:xi): a. A truly open, free development platform based on Linux and open source Produsen Android sangat menyukai Android karena mereka tidak perlu membayar royalti untuk penggunaan dan penyesuaian platform. Kemudian, produsen boleh mengunduh source code program secara free karena Android bersifat open source. Android tidak hanya terbatas dari produsen Android saja. b. A component-based architecture inspired by Internet mashup Bagian dari sebuah aplikasi dapat digunakan dengan berbagai cara tanpa original asli dari developer. Pengembang lain dapat memodifikasi dengan mudah komponen aplikasi Android, sehingga pengembang dapat mengganti komponen built-in dengan versi pengembangan built-in yang dimilikinya. c. Tons of built-in service out of the box Adanya layanan yang memungkinkan pengguna untuk memanfaatkan kekuatan penyimpanan lokal sehingga pengguna hanya perlu sinkronisasi. sesekali Layanan terhubung ini dengan membantu server untuk meningkatkan fungsionalitas layanan sambil menekan biaya. d. Auto matic management of the application life cycle Pengguna tidak perlu mengkhawatirkan aplikasi yang aktif atau menutup beberapa aplikasi agar aplikasi yang diinginkan dapat berjalan. 60 e. High -quality graphics and sound Vektor dua dimensi dan animasi yang terinspirasi dari Flash dikombinasikan dengan 3D-Accelerated Open GL grafik menghasilkan grafis yang halus dan nyata. f. Port ability across a wide range of current and future hardware Seluruh program akan dikodekan dalam bahasa pemrograman Java dan dieksekusi oleh Android’s Dalvik virtual machine. Android mendukung berbagai jenis metode input dan memiliki user interface yang dapat disesuaikan dengan resolusi layar yang berbeda-beda. Versi-versi yang ada pada Android diantaranya ialah: 61 Gambar 2.18 Versi Android 2.3.4 Cascading Style Sheet (CSS) Menurut Keith Schengili-Roberts (2000:8) fungsi CSS adalah menyediakan tata letak halaman pada fitur web yang diinginkan dengan menambahkan elemen format css untuk tag HTML yang ada. CSS mempertahankan struktur logis dari sebuah halaman web dan memberikan banyak fitur tata letak halaman dengan cara yang mudah untuk memahami namun kuat dalam efeknya. Menurut Keith Schengili-Roberts (2000:9) menggunakan CSS, memungkinkan untuk melakukan hal berikut pada halamann web seperti: • Menentukan ukuran titik yang tepat pada teks. • Menambahkan identitas pada teks. • Mengatur margin dalam halaman web. 62 • Menambahkan format elemen baru pada halaman web, seperti batas pada sekitaran teks. • Menggunakan unit pengukuran seperti inches dan centimeter untuk mengatur ukuran yang tepat di dalam teks atau tampilan gambar pada halaman web. • Membuat style khusus untuk halaman web itu sendiri atau mengatur halaman teks. • Mengubah cara dasar dari tag yang di tampilkan pada layar. • Mengatur pengukuran tampilan latar gambar dan mengatur tampilan secara mendatar atau menurun pada halaman web. • Mengubah spasi antar kalimat, antar kata atau garis pada teks dan banyak lainnya. Menurut Keith Schengili-Roberts (2000:11) CSS tidak mengubah code HTML pada halaman web, tetapi menambahkan tags HTML yang ada dan memperbanyaknya. CSS bekerja dengan cara menambahkan CSS properties kedalam spesifikasi tag HTML, dan memberitahu browser cara memodifikasi tag di tampilan. Ciri-ciri aturan CSS terdiri dari 2 bagian: • Elemen yang akan diubah dikenal sebagai “selector”. • Menggambarkan “selector” harus ditampilkan, yang dikenal sebagai deklarasi. 2.3.5 Data Menurut Wahyu Supriyanto dan Ahmad Muhsin, data adalah bahan baku dalam sebuah informasi, atau kelompok teratur simbolsimbol yang mewakili kuantitas, fakta, tindakan, benda dan sebagainya. Menurut Connolly & Begg (2010:68), data adalah komponen terpenting dalam Online Management System (DBMS) yang bertindak sebagai jembatan penghubung antara komponen mesin dan pengguna. 2.3.6 Eclipse 63 Menurut Steinberg et. al. (2008), Eclipse adalah sebuah open source software yang gunanya menyediakan tool platform yang sangat terintegrasi. Dalam penggunaannya Eclipse meliputi core project dimana yang berisi generic framework untuk tool integration dan sebuah Java development environment. Proyek pada Eclipse terimplementasikan pada Java dan dapat dijalankan pada beberapa sistem operasi meliputi Windows, Mac OSX dan Linux. Menurut Steinberg et. al. (2008), proyek Eclipse mendukung pengembangan dari sebuah platform atau framework untuk pengimplementasian dari Integrated Development Environment (IDE) dan aplikasi lainnya. diimplementasikan pada Meskipun Java framework tidak menutup dari Eclipse kemungkinan pengembangan juga dilakukan pada bahasa pemograman lainnya seperti C++, XML dan sebagainya. 2.3.7 Hypertext Markup Language (HTML) Menurut K.Williams & C.Sawyer (2011:68) Hypertext Markup Language (HTML) merupakan sekumpulan instruksi-instruksi khusus (disebut “tags” atau “markups”) yang digunakan untuk menentukan struktur dokumen , bentuk dan link-link untuk menuju ke dokumen multimedia lain pada online. Extensible Hypertext Markup Language (XHTML) merupakan penerus dan juga versi HTML pada saat ini. Karena World Wide Online pada saat ini perlu disampaikan ke berbagai perangkat devices, maka dari itu HTML sangat penting untuk dipelajari. Menurut T.N.Sharma, Bhardwaj, & Bhardwaj (2012) dalam jurnal yang berjudul “Differences between HTML and HTML 5” menjelaskan bahwa HTML merupakan markup language untuk online pages yang di ciptakan oleh Tim Berners-Lee dari World Wide Online consortium (W3C) . Seiring dengan perkembangannya muncul HTML5 yang merupakan revisi ke lima dari HTML sebelumnya yang jauh lebih baik tentunya. Beberapa keuntungan yang dimiliki HTML5, yakni fitur baru based on HTML, CSS, DOM, dan JavaScript, mengurangi 64 ketergantungan untuk external plugins (seperti Flash), fitur canvas untuk 2D drawing, audio dan video untuk media playback, penanganan error yang lebih baik, lebih banyak markup untuk menggantikan scripting, dan lain-lain. Tabel 2.7 Tabel Penjelasan Tentang Perbandingan Antara HTML dan HTML5 HTML HTML5 DOCTYPEnya lebih panjang dalam DOCTYPEnya lebih sederhana penulisannya di HTML versi dalam penulisannya di HTML5 sebelum HTML5 (HTML4) based on Example : SGML-based <!DOCTYPE html> Example: <!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict. dtd”> Audio dan Video bukan merupakan Audio dan Video merupakan bagian bagian dari spesifikasi HTML4 dari spesifikasi HTML5 Vector Graphics dimungkinkan Vector Graphics merupakan untuk teknologi seperti : bagian utama dari HTML5 seperti : VML, Silverlight, Flash SVG dan canvas Hampir tidak mungkin dalam JS GeoLocation API in HTML5 HTML4 untuk mendapatkan mendukung mendapatkan geolocation dari user browsing any geolocation dari user browsing any onlinesite, terutama berasal dari onlinesite mobile devices Browse cache digunakan untuk Application cache, online SQL temporary storage online, dan online storage is available sebagai client side 65 storage. Accessible using JavaScript interface in HTML5 compliant browsers. Online sockets tidak tersedia. Full duplex communication Biasanya mekanismenya channels dapat dibangun dengan menggunakan long polling dan online menggunakan online streaming sockets. Tidak memperbolehkan JavaScript memperbolehkan JavaScript untuk untuk run di browser run di browser, yakni di background Bekerja atau supporting dengan Supporting browsers seperti browsers yang lama Firefox, Mozilla, Opera, Chrome, Safari ,dan lain-lain 66 2.3.8 JavaScript Menurut C.Meloni (2012:66), JavaScript pada mulanya bernama Live Script yang dikembangkan oleh NetScape Communication Corporation, di mana JavaScript bahasa online scripting pertama yang di-support oleh browser. JavaScript dapat melakukan beberapa hal seperti sebagai berikut : a. Menampilkan pesan ke pengguna sebagai bagian dari suatu halaman online, dalam bentuk line browser atau alert boxes. b. Memvalidasi isi pada suatu form dan juga membuat perhitungan kalkulasi. c. Adanya animasi gambar atau membuat gambar yang berubah ketika memindahkan mouse melewati gambar tersebut. d. Membuat iklan banner yang berinteraksi dengan pengguna, dari pada tampilan grafik sederhana. e. Mendeteksi browser atau fitur yang digunakan dan menunjukkan fungsi tingkat lanjut hanya pada browsers yang mendukung JavaScript. f. Mendeteksi plug-ins yang di-install dan notify kepada user jika plug-in diperlukan. g. Memodifikasi seluruh atau sebagian halaman online tanpa user perlu me-reload halaman online. h. Menampilkan atau berinteraksi dengan data yang di dapatkan dari remote online. 2.3.9 JQuery JQuery merupakan library JavaScript yang singkat dan cepat yang menyederhanakan HTML document traversing, event handling, animating, dan interaksi Ajax untuk pengembangan online yang cepat. JQuery di desain untuk mengubah cara dalam menulis JavaScript. (http://jquery.com) 67 2.3.10 Model Waterfall Menurut S.Pressman (2010:39) nama model waterfall sebenarnya adalah “Linear Sequential Model” dan model ini sering disebut juga dengan “Classic Life Cycle”. Model ini sistematis dan berurutan dimulai dengan tahap communication, planning, modeling, construction, hingga deployment. Namun menurut Winston Royce yang dikutip oleh S.Pressman (2010:39) model waterfall pada awalnya diusulkan memiliki feedback loop yang memungkinkan sistem untuk beradaptasi dengan perubahan selama proses rekayasa peranti lunak, tetapi sebagian besar perusahaan memperlakukan model ini sebagai proses linier yang kaku. Gambar 2.19 Model Waterfall (S.Pressman, 2010:39) Berikut penjelasan tahap- tahap yang terjadi pada model waterfall: a. Communication Tahap ini wajib dilakukan pertama kali pada model waterfall karena pada tahap ini terjadi proses memahami tujuan dan pengumpulan informasi apa saja yang dibutuhkan oleh stakeholders. b. Planning Dalam proses perancangan ini suatu perangkat lunak yang ingin dibuat diarahkan menjadi lebih jelas dan terarah. Hal-hal yang direncanakan antara lain tugas-tugas teknis yang akan dilakukan, resiko-resiko yang mungkin terjadi, sumber daya yang diperlukan, keluaran yang dihasilkan, dan jadwal kerja. c. Modeling Pada tahap ini developer membuat suatu permodelan untuk memahami permasalahan dan bagaimana untuk memecahkan masalah tersebut. Kemudian Modeling ini bertujuan pula untuk 68 lebih memahami hal-hal yang dibutuhkan oleh sebuah software dan bagaimana mencapai hal-hal tersebut. d. Construction Terjadi proses pengkodean dan uji coba pada baris kode untuk menemukan kesalahan pada saat pengkodean. e. Deployment Pada tahapan ini piranti lunak disebarluaskan ke user untuk mendapatkan umpan balik yang digunakan sebagai evaluasi. 2.3.11 MySQL Menurut Luke Welling & Laura Thomson (2001:3) database dari MySQL memungkinkan pengguna untuk menyimpan, mencari, mengurutkan, dan mendapatkan kembali data secara efektif. Server kontrol MySQL mengakses data ke pengguna untuk memastikan seluruh pengguna bisa bekerja dengan database tersebut secara bersamaan, menyediakan akses yang cepat dan memastikan bahwa hanya pengguna tertentu yang memiliki otoritas untuk mendapatkan akses. MySQL memiliki banyak pengguna dan memiliki banyak server. MySQL menggunakan Structured Query Language (SQL) yang berstandar internasional dan dipublikasikan pada tahun 1996. Beberapa pesaing MySQL diantaranya PostgreSQL, Microsoft SQL Server, dan Oracle. Dibandingkan dengan pesaingnya MySQL memiliki banyak kelebihan, yaitus, Luke Welling & Laura Thomson (2001:4): a. Performance b. Low Cost MySQL tersedia secara gratis atau dengan lisensi komersial dengan harga yang murah. c. Ease of Use Kebanyakan database modern menggunakan SQL d. Portability PHP dapat digunakan dibeberapa sistem operasi seperti Unix dan Microsoft. 69 e. Source Code Pengguna memiliki akses untuk mengubah source code secara bebas. 2.3.12 PHP Hypertext Preprocessor (PHP) Menurut Luke Welling & Laura Thomson (2001:2) PHP adalah bahasa pemograman bagian server yang dirancang khusus untuk web. Halaman HTML bisa di gabungkan dengan Bahasa pemograman PHP yang akan dieksekusi setiap kali halaman website itu dikunjungi. Koding PHP akan diterjemahkan di web server dan menghasilkan HTML atau hasil lainnya yang akan dilihat oleh pengguna. Beberapa pesaing PHP diantaranya Perl, Microsoft Active Server Pages (ASP), Java Server Pages (JSP) dan Allaire Cold Fusion. Dibandingkan dengan pesaingnya PHP memiliki banyak kelebihan, yaitu , Luke Welling & Laura Thomson (2001:4): a. High Performance PHP itu sangat efesien karena hanya dengan satu server bisa melayani jutaan pengguna per-hari. b. Database Integration PHP mempunyai koneksi yang terintegrasi dengan banyak sistem database. c. Built-in Libraries Dengan fungsi Built-in Libraries ini PHP bisa menghasilkan gambar berformat GIF, bisa berkoneksi dengan jaringan lainnya, mengirimkan email, bekerja dengan cookies, dan menghasilkan dokumen PDF, hanya dengan beberapa baris coding. d. Cost Pengguna bisa men-download PHP versi terbaru secara gratis setiap waktu (http://www.PHP.net). 70 e. Learning PHP Dasar dari bahasa pemograman PHP adalah C dan Perl. Jika pengguna telah menguasai bahasa pemograman tersebut, maka pengguna akan lebih mudah dalam menggunakan PHP. f. Portability PHP dapat digunakan dibeberapa sistem operasi seperti Unix dan Microsoft. g. Source Code Pengguna memiliki akses untuk mengubah source code secara bebas. 2.3.13 Phonegap Wargo(2012,p3) PhoneGap adalah open source framework untuk membuat cross-platfrom native applications menggunakan teknologi web mulai dari HTML, CSS, dan JavaScript.Tipe dari aplikasi ini disebut sebagai hybrid application. PhoneGap diciptakan untuk mempermudah mobile development. Wargo(2012,p7) PhoneGap bekerja dengan cara merubah web application package menjadi native application. Aplikasi yang telah dibuat akan ditampilkan dalam bentuk webview yang memungkinkan pengguna untuk melakukan interaksi dengan aplikasi tersebut. Gambar 2.20 PhoneGap Application Architecture Sumber:Wargo(2012,p6) 71 Tampilan dari aplikasi yang dibuat oleh PhoneGap dibentuk oleh CSS yang diimplementasikan ke dalam HTML dan untuk komunikasi data bisa menggunakan XML atau JSON. Gambar 2.21 PhoneGap Application Device Interaction Sumber:Wargo(2012,p8) Aplikasi yang telah selesai dibuat dengan PhoneGap akan dirubah dengan Software Development Kit (SDK) platform yang didukung oleh PhoneGap menjadi native application. Gambar 2.22 Aplikasi PhoneGap di Berbagai Platform Sumber:Wargo(2012,p15) 72 Wargo(2012,p7) saat ini PhoneGap mendukung platform terkenal antara lain Apple iOS, Google Android, HP/Palm webOS, Microsoft WindowsPhone7, NokiaSymbian, RIM BlackBerry, Samsung Bada. Dikarenakan fungsi setiap platform berbeda-beda, maka PhoneGap menyediakan Application Programming Interface (API) untuk mempermudah pengembang diantaranya adalah Accelerometer, Camera, Capture, Compass, Connection, Contacts, Device, Events, File, Geolocation, Media, Notification, dan Storage. API tersebut dibuat agar pengembang dapat mengakses fungsi native application melalui Javascript dengan syntax yang sama disemua platform. Tidak semua platform dapat menggunakan API PhoneGap karena keterbatasan software maupun hardware tiap platform, berikut adalah perbandingan API di masing-masing platform. Gambar 2.23 Fitur API PhoneGap di Berbagai Platform Sumber:Wargo(2012,p50) Dalam penyimpanan data PhoneGap menggunakan teknologi local storage yang terdapat pada HTML 5 selain itu juga PhoneGap 73 dapat menggunakan API storage untuk mengakses SQLite pada device Android. 2.3.14 Smartphone Smartphone adalah telepon yang menyediakan fitur yang berada diatas dan di luar kemampuan sederhana untuk membuat panggilan telepon. Sementara istilah dapat digunakan secara wajar untuk semua jenis telepon, smartphone biasanya dipahami sebagai ponsel dan bukan telepon rumah. Selama bertahun-tahun, konsep smartphone terus berkembang sebagai perangkat tangan telah menjadi lebih canggih. Ponsel pertama yang harus dipertimbangkan smartphone dirancang oleh IBM pada tahun 1992. Diberi nama Simon, perangkat membuat penampilan di COMDEX tahun itu, dan ditawarkan kepada publik pada tahun berikutnya. Beberapa fitur yang bermanfaat yang sampai saat itu hanya telah tersedia pada desktop dan laptop yang termasuk dalam fungsi tersebut. Simon termasuk kalkulator, buku catatan sederhana, kemampuan untuk mengirim dan menerima faks, dan komponen email. Dalam waktu singkat, perangkat ini juga disediakan beberapa game bagi pengguna untuk menikmati, serta jam dunia berguna yang memungkinkan pengguna untuk melihat waktu saat ini di kota-kota besar di seluruh dunia. Sepanjang sisa tahun 1990-an, berbagai jenis perangkat ponsel canggih muncul di pasaran. Layar sentuh mulai menggantikan keysets pada banyak smartphone. Permainan dan fungsi email menjadi lebih canggih seperti model-model baru yang dirilis. Kemampuan speakerphone pada banyak versi smartphone mulai menyaingi kualitas yang ditemukan dengan speakerphone handset. Saat ini, fungsi smartphone dengan kaya fitur perangkat komunikasi. Penambahan akses Internet adalah inovasi terbaru dalam teknologi smartphone. Saat ini, pengguna dapat berselancar di Internet dengan kemudahan yang sama seperti ketika menggunakan laptop atau komputer desktop. Pada saat yang sama, banyak produsen garis smartphone telah bekerja untuk meningkatkan kejelasan dan integritas 74 sinyal audio dasar ponsel. Hal ini membantu untuk memastikan bahwa bahkan dengan penambahan semua fitur tambahan, masih mungkin untuk menggunakan smartphone untuk membuat panggilan telepon sederhana dan mengharapkan kualitas suara menjadi jernih dan tajam. 2.3.15 User Interface Design Menurut Shneiderman & Plaisant (2010:88-89), ada delapan aturan emas (Eight Golden Rules of Interface Design) yang digunakan sebagai perancangan user interface yang baik. a. Strive for consistency (konsistensi) Dalam pembuatan suatu interface dalam aplikasi harus memperhatikan konsistensi. Konsistensi yang dimaksudkan disini adalah warna, tulisan, tampilan data, singkatan, dan pesan kesalahan. b. Cater to universal usability (menyediakan usability universal) Adanya penggunaan shortcut dan fungsi-fungsi umum yang sudah diketahui oleh novice ataupun expert user untuk mempercepat dan mempermudah jalannya suatu interaksi terhadap aplikasi yang dibuat. c. Offer informative feedback (menyediakan umpan balik yang informatif) Dalam suatu aplikasi harus diberikan suatu umpan balik yang informatif agar user tidak mengalami kebingungan dalam menjalankan aplikasi misalnya ketika ada kesalahan dalam melakukan proses tertentu. d. Design dialogs to yield closure (merancang dialog untuk penutupan) Serangkaian aksi dalam suatu aplikasi biasanya terdiri dari bagian pembuka, pertengahan, dan penutupan. Suatu aplikasi hendaknya memperhatikan umpan balik yang informatif pada penyelesaian suatu aplikasi agar memberikan kepuasaan bagi user. e. Prevent errors (memberikan penanganan kesalahan yang sederhana) 75 Suatu aplikasi hendaknya dirancang sedemikian rupa agar tidak dapat melakukan kesalahan fatal. Bila terjadi kesalahan ketika user mengoperasikannya, maka aplikasi akan memberikan mekanisme penanganan yang sederhana dan mudah dipahami oleh user. f. Permit easy reversal of actions (mudah kembali ke tindakan sebelumnya) Mempermudah pengguna untuk kembali ke tindakan sebelumnya apabila terjadi kesalahan dalam pengoperasian. Hal ini membuat pengguna tidak takut dalam mengeksplorasi pilihanpilihan fitur yang ingin digunakan. g. Support internal locus of control (mendukung tempat pengendali internal) User menginginkan untuk menjadi pengendali sistem dan sistem yang menanggapi aksi yang dilakukannya. h. Reduce short-team memory load (mengurangi beban ingatan jangka pendek) Adanya ketebatasan ingatan manusia, sehingga dalam membuat suatu perancangan layar aplikasi harus sederhana dan urutan tindakan mudah diingat. 2.3.16 Unified Modelling Language (UML) Menurut L.Whitten & D.Bentley (2007:371) UML (Unified Modelling Language) merupakan sekumpulan ketentuan permodelan yang digunakan untuk menentukan dan menggambarkan sebuah sistem peranti lunak yang berbasis objek. 2.3.16.1 Use Case Diagram Menurut L.Whitten & D.Bentley (2007:243) use case diagram adalah diagram yang menggambarkan hubungan interaksi antara user dan sistem. Menurut S.Pressman (2010:847) use case diagram membantu dalam memutuskan fungsi-fungsi dan fitur-fitur software yang diinginkan user. 76 Use case diagram sangat membantu apabila kita sedang menyusun requirement untuk sebuah sistem, mengkomunikasikan rancangan dengan client, dan merancang test case untuk semua feature yang ada pada sistem. Gambar 2.24 Use Case Diagram (L.Whitten & D.Bentley, 2007:246) Use case diagram umumnya terbagi menjadi tiga bagian,yaitu : a. Actors Merupakan external user yang berinteraksi dengan sistem. Ada 4 macam actors menurut L.Whitten & D.Bentley (2007:247), yakni : 1. Primary Business Actor Aktor utama yang mendapatkan keuntungan utama dari terjadinya proses use case yang biasanya bersifat measurable. Contoh: karyawan mendapat cek pembayaran (sesuatu yang measurable) dari sistem pembayaran gaji karyawan setiap jumat. 2. Primary System Actor Aktor yang terlibat langsung dalam jalannya suatu sistem. Biasanya aktor ini merupakan pemicu dari business atau system event. 77 Contoh: kasir toko yang men-scan barang yang dibeli oleh pembeli. 3. External Online Actor Aktor yang merespon request dari use case. Contoh: biro kredit yang melakukan otorisasi charge sebuah kartu kredit. 4. External Receiver Actor Aktor yang bukan primary aktor, tetapi menerima sesuatu yang bersifat measurable dari use case. Contoh: gudang penyimpanan barang menerima slip packing untuk mempersiapkan barang yang akan dikirim, ketika customer telah memesan barang. b. Relationship Merupakan sebuah garis antara dua simbol pada diagram use case. Relationship memiliki arti yang bergantung pada simbol yang dihubungkan oleh garis tersebut. Menurut L.Whitten & D.Bentley (2007:247) ada tipetipe relationship, yakni: 1. Association (asosiasi) Hubungan antara aktor dengan use case dimana terjadi interaksi diantara mereka. memesan barang Pelanggan Penjual Gambar 2.25 Association (L.Whitten & D.Bentley, 2007:248) Dari gambar diatas aktor dengan menunjuk dengan anak panah ke use case berarti dia merupakan inisiator use case tersebut. Aktor yang tanpa anak panah berarti menandakan interaksi antara use case dengan aktor penerima. 78 2. Extends Hubungan yang terdiri dari langkah yang diekstraksi dari use-case yang lebih kompleks untuk menyederhanakan masalah awal. Tujuannya agar mempermudah use case yang buat agar lebih mudah dimengerti. Gambar 2.26 Extension Use Case (L.Whitten & D.Bentley, 2007:249) 3. Uses or Includes Digunakan untuk mengurangi redudansi ketika dua atau lebih use case melakukan langkah yang sama. Ubah Password «uses» Login terlebih dahulu «uses» Ubah Profile Gambar 2.27 Uses (L.Whitten & D.Bentley, 2007:249) 4. Depends On Hal ini terjadi ketika suatu use case tidak dapat dilakukan dilakukan. apabila use case tertentu belum 79 Gambar 2.28 Depends On Use Case (L.Whitten & D.Bentley, 2007:250) 5. Inheritance Inheritance digunakan dalam use case untuk hubungan dua aktor atau lebih dalam sistem dengan aktor abstrak. Gambar 2.29 Inheritance Use Case (L.Whitten & D.Bentley, 2007:250) c. Use case Sebuah perilaku yang berkaitan dengan langkahlangkah berurutan baik secara otomatis ataupun manual dengan tujuan menyelesaikan suatu tugas bisnis. 2.3.17 Class Diagram Menurut L.Whitten & D.Bentley (2007:400), class diagram merupakan gambaran dari struktur objek, yang menunjukkan kelas 80 objek yang ada pada suatu sistem dan hubungan antara kelas-kelas objek tersebut. Disetiap kelas objek dibagi menjadi tiga bagian, yaitu : a. Nama kelas b. Atribut kelas c. Operasi kelas atau method Nama kelas Atribut kelas Operasi kelas Gambar 2.30 Struktur Kelas Objek L.Whitten & D.Bentley (2007:650) menuliskan bahwa di dalam class diagram terdapat visibility yang berguna untuk menentukan atribut dan method kelas yang dapat diakses dan digunakan oleh kelas lainnya atau tidak. Ada tiga jenis visibility, yakni a. Public b. Protected c. Private Tabel 2.8 Tabel penjelasan tentang Visibility Visibility Public Simbol + Penjelasan Atribut dan method-nya dapat diakses dan digunakan oleh kelas lainnya Protected # Atribut dapat diakses dan methodnya hanya dapat digunakan oleh kelas yang mendefinisikan dan 81 turunannya Private - Atribut dan method-nya hanya dapat diakses dan digunakan oleh kelas yang mendefinisikan Di dalam class diagram rupanya juga terdapat multiplicity, associations, dan relationship, L.Whitten & D.Bentley (2007:377) : a. Multiplicity dan associations mengidentifikasi pertalian antar object classes yang menentukan hubungan antar kelas. Tabel 2.9 Tabel multiplicity dan associations Multiplicity UML Multiplicity Association with Multiplicity Association Meaning Notation Exactly 1 1 or leave blank Zero or one 0...1 An employee works for one and only one department An employee has either one or no spouse 82 Zero or more 0...* A customer can make no or payment up to * many payments 1 or more 1...* A university offers at least 1 course up to many courses Spesific 7...9 A team has range either 7,8,9 games scheduled Sumber : L.Whitten & D.Bentley (2007:377) b. Relationship merupakan simbol garis yang dihubungkan antara class diagram yang memiliki arti tertentu. Ada jenis-jenis relationship dalam class diagram : 1. Generalisasi Hubungan dalam class diagram dimana sebuah kelas (subclass atau child class) dapat mewarisi atribut-atribut dan method-method dari kelas lainnya (superclass atau parentclass), dimana superclass bersifat umum dari subclass. 83 Vehicle +make +model +accelarate() +turn() +stop() Car Bicycle +trunksize +frametype +opentrunk() Gambar 2.31 Generalisasi 2. Asosiasi Hubungan antara satu kelas dengan kelas lainnya yang berinteraksi satu sama lain untuk mencapai tujuannnya. Asosiasi dinotasikan dengan sebuah garis yang menghubungkan kedua kelas dan biasanya disertakan keterangan mengenai detail relasi antar kelas dan multiplicity. uses Car 1 Garage 1 Gambar 2.32 Asosiasi 3. Agregasi Hubungan dalam class diagram dimana sebuah class mengandung sebagian kecil atribut dari class lainnya. Pada gambar 2.14 kelas player merupakan bagian dari kelas team, tetapi kelas team bukan merupakan bagian dari kelas player. 84 Team 1 * Player Gambar 2.33 Agregrasi 4. Komposisi Bentuk lain dari agregrasi dimana terdapat hubungan yang kuat dalam seluruh atau sebagian kelas sehingga jika satu kelas hilang, maka kelas yang menjadi bagiannya akan hilang juga. Pada gambar 2.15, dijelaskan bahwa kelas Chapter merupakan bagian dari kelas Book dan tidak akan ada jika kelas Book tidak dibuat. Book 1 * Chapter Gambar 2.34 Komposisi 2.3.20 Sequence Diagram Menurut L.Whitten & D.Bentley (2007:394), sequence diagram adalah model skenario logika dari sebuah use case yang menggambarkan bagaimana terjadinya interaksi antara aktor dan sistem dalam suatu urutan waktu yang digambarkan dalam bentuk diagram. 85 Gambar 2.35 Sequence Diagram (Whitten & D.Bentley, 2007:395) Beberapa notasi-notasi yang digunakan dalam sequence diagram adalah : a. Aktor Aktor adalah elemen yang terdapat pada sequence diagram yang mewakili user dalam berinteraksi dengan interface. Gambar 2.36 Aktor Simbol b. Objek atau sistem Objek atau sistem digambarkan dengan simbol persegi panjang yang diberi nama “Black box” atau “Whole” yang didalamnya terdapat nama objek tersebut. Pada objek terdapat garis putus-putus yang disebut lifeline, yang mengindikasikan kehidupan dari sistem. :Objek Gambar 2.37 Objek 86 c. Aktivasi bar Aktivasi bar digambarkan dengan sebuah persegi panjang pada lifeline yang digunakan untuk menunjukkan lamanya objek yang digunakan. :Objek1 Gambar 2.38 Aktivasi Bar d. Pesan atau input message Pesan digunakan untuk menggambarkan interaksi antara objek-objek yang ada pada sequence diagram. Pesan Contoh 2.39 Pesan e. Pesan kembali atau output message Pesan kembali digambarkan dengan garis putus-putus dan berfungsi untuk menanggapi pesan yang sebelumnya telah disampaikan. Pesan Kembali Gambar 2.40 Pesan Kembali f. Self-call Suatu objek pada sequence diagram yang mengirimkan pesan atau berinteraksi ke objek itu sendiri. Gambar 2.41 Self-call 87 g. frame Frame menunjukkan adanya perulangan atau looping pada daerah yang dibatasi oleh frame tersebut. Frame juga digunakan jika pada sequence diagram terdapat pesan tertentu atau optional. loop Gambar 2.23 Frame