1 BAB 2 TINJAUAN PUSTAKA 2.1 Jaringan Komputer Penggabungan komputer dan komunikasi menurut Tanenbaum (Tanenbaum, 2011, p. 2) memiliki dampak yang beg...
2.1 Jaringan Komputer Penggabungan komputer dan komunikasi menurut Tanenbaum (Tanenbaum, 2011, p. 2) memiliki dampak yang begitu besar terhadap pengaturan sistem komputer yang terorganisir. Konsep dimana terdapat compute rcenter yang bertugas untuk mengatur kebutuhan komputasi dan komunikasi komputer lain dalam suatu ruangan kini sudah mulai ditinggalkan dan diganti dengan konsep dimana sekarang komputer-komputer dapat terhubung meskipun berada di tempat yang berbeda namun tetap dapat saling bertukar informasi, sistem ini disebut computer network atau jaringan komputer. 2.1.1 Jaringan Komputer Berdasarkan Wilayah Jaringan komputer dapat diklasifikasikan dalam beberapa hal salah satunya adalah berdasarkan cakupan wilayah, yaitu sebagai berikut : 1. Personal Area Network (PAN) Personal Area Network (PAN)menurut Tanenbaum (Tanenbaum, 2011, p. 18) memungkinkan adanya jaringan komputer yang terjadi antara perangkat komputer yang dapat diakses atau digunakan oleh seseorang menggunakan protokol wirelesss, contoh yang paling umum adalah jaringan wireless yang menghubungkan komputer dengan perangkat komputer lainnya. Hampir semua komputer akan menambahkan monitor, keyboard, mouse dan printer. Dimana semua koneksi menggunakan kabel, jadi berapa banyak seorang pengguna baru untuk dapat menemukan kabel yang tepat lalu memasangkanya juga ke lubang yang tepat. Saat ini wireless network seperti bluetooth dapat menghubungkan perangkat tanpa menggunakan kabel. Pada konsep yang sederhana jaringan bluetooth menggunakan paradigma master-slave, komputer dalam kasus ini bertindak sebagai master sedangkang perangkat lain seperti mouse, keyboard dan lain-lain bertidak sebagai slave. Master akan memberitahukan alamat dirinya yang digunakan, kapan dapat malakukan pengiriman pesan, sejauh mana mereka dapat mengirimkan data, frekuensi apa yang digunakan dan lain-lainnya.
11
12
Gambar 2.1 Personal AreaNetwok
2. Local Area Network (LAN) Local Area Network (LAN) menurut Tanenbaum (Tanenbaum, 2011, p. 19) berupa jaringan yang bersifat private yang dimiliki pihak tertentu dan beroperasi pada suatu gedung atau bangunan seperti rumah, kantor atau pabrik. LAN menggunakan kabel untuk dapat terhubung dengan personal computer dan peralantan elektronik lainnya untuk dapat saling berbagi sumber daya, contohnya printer dan bertukar informasi. Menyiapkan LAN memerlukan komputer-komputer dengan network adapter yang merupakan perangkat networking pusat yang menghubungkan dengan komputer secara bersama dan menggunakan skema penomoran (seperti alamat IP) untuk membedakan satu komputer dengan komputer lainnya. Menyiapkan LAN juga termasuk menyiapkan server, beberapa jenis perangkat keamanan (seperti firewall) dan perangkat-perangkat lain sebagai penghubung dengan jaringan lain yang berdekatan dengan LAN.
Gambar 2.2 Local Area Network
13
3. Metropolitan Area Network (MAN) Metropolitan Area Network (MAN) menurut Tanenbaum (Tanenbaum, 2011, p. 23) jaringan yang digunakan dalam skala perkotaan. Penerapan dalam MAN yang paling sering digunakan adalah jaringan TV kabel yang tersedia dibanyak kota. Sistem TV kabel merubah pendistribusian channel TV menjadi lebih mudah menggunakan MAN disaat sebelumnya masih menggunakan antena penerima sinyal disetiap rumah.
Gambar 2.3 Metropolitan Area Network
4. Wide Area Network (WAN) Wide Area Network (WAN) menurut Tanenbaum (Tanenbaum, 2011, p. 23) merupakan jaringan dengan cakupan yang lebih besar lagi yaitu negara ataupun benua. Contoh penerapan ini adalah perusahaan yang memiliki cabang diberbeda kota. Pada contoh digambar, WAN dapat menghubungkan kantor yang terdapat di kota Perth, Melbourne, dan Brisbane. Setiap kantor terdapat user yang menggunakan komputer yang menjalankan suatu apliaksi yang harus dapat terhubung satu sama lain baik untuk mengakses database ataupun resource lainnya.
Gambar 2.4 Wide Area Network
14
15
2.1.2 Jaringan Komputer Berdasarkan Transmisi Jaringan komputer juga dapat dibedakan berdasarkan trasmisi pengiriman. Terdapat beberapa jenis teknologi transmisi yang digunakan secara luas yaitu: 1. Unicast Unicast menurut Bonaventure (Bonaventure, 2011, p. 9) memungkinkan pengiriman pesan akan dilakukan dari satu sumber ke satu tujuan pada jaringan yang dimulai dari satu titik point ke titik point lainnya, pesan singkat yang dikirim disebut paket dalam konteks tertentu, dimana pada saat pengiriman paket atau pesan akan melewati perangkat lain sebelum sampai ke tujuan. Perangkat tersebut akan mengirimkan paket atau pesan sesuai dengan alamat tujuan yang sudah tertera.
Gambar 2.5 Unicast 2. Multicast Mode transmisi atau pengiriman yang kedua adalah multicast, menurut Bonaventure (Bonaventure, 2011, p. 9) yang memungkinkan untuk mengatur beberapa alamat yang akan menerima pesan.Pada awalnya pengiriman hanya sebatas LAN namun bisa terus lanjut hingga cakupan WAN. Ketika si pengirim menggunakan multicast untuk mengirim pesan ke penerima sejumalah N, pengirim hanya akan mengirim satu pesan dan perangkat jaringan akan menduplikat pesan sesuai dengan jumlah N sehingga dapat diterima semua penerima.
16
Gambar 2.6 Multicast 3. Anycast Mode transmisi yang ketiga adalah anycast, menurut Bonaventure (Bonaventure, 2011, p. 11) dimana si penerima diidentifikasi sebagai alamat IP yang sama. Disaat itu jaringan hanya mengatahui bahwa si penerima hanyalah satu sehingga pesan akan terkirimkan ke penerima yang paling dekat dengan pengirim
Gambar 2.7 Anycast 4. Broadcast Lain halnya dengan jaringan broadcast, menurut Tanenbaum (Tanenbaum, 2011, p. 17) dimana saluran komunikasi dibagi oleh perangkat jaringan ke jaringan yang tersedia. Paket atau pesan yang dikirim oleh suatu perangkat akan diterima oleh semua perangkat lain dalam jaringan tersebut. Alamat dalam setiap paket akan menentukan siapa penerima paket. Setelah menerima paket, perangkat yang menerima akan memeriksa field alamat. Jika paket yang diterima memang ditunjukan untuk si penerima maka paket akan diproses, jika ditunjukan untuk perangkat lain maka paket akan diabaikan.
17
Gambar 2.8 Broadcast 2.2 Topologi Jaringan Jaringan komputer memungkinkan beberapa komputer dapat saling bertukar informasi satu sama lain untuk itu diperlukan rancangan atau arsitektur bagamana komputer dapat saling terhubung dan berkomunikasi yang disebut sebagai topologi. 1. Full-Mesh Menurut Bonaventure (Bonaventure, 2011, p. 6) cara termudah untuk mengatur semua komputer adalah dengan membuat topologi full-mesh, yaitu setiap komputer terhubung secarang langsung dan khusus antara setiap komputer saling berpasangan. Topologi ini berguna jika menginginkan tingkat redundansi yang tinggi, namun topologi ini memiliki kekurangan yaitu a. Untuk setiap jaringan yang mengandung komputer sejumlah n, maka setiap komputer harus memiliki interface fisik sejumlah n-1. Pada praktiknya jumlah interface fisik pada komputer akan membatasi ukuran jaringan full-mesh yang dapat dibuat. b. Untuk setiap jaringan yang mengandung komputer sejumlah n, n×(n −1) / 2 kabel atau penghubung yang dibutuhkan. Hal ini dimungkinkan ketika terdapat beberapa komputer di dalam ruangan yang sama, tetapi sangat jarang saat komputer-komputer tersebut berlokasi hingga beberapa kilometer.
Gambar 2.9 Full-Mesh
18
2. Bus Menurut Bonaventure (Bonaventure, 2011, p. 6) topologi
kedua yang
mungkin dapat digunakan adalah bus. Pada jaringan bus semua komputer akan terhubung dengan suatu medium berbagi, biasanya berupa kabel dengan single interface. Ketika satu komputer mengirimkan paket ke jaringan bus maka semua komputer yang terhubung dengan jaringan bus akan menerima paket tersebut. Kelemahan pada jaringan ini adalah jika medium berbagi yang ada terputus secara fisik, maka jaringan akan terpisah menjadi dua bagian yang terisolasi. Karena alasan inilah jaringan bus terkadang dianggap sulit untuk dioperasikan dan dipelihara, terutama saat kabel berukuran panjang dan terdapat banyak tempat yang memungkinkan terjadinya kerusakan kabel.
Gambar 2.10 Bus 3. Star Menurut Bonaventure (Bonaventure, 2011, p. 6) topologi
ketiga adalah
topologi star. Pada topologi ini, komputer biasanya memiliki interface fisik dan penghubung fisik antara setiap komputer dan center pada topologi star. Node yang berada center bisa merupakan perangkat yang dapat memperkuat sinyal listrik atau suatu perangkat aktif yang memahami format dari pesan saat bertukar data dijaringan. Tentunya saat terjadi kerusakan pada central node akan berdapak pada seluruh jaringan star. Tetapi, jika salah satu penghubung fisik mengalami masalah maka hanya komputer yang terhubung dengan penghubung itulah yang akan hilang dari koneksi. Pada implementasi topologi star lebih mudah dioperasikan dan dipelihara ketimbang topologi bus. Center pada jaringan ini sangat berguna jika dijadikan point of control (aktif/non-aktif perangkat) dan sebagai obersevation point.
19
Gambar 2.11 Star 4. Ring Menurut Bonaventure (Bonaventure, 2011, p. 7) topologi keempat adalah topologi ring. Seperti topologi bus, dimana setiap komputer memiliki satu interface yang terhubung dengan ring. Semua sinyal yang dikirim oleh suatu komputer akan diterima oleh semua komputer lain dijaringan tersebut. Dilihat dari sudut pandang redundansi, single ring bukanlah solusi yang terbaik karena saat jaringan ring terputus maka satu jaringan akan mati. Pada implementasinya jaringan ring digunakan pada sebagai LAN, tetapi sekarang lebih sering diganti dengan jaringan star. Pada jaringan MAN, ring digunakan sebagai penghubung untuk menghubungkan banyak lokasi. Pada masalah ini, dua parallel link yang tersusun atas kabel yang biasa digunakan untuk redundansi. Menggunakan dua ring dimana saat ring pertama rusak maka jaringan tetap dapat saling berkomunikasi.
Gambar 2.12 Ring
5. Tree Menurut Bonaventure (Bonaventure, 2011, p. 7) topologi kelima adalah tree. Jaringan ini biasa digunakan ketika terdapat banyak user yang harus terhubung.
20
Gambar 2.13 Tree
6. Gabungan Menurut Bonaventure (Bonaventure, 2011, p. 7) pada penerapannya topologi yang biasa digunakan adalah campuran. Contoh pada jaringan kampus dimana dapat menggunakan topologi ring yang terhubung dalam topologi tree atau star yang lebih besar lagi.
Gambar 2.14 Gabungan Topologi 2.3 Reference Model 2.3.1 OSI Model Menurut Tanenbaum (Tanenbaum, 2011, p. 41) Open System Connection (OSI) model merupakan standarisasi untuk protokol arsitektur jaringan yang disahkan oleh badan standarisasi International Standard Organization (ISO). Model ini disebut ISO OSI Reference Model untuk sistem yang digunakan untuk protokol komunikasi dengan sistem lainnya. Menurut Bonaventure (Bonaventure, 2011, pp. 21-24) OSI model memiliki 7 layer yaitu: 1. Pertama adalah physical layer. Dua perangkat terhubung dengan media fisik yang digunakan untuk mengirimkan sinyal electrical atau optical menuju kedua perangkat yang saling terhubung. Physical layer menyediakan service yang dapat merubah sinyal tersebut menjadi bentuk bit untuk kemudian dikirimkan ke layer berikutnya. Sebaliknya saat akan saling bertukar informasi yang masih dalam bentuk bit akan diubah menjadi sinyal electrical atau optical sehingga dapat melewati media yang dapat berupa kabel ataupun wireless. Layer ini memungkinkan dua atau lebih
21
merangkat untuk dapat terhubung dengan suatu media dan saling bertukar informasi yang telah diubah dalam bntuk bit. 2. Kedua adalah data link layer yang menyediakan service untuk kebutuhan dengan menerima data bit dari physical layer. Data link layer memungkinkan dua komputer untuk saling terhubung dan dapat bertukar informasi melalui physical layer. Informasi yang saling dikirimkan dibuat dalam bentuk frame. Frame yang dibuat berdasarkan bit yang dikirimkan oleh physical layer dan dipaket menjadi sebuah frame. Pada layer ini juga akan dilakukan pemeriksaan kesalahan data pada sub Logical Link Layer (LLC) dan pemberian data pada sub Media Access Controller untuk memasukan MAC address sumber dan tujuan. 3. Ketiga adalah network layer, mengumpulkan frame-frame dari data link layer untuk digabungkan menjadi satu paket yang berisikan informasi mengenai IP address sumber dan tujuan untuk dapat saling bertukar data. Pertukaran data pada network layer biasanya dapat dilakukan hingga melewati jaringan yang ada. 4. Keempat adalah transport layer yang bertanggung jawab untuk memastikan pengiriman data terhadap suatu aplikasi. Pada layer ini paket-paket di network layer akan digabungkan kedalam satu segmen yang sudah berisi port aplikasi sebagai penanda data yang dikirimkan. Pada layer ini juga ditentukan protokol pengiriman yang akan digunakan yaitu connection-oriented Transmission Control Protocol (TCP) yang terpercaya dalam pengiriman data secara sempurna atau connection-less User Datagram Protocol (UDP) yang kurang terpercaya dalam pengiriman data secara sempurna. 5. Kelima adalah session layer yang memungkinkan user melakukan pengaturan terhadap sesi yang terhubung antara dua komputer. Layer ini memberikan banyak service yaitu dialog control (menjaga dan mengatur jalur pengiriman), token management (mencegah terjadinya dua atau lebih perangkat melakukan tindakan kritis secara bersamaan) dan sinkronisasi koneksi untuk data yang akan dikirimkan atau diterima. Kesimpulannya layer ini berisikan protokol dan mekanisme yang diperlukan untuk mengatur dan mensinkronkan pertukaran data untuk presentation layer. Layer ini akan menjaga koneksi pertukaran data agar dapat sampai tanpa kerusakan sampai ke layer berikutnya. 6. Keenam adalah presentation layer yang berkaitan dengan syntax dan semantic yang berkaitan dengan informasi yang dikirimkan. Pada layer ini data yang diterima akan
22
diubah menjadi bahasa yang dipahami oleh komputer. Intinya layer ini mempunyai service yang dapat menyediakan representasi dari data yang dikirimkan 7. Ketujuh adalah application layer berkaitan langsung dengan user dimana aplikasi akan secara langsung berinteraksi dengan user sebelum mengirim atau menerima pesan. 2.3.2 TCP/IP Model Berbeda dengan OSI model, TCP/IP tidak membagi arsitektur sebanyak yang dimiliki oleh OSI model, yaitu hanya terdapat empat layer sebagai berikut menurut Tanenbaum (Tanenbaum, 2011, pp. 46-47) : 1. Network Access layer pada model ini menjelaskan mengenai penghubung antar media yang akan saling berkomunikasi, seperti media dan ethernet yang digunakan untuk dapat saling terhubung satu sama lain dan melakukan pertukaran data pada media tersebut. 2. Internetlayer merupakan layer yang penting karena memiliki tenggung jawab untuk mengirimkan paket dari sumber ke tujuan melalui suatu rute tertentu. 3. Transportlayer akan menentukan protokol pengiriman yang akan digunakan apakah connection-oriented yaitu TCP atau connection-less UDP 4. Application layer berhubungan dengan aplikasi yang digunakan untuk melakukan pengiriman data seperti email atau file sharing yang berhubungan langsung dengan user.
Gambar 2.15 TCP/IP Model dan OSI Model
23
2.4 Network Development Life Cycle (NDLC) NDLC merupakan salah satu metode pengembangan sistem pada jaringan. Kata “lingkaran” menjadi kunci gambaran pengembangan jaringan yang saling berkelanjutan, dimulai dari satu tahap lalu berlanjut ke tahap berikutnya dan kembali lagi ke tahap awal. Metode ini memiliki enam siklus, yaitu:
Gambar 2.16 NDLC
1. Analysis Tahap awal (Stiawan, 2009) ini dilakukan analisa kebutuhan, analisa permasalahan yang muncul, analisa keinginan user, dan analisa topologi atau jaringan yang sudah ada saat ini. Metode yang biasa digunakan pada tahap ini diantaranya ; a. Wawancara, dilakukan dengan pihak terkait melibatkan dari struktur manajemen atas sampai ke level bawah atau operator agar mendapatkan data yang konkrit dan lengkap b. Survey langsung kelapangan, pada tahap analisis juga biasanya dilakukan survey langsung kelapangan untuk mendapatkan hasil sesungguhnya dan gambaran seutuhnya sebelum masuk ke tahap selanjutnya c. Literatur, pencarian data ini didasarkan pada landasan teori yang berhubungan dengan penelitian. Landasan teori bisa didapatkan melalui buku, artikel ataupun
24
dokumentasi resmi di internet. Metode ini akan membantu penelitian pada saat melakukan implementai. Menelaah setiap data yang didapat dari data-data sebelumnya, maka perlu dilakukan analisa data tersebut untuk masuk ke tahap berikutnya. Adapun yang bisa menjadi pedoman dalam menganalisa data pada tahap analysis ini adalah ; a. User atau people berkaitan dengan jumlah user, kegiatan yang sering dilakukan, serta level teknis user. b. Hardware dan software, berkaitan dengan peralatan yang ada, status jaringan, ketersedian data yang dapat diakses dari peralatan, serta aplikasi software yang digunakan c. Data, berkaitan dengan jumlah pelanggan, jumlah inventaris sistem, sistem keamanan yang sudah ada dalam mengamankan data. d. Network, berkaitan dengan konfigurasi jaringan, volume trafik jaringan, protokol, monitoring network yang ada saat ini, harapan dan rencana pengembangan ke depan e. Perencanaan fisik, berkaitan dengan masalah listrik, tata letak, ruang khusus, sistem keamanan yang ada, dan kemungkinan akan pengembangan ke depan. 2. Design Dari data-data yang didapatkan sebelumnya, tahap Design ini akan membuat gambar design topologi jaringan interkoneksi yang akan dibangun, diharapkan dengan gambar ini akan memberikan gambaran seutuhnya dari kebutuhan yang ada. Design bisa berupa design struktur topologi, design akses data, design tata layout kabel, dan sebagainya yang akan memberikan gambaran jelas tentang project yang akan dibangun. 3. Simulation Prototype Pada tahap ini akan dibuat prototype atau simulsai terhadap jaringan yang akan dibangun, prototype dapat dibuat dengan menggunakan aplikasi seperti Packet Tracert atau aplikasi sejenis lainya. Rancangan yang akan dibuat menjadi prototype merupkan hasil dari pada tahap design. 4. Implementation
25
Pada tahapan ini akan memakan waktu lebih lama dari tahapan sebelumnya. Dalam implementasi akan menerapkan semua yang telah direncanakan dan di design sebelumnya ke environment yang sebenarnya. Implementasi merupakan tahapan yang sangat menentukan dari berhasil atau gagalnya project yang akan dibangun. 5. Monitoring Pada tahap ini akan diteliti dan dilakukan percobaan terhadap rancangan yang sudah selesai diimplementasikan. Sistem yang sudah selesai dibangun perlu dipantau untuk memastikan dapat berjalan dengan benar dan stabil. 6. Management Jika pada tahap monitoring sistem sudah dapat berjalan sesuai dengan tujuan maka berikutnya perlu dilakukan management terhadap sistem agar tetap dalam kondisi atau pemakaian yang normal dimana sistem akan terus dipantau dan dirawat sebagaimana mestinya.
2.5 High Availability Menurut Resman (Resman, 2015, p. 2) arti umum dari kata “Availability” atau ketersedian merupakan karakteristik dari sumberdaya baik dari suatu individu ataupun objek yang dapat diakses ataupun digunakan. Ketersediaan akan sumberdaya dapat diperhitungkan atau diukur, maka dari itu rasio terhadap waktu sumberdaya diakses dan digunakan dengan waktu saat sumberdaya tidak diakses dan digunakan dapat dilakukan perhitungan. Menambahkan kata ‘’High” atau tinggi pada pada kata “Availability” atau ketersediaan menunjukkan bahwa sebagian besar waktu pada interval waktu yang ditentukan, sumberdaya harus dapat diakses ataupun digunakan. Istilah high availability umum digunakan dalam teknologi informasi dan untuk menjelaskan sistem dalam dunia Teknologi Informasi (TI) dengan ketersedian tingkat tinggi. High availability dalam TI mengacu pada suatu sistem yang beroperasi secara terus menerus dan menyediakan service untuk dapat tersampaikan kepada end user. Inti sari saat berbicara soal sistem TI adalah ketersediaan untuk menyapaikan service terhadap end user, dimulai saat sistem yang ada dapat menyala dan dijalankan dari perspektif administrator TI tapi tidak dapat menyediakan service terhadap end user, maka sistem yang dibuat menjadi tidak berguna. Terdapat beberapa faktor yang membuat service tidak dapat digunakan,
26
terutama dikarenakan ada begitu banyak layer atau lapisan yang harus dapat bekerja bersama dalam menyediakan ketersedian service. Sebuah sistem di TI biasanya terdiri dari banyak komponen yang berbeda. Semua komponen yang berbeda tersebut harus dapat terus tersedia dalam jangka waktu yang diinginkan. Hal ini perlu disampaikan Karena ketersedian dengan tingkat yang tinggi sangat penting untuk dirancang dengan tepat, dipikirkan baik-baik, dan sepenuhnya sudah teruji dengan tujuan untuk menghilangkan segala kemungkinan adanya potensi kegagalan. High availability merupakan pendekatan dengan sistem yang didesain dan dengan cara implementasi service, untuk memberikan tingkat pencapaian yang tinggi untuk kinerja dan ketersediaan dengan menghilangkan segala kemungkinan kegagalan pada sistem. 2.6 Computer Clusters Menurut Resman (Resman, 2015, pp. 4-5) Cluster komputer adalah sekelompok komputer yang saling tergabung untuk bekerja sama dalam menyediakan high availability untuk beberapa service. Service biasanya dibuat berdasarkan jumlah aplikasi yang beroperasi pada layer aplikasi. Layer aplikasi merupakan adalah salah satu layer yang paling kritis mengalami kerusakan. Hal biasa jika menemukan aplikasi yang mengalami error atau terdapat bug dan berhenti merespon atau mengalami kerusakan. Situasi ini akan membuat service tidak dapat berjalan dan juga akan berdampak pada kerugian finansial, sehingga perlu untuk menyediakan redundansi pada layer aplikasi. Ini merupakan alasan utama untuk menerapkan cluster komputer sebagai solusi high availability dalam suatu desain sistem. Cluster komputer terdiri dari dua komputer atau lebih. Komputer-komputer tersebut terhubung dalam local area network (LAN) yang sama. Jumlah maksimum komputer dalam sebuah cluster dibatasi oleh software cluster yang diimplementasikan pada cluster tersebut, tetapi umumnya mendukung hingga 16 anggota cluster. Penerapan anggota cluster yang baik adalah dengan menggunakan anggota cluster yang memiliki hardware dan spesifikasi yang sama, yang berarti komponen cluster terdiri dari produsen yang sama dan kemungkinan memiliki spesifikasi sumber daya yang sama. Terdapat dua jenis umum cluster komputer: 2.5.1 Load Balancing Cluster Komputer Load balancing cluster komputer digunakan untuk memberikan kinerja yang lebih baik dan andal, dan biasanya digunakan dalam ilmu pengetahuan untuk mengukur dan menghitung hal ilmiah yang kompleks. Menariknya, cluster yang sama juga digunakan
27
menjalankan website dan web server yang memiliki kinerja yang berat, yang mana dapat membantu meningkatkan keseluruhan kinerja dari website dengan melakukan pendistribusian beban ke node atau komputer lain di dalam cluster. Terdapat beberapa jenis algoritma pada loadbalancing yaitu: a. Round-Robin Menurut Kurniawan & Pulungan (Kurniawan & Pulungan , 2011, p. 6) algoritma round-robin mendistribusikan beban kepada semua server anggota cluster sehingga masing - masing server mendapat beban yang sama dalam waktu yang sama. Proses dibagi secara merata antar semua prosesor. Algoritma round-robin dapat bekerja dengan lebih baik pada proses yang lebih besar dari jumlah prosesor. b. Weighted Round-Robin Menurut Kurniawan & Pulungan (Kurniawan & Pulungan , 2011, p. 6) Sebuah algoritma round-robin yang sudah diperhitungkan untuk dapat membagi beban kepada setiap server. Administrator secara manual akan menetapkan bobot service setiap server berdasarkan performa dan memberikan jadwal otomatis untuk pembagian beban berdasarkan permintaan.
Gambar 2.17 Load Balancing 2.5.2 Failover Cluster Komputer Failover cluster komputer berusaha untuk meminimalkan matinya service yang sedang berjalan dan tidak begitu banyak meningkatkan performa dari service yang ada. Terdapat banyak cara untuk melakukan konfigurasi cluster, yang bergantung pada jumlah anggota cluster dan juga tingkat availability yang ingin dicapai.
28
Terdapat beberapa jenis konfigurasi pada failover cluster: a. Active/Active, memerlukan dua atau lebih anggota cluster. Anggota cluster yang secara bersamaan menjalankan suatu service pada waktu yang sudah ditentukan. b. Active/Passive, memerlukan dua atau lebih anggota dimana hanya akan ada satu anggota yang dapat menjalankan service sementara anggota yang lainnya tidak menjalankan service. Jika anggota yang menjalankan service mengalami kerusakan atau kegagalan server maka sercara otomatis cluster akan melakukan konfigurasi ulang dan semua arus data akan dialihkan ke anggota cluster yang lain. Proses tersebut dinamakan failover. Failover akan memastikan ketersediaan secara terus menerus terhadap aplikasi dan data yang berjalan pada cluster.
Gambar 2.18 Active/Passive dan Active/Active Keadaan dimana passive server akan menjadi active server (Perriman, 2008) adalah pada saat active server terdeteksi tidak menjalankan fungsinya dengan baik. Sistem setidaknya menggunakan mekanisme heartbeat yaitu, menurut Resman (Resman, 2015, p. 12) heartbeat merupakan komunikasi yang terjadi antara anggota cluster secara terus menerus. Setiap anggota cluster secara konstan mengirimkan status bahwa mereka aktif kepada anggota cluster lain dengan ini anggota cluster dapat mengetahui anggota lainnya sedang berjalan atau tidak. Saat koneksi heartbeat terputus oleh salah satu anggota cluster, maka akan dilakukan kofigurasi untuk memindahkan service pada cluster yang berjalan pada anggota yang mati untuk dialihkan ke anggota yang masih beroperasi. Terdapat dua tingkatan heartbeat yaitu : a. Push Heartbeat, dimana active server mengirimkan sinyal khusus menuju passive server pada interval tertentu. Jika passive server tidak menerima sinyal heartbeat pada waktu interval yang ada, maka active server mengalami kegagalan server.
29
Sebagai contoh active server mengirimkan pesan status setiap 30 detik dan kemudian mengalami masalah sehingga tidak dapat mengirimkan pesan. Passive server tidak mendapat pesan dalam waktu 90 detik atau tiga interval maka active server akan diambil alih. b. Pull Heartbeat, passive server mengirimkan pesan request kepada active server. Jika pada interval waktu tertentu active server tidak memberikan tanggapan maka passive server akan mengambil peran. Cluster (Perriman, 2008) dapat berjalan dengan dua tingkatan heartbeat, cluster dapat menggunakan push heartbeat pada level server dan pull heartbeat pada level aplikasi. Contoh active server mengirimkan pesan status pada passive server setiap saat selama server menyala dan terhubung dengan jaringan. Jika pada interval waktu tertentu passive server tidak menerima pesan maka peran akan diambil. Pada bagian aplikasi passive server mengirimkan pesan query ke aplikasi yang berjalan pada active server. Jika passive server tidak menerima balasan pada interval waktu tertentu maka peran akan diambil. 2.7 Customer Relationship Management Customer Relationship Management merupakan strategi pengaturan seluruh hubungan dan interaksi perusahaan dengan pelanggan dan calon pelanggan. CRM dapat meningkatkan keuntungan suatu perusahaan. CRM memungkinkan kita untuk dapat fokus pada hubungan organisasi atau perusahaan dengan individual, baik itu pelanggan, pengguna layanan, kolega atau pun pemasok. CRM tidak hanya mengenai sales, tetapi juga berkaitan dengan marketing yang disesuaikan dengan bisnis serta dapat berkembng menjadi service bagi pelanggan. CRM terus berkembang menjadi sesuatu yang lebih penting untuk menghadapi tantangan dalam lingkungan organisasi bisnis pada masa kini. CRM memiliki keungtungan dari berkembangnya data management dan perangkat lunak baru middleware yang memungkinkan data resource yang berbeda-beda dapat bekerja pada satu database yang terintegrasi. CRM juga mendukung generasi baru dari perangkat promotional seperti selective binding, variable valuation dan probabilistic baru (Baran, Zerres, & Zerres, 2014). 2.8 Siebel Siebel merupakan aplikasi Customer Relationship Management (CRM) yang memungkinkan untuk mengatur hubungan antara customers, partners, and employees. Siebel sendiri terdiri fitur utama CRM, yaitu sales, service dan management yang dimasukkan ke
30
dalam aplikasi-aplikasi Siebel yang terbagi menjadi Finance, eCommunication, Call Center, Partner Portal dan lainnya (Oracle, Downloading and Searching Documentation, 2014). 2.9 The Siebel web architecture Menurut Hansal (Hansal, 2010, pp. 8-17) untuk memungkinkan ribuan pengguna dapat mengakses data perusahaan yang penting melalui web, Siebel memiliki arsitektur webnya sendiri. Arsitektur ini memungkinkan skalabilitas dan kompatibilitas tinggi dan telah mengalami banyak perkembangan selama satu dekade. Siebel web architecture terdiri dari bagian-bagian penting sebagai berikut : a. Relational database digunakan untuk menyimpan data pelanggan, administrasi dan repository b. Shared directory untuk menyimpan biner, informasi non-relational seperti lampiran dokumen dan file-file temporary. c. Satu atau lebih Siebel Server, akan dikelompokkan bersama ke dalam Siebel Enterprise Server. d. Siebel Gateway Name Server untuk menyimpan dan mengatur konfigurasi Siebel Enterprise Server e. Web server untuk menerima permintaan user melalui url dan mengirimkan kembali dalam bentuk halaman web yang diambil dari file HTML pada umumnya. f. Siebel Web Server Extension diinstalasi pada web server g. Web browser untuk menampilkan user interface web sercara grafis.
31
Gambar 2.19 Siebel Web Architecture
1. Siebel Database Relational Database Management System (RDBMS) melakukan penyimpanan segala jenis bentuk data dengan sangat baik dan Siebel mendukung berbagai versi dan vendor. Pada table di bawah terdapat daftar database sistem dari vendor, produk, dan versi yang didukung oleh Siebel.
Gambar 2.20 Database untuk Siebel Hal yang perlu diketahui dari database Siebel ini adalah bahwa database digunakan untuk menyimpan semua data pelanggan, administrasi dan repository. Jadi
32
dapat dibayangkan Siebel database sebagai tempat untuk menyimpan semua data yang berhubungan dan dibutuhkan untuk menjalankan sistem. 2. Siebel File System Secara teknis, Siebel file sistem adalah shared directory yang memiliki beberapa sub direktori. Sebagian sub direktori dibuat selama proses instalasi tetapi beberapa ditambahkan manual ketika modul khusus seperti Siebel Search telah dipersiapkan. Setiap kali pengguna, eksternal sistem atau internal proses akan meng-upload informasi berbasis file, maka file tersebut akan dikompresi dan disimpan ke direktori tree. Untuk file yang perlu diakses dan diunduh oleh user atau eksternal sistem, Siebel akan membuat record pada database table yang menunjuk file tersebut. File dikompresi dan disimpan di dalam share network yang biasanya tidak dapat diakses oleh sebagian user, dikarenakan tingkat keamanan sangat tinggi. Bahkan jika kita dapat menemukan file yang disimpan di Siebel file sistem, kita tidak dapat membaca informasi yang terkandung pada file tersebut kecuali kita uncompressed menggunakan salah satu aplikasi Siebel atau utilitas dari command line yang disediakan oleh Oracle. 3. Siebel Enterprise Server Meskipun kita dapat menginstal dan mengatur beberapa Siebel Enterprise Server dalam infrastruktur jaringan yang kita miliki, tetapi Enterprise Server bukan merupakan bagian dari software melainkan suatu logical collection dari Siebel Server yang mengakses Siebel database dan file sistem yang sama, dan dapat diatur melalui satu Siebel Gateway Name Server. 4. Siebel Gateway Name Server Sebuah Siebel Enterprise Server dapat terdiri puluhan Siebel Server dimana setiap Siebel Server dapat menjalankan komponen-komponen program yang mengimplementasikan fungsi-fungsi tertentu. Setiap komponen memiliki parameter nilai yang berbeda. Untuk mempermudah pengaturan semua informasi yang melalui Siebel Enterprise Server, Siebel mengembangkan Gateway Name Server. Ini adalah
33
service atau proses daemon yang menyimpan semua konfigurasi Siebel Enterprise dalam sebuah file text bernama siebns.dat. Pada
saat
mematikan
semua
service
Siebel
dan
mencoba
untuk
menyalakan service Siebel server tanpa menyalakan service Gateway Name Server. Sebuah pesan error mengindikasikan bahwa Siebel Server tidak dapat berjalan. Hal ini dikarenakan Siebel Server hanya memiliki sepotong informasi mengenai Gateway Name Server yaitu hostname, yang mana digunakan untuk mencari atau mencoba menghubungi server agar mendapat informasi lebih. Gateway Name Server merupakan komponen penting pada Siebel web arsitektur Karena harus sudah tersedia saat Siebel Server akan dijalankan atau saat perubahan konfigurasi yang harus diterapkan. Namun jika Gateway Name Server mengalami kegagalan atau berhenti saat menjalankan operasi seperti biasanya, user dan eksternal sistem masih dapat mengakses aplikasi Siebel dan fungsi yang disediakan oleh Siebel Server. Tetapi akan lebih baik untuk memeriksa Gateway Name Server dan menyalakannya kembali secepat mungkin jika terjadi kegagalan. 5. Siebel Server Proses yang beriteraksi langsung dengan user atau eksternal sistem yang mengakses data pada database Siebel atau file pada Siebel file sistem yang semuanya terdapat pada satu atau lebih Siebel Server. Setiap Siebel Server adalah
anggota
dari hanya satu Enterprise. Dalam istilah yang lebih teknis, Siebel Server adalah aplikasi server. Sebuah aplikasi server adalah aplikasi atau program-
program
yang dibuat untuk dapat diakses oleh sistem lainnya. Sesuai keterangan diatas, aplikasi server, Siebel Server disebut sebagai host dari komponen-komponen, yang menerapkan berbagai bagian-bagian fungsi Siebel seperti menyediakan sesi bagi user, mengunggah file ke Siebel file sistem, bertukar data dengan eksternal sistem dan sebagainya. Demi skalabilitas dan mencegah terjadinya kegagalan, melakukan instalasi dilebih dari satu Siebel Server adalah hal yang sangat umum. Load balancing (Oracle, Siebel Deployment, 2011) akan mendistribusikan beban kerja ke beberapa Siebel Server. Siebel native load balancing dibuat di dalam Siebel Web Server Extension (SWSE). Siebel native load balancing mendukung load balancing untuk Siebel
34
server. Load balancing dapat digunakan jika pada Siebel Enterprise server terdapat dua atau lebih Siebel Server dan tidak di cluster. Siebel Server juga memungkinkan penggunaan third-party load balancing untuk deployment Siebel. Meskipun begitu tetap perlu dilakukan pengujian antara Siebel server dengan pihak ketiga. Unit software pada Siebel Server dibutuhkan untuk mendukung aplikasi Siebel adalah sebagai berikut : a. Application Object Manager (AOM) Jika kita melihat Siebel web arsitektur dari segi user, sebuah komponen harus ada pada Siebel Server yang menangani semua permintaan yang dibuat oleh user sebagai orang yang menggunakan aplikasi Siebel melalui browser. Komponen jenis ini disebut sebagai Application Object Manager (AOM). AOM adalah program yang menangani interaksi dari semua user seperti otentikasi, akses data dan rendering halaman HTML yang berlanjut ke user browser. Dengan kata lain, user mengeksekusi aplikasi dengan logika yang sudah berjalan dengan seharusnya.
b. Configuration Parameters AOM sebagai program yang secara umum bertindak atas serangkaian parameter tertentu. Parameter memiliki history yang tersimpan di file berbasis text pada Siebel Server. File tersebut memiliki extention .cfg yang masih ada hingga versi Siebel terbaru, hanya ada sebagian kecil data parameter yang terdapat pada Siebel Server, sebagian besar terdapat pada Siebel Gateway Name Server yang akan dimuat ke Siebel Server ketika dijalankan. c. Data Manager (DM) Merupakan lapisan AOM yang mengakses sumber data relasional. Menggunakan file dynamic link libraries (dll) tertentu pada sistem operasi Windows atau shred objects (so) pada sistem operasi berbasis UNIX. Lapisan data manager membuat pernyataan dalam bentul SQL tertentu sesuai dengan vendor database yang digunakan.
d. Siebel Repository File (SRF)
35
AOM membaca sebuah file dengan extension .srf. File ini disebut Siebel Repository File yang berisikan representasi struktur dari aplikasi metadata, yang mana memungkinkan AOM dapat dengan cepat memperoleh informasi penting seperti nama teble dan kolom, logika bisnis dan tampilan UI. Siebel Repository File tidak hanya digunakan komponen bertipe AOM tetapi juga komponen Siebel Server lainnya yang memerlukan akses informasi metadata.
e. Siebel Web Engine (SWE) Permintaan yang datang dari user atau eksternal sistem biasanya adalah sekumpulan perintah yang mengarah ke Siebel Web Engine (SWE). SWE menguraikan perintah dan memanggil fungsi-fungsi program terkait dengan permintaan. SWE meupakan lapisan lain pada AOM yang menjalankan logika bisnis atau akses ke database untuk mengambil data yang diperlukan. SWE juga bertanggung jawab untuk membangun login page yang kemudian akan diteruskan kembali ke browser. f. Siebel Web Templates (SWT) Terdapat banyak tata letak element pada Siebel UI seperti list atau form dengan style identik (contoh list akan selalu mengandung top banner dengan tombol control dan kolom pada list akan selalu memiliki header dan body text). Untuk alasan ini, HTML untuk element tersebut tidak perlu dibuat secara manual atau berulang. Element tersebut dapat disimpan pada file text yang akan dibaca oleh Siebel Web Engine. File tersebut dinamakan Siebel Web Templates (SWT) dan biasanya memiliki extension .swt. Jika kita memeriksa file-file tersebut secara lebih detail maka kita dapat menemukan tag-tag HTML seperti
, terdapat juga tag perintah milik Siebel Web Engine. Tag <swe:> ini akan digantikan dengan konten yang akan diberikan oleh Siebel Web Engine pada saat run time. 6. Web Server Seluruh komunikasi dengan browser pada komputer user harus menggunakan http, web server merupakan bagian yang penting pada Siebel web architecture.
36
Siebel mendukung berbagai vendor dan produk seperti Microsoft Internet Information Syste, HP Web Server (Apache), atau Oracle HTTP Server (Apache). Web server diwajibkan untuk ada namun tidak berjalan dengan beban yang berat. AOM menangani semua permintaan yang datang, jadi web server hanya bertugas untuk melanjutkan permintaan ke AOM dan melanjutkan kembali hasilnya ke browser milik user. 7. Siebel Web Server Extension Siebel Web Server Extension memungkinkan semua dukungan terhadap web server untuk dapat berkomunikasi dengan AOM dengan beberapa Siebel Server. Siebel Web Server Extension berfungsi sebagai plug-in dan
memungkinkan
web server untuk meneruskan permintaan yang datang dalam
bentuk
url
dari
browser milik user ke AOM yang berada pada Siebel Server. Siebel Web Server Extension juga memiliki kemampuan untuk malakukan otentikasi terhadap pengguna dan load balancing. Siebel Web Server Extension membaca file konfigurasi yang bernama eapps.cfg yang terhubung dengan virtual directory pada web server untuk menjalankan proses Siebel Server. Proses ini dijalankan oleh komponen server bernama Siebel Connection Broker. 2.10 Oracle Database Oracle Database (Rich, 2012) adalah database relasional dengan object dan penyesuaian Extensible Markup Language (XML). Pada relasional database, semua data disimpan di dalam dua dimensional table yaitu baris dan kolom. Oracle Database memungkinkan untuk penyimpanan data, memperbaharui data dan secara mudah dapat mengambil data dengan tingkat kinerja yang tinggi, kehandalan dan skalabilitas. Listener yang terdapat pada host Oracle Database akan melakukan proses terhadap permintaan client. Listener menerima permintaan koneksi yang masuk dan mengatur lalu lintas permintaan ke database server. Listener akan menerima protokol dan alamat IP yang digunakan untuk nantinya dapat terkoneksi dengan database server. Tempat penyimpanan Oracle Database terbagi dua yaitu System Global Area (SGA) dan Program Global Area (PGA). SGA digunakan untuk menyimpan data yang dapat digunakan secara bersama oleh aplikasi-aplikasi yang terdapat pada Oracle Database seperti
37
cache atau buffer dari suatu aplikasi yang sudah dijalankan. Sementara PGA merupakan penyimpanan untuk aplikasi database baik yang berjalan secara background ataupun tidak. 2.11 Active Directory Berdasarkan Mcrosoft (Corporation, 2010) Active directory menyimpan informasi tentang komponen jaringan. Hal ini memungkinkan client untuk mendapatkan penamaan melalui namespace milik active directory. Namespace atau penamaan yang mengarah pada setiap komponen yang berada pada jaringan yang terhubung. Contoh daftar isi berisikan daftar yang mewakili chapter dalam suatu buku. Domain Name Server (DNS) merupakan penamaan untuk hostname yang mewakili alamat IP. Buku telepon menyimpan penamaan berupa nama yang mengarah pada suatu nomor. Active directory menyimpan penamaan untuk nama suatu objek yang mengarah pada objek itu sendiri pada jaringan. Objek yang dimaksud dapat berupa computer, user ataupun service. 2.12 Quorum Menurut Piepho (Piepho, 2013, p. 7) pada sebuah cluster, quorum merupakan suatu kumpulan status dari semua elemen yang ada pada suatu cluster yang aktif. Setiap elemen di dalam cluster mengirimkan data yang berisikan status dari elemen tersebut ke quorum. Jika sebagian besar status yang diterima quorum dalam kondisi normal maka cluster dapat berjalan dengan seharusnya atau berkerja dengan baik. Elemen di dalam cluster salah satunya adalah server node dan bisa juga quorum witness. Quorum witness dikonfigurasi pada saat jumlah node pada cluster tidak dapat mencapai jumlah yang seharusnya dan pada saat terjadi kesalahan lainnya. Tempat penyimpanan quorum dapat digunakan sebagai tempat penyimpanan data lain yang berjalan diluar cluster. 2.13 Open Database Connectivity (ODBC) Berdasarkan (Microsoft, 2017) ODBC adalah sebuah program yang dibuat dengan bahasa C yang memungkinkan suatu aplikasi lain dapat mengkases data yang berada pada suatu database. ODBC memiliki performa yang tinggi dalam transaksi data dengan database. 2.14 Network-attached Storage (NAS) Network-attached Storage (NAS) adalah jenis penyimpanan yang terhubung dengan suatu jaringan berserta perangkat lainnya. File sistem pada NAS merupakan standar media penyimpanan dan dapat digunakan langsung oleh client. NAS juga menyediakan kemampuan untuk menambah ukuran disk hingga ribuan bahkan terabytes. Seperti namanya media penyimpanan NAS terhubung dengan kompute-komputer melalui jaringan dan menyediakan
38
akses menuju data berdasarkan protokol file-sharing seperti Network File System (NFS) dan lain sebagainya. Komputer akan menganggap NAS sebagai drive yang terdapat pada jaringan yang dapat dipetakan secara lokal 2.15 Server Menurut Satria, W, & Yovita (Satria, W, & Yovita, 2014, p. 2) server adalah sebuah sistem komputer yang menyediakan jenis layanan tertentu di dalam suatu jaringan. Sebuah server didukung oleh prosesor yang scalable dan juga kapasitas RAM yang besar serta menggunakan sistem operasi yang berbeda dengan komputer-komputer lainnya. Server juga menjalankan tugas administrative, yakni software yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat didalamnya. Hal ini termasuk file maupun perangkat yang digunakan secara bersama (share). 2.16 Internet Small Computer System Interface (iSCSI) Menurut Satria, W, & Yovita (Satria, W, & Yovita, 2014, p. 2) Internet Small Computer System Interface (iSCSI) merupkan suatu protokol yang bekerja pada transportlayer. iSCSI dapat bekerja melalui jaringan TCP/IP. iSCSI memungkinkan protokol iSCSI dapat dikirimkan melewati jaringan LAN, WAN, ataupun internet. iSCSI merupakan salah satu pendekatan yang digunakan untuk melakukan trasmisi data melalui jaringan IP. 2.17 Virtual Machine Virtaul Machine adalah suatu software komputer yang mirip dengan komputer fisik yang dapat menjalankan sistem operasi dan aplikasi pada umumnya. Virtual machine terdiri dari file spesifikasi dan konfigurasi yang juga didukung oleh sumber daya fisik host tempat virtual machine berjalan. Setiap virtual machine memiliki perangkat virtual yang memberikan fungsi yang sama dengan perangkat fisik dan memiliki keuntungan tambahan dalam hal probabilitas, pengelolaan dan keamanan. Virtual machine terdiri dari beberapa file penting yaitu file konfigurasi, file disk virtual, file NVRAM dan file log sesuai dengan informasi (What Is a Virtual Machine?, 2009-2012).