BAB 2 TINJAUAN PUSTAKA 2.1 Software Engineering 2.1.1 Definisi Menurut Sommerville dalam bukunya yang berjudul “Software Engineering 9th Edition [2011:7]”, Software engineering adalah disiplin teknik yang berkaitan dengan semua aspek produksi perangkat lunak dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah sistem itu digunakan. Menurut Pressman dalam bukunya “Software Engineering A Pracitioner's Approach 7th Edition (2010:39)”, Waterfall Model, kadangkadang disebut klasik life cycle, menunjukkan sebuah sistematika yang berurutan untuk pengembangan perangkat lunak yang diawali dengan spesifikasi persyaratan yang dibutuhkan oleh customer dan kemajuan melalui perencanaan, pemodelan, konstruksi, dan penyebaran, yang berpuncak pada dukungan yang berkelanjutan dari perangkat lunak yang telah selesai (lihat gambar 2.1). Tahapan Waterfall Model : 1 Communication Pada tahap ini akan dilakukan analisa masalah yang ada dan tujuan yang harus dicapai. Selain itu dilakukan juga requirements gathering, dimana user akan diberikan kuisioner yang hasilnya akan dijadikan sebagai requirement. 2 Planning Pada tahap ini akan dilakukan estimasi mengenai kebutuhan apa saja yang diperlukan untuk membuat sistem. Selain itu, membuat jadwal proses pengerjaan. 6 7 3. Modeling Tahap ini perancang menerjemahkan kebutuhan sistem kedalam representasi untuk menilai kualitas sebelum berlanjut ke tahapan selanjutnya. Tahapan ini lebih difokuskan pada atribut program, seperti struktur data, arsitektur perangkat lunak, dan detail prosedur. 4. Construction Tahap ini merupakan tahap dimana coding dimulai. Setelah itu dilakukan pengetesan / pengujian terhadap sistem yang sudah dibuat. 5. Deployment Pada tahapan ini dilakukan pengiriman yang artinya program yang telah selesai di sebar kepada masyarakat luas. Di tahap ini juga dilakukan pemeliharaan, perbaikan, dan pengembangan agar sistem tersebut tetap dapat berjalan secara optimal. Urutan proses lebih jelasnya dapat dilihat pada gambar 2.1. Gambar 2.1 Tahapan Waterfall Model 8 2.2 Database Menurut Connoly & Begg (2005: 15), database merupakan suatu koleksi dari data yang memiliki relasi atau hubungan. Database didesain untuk memenuhi informasi yang dibutuhkan oleh suatu organisasi. 2.2.1 Database Management System (DBMS) Menurut Conolly & Begg (2005: 16), DBMS merupakan sistem software yang dapat memungkinkan user untuk mendefinisikan, membuat, memelihara dan mengontrol akses terhadap database. DBMS menyediakan fasilitas-fasilitas berikut ini : 1) Data Definition Language (DDL) Memungkinkan user untuk menspesifikasi tipe data, struktur dan constraint data yang akan disimpan ke dalam database. 2) Data Manipulation Language (DML) Memungkinkan user untuk insert, update, delete dan menerima data dari database. Menggunakan suatu query language. Query language yang paling umum digunakan yaitu Structured Query Language (SQL). 3) Menyediakan akses kontrol terhadap database. Misalnya : 1. Sistem Keamanan Mencegah user yang tidak diberi kuasa untuk mengakses database. 2. Integritas Sistem Memelihara konsistensi data yang disimpan. 3. Sistem Kontrol Persetujuan Memungkinkan shared access database. Menurut Indrajani (2008: 12), komponen-komponen DBMS dibedakan menjadi 5 yaitu (lihat gambar 2.2) : 1) Perangkat Keras (Hardware), Contoh : Personal Computer (PC), notebook, jaringan komputer dan lain-lain. 9 2) Perangkat Lunak (Software). Contoh : a) Software untuk sistem operasi komputer (Windows XP, Unix, Linux dan lain-lain). b) Software untuk database (Microsoft SQL 2005, Microsoft SqlServer, Oracle, MySQL, dan lain-lain). c) Software untuk pemrograman (Java.Net 2005, Visual Basic, C, C++ dan lain-lain). 3) Data Merupakan komponen terpenting karena data merupakan penghubung antara komputer dengan manusia. 4) Prosedur / Procedurs Merupakan instruksi dan aturan yang menentukan perancangan dan penggunaan database dimana user sistem dan pengelola database memerlukan dokumentasi ini untuk menjalankan dan menggunakan sistem. 5) Orang / People a) Administrator : 1. Data Administrator (DA) Bertanggung jawab untuk manajemen sumber daya data yang mencakup perancanaan database, pengembangan, standar pemeliharaan, kebijakan, prosedur dan desain database secara konseptual. 2. Database Administration (DBA) Bertanggung jawab untuk realisasi fisik database yang mencakup desain fisik database, implementasi, keamanan, integritas pengendalian, backup dan restore, pemeliharaan sistem operasional dan memastikan dapat dipakai dengan baik. b) Desainer : 1. Desainer database logika Mengidentifikasikan data antara lain entity dan atribut, dan memahami proses bisnisnya. 2. Desainer database fisik 10 Merealisasikan desain database, misalnya memetakan desain database logika ke dalam tabel, pemilihan metode akses agar kinerjanya baik dan merancang beberapa ukuran keamanan yang diperlukan oleh data. c) Application developer atau programmer Mengembangkan program-program aplikasi yang diperlukan dalam manajemen database. d) End User Semua orang yang terlibat langsung dalam penggunaan database. Misalnya, pemilik sistem (enterprise), manager, supervisor, operator pelanggan dan sebagainya. Gambar 2.2 Lingkungan DBMS 2.3 Internet Mengacu pada pendapat Ramadhan (2005:1), Internet adalah singkatan dari Interconnected Network. Internet merupakan sebuah sistem komunikasi yang mampu menghubungkan jaringan-jaringan koputer diseluruh dunia. Berbagai jenis komputer dengan spesifikasi yang berbeda - beda dapat saling berkomunikasi melalui internet. Beberapa bentuk jaringan yang berbeda - beda dapat saling bertukar informasi dan data melalui internet menggunkan seperangkat aturan yang disebut protokol TCP/IP. 2.4 Web Application Dari sudut pandang teknis, web adalah lingkungan yang sangat diprogram yang memungkinkan kustomisasi massal melalui penyebaran langsung dari berbagai macam dan beragam aplikasi, untuk jutaan pengguna global. Dua komponen penting dari sebuah situs web modern adalah browser 11 web yang fleksibel dan aplikasi web, keduanya tersedia untuk segala-galanya tidak ada biaya (http://www.acunetix.com/websitesecurity/web-applications/). 2.4.1 Sistem Arsitektur Sistem Arsitektur adalah disiplin generik untuk menangani objek (yang ada atau yang akan dibuat) disebut "sistem", dengan cara yang mendukung penalaran tentang sifat struktur benda tersebut (http://www.lix.polytechnique.fr/~golden/systems_architecture.html). Sistem Arsitektur adalah respon terhadap kesulitan konseptual dan praktis dari deskripsi dan desain sistem yang kompleks (http://www.lix.polytechnique.fr/~golden/systems_architecture.html). 2.4.2 Perangkat Lunak Perangkat lunak adalah istilah umum untuk koleksi terorganisir data komputer dan instruksi, sering dibagi menjadi dua kategori utama: perangkat lunak sistem yang menyediakan fungsi dasar non-spesifik tugas komputer, dan perangkat lunak aplikasi yang digunakan oleh pengguna untuk menyelesaikan tugas tertentu (http://www.openprojects.org/software-definition.htm). 2.4.2.1 Language 2.4.2.1.1 HTML Menurut Harris(2011:11-12), HTML adalah singkatan dari Hyper Text Markup Language. HTML adalah bahasa yang digunakan untuk mendeskripsikan struktur dari sebuah halaman web. Sebuah halaman web terdiri dari HTML Markup Tags dan teks biasa. HTML Markup Tags adalah kumpulan teks special yang dikelilingi oleh kurung siku (<>). HTML Tags tidak akan ditampilkan di halaman web karena HTML Tags hanya berisi perintah kepada browser. HTML Tags biasanya ada sepasang, yang diawal 12 berfungsi sebagai tags pembuka dan yang diakhir berfungsi sebagai tags penutup, contohnya <body> dan </body>. Pada contoh tersebut yang berfungsi sebagai tags pembuka adalah <body>, sedangkan yang berfungsi sebagai tags penutup adalah </body>. Tags penutup dapat dengan mudah dibedakan karena ada tanda miringnya (/). 2.4.2.1.2 CSS Menurut Harris(2011:11), CSS adalah singkatan dari Cascading Style Sheets. CSS adalah sebuah bahasa yang berfungsi untuk mengatur tampilan dari elemen-elemen yang ada di dalam satu atau lebih halaman web. Ada tiga cara untuk menyisipkan CSS ke dalam sebuah dokumen HTML atau halaman web, yaitu dengan External Style, Page level style dan Local Style External Style idealnya digunakan saat kita ingin merubah tampilan pada banyak halaman web. Dengan External Style, kita bisa merubah seluruh tampilan website hanya dengan menambah, menghapus, atau merubah isi dari sebuah File saja. File tersebut harus disimpan dengan ekstensi .css. Untuk menggunakan External Style, kita harus menggunakan tags <link> yang disisipkan pada bagian head di halaman web kita. 2.4.2.1.3 SQL Menurut Harris(2011:637-638), SQL adalah singkatan dari Structured Query Language. SQL adalah bahasa baku yang digunakan untuk mengakses dan memanipulasi data yang terdapat di dalam database. Dengan SQL kita bisa menambah, merubah, dan menghapus data yang terdapat di dalam database. SQL juga memungkinkan kita untuk membuat database baru dan menghapus database yang 13 sudah ada. Umumnya SQL terdiri dari 3 komponen utama, yaitu Data Defenition Language (DDL), Data Query Language (DQL) dan Data Manipulation Language (DML) Data Defenition Language (DDL) dalah bagian dari bahasa SQL yang membantu kita untuk membuat dan memelihara database. Selain itu DDL juga bisa untuk membangun database dan memasukkan data ke dalam database. Ada 3 perintah umum yang digunakan dalam DDL, yaitu CREATE, DROP, dan ALTER. CREATE berfungsi untuk membuat tabel dan database. Contoh penggunaan CREATE pada database: CREATE DATABASE Pegawai; CREATE TABLE Info_Pegawai{ ALTER TABLE Info_Pegawai CHANGE Jenis_Kelamin Sex VARCHAR(1); ALTER TABLE Info_Pegawai ADD alamat VARCHAR(50); ALTER TABLE Info_Pegawai ADD tempat_lahir VARCHAR(50) AFTER alamat; ALTER TABLE Info_Pegawai DROP alamat; Data Query Language (DQL) adalah bagian dari bahasa SQL yang membantu kita untuk menarik keluar 14 data yang ada di dalam database dan menampilkannya agar bisa dibaca oleh pengguna di halaman web. Perintah umum yang digunakan dalam DQL adalah SELECT. Contoh penggunaan SELECT pada database : SELECT * FROM Info_Pegawai; SELECT * FROM Info_Pegawai WHERE Nama = ‘Adi Pratama’; Data Manipulation Language (DML) Adalah bagian dari bahasa SQL yang membantu kita untuk memanipulasi data yang ada di dalam database (menambah, merubah, dan menghapus data). Ada 3 perintah umum yang digunakan dalam DML, yaitu INSERT, UPDATE, dan DELETE. INSERT berfungsi untuk memasukkan data ke dalam sebuah tabel. Contoh penggunaan INSERT pada database : INSERT INTO Info_Pegawai VALUES (‘1’, ‘Adi Pratama’, ‘12345’, ‘P’, ‘Jakarta’, ‘Surabaya’); UPDATE berfungsi untuk merubah data yang ada di dalam sebuah tabel. Contoh penggunaan UPDATE pada database : UPDATE Info_Pegawai SET Nama = ‘Adi Pratama’ 15 WHERE Nip = ‘1’; DELETE berfungsi untuk menghapus data yang ada di dalam sebuah tabel. Contoh penggunaan DELETE pada database : DELETE FROM Info_Pegawai WHERE Nip = ‘1’; 2.4.2.1.4 PHP PHP seperti yang dikenal saat ini sebenarnya adalah penerus produk bernama PHP / FI . Dibuat pada tahun 1994 oleh Rasmus Lerdorf, inkarnasi pertama dari PHP adalah satu set sederhana Common Gateway Interface (CGI) binari yang ditulis dalam bahasa pemrograman C. Awalnya digunakan untuk melacak kunjungan ke resume online, ia bernama suite script "Personal Home Page Tools, "lebih sering dirujuk sebagai" PHP Tools". Seiring waktu, lebih banyak fungsi yang diinginkan, dan Rasmus menulis ulang PHP Tools, menghasilkan implementasi yang jauh lebih besar dan lebih kaya. Model baru ini mampu berinteraksi dengan database dan banyak lagi, memberikan kerangka di mana pengguna dapat mengembangkan aplikasi web dinamis sederhana seperti guest book. Pada bulan Juni 1995, Rasmus merilis kode sumber untuk PHP Tools untuk masyarakat, yang memungkinkan pengembang untuk menggunakannya dengan yang mereka lihat cocok. Hal ini juga diizinkan dan mendorong pengguna untuk memberikan perbaikan pada bug dalam kode, dan secara umum meningkatkan kinerjanya (http://www.php.net/manual/en/history.php.php). 16 2.4.2.1.4 Codeigniter CodeIgniter adalah sebuah Application Development Framework - toolkit - bagi orang-orang yang membangun situs web menggunakan PHP. Tujuannya adalah untuk memungkinkan untuk mengembangkan proyek-proyek jauh lebih cepat dari yang bisa dibandingkan sedang menulis kode dari awal, dengan menyediakan satu set perpustakaan yang kaya untuk tugas-tugas yang biasa diperlukan, serta antarmuka yang sederhana dan struktur logis untuk mengakses perpustakaan tersebut. Codeigniter memungkinkan untuk fokus pada proyek yang ada dengan meminimalkan jumlah kode yang dibutuhkan untuk tugas yang diberikan (http://www.phpframeworks.com/php- frameworks/index.php?id=9). Tak lama setelah pemrograman ditemukan , seseorang melihat bahwa pemrograman itu melibatkan banyak operasi berulang-ulang . Dan tak lama setelah itu, seseorang bernama Alan Turing di Bletchley Park memutuskan untuk memodularisasi kode, sehingga hanya harus menulis potongan tertentu sekali, dan setelah itu dapat digunakan kembali. Program PHP digunakan untuk menulis potongan yang terpisah dari kode dalam fungsi, dan kemudian menyimpan fungsi-fungsi tersebut di dalam file. Pada satu tingkat, sebuah framework hanya : potongan – potongan kode, disimpan dalam file terpisah, yang menyederhanakan coding yang operasinya berulang (Upton, 2007: 12). 2.4.2.1.5 Sistem Operasi Sebuah sistem operasi (kadang-kadang disingkat "OS") adalah program yang, setelah awalnya dimuat ke komputer dengan program boot, mengelola semua program lain di 17 komputer. Program lainnya disebut aplikasi atau program aplikasi. Program aplikasi menggunakan sistem operasi dengan membuat permintaan untuk layanan melalui antarmuka program aplikasi didefinisikan (API). Selain itu, pengguna dapat berinteraksi secara langsung dengan sistem operasi melalui antarmuka pengguna seperti bahasa perintah atau antarmuka pengguna grafis (GUI)(http://searchciomidmarket.techtarget.com/definition /operating-system). 2.4.2.2 Platforms Hampir setiap aplikasi saat ini bergantung pada perangkat lunak lain: sistem operasi, perangkat lunak manajemen database, bahkan perangkat lunak yang berjalan di awan publik. Apapun yang dilakukan dan di mana pun itu berjalan, semua perangkat lunak ini bersama-sama terdiri dari platform aplikasi (Chappell, 2011:2). Dalam komputer, platform adalah sistem komputer yang mendasari program aplikasi dapat berjalan. Pada komputer pribadi, Windows 2000 dan Mac OS X adalah contoh dua platform yang berbeda. Pada server perusahaan atau mainframe, IBM S/390 adalah contoh dari platform (http://searchservervirtualization.techtarget.com/definition/plat form). 2.4.2.3 Software 2.4.2.3.1 Notepad++ Notepad++ adalah source code editor gratis dan Notepad++ mendukung beberapa bahasa pemrograman. 18 Berjalan di lingkungan MS Windows, penggunaannya diatur oleh GPL License. Berdasarkan pada komponen editor yang kuat Scintilla, Notepad++ ditulis dalam C++ dan murni menggunakan Win32 API dan STL yang menjamin kecepatan eksekusi lebih tinggi dan ukuran program yang lebih kecil. Dengan mengoptimalkan sebagai rutinitas sebanyak mungkin tanpa kehilangan keramahan pengguna, Notepad++ berusaha untuk mengurangi emisi karbon dioksida dunia. Bila menggunakan daya CPU yang sedikit, PC dapat bekerja lebih ringan dan mengurangi konsumsi daya, sehingg menghasilkan lingkungan yang lebih hijau. (http://notepadplus-plus.org/) 2.4.2.3.2 Microsoft Visio Menurut Helmers dalam bukunya yang berjudul “Microsoft Visio 2013 Step by Step [2013:3]”, Microsoft Visio adalah aplikasi utama untuk membuat semua diagram bisnis, mulai dari flowchart, network diagram, dan organization charts, untuk membuat denah dan brainstorming diagram. Microsoft 2013 melanjutkan kegunaan dari kebiasaan user interface, atau dikenal sebagai keterkaitan, hal itu telah diperkenalkan pada Visio 2010. Terlepas dari apa yang mungkin terpikirkan dari hubungannya dengan aplikasi Microsoft Office lainnya, dengan Visio rasanya seperti di rumah, terutama karena tujuan dari keterkaitan user interface gaya presentasi visual dari kelompok yang terkait fungsi, dan Visio termasuk didalamnya, pertama dan terutama, sebuah produk visual. () 19 2.4.2.3.3 Apache Apache HTTP Server adalah server HTTP open source untuk sistem operasi modern termasuk UNIX, Microsoft Windows, Mac OS / X dan Netware. Tujuan dari proyek ini adalah untuk menyediakan aman, efisien dan dapat diperluas server yang menyediakan layanan HTTP mengamati standar HTTP saat ini. Apache telah menjadi web server yang paling populer di Internet sejak April 1996. (http://projects.apache.org/projects/http_server.html) 2.4.2.3.4 XAMPP XAMPP adalah perangkat lunak untuk membangun sebuah instalasi yang mudah distribusi bagi pengembang untuk masuk ke dunia Apache. Untuk membuatnya mudah untuk pengembang XAMPP dikonfigurasi dengan semua fitur diaktifkan. (http://www.apachefriends.org/en/xampp.html) 2.5 Human Interface Mengacu kepada Shneiderman (2010 : 88), delapan aturan emas dalam perancangan antarmuka adalah : 1. Mempertahankan Konsistensi Urutan tindakan yang konsisten dibutuhkan dalam situasi yang sama. Selain itu konsistensi juga diperlukan dalam penggunaan istilahistilah yang serupa, menu-menu, layar bantuan, warna, rancangan, huruf kapital, jenis huruf dan sebagainya. 2. Melayani Universal Usability Mengenali kebutuhan orang yang berbeda-beda dan merancang untuk fleksibilitas serta memfasilitasi transformasi dari konten. Perbedaan pemula-ahli, rentang umur, ketidakmampuan dan setiap 20 keragaman teknologi memperkaya spektrum kebutuhan yang akan digunakan dalam perancangan. 3. Memberikan umpan balik yang informatif Pada setiap actioni yang dilakukan user, sistem harus memberikan umpan balik. Respon dapat disederhanakan untuk aksi yang kecil dan sering dilakukan, begitu juga sebaliknya untuk action yang besar dan jarang dilakukan, respon sebaiknya lebih substansial. 4. Perancangan dialog untuk menunjukkan penutupan / akhir Urutan aksi seharusnya diatur menjadi kelompok dengan sebuah awalan, pertengahan dan akhir. Umpan balik informatif pada saat penyelesaian sekelompok aksi memberikan kepuasan terhadap user terhadap penyelesaian, perasaan lega dan sinyal untuk berhenti memikirkan kemungkinan-kemungkinan dari pikiran mereka dan sebuah sinyal untuk mempersiapkan sekelompok aksi berikutnya. 5. Pencegahan Kesalahan Perancangan sistem sedapat mungkin harus memungkinka user terhindar dari kesalahan yang serius. Interface (antarmuka) sebaiknya mendeteksi kesalahan dan memberikan instruksi yang sederhana, konstruktif dan spesifik untuk pemulihan jika user membuat kesalahan. Action yang menyebabkan terjadinya kesalahan seharusnya tidak mengubah keadaan dari sistem atau antarmuka dapat memberikan instruksi untuk mengembalikan keadaan sistem. 6. Mengizinkan pembalikkan aksi yang mudah Sedapat mungkin, aksi dapat dibatalkan atau di balikkan. Fitur ini dapat mengurangi rasa khawatir yang dialami user karena segala kesalahan dapat dibalikkan (undo) serta mendorong eksplorasi dari fitur yang belum diketahui. 7. Mendukung pusat kendali internal User yang berpengalaman menginginkan suatu perasaan bahwa mereka yang memiliki kendali dari antarmuka, dan antarmuka menanggapi segala aksi yang dilakukan oleh user. 8. Mengurangi beban ingatan jangka pendek Keterbatasan otak manusia dalam menangkap informasi, khususnya dalam jangka pendek membututuhkan sistem yang menampilkan 21 informasi secara sederhana, konsolidasi penampilan halaman yang lebih dari satu atau banyak, pengurangan frekuensi pergerakan window dan pelatihan yang cukup dialokasikan untuk kode, mnemonic dan urutan aksi. 2.6 Kepegawaian Belakangan ini mungkin kita semua pernah mendengar kata administrasi atau manajemen kepegawaian dalam kehidupan sehari-hari. Akan tetapi kebanyakan dari kita tidak tahu akan arti dan makna administrasi kepegawaian tersebut sehingga tidak tahu fungsi dari administrasi kepegawaian itu sendiri. Padahal hal ini sangat penting dalam mengelola suatu organisasi khususnya perusahaan, sehingga organisasi tersebut bisa sukses. Tidak seperti administrasi perkantoran, perbekalan, pemasaran, atau yang lainnya, manajemen/administrasi kepegawaian merupaka cabang ilmu administrasi yang paling menentukan bagi kehidupan suatu organisasi. Sebab, obyek material administasi kepegawaian pada hakikatnya adalah manusia yang sekaligus juga obyek atau tujuan kegiatan dari organisasi atau perusahaan itu sendiri. Manajemen kepegawaian atau Administrasi kepegawaian ini mencakup banyak hal penting, mulai dari proses penerimaan tenaga kerja, pembinaan kerja, produktivitas kerja, pemutusan hubungan kerja sampai yang terakhir yaitu pensiun. Kerena sangat kompleknya cakupan dari administrasi kepegawaian ini maka di atas telah disebutkan bahwa administrasi kepegawaian merupaka cabang ilmu administrasi yang paling menentukan bagi kehidupan suatu organisasi. 2.7 Big Data Challenges Entitas ekonomi tidak hanya telah dikembangkan selama bertahuntahun namun metode yang lebih kompleks memungkinkan mereka untuk melihat evolusi pasar, posisi mereka di pasar, efisiensi dalam menawarkan jasa dan / atau produk mereka dll. Untuk mampu mencapai itu, volume data yang besar diperlukan dalam rangka untuk menampungnya sehingga dapat 22 menghasilkan wawasan berharga. Setiap tahun data yang dikirimkan melalui internet tumbuh secara eksponensial. Di akhir tahun 2016, Cisco memperkirakan bahwa lalu lintas data global tahunan akan mencapai 6,6 zettabytes. Tantangannya tidak hanya untuk "mempercepat" koneksi internet, teapi juga untuk mengembangkan sistem perangkat lunak yang akan mampu menangani permintaan data yang besar dalam waktu yang optimal (Adrian, 2013 : 1). Membangun solusi yang layak untuk data yang besar dan kompleks merupakan sebuah tantangan perusahaan di bidang ini (Database/Big Data) untuk terus belajar dan menerapkan cara-cara baru untuk mengatasinya. Salah satu masalah terbesar tentang Big Data adalah tingginya biaya infrastruktur. Perangkat keras peralatan ini sangat mahal untuk sebagian besar perusahaan, bahkan jika solusi tantangan Cloud 40 Big Data tersedia. Setiap sistem Big data membutuhkan kekuatan pemrosesan yang besar dan stabil dan konfigurasi jaringan yang kompleks yang dibuat oleh ahlinya. Selain hardware infrastruktur, solusi perangkat lunak cenderung memiliki biaya yang tinggi jika penerima tidak memilih untuk menggunakan perangkat lunak open source. Bahkan jika mereka memilih open source, untuk mengkonfigurasinya masih tetap dibutuhkan spesialis yang memiliki keterampilan untuk melakukan itu. Kelemahan dari open source adalah bahwa pemeliharaan dan dukungan tidak disediakan seperti kasus perangkat lunak berbayar. Jadi, semua itu yang diperlukan untuk mempertahankan solusi Big Data agar dapat bekerja dengan baik, dalam banyak kasus, di luar tim pemeliharaan. Solusi perangkat lunak dibatasi oleh kemampuan hardware. Hardware hanya bisa secepat teknologi yang tersedia sekarang. Sebuah solusi perangkat lunak hanya mengirim tugas yang sesuai dengan yang di pesan untuk diproses. Arsitektur perangkat lunak mencoba untuk meningkatkan kurangnya kecepatan pemrosesan dengan memilih dan memesan permintaan, sehingga proses dapat dioptimalkan untuk mencapai kinerja yang terbaik. Untuk mensortir data, sehingga Informasi yang berharga akan diekstrak untuk digunakan lebih lanjut, dibutuhkan keterampilan analisis manusia. Sebuah program komputer hanya dapat melakukan apa yang diprogram untuk melakukan, tidak bisa melihat daerah abu-abu dan tidak bisa belajar atau beradaptasi dengan informasi jenis baru kecuali diprogram untuk 23 menanganinya. Oleh karena itu, kemampuan manusia digunakan untuk mengurutkan data dengan seperangkat alat yang mempercepat proses. Semua ini hanya akan meningkatkan waktu yang hasilnya akan ditampilkan dan begitu juga dengan analisis hasil, dalam rangka untuk mengevaluasi posisi saat ini atau untuk memprediksi akankah menurunkan penerima manfaat waktu untuk mengambil langkah-langkah atau rencana dengan baik (Adrian, 2013 : 9). 2.8 A Social Theory of Internet Uses Based on Consumption Scale and Linkage Needs Kami berkontribusi pada keilmuan pada ketidakadilan digital dan kegunaan Internet dengan memeriksa hubungan yang tidak pernah dipelajari antara kelas sosial dan praktek internet, khususnya menjelaskan mengapa perbedaan masih ada dan digunakan dan akan terus ada karena perbedaan di klasemen sosial individu. Kami memajukan teori sosial dari penggunaan Internet yang mengintegrasikan konsep skala kebutuhan konsumsi dan keterkaitan dengan teori Bourdieu dan dengan metode interdependensi analisis. Penjelasan mengenai perbedaan pola dalam penggunaan internet dengan melakukan observasi poin ke alasan struktural berdasarkan teknologi, sosial, dan informasi keterkaitan kebutuhan yang berkaitan dengan status sosial individu. Dengan kata lain memiliki akses internet dan kemampuan teknologi saja tidak cukup. Selama perbedaan kebutuhan hubungan sosial dan informasi bertahan karena perbedaan status sosial, kesenjangan digital akan tetap. Akhirnya. teori sosial internet digunakan dan diuraikan disini agar mampu menjelaskan temuan - temuan empiris dan juga jawaban akan masalah-masalah sosial kritis yang ada pada zaman ini, seperti apakah kesenjangan digital akan menjadi lebih kecil atau lebih luas di masa depan (Sintas, Filimon, Alvarez, 2012 : 17). 24 2.9 Pemodelan Arsitektur Teknologi Informasi Berbasis Cloud Computing untuk Institusi Perguruan Tinggi di Indonesia Teknologi cloud computing merupakan teknologi dimana sebagian besar proses dan komputasi terletak di jaringan internet sehingga memungkinkan pengguna dapat mengakses layanan yang diperlukan dari manapun dan kapan pun. Menurut data dari Direktorat Jenderal Pendidikan Tinggi (DIKTI), saat ini di Indonesia terdapat lebih dari 3.000 perguruan tinggi baik swasta maupun negeri. Secara umum, seluruh perguruan tinggi tersebut memiliki kesamaan proses bisnis dan kebutuhan sistem informasi. Namun dalam kenyataannya setiap perguruan tinggi membangun arsitektur dan kebutuhan sistem informasinya secara sendiri-sendiri. Hal tersebut menimbulkan beberapa permasalahan yaitu terjadi redundancy sistem informasi, tidak ada standardisasi struktur data, tidak terjadi konsolidasi data antara sistem informasi yang satu dengan yang lainnya dan inconsistency pengembangan sistem informasi. Beberapa permasalahan tersebut menjadi dasar pemikiran untuk merancang suatu model arsitektur teknologi informasi menggunakan konsep cloud computing. Berdasarkan hasil analisis terhadap kondisi perguruan tinggi di Indonesia dan menggunakan framework yang telah dipilih, dihasilkan suatu model arsitektur teknologi informasi berbasis cloud computing yang sesuai dengan kondisi dan kebutuhan perguruan tinggi di Indonesia. Arsitektur teknologi informasi tersebut terdiri dari arsitektur bisnis, arsitektur data, arsitektur aplikasi dan arsitektur teknologi. Penelitian diharapkan dapat memberikan kontribusi bagi perguruan tinggi di Indonesia terutama sebagai acuan dalam merancang arsitektur teknologi informasi (Solichin, Hasibuan, 2012 : 1). 2.10 UML 2.10.1 Definisi Menurut Whitten dan Bentley dalam bukunya yang berjudul “System Analysis and Design Methods 7th [2007:371]”, Unified Modeling Language (UML) adalah pemodelan yang digunakan untuk menggambarkan sebuah sistem piranti lunak yang terkait dengan objek. 25 2.10.2 Use Case Diagram Menurut Whitten dan Bentley dalam bukunya yang berjudul “System Analysis and Design Methods 7th [2007:248]”, Use Case Diagram adalah sebuah diagram yang menggambarkan interaksi antara sistem, external system, dan pengguna. Diagram ini memberikan informasi mengenai siapa saja yang akan menggunakan sistem tersebut dan bagaimana cara menggunakannya. Gambar 2.3 Contoh Use Case Diagram Hubungan-hubungan pada use case diagram: a. Asosiasi Asosiasi menggambarkan adanya interaksi antara use case dengan aktor. Asosiasi digambarkan dengan simbol garis yang bisa mempunyai anak panah atau tanpa anak panah. Asosiasi dengan anak panah yang berasal dari aktor 26 menunjuk ke use case menandakan bahwa aktor inisiator use case tersebut. Asosiasi tanpa anak panah menandakan interaksi antara use case dengan aktor penerima. Gambar 2.4 Contoh Asosiasi pada Use Case Diagram b. Extends Extends digunakan ketika fungsi use case terdiri dari beberapa tahap yang sulit sehingga mudah dimengerti. Extends akan menghasilkan use case baru yang mewakili fungsi dari use case awal. Gambar 2.5 Contoh Extends pada Use Case Diagram 27 c. Includes/uses Includes digunakan ketika use case melakukan beberapa langkah yang sama yang menjadi sebuah entitas baru dengan sebutan use case abstrak sehingga mengurangi redundansi dalam use case diagram. Gambar 2.6 Contoh Includes pada Use Case Diagram d. Depends on Depends On digunakan untuk menggambarkan hubungan use case dimana suatu use case tidak dapat dilakukan apabila use case yang lain belum dilakukan. Gambar 2.7 Contoh Depends on pada Use Case Diagram 28 e. Inheritance Inheritance digunakan untuk menggambarkan hubungan dua atau lebih aktor dalam satu sistem dengan sebuah aktor abstrak untuk menyederhanakan diagram karena aktor abstrak memiliki langkah yang dimiliki aktor lain. Gambar 2.8 Contoh Inheritance Pada Use Case Diagram 2.10.4 Activity Diagram Menurut Whitten dan Bentley dalam bukunya yang berjudul “System Analysis and Design Methods 7th [2007:382]”, Activity diagram adalah sebuah diagram yang menggambarkan aliran yang berurutan process use case atau bussinness process. Selain itu, activity diagram dapat juga digunakan untuk memodelkan logika dengan sistem. 29 Berikut adalah notasi-notasi pada Activity Diagram: 30 Gambar 2.9 Notasi pada Activity Diagram Gambar 2.10 Contoh Activity Diagram 31 2.10.5 Sequnce Diagram Menurut Whitten dan Bentley dalam bukunya yang berjudul “System Analysis and Design Methods 7th [2007:392]”, Sequence diagram adalah sebuah diagram menggambarkan interaksi antara setiap objek melalui pesan dalam eksekusi dari sebuah use case atau operasi. Sistem pada sequence diagram membantu untuk mengidentifikasi pesan-pesan tingkat tinggi yang masuk dan keluar dari sistem. Kemudian pesan-pesan tersebut akan menjadi tanggung jawab dari setiap objek yang akan memenuhi tanggung jawab dan berkomunikasi dengan objek lainnya. Gambar 2.11 Sequence diagram Beberapa notasi yang terdapat pada sistem sequence diagram adalah: a. Actor, berupa aktor yang memulai use case, ditunjukkan dengan simbol use case aktor. b. System, berupa kotak yang menunjukkan bahwa sistem sedang berjalan, ditandai dengan notasi titik dua (:) pada awal nama sistem. c. Lifelines, berupa garis menurun yang putus-putus dari simbol aktor dan sistem. 32 d. Activation bars, berupa balok yang terletak pada lifelines, yang menunjukkan periode waktu ketika terjadi interaksi secara aktif. e. Input messages, berupa anak panah mendatar dari aktor menuju sistem yang menunjukkan sistem pesan masuk ke sistem, di mana 2.10.6 Class Diagram Menurut Whitten dan Bentley dalam bukunya yang berjudul “System Analysis and Design Methods 7th [2007:248]”, Class Diagram adalah sebuah diagram yang menggambarkan tentang objek-objek bernama kelas yang menyusun suatu sistem dan juga hubungan antar kelas-kelas tersebut Gambar 2.12 Class Diagram Terdapat tiga bagian pada suatu class, yakni : 1. Nama kelas Nama kelas terdapat di bagian pertama class yang merepresentasikan nama dari class tersebut. 2. Atribut kelas Atribut kelas terdapat di bagian tengah class yang merepresentasikan tipe data yang dimiliki. 33 3. Operasi Operasi terdapat di bagian bawah class yang merepresentasikan kegiatan-kegiatan yang akan dilakukan oleh class tersebut. Adapun notasi-notasi yang terdapat pada class diagram, seperti : 1. Visibility Visibility digunakan untuk menentukan apakah atribut atau operasi dari sebuah kelas dapat digunakan oleh kelas yang lain. Visibility Simbol Deskripsi Private - Hanya dapat hanya dapat digunakan oleh kelas yang mendefinisikan Protected # Dapat digunakan oleh kelas yang mendefinisikannya dan turunan dari kelas tersebut Public + Dapat digunakan oleh semua kelas yang berhubungan Gambar 2.13 Deskripsi Simbol Visibility 2. Multiplicity Multiplicity digunakan untuk menentukan banyaknya kelas yang berhubungan dengan kelas yang dimaksud. 34 Multiplicity Deskripsi 0…1 Nol atau satu 1 Satu 0…* Nol atau lebih 1…* Satu atau lebih Gambar 2.14 Deskripsi Simbol Multiplicity 3. Generalisasi Generalisasi digunakan untuk merepresentasikan inheritance dalam class diagram dengan menggambarkan hubungannya melalui superclass dan subclass. Superclass adalah bentuk umum dari sebuah subclass, dan subclass adalah bentuk spesifik dari sebuah superclass. Subclass memiliki semua properti yang dimiliki oleh superclass. Gambar 2.15 Contoh Notasi Pada Class Diagram 35 4. Asosiasi Asosiasi digunakan untuk menggambarkan adanya hubungan antar kelas dengan memberikan keterangan relasi dan multiplicity. Hubungan asosiasi dibedakan menjadi dua jenis, yaitu: a. Uni-directional Hubungan Uni-directional merupakan hubungan dimana dua kelas saling terhubung tetapi hanya salah satu yang memiliki peran dalam hubungan tesebut. b. Bi-directional Hubungan Bi-directional merupakan hubungan dimana dua kelas saling terhubung dan keduanya memiliki peran dalam hubungan tesebut. 5. Agregasi Agregasi digunakan untuk menggambarkan hubungan dimana sebuah kelas merupakan bagian dari kelas lain, tetapi bukan merepresentasikan inheritance. 6. Komposisi Komposisi merupakan bentuk lain dari agregasi tetapi hubungan antar kelas komposisi lebih erat dibandingkan agregasi karena kelas A yang merupakan bagian dari kelas B tidak akan ada jika kelas B tidak ada.