BAB 2 TINJAUAN PUSTAKA 2.1 Teori Umum 2.1.1 Internet Menurut K.Williams & C.Sawyer (2011:18), internet adalah jaringan komputer di seluruh dunia yang menghubungkan ratusan ribu jaringan yang lebih kecil. Jaringan ini menghubungkan beberapa komputer pada bidang militer, pendidikan, komersial, dan masing-masing individu. Internet merupakan singkatan kata dari interconnection-networking, jika dijabarkan secara sistem global, maka internet merupakan jaringan komputer diseluruh penjuru dunia yang saling terhubung satu sama lain dengan menggunakan standar Internet Protocol Suite (TCP/IP), sehingga antar komputer dapat saling mengakses informasi dan bertukar data secara cepat. Menurut Connolly dan Begg (2010:126), internet merupakan sekumpulan jaringan komputer yang terhubung di seluruh dunia. Internet terdiri dari banyak jaringan yang terpisah tetapi saling berhubungan. 2.1.2 Web Browser Menurut Williams dan Sawyers (2004:106), web browser merupakan sebuah perangkat lunak yang digunakan untuk mencari dan mengakses beragam komponen web, serta berpindah dari satu halaman ke halaman web lainnya. 2.1.3 World Wide Web (WWW) Menurut Connolly dan Begg (2010:1028), World Wide Web atau yang bisa disingkat web merupakan sistem yang menyediakan sarana mencari informasi di internet dengan menggunakan hyperlink. 2.2 Teori Khusus 2.2.1 Pengertian Jaringan Komputer Menurut S. Tanenbaum (2010, p2), jaringan komputer merupakan sekumpulan komputer dengan jumlah banyak yang saling terpisah tetapi berhubungan satu dengan yang lainnya dalam melaksanakan tugasnya yang 5 6 dihubung dengan teknologi tunggal. Dua komputer atau lebih dikatakan saling terhubung jika komputer tersebut dapat saling bertukar informasi, biasanya saling terhubung bersama-sama untuk membentuk jaringan yang lebih besar, Internet merupakan contoh kumpulan jaringan. Manfaat jaringan komputer menurut S. Tanenbaum (2010, p3), yaitu: 1. resource sharing yang bertujuan agar program, peralatan, dan terutama data tersedia untuk setiap orang yang terhubung dengan jaringan tanpa terpengaruh oleh lokasi fisik dari sumber daya atau pemakai. 2. untuk mendapatkan reliabilitas tinggi dengan memiliki sumber sumber alternatif ketersediaan data, contohnya file dapat di simpan pada beberapa komputer sehingga saat salah satu komputer tidak dapat digunakan atau file rusak pada salah satu komputer maka masih ada salinan file yang dapat digunakan. 3. dengan pemanfaatan jaringan komputer dapat menghemat biaya, yaitu dengan merancang sistem dimana user dapat menyimpan file pada server yang nantinya dapat diakses oleh user lain. 2.2.2 TCP/IP Menurut S. Tanenbaum (2010, p45), TCP/IP adalah arsitektur jaringan yang baru yang dikembangkan dengan tujuan utama agar mampu menghubungkan banyak jaringan dengan lancar. Pada TCP/IP terdapat 4 lapisan, yaitu : 1. Link Layer Merupakan lapisan terendah pada TCP/IP, link layer mendeskripsikan apa yang harus dilakukan oleh link seperti serial lines dan Ethernet versi lama agar memenuhi kebutuhan internet layer. 2. Internet Layer Merupakan penyangga seluruh arsitektur secara bersamaan. Internet Layer bertugas untuk mengirimkan paket yang dikirim oleh hosts pada jaringan manapun dan mengirimnya secara dependen ke tujuan (kemungkinan berada pada jaringan yang berbeda). Paket tersebut dapat saja sampai ke tujuan dengan urutan yang berbeda pada saat dikirim, ini merupakan 7 pekerjaan lapisan yang lebih atas untuk menyusun kembali paket tersebut sesuai dengan pada saat paket tersebut dikirim. 3. Transport Layer Lapisan di atas internet layer disebut dengan transport layer. Lapisan ini didesain untuk mengijinkan entitas peer yang ada pada host asal dan host tujuan untuk saling berkomunikasi ataus saling berbagi data. Ada 2 protolol utama pada lapisan ini, yaitu TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol). TCP bersifat connectionoriented yang dapat mendeteksi error dan mengatasinya. Sedangkan UDP bersifat connectionless yang tidak mementingkan akurasi pengiriman. 4. Application Layer Merupakan lapisan di atas transport layer, Application layer memiliki semua protokol dengan level yang lebih tinggi seperti file trasnfer (FTP) dan electronic mail (SMTP), FTP digunakan untuk mentransfer file antar komputer, SMTP digunakan untuk mengirim email dalam bentuk tulisan tanpa data binary. Gambar 2.1 TCP/IP model (Computer Network, 2010, p48) 2.2.3 Keamanan Jaringan Untuk beberapa dekade pertama sejak kehadiran jaringan komputer, jaringan komputer digunakan terutama oleh penelit di universitas untuk mengirimkan email dan oleh pekerja kantoran untuk membagi akses printer. Pada situasi tersebut, keamanan jaringan tidak banyak mendapatkan perhatian. Tetapi pada saat ini, dimana jutaan orang biasa menggunakan jaringan untuk 8 aktifitas perbankan, belanja, membayar pajak, kelemahan demi kelemahan jaringan muncul, kemanan jaringan menjadi masalah yang besar. Kemanan adalah topik yang luas dan mencakup berbagai kasus, dalam kasus yang paling sederhana misalnya berkaitan dengan memastikan bahwa orang usil tidak dapat membaca atau bahkan lebih buruk lagi mengubah isi pesan yang ditujukan ke orang lain. Berkaitan dengan mencoba mengakses akses remote tanpa memiliki hak akses. Kebanyakan masalah keamanan disebabkan oleh orang yang tidak bertanggung jawab yang mencoba untuk mendapatkan keuntungan lebih, untuk mendapatkan perhatian, atau untuk merugikan orang lain. Untuk membuat sistem menjadi aman tidak hanya dapat dilakukan dengan memastikan tidak adanya error pada system program. Menurut D. Wetherall & S. Tanenbaum (2010, p764) masalah keamanan jaringan dapat dibagi menjadi 4 bagian yang saling berkaitan, yaitu: 1. Secrecy atau bisa juga disebut confidentiality, berkaitan dengan menjaga informasi dari orang yang tidak berwenang. Hal ini yang biasanya yang kita ingat saat sedang memikirkan tentang keamanan jaringan. 2. Authentication, berkaitan dengan menentukan anda sedang berinteraksi dengan siapa sebelum mengungkapkan informasi rahasia atau saat memasuki transaksi bisnis. 3. Nonrepudiation, berkaitan dengan tanda unik: bagaimana cara kita membuktikan suatu aktifitas benar dilakukan oleh seseorang. 4. Integrity control, berhubungan dengan bagaimana cara kita agar bisa yakin bahwa pesan yang kita terima dari orang yang benar bukan dari sistem yang memodifikasi pesan tersebut pada saat dikirim atau terhubung. 2.2.4 Pendekatan Basis Data Menurut Connolly dan Begg (2010, p15), basis data adalah kumpulan data yang saling berhubungan secara logis dan deskripsi data tersebut dirancang untuk memenuhi kebutuhan informasi dalam suatu organisasi. 9 Menurut Silberschatz, Korth, dan Sudarshan (2011, p1), basis data adalah kumpulan data yang berisi informasi yang relevan dengan suatu perusahaann. Berdasarkan beberapa pengertian diatas, penulis menyimpulkan bahwa basis data merupakan kumpulan data yang terintegrasi dan saling berhubungan secara logis dan dapat digunakan untuk memenuhi kebutuhan suatu organisasi. 2.2.4.1 Sistem Manajemen Basis Data Menurut Silberschatz, Korth, dan Sudarshan (2011, p1), Database Management System (DBMS) adalah kumpulan data yang saling berhubungan dan suatu set program untuk mengakses data tersebut. Menurut Connolly dan Begg (2010, p16), Database Management System (DBMS) adalah sistem yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara dan mengendalikan hak ases ke basis data. Fasilitas yang dapat diberikan oleh sistem manajemen basis data kepada pengguna : 1. Data Defenition Language (DDL) Data Defenition Language, memungkinkan pengguna untuk menentukan tipe data, struktur data dan kendala pada data untuk disimpan ke dalam basis data. 2. Data Manipulation Language (DML) Data Manipulation Language, memungkinkan pengguna untuk melakukan manipulasi data pada basis data, seperti insert, update, delete dan retrieve data. 3. Akses yang diberikan Sistem Manajemen Basis Data a. Sistem keamanan, menjaga basis data dari pengguna yang tidak memiliki hak ases untuk menggunakannya. b. Sistem integritas, memelihara konsistensi data yang tersimpan. c. Sistem kontrol konkurensi, dapat memberikan hak akses kepada pengguna lain untuk menggunakan basis data. d. Sistem kontrol perbaikan, berfungsi untuk memperbaiki basis data ke kondisi sebelumnya jika terjadi kerusakan pada hardware dan software. e. Katalog yang dapat diakses pengguna, mendeskripsikan data yang ada pada basis data. 10 2.2.4.2 Relational Data Structure Menurut Connolly dan Begg (2010, p94), pengertian relasi adalah sebuah tabel yang memiliki baris dan kolom. Bagian dari relasi data model mencakup : 1. Record merupakan setiap baris pada tabel. 2. Attribute merupakan kolom pada tabel. 3. Domain merupakan himpunan nilai yang diijinkan untuk satu atau lebih atribut. 4. Tuple didefinisikan sebagai relasi baris dalam sebuah tabel. 5. Degree of relation (Derajat dari suatu relasi) adalah banyaknya atribut pada suatu relasi dalam basis data. 6. Cardinality adalah banyaknya tuple atau baris dalam suatu relasi basis data. 2.2.4.3 Structure Query Language (SQL) Menurut Connoly dan Begg, idealnya dari database language atau Query memugkinkan pengguna untuk: 1. Membuat basis data dan relasi basis data 2. Menampilkan perintah management basic data seperti insert, update, delete data dari sebuah relasi 3. Menampilkan Query yang complex dan sederhana. Structure Query Language (SQL) merupakan salah satu contoh transform-oriented language,atau bahasa yang di design untuk menggunakan relasi,yang mengubah input menjadi output yang dibutuhkan. Standard SQL terdapat 2 komponen yaitu : 2.2.4.3.1 Data Manipulation Language (DML) Menurut Silberschatz, Korth, dan Sudarshan (2011, p13), Data Manipulation Language (DML) merupakan suatu bahasa yang memungkinkan pengguna untuk mengakses atau memanipulasi data yang telah terorganisir oleh model data yang tepat. Menurut Connolly dan Begg (2010, 138), Data Manipulation Language (DML) adalah sebuah bahasa yang menyediakan sekumpulan operasi, untuk mendukung operasi dasar manipulasi data pada basis data. 11 Operasi manipulasi data terdiri dari (Connolly dan Begg, 2010, p138) : 1. Memasukkan data baru ke dalam basis data 2. Modifikasi data yang tersimpan dalam basis data 3. Menampilkan kembali data di dalam basis data 4. Menghapus data dari basis data 2.2.4.3.2 Data Definition Language (DDL) Menurut Silberschatz, Korth, dan Sudarshan (2011, p14), Data Definition Language (DDL) adalah sebuah bahasa yang memungkinkan seseorang untuk menentukan tabel, kendala integritas dan pernyataan. Menurut Connolly dan Begg (2010, p185), Data Definition Language (DDL) adalah sebuah bahasa yang memungkinkan DBA (Database Administrator) atau pengguna untuk menggambarkan struktur basis data dan kontrol akses data ke dalam database. 2.2.4.4 Entity Relationship Modeling Menurut Connolly dan Begg (2010, p321), entity relationship modeling merupakan pemodelan yang berguna untuk memberikan pemahaman yang tepat terhadap data dan penggunaannya di dalam suatu perusahaan. Model inimenggunakan pendekatan top-down dalam perancangan basis datayang dimulai dengan mengidentifikasikan data-data terpenting yang disebut dengan entitas dan hubungan antara entitas-entitas tersebut yang digambarkan dalam suatu model. Entity Relationship Diagram (ERD), data model yang didasarkan pada persepsi terhadap dunia nyata yang tersusun atas kumpulan objek-objek dasar yang disebut entitas dan hubungan antarobjek. (Octafian Tri. D, p150). 2.2.4.4.1 Entity Types Menurut Connolly dan Begg (2010, p322), entitas adalah sekumpulan objek dengan sifat yang sama, yang diidentifikasi di dalam organisasi karena keberadaannya yang bebas (independen). Setiap entitas dilambangkan dengan sebuah persegi panjang yang diberi nama dari entitas tersebut. Nama entitas biasanya adalah kata benda tunggal. 12 Gambar 2.2 Entity Types (Connolly dan Begg, 2010, p374) 2.2.4.4.2 Relationship Types Tipe relasi adalah sekumpulan asosiasi antara tipe-tipe entitas yang ada dan mempunyai arti. (Connolly dan Begg, 2010, p374). Relationship occurence merupakan suatu gabungan yang dapat diidentifikasikan secara unik, yang meliputi satu kejadian dari setiap entitas yang berpartisipasi. (Connoly dan Begg, 2010, p375). Recursive relationship adalah sebuah tipe hubungan dimana tipe entitas yang sama dapat berpartisipasi lebih dari sekali pada peran yang berbeda. (Connolly dan Begg, 2010, p378). Derajat dari tipe relasi adalah jumlah dari partisipasi tipe entitas dalam sebuah tipe relasi tertentu. Entitas yang berkaitan dalam sebuah tipe relasi terkenal sebagai participant dalam relationship. Jumlah dari participant dalam relationship adalah derajat dari relationship. Oleh karena itu, derajat dari relationship yang berderajat dua disebut binary, sedangkan relationship yang berderajat tiga disebut ternary. (Connoly dan Begg, 2010, p376). Terdapat beberapa macam derajat relasi, yaitu : 1. Binary relationship, yaitu keterhubungan antara dua tipe entitas. Gambar 2.3 Binary Relationship (Connoly dan Begg,2010,p376) 2. Ternary relationship, yaitu keterhubungan antara tiga tipe entitas. 13 Gambar 2.4 Ternary Relationship (Connoly dan Begg,2010,p377) 3. Quaternary relationship, yaitu keterhubungan antara empat tipe entitas. Gambar 2.5 Quaternary Relationship (Connolly dan Begg,2010,p377) 4. Relasi rekursif adalah sebuah tipe relasi dimana tipe entitas yang sama berpartisipasi lebih dari satu kali dalam peranan yang berbeda. Gambar 2.6 Relasi Rekursif (Connolly dan Begg,2010,p378) 2.2.4.4.3 Attributes Attribute merupakan sifat-sifat atau properti dari sebuah tipe entitas atau tipe relationship. (Connolly dan Begg, 2010, p379). 14 Domain attribute adalah kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut. Setiap atribut yang dihubungkan dengan sejumlah nilai disebut domain. Domain akan mendefinisikan nilai-nilai yang dimiliki sebuah atribut dan fungsi domain di sini sama dengan konsep domain pada model relasional. Macam-macam atribut yang ada yaitu : 1. Simple / Composite Attribute Simple Attribute adalah atribut yang terdiri dari satu komponen tunggal (single) dan keberadaannya independent. 2. Composite Attribute Composite Attribute adalah atribut yang terdiri dari beberapa komponen yang keberadaannya independent. (Connolly dan Begg, 2010, p380). 3. Single-Valued and Multi-Valued Attributes Single-valued attributed adalah atribut yang menampung nilai tunggal untuk tiap-tiap kejadian dari suatu tipe entitas. Sebagian besar atribut adalah bernilai tunggal. 4. Multi-valued attributed Multi-valued attributed adalah atribut yang dapat menampung banyak nilai untuk setiap kejadian dari suatu tipe entitas. (Connolly dan Begg, 2010, p380). 5. Derrived Attributes Atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya dan tidak harus berasal dari entitas yang sama. (Connolly dan Begg, 2010, p380). 2.2.4.4.4 Keys Tidak ada duplikat yang terjadi pada tuples atau baris disebuah relasi, sehingga kita perlu mengidentifikasi satu atau lebih atribut yang di sebut relational keys. Beberapa macam relational keys terdiri dari (Connolly dan Begg, 2010, p100): 1. Super Key merupakan sebuah atau set atribut yang unik dan dapat mengidentifikasi baris dalam suatu relasi 15 2. Candidate Key merupakan sejumlah kecil atribut dari entitas yang mengidentifikasikan setiap kejadian dari entitas tersebut secara unik. 3. Primary Key merupakan candidate key yang dipilih untuk mengidentifikasikan setiap kejadian dari entitas secara unik. 4. Alternate Key merupakan kumpulan candidate key yang tidak terpilih menjadi primary key. 5. Composite Key merupakan candidate key yang terdiri dari dua atau lebih atribut. 6. Foreign Key sebuah atribut atau sekumpulan atribut pada suatu relasi yang sama dengan candidate key dari beberapa relasi lainnya. 2.2.4.4.5 Structural Constraint Multiplicity adalah jumlah occurence (kejadian) yang mungkin terjadi pada sebuah tipe entity yang berhubungan ke sebuah occurence dari tipe entity lain pada suatu relationship. (Connolly dan Begg, 2010, p385). Tiga macam hubungan binari secara umum yaitu : 1. Derajat hubungan one to one (1:1) Derajat hubungan 1:1 terjadi bila tiap anggota suatu entitas hanya boleh berpasangan dengan satu anggota dari entitas yang lain. Dan begitu juga sebaliknya. Anggota dari entitas yang lain hanya boleh mempunyai satu anggota dari entitas tersebut. Gambar 2.7 Derajat hubungan One-to-One (Connolly dan Begg,2010,p386) 2. Derajat hubugan one to many (1:*) 16 Derajat hubungan 1:* terjadi bila tiap anggota suatu entitas memilik lebih dari satu anggota dari entitas lain. Dan sebaliknya, entitas yang lain hanya boleh berpasangan dengan satu anggota dari entitas tersebut. Gambar 2.8 Derajat hubungan One-to-Many (Connolly dan Begg,2010,p387) 3. Derajat hubungan many to many (*:*) Derajat hubungan *:* terjadi apabila tiap anggota suatu entitas memiliki lebih dari satu anggota dari entitas lain, juga entitas lain memiliki lebih dari satu anggota dari entitas tersebut. Gambar 2.9 Derajat hubungan Many-to-Many (Connoly dan Begg,2010,p388) Multiplicity terdiri dari dua batasan yang terpisah pada sebuah relasi, yaitu : 1. Cardinality Mendeskripsikan jumlah maksimum dari kejadian relasi yang mungkin untuk suatu entitas yang berpartisipasi di dalam suatu tipe relasi tertentu. 17 2. Participation Menentukan apakah semua atau hanya sebagian entitas berpartisipasi di dalam suatu relasi. Gambar 2.10 Cardinality and Participation (Connolly dan Begg,2010,p391) 2.2.5 Tools yang Digunakan 2.2.5.1 Diagraming Tools 2.2.5.1.1 Flowchart Flowchart adalah representasi grafikal dari sebuah sistem yang menjelaskan aspek-aspek sistem informasi secara jelas, tepat, dan logis yang digunakan terutama untuk menjelaskan relasi fisik di antara entitasentitas kuncinya. (Hall, 2011: p8). Berikut simbol-simbol yang digunakan dalam flowchart : 1. Dokumen Simbol yang menyatakan input berasal dalam bentuk kertas atau output dicetak ke kertas. Gambar 2.11 Simbol Dokumen dalam Flowchart 2. Proses Simbol yang menunjukkan pengolahan yang dilakukan oleh komputer. 18 Gambar 2.12 Simbol Proses dalam Flowchart 3. Keputusan Simbol untuk menunjukkan kondisi yang menghasilkan beberapa kemungkinan jawaban/aksi yang dilakukan user. Gambar 2.13 Simbol Keputusan dalam Flowchart 4. Manual Simbol yang menunjukkan pengolahan yang tidak dilakukan oleh komputer. Gambar 2.14 Simbol Manual dalam Flowchart 5. Terminal Simbol untuk menunjukkan permulaan atau akhir dari suatu program. Gambar 2.15 Simbol Terminal dalam Flowchart 2.2.5.1.2 Entity Relationship Diagram (ERD) Menurut Valacich, George, & Hoffer (2011,p197), Entity relationship diagram adalah representasi data dari suatu organisasi secara detail, masuk akal, dan digambarkan dalam grafik.ERD adalah sebuah model yang berasal dari entitas dalam suatu elemen bisnis, relasi antara entitas dan atribut atau properti dari entitas dengan relasinya. ERD memiliki beberapa elemen untuk dalam bentuk notasi dan simbol. Terdapat tiga elemen yang umum digunakan, yaitu : 1. Entitas 19 Entitas adalah sebuah obyek yang memiliki sesuatu yang nyata yang dapat dibedakan antar satu entitas dengan yang lain. Simbol yang umum digunakan digambarkan dengan persegi panjang. Karyawan Gambar 2.16 Simbol Entitas dalam ERD 2. Atribut Atribut berfungsi untuk mendeskripsikan karakteristik dari entitas-entitas yang ada. Isi dari atribut memiliki sesuatu yang dapat mengidentifikasikan isi tiap elemen. Di dalam entitas minimal memiliki satu atribut unik, yang disebut primary key. Karyawan NIP (PK) Nama Alamat No.Telp Gambar 2.17 Bentuk Entitas Beserta Atribut 3. Relasi Relasi merupakan hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Terdapat beberapa jenis relasi yang umum digunakan dalam ERD, yaitu: a. One to one Merupakan derajat hubungan antara entitas 1:1 terjadi bila tiap anggota suatu entitas hanya boleh berpasangan dengan satu anggota dari entitas yang lain. Pasien 1 1 Ditempatkan Gambar 2.18 Relasi one to one Kendaraan 20 b. One to many Merupakan derajat hubungan yang terjadi bila tiap anggota suatu entitas boleh berpasangan dengan lebih dari satu entitas yang lain. Sebaliknya, tiap anggota entitas yang lain hanya boleh berpasangan dengan satu anggota dari entitas tersebut. Pegawai 1 Bekerja M Proyek Gambar 2.19 Relasi one to many c. Many to many Merupakan derajat hubungan antar entitas yang terjadi bila tiap anggota suatu entitas boleh berpasangan dengan lebih dari satu anggota dari entitas lain. Pegawai M M Bekerja Proyek Gambar 2.20 Relasi many to many 2.2.5.1.3 Data Flow Diagram (DFD) Menurut Whitten & Bentley (2011,p317) Data Flow Diagram (DFD) adalah peralatan yang menggambarkan alur data melalui sebuah sistem dan pekerjaan atau proses yang dilakukan oleh sistem. Menurut Indrajain (2011,p11) Data Flow Diagram (DFD) adalah sebuah alat yang menggambarkan aliran data sampai sebuah sistem selesai, dan kerja atau proses dilakukan dalam sistem tersebut. Istilah dalam bahasa Indonesianya adalah diagram aliran data. Dalam DFD ini terdapat 4 komponen utama, yaitu: 1. External Agents Agen ekternal mendefinisikan orang atau sebuah unit organisasi, sistem lain, atau organisasi yang berada di luar sistem proyek tapi dapat mempengaruhi kerja sistem. 2. Process 21 Proses adalah penyelenggaraan kerja atau jawaban, datangnya aliran data atau kondisinya. 3. Data Stores Data Stores adalah penyimpan data. 4. Data Flow Data Flow merepresentasikan sebuah input data ke dalam sebuah proses atau output dari data (atau informasi) pada sebuah proses. 2.2.5.1.4 State Transition Diagram (STD) Menurut Whitten & Bentley (2011,p635) State Transition Diagram (STD) digunakan untuk menggambar rangkaian dan variasi tampilan yang dapat terjadi ketika user berada pada terminal atau sistem. Menurut Indrajani (2011,p17) State Transition Diagram (STD) adalah suatu kondisi yang menunjukkan keadaan tertentu, dimana suatu sistem dapat ada dan transisi menghasilkan keadaan tertentu yang baru. Biasanya digunakan dalam sistem yang real time. 2.2.5.2 Software Tools Mengenai software tools O’Brien (2008) membahas bahasa pemrograman memungkinkan pemrogram untuk mengembangkan serangkaian perintah yang membentuk program komputer. Banyak bahasa pemrograman yang berbeda telah dikembangkan dengan masing-masing memiliki kosakata, tata bahasa dan penggunaan yang berbeda-beda. Dalam penyusunan ini, penulis menggunakan beberapa Software Tools, diantaranya yaitu : 1. Database Management System MySQL Mengenai software tools O’Brien (2008) membahas bahasa pemrograman memungkinkan pemrogram untuk mengembangkan serangkaian perintah yang membentuk program komputer. Banyak bahasa pemrograman yang berbeda telah dikembangkan dengan masing-masing memiliki kosakata, tata bahasa dan penggunaan yang berbeda-beda. 22 2. Services XAMPP XAMPP adalah sebuah paket web server yang gratis dan open source cross platform yang didalamnya terdapat Apache HTTP Server, MySQL Database dan interpreter untuk script yang ditulis dalam Bahasa Pemograman PHP dan Perl. (Kasiman, 2006). Web Server Apache Apache merupakan web server yang paling banyak digunakan di internet. Program ini pertama kali di desain untuk sistem operasi UNIX. Namun, pada beberapa versi berikutnya Apache mengeluarkan programnya yang dapat dijalankan di Windows NT. Berikut beberapa program program pendukung Apache : a. Kontrol Akses Kontrol ini berjalan berdasarkan nama host atau nomor IP. b. Common Gateway Interface (CGI) Practical Extraction and Report Language (perl) merupakan yang paling banyak digunakan pada CGI, didukung oleh Apache dengan menempatkannya sebagai modul (mod_perl). c. Personal Home Page/PHP Hypertext Processor (PHP) Program ini memiliki metode sejenis CGI, yang memproses teks dan bekerja di server. PHP didukung oleh Apache dengan menempatkannya sebagai salah satu modulnya (mod_php). d. Server Slide Interface (SSI) Web Server Apache mempunyai kelebihan dari pertimbangan diatas, yaitu: 1. Apache termasuk dalam kategori freeware. 2. Mudah dalam proses instalasi. 3. Mampu beroperasi pada berbagai platform sistem operasi. 4. Mudah mengatur konfigurasi. 5. Apache menyediakan fitur untuk multihomed dan virtual server. 23 6. Server Apache dapat secara otomatis berkomunikasi dengan client browsernya untuk menampilkan tampilan terbaik pada client broser tersebut. 7. Web Server Apache memiliki beberapa level-level keamanan. 8. Mendukung transaksi yang aman menggunakan SSL (secure socket layer) 9. Mempunyai kompatibilitas platform yang tinggi. 3. Programming Tools Adobe Dreamweaver Adobe Dreamweaver merupakan program perangkat lunak yang digunakan untuk mengembangkan desain dan aplikasi web. Dikeluarkan oleh Adobe Systems yang sebelumnya dikenal dengan nama Macromedia Dreamweaver yang dikeluarkan oleh Macromedia. 4. Diagram Tools Microsoft Visio Microsoft visio atau visio sebuah program aplikasi komputer yang sering digunakan untuk membuat diagram, diagram alir (flowchart), brainstorm, dan skema. Jaringan ini menggunakan grafik vektor untuk membuat diagram-diagramnya. 2.2.6 Model Waterfall Menurut S.Pressman (2010:39) manamodel Waterfall sebenarnya adalah “Linear Sequential Model” dan model ini sering disebut juga dengan “Classic Life Cycle”. Model ini sistemmatis dan berurutan dimulai dengan tahap communication, planning , modeling , construction , hingga deployment. Namun menurut winston Royce yang dikutip oleh S.Pressman (2010:39) model waterfall pada awalnya diusulkan memiliki feedback loop yang memungkinkan sistem untuk beradaptasi dengan perubahan selama proses rekayasa selama proses rekayasa peranti lunak, tetapi sebagian besar perusahaan memperlakukan model ini sebagai proses linier yang kaku. 24 Com m unic a t ion proje c t init ia t ion re quire m e nt ga t he ring Planning es timating sc heduling track ing Mode ling analysis design Const r uc t ion De ploy m e nt code t est de liv e ry s upport f e e dba c k Gambar 2.21 Model Waterfall Berikut penjelasan tahap-tahap yang terjadi pada model waterfall : a. Communication Tahap ini wajib dilakukan pertama kali pada model waterfall karena pada tahap ini terjadi proses memahami tujuan dan pengumpulan informasi pada saja yang dibutuhkan oleh stakeholders. b. Planning Dalam proses perancangan ini suatu perangkat lunak yang ingin dibuat diarahkan menjadi lebih jelas dan terarah. Hal-hal yang direncanakan antara lain tugas-tugas teknis yang akan dilakukan, resikoresiko yang mungkin terjadi, sumber daya yang diperlukan, keluaran yang dihasilkan, dan jadwal kerja. c. Modeling Pada tahap ini developer membuat suatu permodelan untuk memahami permasalahan dan bagaimana untuk memecahkan masalah tersebut. Kemudian Modeling ini bertujuan pula untuklebih memahami hal-hal yang dibutuhkan oleh sebuah software dan bagaimana mencapai hal-hal tersebut. d. Construction Terjadi proses pengkodean dan uji coba pada baris kode untuk menemukan kesalahan pada saat pengkodean. e. Deployment Pada tahapan ini pirsanti lunak disebarkan ke user untuk mendapatkan umpan balik yang digunakan sebagai evaluasi. 2.2.7 JavaScript Menurut John Duckett (2010: 481-482), JavaScript merupakan bahasa pemrograman yang digunakan dalam pemrograman menggunakan JavaScript, programmer dapat: 1. Membaca dan menuliskan (read & write) elemen dan teks. web. Dengan 25 2. Memanipulasi atau memindahkan teks. 3. Menjalankan fungsi perhitungan pada data. 4. Bereaksi terhadap events, seperti saat pengguna menekan sebuah button. 5. Membaca waktu dan tanggal di komputer pengguna. 6. Menetapkan ukuran tampilan beserta resolusi layar dan web browser version pada komputer pengguna. 7. Melakukan pengecekan pada input yang diberikan oleh pengguna, seperti pada pengecekan form validation. Penulisan code JavaScript ditandai dengan tag ‘<script type=”JavaScript”> </script>’ pada halaman HTML. Code JavaScript dapat dimasukkan secara internal ataupun eksternal. Penulisan secara internal cukup dengan memasukan code di antara tag script. Sedangkan secara eksternal, code berupa file yang disimpan berlainan folder ataupun dari link internet dituliskan seperti berikut: <script type=”JavaScript” src=”scripts/validation.js”></script> 2.2.8 Jquery Menurut McFarland (2011: 4) jQuery merupakan pustaka javascript yang dibuat untuk memudahkan pemrograman javascript. Sebagai contoh, dengan menggunakan jQuery kode pemrograman yang memerlukan beratus – ratus baris dapat diselesaikan dengan hanya satu baris kode saja. 2.2.9 Hypertext Preprocessor (PHP) Menurut Peter B. MacIntyre (2010: 2), PHP merupakan bahasa scripting yang seringkali digunakan pada server-side yang dibuat khusus untuk pemrograman web. PHP harus terhubung pada sebuah web server atau software web server seperti Apache atau IIS (Internet Information Service). PHP dapat digunakan untuk menghasilkan informasi HTML secara dinamis. Selain itu, PHP juga dapat digunakan untuk membangun integrasi dengan database tools seperti MySQL, SQLite, DB2, Oracle, dan sebagainya. PHP memiliki kelebihan dibanding bahasa scripting lainnya. Beberapa kelebihan yang dipaparkan oleh Luke Welling (2009: 4) adalah: 1. Performance 26 PHP dapat bekerja cepat dengan performa yang sangat baik. 2. Scalability Skala komoditas yang besar. 3. Integrasi ke database PHP memiliki native connection yang tersedia untuk berbagai macam database system. 4. Built-in libraries PHP memiliki banyak fungsi built-in untuk melakukan tugas yang berhubungan dengan web task. 5. Low cost PHP merupakan bahasa scripting open source, sehingga siapapun dapat menggunakannya secara gratis. 6. Ease of learning and use PHP mudah untuk dipelajari. Bahasa pemrograman PHP didasari pada bahasa pemrograman pada umumnya, seperti C, C++, Perl, dan Java. 7. Strong object-oriented (OOP) support PHP versi 5 sudah didukung dengan fitur OOP. 8. Flexibility of development approach PHP memberikan kemudahan bagi developer dalam implementasi. PHP sangat mudah untuk beradaptasi dengan framework seperti CodeIgniter. 9. Availability of source code Developer memiliki akses langsung dengan source code PHP. 10. Availability of support and documentation PHP memberikan dokumentasi yang jelas dan tersedia komunitas yang siap membantu jika developer mengalami kesulitan dalam menggunakan PHP. 2.2.7 Framework Framework merupakan suatu struktur berisikan kumpulan perintah atau fungsi dasar yang membentuk aturan - aturan tertentu dan saling berinteraksi satu dengan yang lain (Wardana, 2010: 3). Dengan menggunakan framework, developer tidak perlu membangun kode dari nol karena hanya perlu membangun kode dan menjalankannya dengan bantuan fungsi yang 27 telah disediakan. Beberapa kelebihan dalam menggunakan framework dalam membangun sebuah aplikasi adalah: 1. Mempersingkat waktu pembuatan aplikasi. 2. Kode lebih mudah untuk dibaca (terstruktur). 3. Kode lebih mudah untuk diperbaiki. 4. Tidak perlu membuat kode penunjang seperti; koneksi database, validasi form, GUI, dan keamanan karena telah disediakan. 5. Membuat developer lebih fokus ke alur permasalahan kode. 6. Adanya keteraturan peletakan kode. 2.2.8 Apache Apache adalah sebuah nama web server yang bertanggung jawab pada request dan response HTTP dan logging informasi secara detail. Apache memiliki fitur – fitur canggih seperti pesan kesalahan yang dapat di atur, autentikasi berbasis basis data. Apache juga didukun oleh sejumlah antarmuka pengguna yang berbasis grafik atau GUI yang memungkinkan penanganan server menjadi lebih mudah. Beberapa keunggulan yang dimiliki apache yaitu : 1. Apache merupakan software yang bersifat open source. 2. Apache sangat mudah untuk proses instalasinya jika dibandingkan dengan web server lainnya. 3. Mampu beroperasi pada berbagai platform sistem operasi. 4. Mudah untuk pengaturan konfigurasi karena apache hanya mempunyai empat file konfigurasi. 5. Mudah dalam menambahkan peripheral lainnya ke dalam platform web servernya. 2.2.9 MySQL MySQL adalah salah satu open source software database yang digunakan untuk mengolah data yang terdapat dalam database. SQL pada MySQL adalah singkatan dari Standart Query Languange yang menggunakan bahasa dasar yaitu bahasa inggris. SQL juga digunakan dalam software database lainnya, seperti Oracle atau Microsoft SQL Server. (Nixon, 2009) 28 2.2.10 phpMyAdmin phpMyAdmin adalah sebuah antarmuka web open source yang menangani administrasi pada SQL seperti membuat, memodifikasi, dan menghapus database, tabel, kolom, dan baris. Selain itu phpMyAdmin juga dapat digunakan untuk mengeksekusi pernyataan SQL atau mengelola user dan hak akses user.(Delisle,2012) 2.3 Penelitian Terkait Penelitian terkait digunakan untuk menganalisis penelitian yang pernah ada yang memiliki hubungan dan karakteristik yang sama dengan laporan skripsi ini. 1. Judul : “Imulus Launches Stacks a Web App for Task Management”(2010) Ringkasan : Di lingkungan kerja yang serba cepat dengan banyak projek dan tugas yang harus diselesaikan, email dan perangkat lunak organisir tugas tidak cukup. Imulus telah memperkenalkan Stacks, aplikasi berbasis web yang intuisif dengan visual tinggi yang ideal untuk mengorganisir tugas kelompok. Stacks di desain untuk memvisualisasikan beban kerja dengan menggunakan interface yang sangat simpel, tanpa mengorbankan detail yang dibutuhkan untuk menyelesaikan pekerjan, menyelesaikan masalah pembagian tugas dan menyeimbangkan beban kerja tanpa butuh gantt charts. 2. Judul :” PERANCANGAN KNOWLEDGE MANAGEMENT SYSTEM PADA IT BINA NUSANTARAMENGGUNAKAN BLOG, WIKI, FORUM DAN DOCUMENT”(2014) Ringkasan :“Knowledge Management System (KMS) di IT Bina Nusantara guna memfasilitas knowledge sharing dan knowledge management dashboard view untuk melihat perkembangan knowledge yang dicapai karyawan dalam KMS. Tingginya tingkat turnover menyebabkan terjadinya knowledge walkout. Knowledge yang ada tidak terstruktur dengan baik sehingga karyawan sering mengalami kesulitan dalam pencarian knowledge. Metode penelitian dilakukan dengan metode Software Development Life Cycle (SDLC) yaitu model Iterasi. Selanjutnya melakukan studi pustaka untuk mencari referensi yang berhubungan dengan permasalahan tersebut. Kemudian melakukan perancangan sistem berupa diagram UML, user interface dan database. Hasil yang dicapai berupa perancangan KMS yang dapat mendukung knowledge sharing antar karyawan IT BINUS. 29 Kesimpulan dari penelitian ini adalah knowledge yang tersebar dapat diidentifikasi, disimpan dan dimanfaatkan kembali. Melalui sistem ini, pendokumentasian knowledge menjadi lebih optimal sehingga dapat menjadi solusi pada saat terjadinya knowledge walkout. Ada bermacam-macam KM applications di dalam sistem, seperti Blog, Wiki, Forum, dan Document. 30