BAB 2 LANDASAN TEORI
2.1. Teori-Teori Umum Berikut merupakan teori-teori umum yang digunakan dalam penelitian:
2.1.1. Komputasi Awan (Cloud Computing) 2.1.1.1.
Sejarah Komputasi Awan Secara garis besar, sejarah komputasi awan dapat dibagi menjadi tiga fase (Banerjee, 2011). Fase yang pertama dapat disebut sebagai fase ide. Pada fase ide ini terdapat suatu prediksi menarik oleh John McCarthy, pakar komputasi MIT yang dikenal juga sebagai salah satu pionir kecerdasan buatan. John McCarthy memprediksi bahwa komputasi mungkin nantinya akan menjadi fasilitas publik (Foster et.al, 2008:60). Bukan hanya John McCarthy yang manjadi sosok dalam fase ide ini, namun Joseph Carl Robnett Licklider juga menjadi sosok yang penting. Licklider merupakan direktur pertama IPTO (Information Processing Techniques Office). IPTO merupakan pengembang ARPANET pada 1969 yang kini telah menjadi Internet (Stewart, 2012). Fase kedua dapat disebut sebagai fase sebelum awan. Fase ini dimulai pada tahun 1999 dan berakhir pada tahun 2006. Tonggak pertama untuk komputasi awan adalah Salesforce.com pada tahun 1999, yang menjadi pelopor atas konsep menyediakan aplikasi 7
8 perusahaan melalui situs web sederhana. Perkembangan selanjutnya adalah Amazon Web Service pada tahun 2002, yang menyediakan paket layanan berbasis awan termasuk penyimpanan, komputasi, dan bahkan kecerdasan manusia melalui Amazon Mechanical Turk. Kemudian pada tahun 2006, Amazon meluncurkan Elastic Compute Cloud (EC2) sebagai layanan web komersial yang mengizinkan perusahaan-perusahaan kecil dan individu untuk menyewa komputer yang menjalankan aplikasi komputer mereka sendiri (Mohamed, 2009). Fase ketiga dapat disebut sebagai fase awan. Fase ini dimulai pada 2007 ketika istilah komputasi awan menjadi semakin populer dan klasifikasi dari IaaS, PaaS, dan SaaS diresmikan. Perusahaan besar pun turut ambil bagian dalam komputasi awan, sejak 2008 Google meluncurkan Google App Engine yang kemudian disusul oleh Microsoft dengan Windows Azure.
2.1.1.2.
Definisi Komputasi Awan Menurut Rewatkar dan Lanjewar (2010:28), komputasi awan adalah metode baru untuk menambah kemampuan-kemampuan pada komputer
tanpa
perlu
menambahkan
perangkat
lunak
baru,
berinvestasi untuk perangkat keras baru atau infrastruktur, atau melatih personil baru. Aplikasi dibeli, dilisensikan, dan dijalankan melalui jaringan bukan pada komputer-komputer pengguna.
9 Komputasi awan dapat juga didefinisikan sebagai komputasi berbasis Internet dengan sumber daya bersama, perangkat lunak, dan informasi yang ada disediakan untuk komputer-komputer dan perangkat-perangkat lain sesuai permintaan (Park, 2012:297). Komputasi awan merupakan paradigma baru komputasi yang efisien dalam biaya dengan informasi dan daya dari komputer dapat diakses cukup melalui penjelajah web oleh pengguna (Xiong & Perros, 2009:693). Komputasi awan adalah akses ke komputer dan fungsinya melalui Internet atau jaringan area lokal. Pengguna dari komputasi awan meminta akses ini melalui satu set layanan web yang mengelola kelompok sumber daya komputasi (misalnya, mesin, jaringan, penyimpanan, sistem operasi, aplikasi untuk pengembangan, aplikasi perangkat lunak). Ketika akses diberikan, sedikit bagian dari sumber daya yang ada dalam kelompok sumber daya komputasi ditujukan kepada pengguna yang meminta akses hingga akses selesai (anonim1, 2012). Hal ini disebut “komputasi awan” karena pengguna tidak dapat benar-benar melihat atau menentukan lokasi fisik dan organisasi dari peralatan hosting yang sumber dayanya diizinkan untuk digunakan oleh mereka. Artinya, sumber daya diambil dari “awan” sumber daya ketika mereka diberikan kepada pengguna dan kembali ke awan ketika mereka dilepaskan atau selesai digunakan. Awan adalah kumpulan dari
10 mesin-mesin dan layanan-layanan web yang mengimplementasikan komputasi awan.
2.1.1.3.
Sistem Arsitektur Komputasi Awan Menurut Strickland (2008), sistem arsitektur komputasi awan dapat dibagi menjadi dua bagian, yakni front end dan back end. Keduanya saling terhubung satu sama lain melalui jaringan, biasanya melalui Internet. Front end merupakan sisi komputer pengguna atau dapat disebut sebagai client. Back end adalah bagian awan dari sistem komputasi awan. Front end termasuk komputer pengguna dan aplikasi yang diperlukan untuk mengakses sistem komputasi awan. Tidak semua sistem komputasi awan memiliki tampilan pengguna yang sama. Layanan seperti program email berbasis web memanfaatkan penjelajah web yang telah ada seperti Internet Explorer atau Firefox. Sistem lain memiliki aplikasi unik yang menyediakan akses jaringan kepada klien. Pada back end dari sistem terdapat beragam komputer, server, dan sistem penyimpanan data yang menciptakan awan dari layanan komputasi awan. Secara teori, sistem komputasi awan dapat mencakup hampir semua program komputer yang dapat Anda bayangkan, dari pengolah data hingga video games. Biasanya, setiap aplikasi akan memiliki server khususnya sendiri.
11 2.1.1.4.
Sifat Komputasi Awan Komputasi awan memiliki sifat-sifat sebagai berikut (P, 2011:14-15): 1.
Infrastruktur di-sharing, beberapa client bisa menggunakan berbagai platform teknologi dan bahkan satu instance aplikasi.
2.
Komputasi awan diakses saat diperlukan saja. Sehingga layanannya bervariasi dari segi pengguna, kapasitas, transaksi, atau kombinasinya.
3.
Layanan
diatur
skalanya,
tidak
ada
batas
untuk
perkembangannya. 4.
Jika ada biaya, biasanya berdasarkan konsumsi layanannya. Jadi bukan biaya tetap yang tidak berubah.
5.
Komputasi awan bisa diakses dari area manapun di dunia dengan menggunakan berbagai perangkat berbeda selama terkoneksi dengan Internet.
6.
Sangat cepat dikembangkan. Cepat berarti instan untuk diimplementasikan.
7.
Layanan ini menggunakan multitenant (memungkinkan banyak pelanggan dalam satu platform) dan mudah di-upgrade atau downgrade dengan cepat.
2.1.1.5.
Jenis-jenis Komputasi Awan Berdasarkan dari sifat jangkauan layanannya, komputasi awan terbagi menjadi beberapa bagian yaitu:
12 1.
Public Clouds Public clouds menyediakan akses ke sumber daya komputasi untuk masyarakat umum melalui Internet. Penyedia Public clouds memungkinkan pelanggan untuk melayani diri sendiri dengan sumber daya yang biasanya melalui antarmuka layanan web. Sewa akses pelanggan untuk sumber daya yang diperlukan di berdasarkan sebanyak apa layanan yang dipakai pengguna. Public clouds menawarkan akses ke sumber daya yang terukur secara sementara tanpa perlu penanaman modal di bidang infrastruktur data center (anonim2,2012).
2.
Private Clouds Private clouds memberikan pengguna untuk akses langsung ke sumber daya komputasi dengan infrastruktur organisasi. Penyediaan secara mendiri dari pengguna dan tingkat koleksi atas sumber daya yang diambil dari private cloud, biasanya melalui antarmuka layanan web, seperti halnya dengan public cloud. Namun, karena digunakan di dalam data yang ada organisasi pusat-dan di belakang firewall organisasi awan swasta tunduk pada tindakan fisik, elektronik, dan prosedural organisasi keamanan dan dengan demikian menawarkan tingkat keamanan yang lebih tinggi atas kode sensitif dan data. Selain itu, private cloud
mengkonsolidasikan
dan
mengoptimalkan
kinerja
hardware fisik melalui virtualisasi, dan dengan demikian dapat
13 secara nyata meningkatkan efisiensi data center sekaligus mengurangi biaya operasional (anonim3,2012). 3.
Hybrid Cloud Sebuah hybrid cloud menggabungkan sumber daya komputasi (misalnya, mesin, jaringan, penyimpanan, dll) yang diambil dari satu atau lebih public cloud dan satu atau lebih private cloud atas perintah penggunanya (anonim4, 2012).
2.1.1.6.
Keuntungan Komputasi Awan Beberapa keuntungan dari komputasi awan menurut P (2011:2226) adalah sebagai berikut: 1.
Biaya yang lebih murah Aplikasi komputasi awan dapat dijalankan
dengan
komputer yang memiliki harddisk yang kecil dan memori yang sedikit. Bahkan dengan komputer yang tak memiliki drive CD atau DVD sekalipun karena penyimpanan dilakukan pada penyimpanan awan. 2.
Performa yang lebih baik Performa komputasi awan akan ringan karena tidak menjalankan banyak aplikasi sehingga tidak akan membebani komputer.
3.
Biaya infrastruktur dan aplikasi yang lebih hemat Komputasi awan tidak menuntut pembaharuan perangkat keras dan aplikasi PC yang besar sehingga anggaran bisa
14 dihemat. Biaya pemeliharaan perangkat keras dan aplikasi-pun tidak perlu dilakukan terlalu sering karena aplikasi dijalankan di awan. Komputasi awan menawarkan aplikasi yang terjangkau tanpa perlu mengeluarkan banyak biaya bahkan gratis. Bila mana harga yang diperlukan terbilang cukup besar, jangan khawatir karena instalasi hanya dilakukan satu kali saja dan biaya pemeliharaan dan pembaharuan akan lebih hemat daripada aplikasi desktop. 4.
Kolaborasi yang lebih mudah Kemudahan untuk berbagi dokumen akan berkonsekuensi pada kemudahan berkolaborasi. Ini merupakan salah satu keunggulan utam komputasi awan dimana pengguna akan mudah untuk saling berkolaborasi pada satu dokumen atau proyek. Dengan komputasi awan, orang didaerah manapun dapat berkolaborasi dengan orang lain ditempat manapun dengan mudah asalkan terkoneksi dengan internet.
5.
Akses yang lebih mudah ke dokumen Pengguna tidak perlu khawatir bila dokumen yang diperlukan lupa dibawa. Dengan komputasi awan, dokumen pengguna akan mudah dibawa kemana-mana bahkan serasa tanpa membawa apapun.
15 2.1.1.7.
Kelemahan Komputasi Awan Beberapa keuntungan dari komputasi awan menurut P (2011:2628) adalah sebagai berikut: 1.
Memerlukan koneksi internet yang konstan Sangat jelas bahwa komputasi awan tidak akan mungkin diakses jika tidak memiliki koneksi internet. Tanpa internet, pengguna tidak dapat mengakses apapun termasuk dokumen pengguna.
2.
Tidak bisa dijalankan jika koneksi internet pelan Kecepatan internet juga perlu diperhatikan. Kecepatan yang pelan membuat komputasi awan sulit diterapkan dengan optimal. Dokumen yang berukuran besar akan sulit dibuka bahkan diedit karena koneksi yang pelan tersebut.
3.
Data yang disimpan belum tentu aman. Pada Komputasi Awan, semua data disimpan di awan. Namun sama halnya dengan komputer, data belum tentu aman di awan. Ancaman seperti kehilangan akses data ataupun data yang hilang bisa terjadi di awan sekalipun.
2.1.1.8.
Layanan Komputasi Awan Layanan komputasi awan merujuk pada “gaya layanan” yang diberikan awan tergantung pada bagian aplikasi yang disampaikan sebagai layanan. Layanan komputasi awan yang disediakan biasanya dikelompokan menjadi 3 kategori, yaitu (Waloeyo, 2012:15-19):
16 1.
Infrastructure as a service (IaaS) IaaS menawarkan pengguna akhir akses langsung ke pengolahan, penyimpanan, dan sumber daya komputasi lainnya melalui jaringan. Contoh dari IaaS mencakup Amazon Elastic Compute Cloud (EC2), Joyent, Rackspace, dan IBM Computing on Demand.
2.
Platform as a service (PaaS) PaaS menawarkan sistem operasi dan dapat menyediakan setiap tahap untuk pengembangan perangkat lunak dan pengujiannya serta paket bahasa pemograman yang pengguna dapat gunakan untuk mengembangkan aplikasi mereka sendiri. Contoh komersil mencakup Microsoft Windows Azure dan Google App Engine.
3.
Software as a service (SaaS) SaaS menawarkan aplikasi yang lengkap sesuai dengan permintaan. Perangkat lunak berjalan pada awan dan melayani beberapa pengguna akhir. Ini merupakan model penyebaran perangkat lunak dengan aplikasi berperan sebagai penyedia layanan
untuk
pelanggan
melalui
Internet.
Dengan
menghilangkan kebutuhan untuk memasang dan menjalankan aplikasi pada masing-masing komputer pelanggan, SaaS mengurangi beban pelanggan untuk pemeliharaan perangkat lunak, operasi yang sedang berlangsung, dan dukungan. Contoh
17 SaaS yang paling banyak digunakan mencakup Salesforce.com, Gmail, dan Google Docs.
2.1.1.9.
Sistem Penyimpanan Data Komputasi Awan Sistem penyimpanan data yang dianut oleh komputasi awan dinamakan dengan penyimpanan awan. Penyimpanan awan adalah media penyimpanan data yang dapat diakses oleh para pengguna melalui Internet. Penyimpanan awan memiliki model penyimpanan secara online, yaitu data yang disimpan pada alat penyimpanan virtual akan dikelola oleh pihak ketiga. Secara virtual yang mengelola data tersebut adalah pengguna yang menyimpanan data tersebut. Lalu dibalik layar data yang tersimpan pada server akan dirawat secara terus menerus, baik secara otomatis maupun manual agar data tetap aman dan utuh. Secara fisiknya, data akan disimpan pada beberapa server sekaligus (Waloeyo, 2012:11-12).
2.1.1.10. Kelebihan Penyimpanan Awan Adapun kelebihan penyimpanan awan (Waloeyo, 2012:13): 1.
Pengguna hanya membayar kapasitas penyimpanan yang benarbenar dipakai.
2.
Pengguna tidak perlu membeli banyak alat penyimpanan data dan menginstal berbagai aplikasi.
3.
Pemeliharaan ditanggung oleh penyedia.
18 2.1.1.11. Kekurangan Penyimpanan Awan Adapun kekurangan penyimpanan awan (Waloeyo, 2012:13-14): 1.
Keamanan perlu dijaga karena tidak menutup kemungkinan bisa dibuka oleh orang lain.
2.
Gangguan saat mengakses data karena server sedang down atau koneksi yang bermasalah.
3.
Koneksi Internet merupakan suatu keharusan.
2.1.2. OSI (Open System Interconnection) Model OSI dikembangkan oleh International Standard Organization sebagai langkah untuk menjadi standar internasional dalam mengembangkan protocol lainnya (Tanenbaum, 2003:37-41). OSI terdiri dari tujuh layer yang terpisah, tapi saling terhubung. OSI mendefinisikan karakteristik, prosedur dan bagaimana informasi berjalan melalui jaringan. Dalam arsitektur berlayer komunikasi antara dua layer yang berhubungan menggunakan paket data yang disebut Protocol Data Unit (PDU) (Stallings, 2007:33-35). Ketujuh layer OSI adalah: 1.
Physical Layer Lapisan pertama dalam model referensi jaringan OSI dari tujuh lapisan lainnya. Lapisan ini mendefinisikan antar muka dan mekanisme untuk meletakkan bit-bit data diatas media transmisi. Selain itu, lapisan ini juga mendefinisikan tegangan listrik, arus listrik, modulasi, sinkronisasi antar bit, pengaktifan koneksi dan pemutusannya dan beberapa karakteristik kelistrikan untuk
19 media transmisi. Selain itu, lapisan ini juga mendefinisikan cara kerja Network Interface Card (NIC) agar dapat berinteraksi dengan media kabel atau radio. 2.
Data Link Layer Data link layer bertujuan untuk membuat physical link menjadi link reliable dan menyediakan suatu cara untuk mengaktivasi, menjaga dan menonaktifkan suatu link. Service utama yang disediakan oleh layer data link terhadap layer diatasnya adalah suatu error detection dan control.
3.
Network Layer Network layer tersedia untuk transfer informasi antara end sistem pada suatu jaringan komunikasi. Pada layer ini sistem komputer berdialog dengan network untuk menjelaskan alamat tujuan dan untuk meminta beberapa fasilitas jaringan.
4.
Transport Layer Transport layer menyediakan suatu mekanisme untuk menukar data antara end sistem. Transport layer juga dapat digunakan untuk mengoptimalkan kegunaan dari service network dan menyediakan suatu kualitas permintaan dari layanan untuk entitas session.
5.
Session Layer Session layer mengatur dialog antar jaringan tugas lain yang spesifik adalah penyelarasan yang dilakuakan saat
20 pengiriman data. Layer ini juga mensinkronisasi dialog antara dua host layer presentation dan mengatur pertukaran data. 6.
Presentation Layer Lapisan ini bertugas untuk mengubah kode atau data yang dikirim oleh aplikasi pengirim menjadi format yang lebih universal. Dipenerima layer ini bertanggung jawab menformat kembali data ke data. Jika diperlukan pada layer ini dapat menterjemahkan beberapa data format yang berbeda, kompresi dan enkripsi.
7.
Application Layer Lapisan ini adalah layer paling dekat dengan user, layer ini menyediakan sebuah layanan jaringan kepada pengguna aplikasi. Layer ini berbeda dengan layer lainnya yang dapat menyediakan layanan kepada layer lain.
2.1.3. Jaringan Client-Server Menurut Syafrizal (2005:2), jaringan client-server adalah jaringan komputer dengan komputer yang didedikasikan khusus sebagai server. Dalam sistem ini, pengguna mendapatkan sebuah komputer dengan data yang disimpan pada satu atau lebih mesin file server yang dapat dipakai bersama-sama. Para pengguna biasa disebut client. Umumnya komunikasi pada model client-server berbentuk pesan permintaan untuk melaksanakan berbagai perkerjaan dari client kepada server. Setelah server melaksanakan tugasnya, kemudian hasilnya akan dikirim kembali ke client (Tanenbaum,
21 2003:4). Jaringan client-server juga dikenal dengan nama server-based network.
Gambar 2.1 Jaringan client-server Kelebihan-kelebihan yang dimiliki jaringan client-server adalah sebagai berikut: 1.
Kecepatan akses lebih tinggi karena penyediaan fasilitas jaringan dan pengelolaannya dilakukan secara khusus oleh satu komputer yang bertindak sebagai server yang tidak dibebani dengan tugas lain seperti sebagai workstation.
2.
Sistem keamanan dan administrasi jaringan lebih baik, karena terdapat sebuah komputer yang bertugas sebagai administrator jaringan.
3.
Sistem backup data lebih baik, karena pada jaringan client-server backup dilakukan terpusat di server, yang akan melakukan backup seluruh data yang terbangun dalam jaringan.
22 Kelemahan-kelemahan yang dimiliki jaringan client-server adalah sebagai berikut: 1.
Biaya operasional relatif lebih mahal.
2.
Diperlukan satu komputer khusus yang memiliki kemampuan lebih tinggi untuk ditugaskan sebagai server.
3.
Kelangsungan dan gangguan jaringan sangat tergantung pada server.
2.1.4. Metodologi Perancangan Program Proses pengembangan program yang akan digunakan pada aplikasi komputasi awan untuk penyimpanan data pada PT. Lintas Data Solusindo adalah menggunakan pendekatan waterfall. Pendekatan waterfall dimulai dengan menentukan apa yang harus diselesaikan atau permasalahan yang ada. Setelah persyaratan awal telah ditentukan, selanjutnya adalah menentukan
bagaimana
cara
menyelesaikannya.
Cara
untuk
menyelesaikannya harus diikuti dengan langkah selanjutnya, yakni melakukan cara penyelesaian masalah yang dalam hal ini merupakan coding. Lalu harus dilakukan uji coba hasil coding untuk menentukan apakah masalah yang ada telah terselesaikan. Akhirnya jika semua masalah telah selesai, hasil coding yang berupa program dapat digunakan (Bahrami, 1999:41-42). Pendekatan waterfall saja tidak cukup dalam perancagan program ini, diperlukan analisis berorientasi pada obyek (Object-Oriented Analysis) agar program nantinya dapat memenuhi kebutuhan pengguna secara lengkap.
23 Menurut Bahrami (1999:79-80), pada analisis berorientasi pada obyek terdapat langkah-langkah sebagai berikut: 1.
Menentukan para aktor.
2.
Mengembangkan model proses bisnis sederhana menggunakan diagram aktivitas UML.
3.
Mengembangkan Use Case.
4.
Mengembangkan diagram interaksi.
5.
Mengidentifikasi kelas-kelas.
2.1.5. UML (Unified Modeling Language) Mengacu pada Roff (2003:5), Unified Modeling Language merupakan sebuah bahasa. UML adalah bukan cara merancang sebuah sistem tetapi sebuah cara untuk memodelkan sebuah sistem. 2.1.5.1.
Use Case Diagram Menurut Roff (2003:12), use case diagram mengandung use case dan aktor yang mengilustrasikan hubungan antara keduanya. Use case diagram adalah titik awal dalam menganalisis ketika merancang sebuah perangkat lunak. Diciptakan oleh Ivar Jacobson, use case diagram adalah gabungan dari hubungan antara aktor dalam sistem dengan keseluruhan struktur sistem yang dapat digunakan untuk pengguna. Use case diagram terbagi dalam empat komponen (Roff, 2003:20), yakni: 1. Sistem
24 Sebuah sistem adalah dasar dari perangkat lunak yang menghasilkan
fungsi-fungsi
perangkat
lunak
kepada
pengguna. Dalam use case diagram, aktor dan use case adalah bagian dari sebuah sistem. Dalam merancang sebuah perangkat lunak, use case diagram adalah bagian terbesar dalam sebuah sistem. Pada use case diagram sebuah sistem dapat memiliki sebuah sub sistem di dalam keseluruhan sistem. 2. Aktor Dalam use case diagram aktor digunakan untuk menggambar pengguna yang menggunakan sistem. Sebuah aktor dapat menjadi seorang pengguna atau sistem lain. Aktor harus diberikan nama yang mendeskripsikan fungsi dari aktor tersebut dalam sistem.
User
Gambar 2.2 Aktor Gambar di atas adalah sebuah aktor dalam use case diagram yang diberi nama pengguna. Fungsi dari aktor tersebut adalah menjadi sebuah pengguna dalam sebuah sistem.
25 3. Use Cases Use cases adalah beberapa aksi atau kegiatan yang dilakukan aktor dalam sebuah sistem. Dengan memberikan aksi atau kegiatan use cases menjadi sebuah fungsi dalam sistem yang dibuat. Ada beberapa aturan dalam pembuatan sebuah use case dalam use case diagram, seperti penamaan sebuah use case yang merepresentasikan fungsi dari use case dan penamaan dari use case harus terdiri dari huruf, angka, dan beberapa tanda baca kecuali titik dua (:) yang digunakan untuk mengindikasikan sebuah package dalam use case.
menyimpan nilai
Gambar 2.3 Use case Package adalah sebuah bagian dari sistem yang berhubungan dengan use case secara fungsionalitasnya. Penamaan use case dengan package adalah dengan memberikan nama package diawal dan ditambah dua buah tanda titik dua lalu ditambahkan nama use case dalam package tersebut. penilaian:: menyimpan nilai
Gambar 2.4 Package
26 4. Relationship Relationship
atau
hubungan
dalam
use
case
digambarkan dengan garis yang berhubungan dengan aktor.
menyimpan nilai
Guru
Gambar 2.5 Hubungan Aktor dapat dihubungkan oleh beberapa use case dan use case dapat dihubungkan oleh beberapa aktor. 5. Include Relationship Include Relationship adalah hubungan antara base use case dengan included use case yang menggambarkan bagaimana behaviour yang didefinisikan pada included use case ditambahkan ke dalam behaviour pada base use case.
Gambar 2.6 Notasi Include Relationship 6. Extend Relationship Extend Relationship merupakan hubungan antara extending use case dengan included use case yang menggambarkan bagaimana behaviour pada extended use
27 case dapat dijalankan oleh base use case pada kondisi tertentu.
Gambar 2.7 Notasi Extend Relationship 7. Subsystems Pemodelan yang sangat banyak dan besar yang dapat dipecah menjadi beberapa bagian yang dapat dipelihara menggunakan sebuah subsystems.
Gambar 2.8 Subsystems Guru menggunakan subsystems Sistem Penilaian. Di dalam Sistem Penilaian terdapat kegiatan penilaian yang dilakukan oleh Guru, yaitu melihat, menyimpan, dan memperbarui nilai.
28 2.1.5.2.
Activity Diagram Mengacu pada pendapat Roff (2003:13), activity diagram digunakan untuk menganalisa kegiatan yang ada dalam use case dan menampilkan interaksi sistem dengan yang lainnya. Activity diagram juga memberikan penjelasan tentang sebuah sistem dan langkah kedepan dalam menganalisis sistem berdasarkan use case diagram. Sebuah activity diagram memberikan pembaca tentang eksekusi proses dari sebuah sistem. Dalam activity diagram terdapat beberapa komponen yang menggambarkan suat obyek, yaitu: 1.
Activities: Action States Cara
penulisan
sebuah
aktivitas
adalah
menggambarkan sebuah persegi panjang dengan bulat dikedua sisinya
Insert Username & Password
Gambar 2.9 Action States Activity mengindikasikan sebuah aksi sehingga perlu diberikan nama yang menggambarkan aksi yang terjadi dalam activity tersebut. 2.
States Sebuah state digambar seperti activity yaitu berupa persegi panjang dengan keempat sudutnya berbentuk seperti potongan seperempat lingkaran. Sebuah state
29 diidentifikasikan dengan sebuah kata atau frase yang mengindikasikan yang sedang terjadi dalam sistem. Dalam UML terdapat dua state khusus, yaitu start state dan end state.
Mulai Pencarian
Akhir Pencarian Gambar 2.10 Start State dan End State Start state digambar dengan lingkaran hitam, sedangkan end state digambarkan dengan sebuah lingkaran dengan lingkaran hitam di tengahnya. Setiap activity diagram hanya boleh memiliki satu start state tetapi boleh memiliki banyak end state. Tetapi menurut Roff (2003:68), jumlah end state lebih baik disesuaikan dengan kebutuhan, karena tujuan dari pembuatan activity diagram adalah untuk mempermudah pemgembang dalam analisis dan perancangan sistem. Kompleksitas perancangan sistem dapat digambarkan dengan jumlah end state dalam activity diagram. 3.
Transisi Transisi digunakan untuk menunjukkan kontrol aliran dari suatu state ke state lainnya. Transisi juga
30 menunjukkan aliran dari state ke activity, antara activity, dan antara state. Transisi digambarkan dengan tanda panah yang menunjukkan alirannya. Notasi untuk suatu transisi adalah panah terbuka yang menunjukkan arah aliran.
Gambar 2.11 Transisi 4.
Guards Sebuah guards dinotasikan pada transisi antara dua aktivitas atau states dan ditulis dalam tanda kurung tertutup.
Gambar 2.12 Guards Dalam contoh, aliran akan berjalan dari action state pertama ke action state kedua jika kondisi [guards1] benar, namun aliran akan berubah dari action state pertama ke action state kedua jika [guards2] benar.
31 5.
Decisions Points Dalam kegunaannya, decisions points hampir sama seperti guards secara umum, tetapi decision points membuat alur aliran menjadi lebih rapi khususnya ketika menggambar diagram yang cukup besar dengan banyak kondisi yang berbeda.
Gambar 2.13 Decision Point Pada decision points masih digunakan guards, tapi merupakan percabangan dari transitions ke decision point.
2.1.5.3.
Sequence Diagram Mengacu pada pendapat Roff (2003:13), sequence diagram digunakan untuk memperlihatkan interaksi antara aktor dan obyek
32 serta obyek yang lainnya. Pesan yang dikirim dari aktor ke obyek, obyek ke obyek, dan obyek ke aktor untuk memperlihatkan kontrol jaringan melalui sistem. Sequence diagram digunakan merealisasikan use case berdasarkan dokumentasi bagaimana use case dipecahkan dengan desain sistem yang ada. Sequence diagram dapat digunakan untuk menunjukkan setiap kemungkinan jalur melalui interaksi atau menunjukkan jalur tunggal melalui interaksi. Sequence diagram mempunyai dua komponen utama, yaitu active objects dan sistem hubungan antara active objects. Active objects adalah obyek yang mempunyai peran dalam sistem, dapat menjadi sebuah obyek maupun seorang aktor. 1.
Active Objects Obyek digambarkan dengan kotak yang didalamnya dituliskan nama obyek tersebut.
Gambar 2.14 Active Objects Garis panjang putus-putus pada obyek disebut dengan lifeline. Lifeline digunakan untuk menggambarkan apa saja yang sedang terjadi pada obyek dalam kronologis kejadian.
33 Dalam sequence diagram memungkinkan beberapa obyek yang saling berinteraksi dan membuat diagram dari beberapa obyek tersebut untuk memulai sebuah sequence diagram.
Gambar 2.15 Beberapa Active Objects Obyek digambar dari kiri ke kanan, masing-masing mempunya
lifeline.
Pemodelan
sequence
diagram
sebaiknya digambar secara landscape mode dibanding menggambarnya
dengan
portrait
mode,
sehingga
mempunyai cakup ruang untuk menggambar diagram. 2.
Message Message
atau
pesan
digunakan
untuk
menggambarkan komunikasi antara active objects yang berbeda dari sebuah sequence diagram. Pesan digunakan jika obyek perlu untuk keluar dari obyek yang berbeda atau jika obyek perlu untuk memberikan informasi ke obyek yang lain.
34
Gambar 2.16 Pesan Pesan digambarkan sebagai anak panah yang menghubungkan
lifeline
dari
active
objects
yang
memanggil menuju ke active objects penerima. Aktor juga dapat berperan dalam sequence diagram. Aktor dapat memanggil obyek dan obyek dapat memberitahu aktor.
2.1.5.4.
Class Diagram Menurut Roff (2003:118), class diagram adalah diagram statis yang terdiri dari bagian-bagian yang membentuk sistem atau subsistem. Class diagram sangat penting pada pembuatan suatu sistem yang bersifat object-oriented. Class diagram terdiri dari attributes dan operations yang menghasilkan suatu keadaan (state) atau menyediakan fungsi. Class diagram digunakan untuk menunjukkan detail lebih
35 lanjut mengenai sistem. Notasi-notasi yang terdapat dalam class diagram adalah: 1.
Class Class adalah representasi atau gambaran dari sekumpulan obyek, misalnya sebuah mobil, sebuah tiket, atau sebuah sistem. Sebuah class harus meng-enkapsulasi informasi dan fungsi yang hanya pentin untuk class tersebut dan dalam konteks sistem tempat class tersebut berada. ClassName -attribute1 -attribute2 -attribute3 +operation1() +operation2() +operation3() Gambar 2.17 Class Gambar di atas adalah sebuah notasi dari class. Class digambarkan dengan sebuah kotak yang terbagi menjadi tiga bagian. Bagian pertama adalah nama dari class. Bagian kedua adalah atribut-atribut (data) dari class tersebut dan bagian ketiga adalah operations atau fungsi yang dimiliki oleh class tersebut. Pada suatu class terdapat tanda plus (+) dan minus (-) yang menggambarkan visibility dari atribut dan operation yang terdapat pada sebuah class. Visibility sebuah fitur menjelaskan dapat
36 digunakannya sebuah class oleh class lain. Tanda plus (+) menunjukkan nilai visibility Public yang berarti class diluar class dengan visibility ini dapat menggunakan fiturfiturnya. Tanda minus (-) menunjukkan nilai visibility Private yang berarti hanya class ini sendiri yang dapat menggunakan fitur-fiturnya. Selain itu terdapat nilai visibility Protected yang berarti semua turunan dari class tersebut dapat menggunakan fitur-fiturnya. Simbol yang digunakan sebagai nilai visibility Protected adalah simbol pagar (#). 2.
Relationship Sebuah class dapat memiliki relationship atau hubungan dengan class lainnya dan digambarkan dengan sebuah garis yang di atasnya terdapat nama dari hubungan class tersebut.
Mengajar >
Guru
Kelas
Gambar 2.18 Contoh hubungan antar Class Gambar 2.18 menerangkan bahwa Guru mengajar sebuah Kelas atau Kelas diajar oleh seorang Guru. 3.
Multiplicity Multiplicity
adalah
sebuah
spesifikasi
tentang
kardinalitas yang memungkinkan untuk dimiliki oleh sebuah obyek. Sebuah multiplicity dapat berisi exactly one
37 (1), optional / zero or one (0…1), many / zero or more (0…*), one or more (1…*), an exact number (n) ataupun numerically specified (m…n). Mengajar >
Guru
Kelas 1…*
1
Gambar 2.19 Contoh Multiplictity Gambar 2.19 merupakan contoh multiplictity antara Guru dan Kelas. Seorang Guru dapat mengajar satu hingga banyak Kelas sedangkan sebuah Kelas hanya dapat diajar oleh seorang Guru. 4.
Role Pada sebuah hubungan antara class, role berguna untuk menjelaskan peran dari suatu class terhadap class yang lain. Instructor 1
1…*
Guru
Kelas
0…1
1…*
Assistant Gambar 2.20 Contoh Role Sebagai contoh, Teacher memiliki dua buah peran (role) yaitu sebagai instructor dan juga sebagai assistant untuk sebuah Class.
38 5.
Atribut Atribut
merupakan
properti
dari
class
yang
merepresentasikan tipe data yang dimiliki oleh instance suatu class. 6.
Operasi Operasi merupakan kegiatan-kegiatan yang akan dilakukan oleh suatu class.
7.
Aggregation Aggregation
digunakan
untuk
menggambarkan
hubungan whole-part antara dua class yang salah satu class dianggap sebagai keseluruhan (whole) dan terdiri dari satu atau lebih class yang menjadi bagiannya (part). Pada aggregation, class yang menjadi bagian (part) dapat berdiri sendiri tanpa adanya class yang menjadi obyek keseluruhan (whole). Namun jika class bagian (part) tersebut digabungkan, maka akan membentuk sebuah whole class. Aggregation dapat digambarkan sebagai berikut:
39
Gambar 2.21 Contoh Aggregation Pada gambar 2.21 diilustrasikan bahwa class Computer terdiri dari CPU, Display, Keyboard, Mouse, dan Speaker. Class CPU, selain menjadi bagian dari class Computer, juga merupakan sebuah class yang terdiri dari class Fan dan Memory. 8.
Composition Composition
adalah
strong
aggregation.
Pada
composition, class yang menjadi bagian (part) tidak dapat berdiri sendiri tanpa class keseluruhan (whole). Jadi mereka terkait kuat antara satu sama lainnya.
Gambar 2.22 Contoh Composition
40 Pada gambar 2.22, Table dan Query adalah bagian dari Database. Query dan Table tidak dapat berdiri sendiri tanpa adanya basis data. 9.
Generalization Generalization
merupakan
sebuah
hubungan
spesialisasi / generalisasi dalam model-model UML, dimana object-object dari elemen yang dispesialisasikan (child) dapat digantikan dengan obyek dari elemen yang digeneralisasikan
(parent).
Dalam
penerapannya,
generalization merupakan konsep inheritance dan dapat dikembangkan menjadi konsep polymorphism.
Gambar 2.23 Generalization 10.
Navigasi Navigasi
umumnya
mempunyai
hubungan
bidirectional yang dapat diketahui dari hubungan satu class ke class yang lain dan kembali melalui beberapa atribut yang dapat dilihat oleh pengguna pada hubungan kedua class. Navigasi ditandai dengan anak panah terbuka menunjuk pada class yang sedang diakses.
41
Gambar 2.24 Biderectional Pada contoh di atas, class Baris mempunyai hubungan bidirectional dengan class Tabel. Class Tabel mempunya atribut public, yaitu Baris, yang memungkinkan navigasi ke masing-masing obyek pada class Baris. Class Baris mempunya atribut private, yaitu Tabel, yang memungkinkan class Baris untuk melakukan navigasi kembali
ke
class
Tabel
gabungan.
Class
Tabel
menggunakan atribut hak akses yang bersifat private untuk berhubungan dengan Pengguna. Hal yang sama juga berlaku untuk navigasi dari class Tabel menuju class TipeData. Navigasi juga dapat terjadi undirectional, satu class dapat mengenali tentang hubungan class lain, namun class lainnya tidak dapat belaku sebaliknya. Navigasi digambarkan dengan anak panah terbuka menunjuk class
42 yang dapat dikenali dan hanya class yang dikenal yang mempunyai multiplicity.
Gambar 2.25 Undirectional Pada contoh, class Pelanggan mengetahui tentang jumlah barang yang dibeli, tapi class Produk tidak mengetahui sama sekali tentang class Pelanggan.
2.1.6. Basisdata Menurut Connolly (2010:65), basisdata adalah sekumpulan data logikal yang berelasi beserta deskripsinya yang didesain untuk memenuhi kebutuhan informasi tersebut. Menurut Date (2004:11), basisdata adalah kumpulan data untuk memuat informasi yang relevan dengan perusahaan. Dengan demikian definisi basisdata adalah sekumpulan data logical yang berelasi beserta deskripsinya yang didesain untuk memenuhi kebutuhan informasi dan memuat informasi yang relevan dengan perusahaan.
2.1.7. Page Speed Page Speed mengevaluasi kinerja dari sudut pandang klien, biasanya diukur sebagai waktu buka halaman. Rentang nilai hasil evaluasi Page Speed adalah 0 hingga 100 poin, semakin mendekati 100 berarti semakin baik.
43 Page Speed juga menggunakan skor yang diwakili dengan kode warna. Penjelasan mengenai kode warna yang ada: Tabel 2.1 Kode Warna pada Page Speed Kode warna
Arti Terdapat masalah
Penjelasan Komponen yang ada perlu diperbaiki.
Bekerja dengan baik
Komponen yang ada sudah bekerja dengan baik.
Pesan Informasi
Terdapat
salah
satu
masalah,
yakni
ada
masalah
dalam
menjalankan
tes
atau
komponen yang ada tidak cocok
pada
halaman
tersebut.
Kode warna pada Page Speed memiliki tingkat kepentingan yang lebih tinggi dan harus selalu diperhatikan agar semua komponen memiliki warna hijau (anonim5, 2012).
2.1.8. Yslow YSlow menganalisa halaman web dan menyarankan cara-cara untuk meningkatkan kinerja halaman web tersebut berdasarkan seperangkat aturan
44 guna menghasilkan halaman web dengan kinerja yang tinggi. Peringkat hasil Yslow diukur dengan skala A-F. Untuk peringkat A, rentang skornya adalah 90–100. Peringkat B dengan rentang skor 80-89. Peringkat C memiliki rentang 70-79. Peringkat D dengan rentang skor 60-69. Peringkat E memiliki rentang 50-59. Sementara peringkat F memiliki rentang skor 0-49. Halaman web dikatakan bagus apabila memiliki nilai 80 (B) atau lebih. Semakin banyak nilai A, semakin bagus sebuah halaman web. Jika ada komponen yang bernilai F, perlu dilakukan optimasi pada komponen tersebut (anonim6, 2012).
2.2. Teori-Teori Khusus Berikut merupakan teori-teori khusus yang digunakan dalam penelitian:
2.2.1. Teknik Penyimpanan Data Menurut Dass (2013:88-92), terdapat tiga jenis teknik penyimpanan data yakni penyimpanan magnetik, penyimpanan semikonduktor, dan penyimpanan optik. Penyimpanan magnetik digunakan pada cakram keras mekanik untuk meyimpan informasi yang permanen. Jenis-jenis penyimpanan magnetik adalah pita magnetik, magnetic disc, magnetic twistor memory, dan magnetic bubble memory. Penyimpanan semikonduktor telah mengalami perubahan secara cepat karena perkembangan yang cepat dalam semiconductor wafer processing dan kemajuan yang terkait dalam pengemasan perangkat. Jenis-jenis
45 penyimpanan semikonduktor adalah ROM (read only memory), RAM (random access memory), “static” and “dynamic” read/write memories, dan “Non volatile” and “volatile” memories. Penyimpanan optik merupakan bentuk lain dari penyimpanan data selain penyimpanan magnetik dan penyimpanan semikonduktor. Jenis-jenis penyimpanan optik adalah pita optik, optical jukebox, hologram data storage, dan 3D optical memory.
2.2.2. Keamanan Data Keamanan data adalah praktek menjaga data dilindungi dari akses yang tidak dikehendaki dan data yang korup. Fokus dibalik keamanan data adalah untuk memastikan privasi sekaligus melindungi data pribadi atau data perusahaan (Teotia et.al, 2012:234). Keamanan data, khususnya pada sistem komputer terdistribusi, terdapat empat komponen yakni otentifikasi, otorisasi, enkripsi, dan kontrol akses. Otentifikasi biasanya direalisasikan dengan penggunakan “smart token” yang umumnya merupakan perangkat seukuran kartu kredit yang menciptakan password dan transfer ke server otentifikasi yang dihubungkan ke jaringan. Otorisasi bertujuan untuk memberikan sebuah satu titik akses aman yang memungkinkan pengguna untuk terhubung ke dalam jaringan dan memungkinkan pengguna untuk mengakses sumber daya yang ada. Otorisasi diperiksa melalui server perangkat lunak. Enkripsi diimplementasikan dengan menggunakan algoritma yang telah ada, misal RSA, PGP, dan DES.
46 Akses kontrol menentukan otoritasi untuk mengakses sumber daya bagi para pengguna (Teotia et.al, 2012:235).
2.2.3. Teknik Implementasi Memilih suatu strategi implementasi sistem informasi merupakan suatu tantangan tersendiri untuk pihak manajemen. Tapi terdapat dua dimensi pilihan yang dapat dijadikan pedoman dalam menentukan strategi implementasi yang cocok untuk diterapkan pada sebuah organisasi atau perusahaan. Dimensi tersebut adalah: 1.
Dilihat berdasarkan ruang lingkup pelaksanaan proyek secara geografis. Yaitu dengan strategi pilot project dan full blown. Pilot project adalah strategi melakukan implementasi sistem informasi dengan cara memilih sebuah lokasi atau area dimana fungsi-fungsi sistem informasi yang ingin diimplementasikan secara lengkap terdapat pada daerah atau area tersebut. Sedangkan full blown adalah kebalikannya, dimana pada strategi ini sistem informasi secara serempak di implementasikan diseluruh wilayah operasi perusahaan yang bersangkutan.
2.
Dilihat berdasarkan sudut pandang perubahan atau peralihan (migrasi) dari sistem informasi yang lama ke yang baru. Yaitu dengan pendekatan cut-off dan pararel. Pendekatan
cut-off
merupakan
cara
yang
populer
digunakan oleh perusahaan-perusahaan di Amerika Serikat.
47 Dalam pendekatan ini, perusahaan menetukan satu tanggal dalam kalender, dan terhitung mulai dari tanggal tersebut sistem
baru
secara
serempak
diterapkan
didalam
perusahaan. Dan pendekatan kedua adalah dengan pararel, yang mempunyai sifat berlawanan dari pendekatan cut-off. Dimana sistem informasi yang baru secara bersamaan diperkenalkan dan diterapkan dengan sistem informasi yang lama. Dari dua dimensi diatas, manajemen perusahaan dapat menentukan strategi mana yang cocok untuk diterapkan. Karena setiap perusahaan unik, maka pendekatan-pendekatan tersebut tidak ada yang bernilai pasti pada prakteknya.
Setiap pendekatan tersebut mempunyai kelebihan dan
kekurangan untuk setiap aspek yang dimiliki masing-masing strategi, seperti faktor finansial, resiko, waktu, dan sumber daya manusia (Pratama et.al, 2008:14-16).