BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Pengertian Internet Menurut Turban (2005, p50), internet adalah sistem jaringan komputer dari banyak jaringan yang meliputi seluruh dunia. Internet bersifat publik, kooperatif, dan mandiri yang menfasilitasi akses ke ratusan atau jutaan manusia seluruh dunia. 2.1.1.1 Sejarah Internet Sejarah internet dimulai pada tahun 1969 ketika Departemen Pertahanan Amerika, U.S. DARPA ( Defense Advanced Research Project Agency ) memutuskan untuk mengadakan riset tentang bagaimana caranya menghubungkan sejumlah komputer sehingga membentuk jaringan. Riset ini dikenal dengan nama ARPANET pada tahun 1970. Tahun 1972, Roy Tomlinson berhasil menyempurnakan program email yang ia ciptakan setahun yang lalu untuk ARPANET. Pada 1979, Tom Truscott, Jim Ellis dan Steve Bellovin, menciptakan newsgroup pertama yang diberi nama USENET. Tahun 1981 France Telecom menciptakan gebrakan dengan meluncurkan telepon televisi pertama, dimana orang bisa saling menelepon sambil berhubungan dengan video link. 8 9 Karena komputer yang membentuk jaringan semakin hari semakin banyak, maka pada tahun 1982 dibentuk TCP ( Transmission Control Protocol ) dan IP ( Internet Protocol ) yang kita kenal semua. Untuk menyeragamkan alamat di jaringan komputer yang ada, maka pada tahun 1984 diperkenalkan sistem nama domain, yang kini kita kenal dengan DNS ( Domain Name Sistem ). Tahun 1988, Jarko Oikarinen dari Finland menemukan dan sekaligus memperkenalkan IRC ( Internet Relay Chat ). Tahun 1990 adalah tahun yang paling bersejarah, ketika Tim Berners Lee menemukan program editor dan browser yang bisa menjelajah antara satu komputer dengan komputer yang lainya. Pada tahun 1994, situs internet telah tumbuh menjadi 3000 alamat halaman, dan untuk pertama kalinya Virtual-Shopping atau email muncul di internet. 2.1.2 World Wide Web ( WWW ) Menurut Turban (2005, p50), World Wide Web adalah aplikasi yang digunakan dalam internet yang berfungsi sebagai transportasi data yang diterima sebagai standar untuk menyimpan, menerima, merubah, dan menampilkan informasi melalui client-server architecture. Informasi yang dikirimkan dapat berupa teks, suara, animasi, dan gambar yang dapat diakses melalui sebuah software yang disebut browser ; seperti mozilla firefox, internet explorer, opera. 10 2.1.3 Analisis dan Perancangan Sistem 2.1.3.1 Pengertian Analisis Menurut Laudon (2007, p128), analisis sistem adalah memeriksa masalah yang ada yang akan diselesaikan oleh perusahaan dengan menggunakan sistem informasi. Analisis sistem mencakup beberapa langkah yang harus dilakukan, yaitu : 1. Menentukan masalah. 2. Mengidentifikasi penyebab dari masalah tersebut. 3. Menentukan pemecahan masalahnya. 4. Mengidentifikasi kebutuhan informasi yang dibutuhkan untuk memecahkan masalah tersebut. 2.1.3.2 Pengertian Perancangan Menurut Lonnie D.Bentley dan Jeffrey L. Whitten (2007, p160), perancangan sistem adalah suatu teknik menggabungkan kembali bagianbagian informasi yang telah dipisahkan oleh analisis sistem. 11 2.1.4 Interaksi Manusia dan Komputer ( IMK ) Menurut Shneiderman (2011, p88), IMK adalah ilmu yang mempelajari bagaimana berinteraksi antara manusia dengan seperangkat komputer dan pengaruh komputer dalam pengembanganya untuk berinteraksi dengan manusia. Interaksi manusia dengan komputer memiliki 8 aturan emas diantaranya : 1. Berusaha konsisten. Konsistensi dilakukan pada urutan tindakan, perintah. 2. Menyediakan kebutuhan Universal. Penyesuaian perbedaan kebutuhan dari berbagai user. 3. Memberikan umpan balik informatif. Setiap tindakan user, sebaiknya sistem umpan balik yang sederhana. 4. Merancang dialog yang memberikan penutupan. Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dari bagian awal, tengah, sampai akhir. 5. Memberikan pencengahan dan penanganan kesalahan yang sederhana. Sistem yang dirancang agar pengguna tidak melakukan fatal. Jika kesalahan terjadi, sistem memberikan mekanisme yang sederahana. 6. Mudah untuk kembali ke tindakan sebelumnya. Hal ini dapat mengurangi kekhawatiran pengguna karena mengetahui kesalahan yang dilakukan dapat dibatalkan. 7. Mendukung pusat kendali internal User adalah pengontrol sistem dan sistem akan merespon tindakan. 8. Mengurangi beban ingatan jangka pendek Interface sebaiknya dibuat dengan tampilan yang sederhana. 12 2.1.5 Website Menurut Mooduto dan Hidayat (2009, p2) website adalah keseluruhan halaman-halaman web yang terdapat dalam sebuah domain yang mengandung informasi. Hubungan antara satu halaman web dengan halaman web lainnya disebut hyperlink. Sedangkan teks yang dijadikan media penghubung disebut hypertext. Menurut Mooduto dan Hidayat (2009, p3) jenis-jenis web berdasarkan sifatnya yaitu : Website dinamis, sebuah website yang menyediakan konten atau isi yang selalu berubah-ubah setiap saat. Website statis, website yang kontennya sangat jarang diubah. Jenis website berdasarkan bahasa pemrograman yang digunakan : Server side, merupakan sebuah website yang menggunakan bahasa pemrograman yang tergantung kepada server yang tersedia. Contoh, PHP, ASP dan lain sebagainya. Client side, website yang tidak membutuhkan server dalam menjalankannya. Cukup diakses melalui browser saja. Contohnya seperti HTML. 13 2.1.6 Basis Data Menurut Connolly (2010, p15) basis data adalah sekumpulan data yang terhubung satu sama lain secara logika dan suatu deskripsi data yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Keuntungan basis data yaitu: • Kemampuan menggunakan data yang sama dibanyak aplikasi. • Penyimpanan data dalam format yang fleksibel. • Teknologi basis data yang menggunakannya dapat ditingkatkan. • Mengurangi redudansi data. 2.1.7 Unfied Modeling Languange ( UML ) The Unified Modeling language (UML) adalah sebuah bahasa visual yang menyediakan sebuah cara untuk orang yang menganalisa dan mendesain Object-oriented sistem untuk divisualisasikan dan dibangun untuk memodelkan organisasi bisnis yang menggunakan sistem (Bennett, 2005, p28). UML terdiri dari berbagai tipe diagram, antara lain: A. Use Case Diagram Menurut Bennett (2005, p20), Use Case Diagram menunjukan use cases dan actors serta asosiasi diantara mereka. Ada dua alat utama yang digunakan saat menyajikan use case. Pertama adalah use case diagram menggambarkan sistem sebagai sebuah kumpulan use case, pelaku, dan hubungan keduanya. 14 Kedua adalah menjelaskan lingkup kejadian bisnis dan bagaimana pengguna dapat berinteraksi dengan sistem digambarkan, ini dinamakan use case narrative. Gambar 2.1 Use Case Diagram B. Class Diagram Menurut Bennett (2005, p44) Class Diagram digunakan sepanjang proses development. Class Diagram menunjukkan struktur statik yang menyusun sebuah sistem. Struktur statik kelas termasuk kelas kepentingan mereka sendiri dan fitur dari kelas tersebut yaitu attribute dan operations serta relasi diantara mereka. Notasi hubungan antar kelas terbagi atas: 1. Exactly 1 (1 atau biarkan kosong) 2. Zero atau 1 (0..1) 3. Zero or more (0..* atau *) 4. 1 or more (1..*) 5. Specific range (?..?) 15 Gambar 2.2 Class Diagram Dua komponen penting lainnya adalah dalam membuat dan menamai suatu class diagram sebelah kiri object dan sebelah kanan nama class. C. Activity Diagram (Bennett, 2005, p234), Sebagai sebuah alat analisis acticity diagram dapat mendeskripsikan proses bisnis dalam detail level yang bervariasi. State dari acticity diagram digambarkan dengan kotak berakhiran bundar yang berisi deskripsi dari aktivitas yang ada. Transisi lengkap digambarkan dengan anak panah. Belah ketupat (diamond) yang mempunyai banyak anak panah sebagai petunjuk akhir. Gambar 2.3 Activity Diagram 16 Notasi Activity Diagram: 1) Activities Sebuah alur proses. 2) Actions Sebuah unit kerja yang harus diselesaikan. 3) Activity Initial, Activity Final Node Point masuk pada aliran didalam sebuah activity. 4) Activity Edges Mengindikasikan pergerakan diantara actions dan objects. 5) Decision Nodes Sebuah point dalam sebuah alur proses dimana sebuah action dapat pergi ke arah alternatif, tergantung dari sebuah kondisi. 6) Activity Partitions Mengindikasikan dimana sebuah action berjalan. D. Sequence Diagram (Bennett, 2005, p246) Sequence diagram digambarkan sebagai interaksi dari 2 grafik dimensional. Dimensi vertikal merupakan sumbu waktu, yang berjalan main kebawah. Dimensi horizontal menggambarkan peranan classifier yang menampilkan objek individual didalam kolaborasi. Tiap peranan classifier digambarkan dengan kolom vertikal sebagai lifeline. 17 Gambar 2.4 Sequence Diagram Notasi actor yang digunakan dalam sequence diagram: 1. Actor berupa aktor yang memulai pada usecase. 2. Sistem berupa kotak yang menunjukkan sistem sedang berjalan. 3. Lifelines berupa garis putus-putus menurun dari simbol aktor dan sistem. 4. Activation bars berupa balok yang terletak diatas lifeline, menunjukan periode waktu ketika terdapat interaksi secara aktif. 5. Input message berupa anak panah mendatar dari aktor ke sistem yang menunjukan pesan masuk. 6. Output message berupa anak panah mendatar dengan garis putusputus dari sistem ke aktor yang menunjukan pesan keluar. 7. Receive aktor berupa aktor lain yang menerima pesan dari sistem. 8. Frame berupa kotak yang menambahkan pesan terpisah untuk menunjukan perulangan, alternatif atau pilihan. 18 2.1.8 Model Process Software Menurut Pressmann (2010, p78), Model sekuensial Linear yang terkenal dengan nama “Waterfall Model”. Gambar 2.5 Waterfall Model Model ini melingkupi aktivitas-aktivitas sebagai berikut: 1. Komunikasi Tahapan apa saja yang dibutuhkan dalam membut aplikasi ini. 2. Planning Tahapan memperkirakan berapa lama waktu pengerjaan suatu project dan memberi batasan waktu untuk setiap langkah-langkah. 3. Modelling Tahapan mendesain prototype yang akan di buat serta apa saja yang akan dibutuhkan. 4. Construction Tahapan membuat aplikasi yang akan dibuat. 5. Deployment Perangkat lunak harus disesuaikan untuk mengakomodasikan perubahan-perubahan didalam lingkungan eksternalnya. 19 2.1.9 Entity Relationship Diagram (ERD) Menurut Connolly (2010, p354) ERD adalah penggambaran dari sebuah kebutuhan penyimpan data dengan cara kerja dari suatu perusahaan. ERD digunakan untuk mengidentifikasi data yang disimpan, diolah dan diubah untuk mendukung aktifitas bisnis suatu organisasi. Gambar 2.6 Entity Relationship Diagram (ERD) 20 2.2 Teori Khusus 2.2.1 PHP Menurut Agus Saputra (2011, p1) kepanjangan PHP Hypertext Preprocessor merupakan suatu bahasa pemorgraman yang difungsikan untuk membangun suatu web dinamis. PHP menyatu dengan kode HTML. HTML difungsikan sebagai pembangun kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya sehingga, web jadi sangat mudah di Maintance. PHP berjalan pada sisi server sehingga PHP disebut juga sebagai bahasa Server Side Scripting, artinya bahwa dalam setiap/untuk menjalankan PHP, wajib adanya web server. 2.2.1.1 Keunggulan PHP Ada beberapa alasan yang menjadi dasar pertimbangan mengapa menggunakan PHP. 1. Mudah di pelajari. 2. Mampu lintas Platform. 3. Free, Bersifat open source. 4. PHP memiliki tingkat akses yang cepat. 5. PHP mendukung beberapa database, baik yang gratis maupun yang berbayar, seperti MySQL. 21 2.2.2 E-learning Pembelajaran elektronik atau E-Learning telah dimulai pada tahun 1970an. E-Learning adalah tipe pembelajaran dimana pembelajaran tersebut menggunakan media elektronik (Husna dan Wahyuni, 2008). Sebenarnya E-Learning tidak harus didistribusikan secara online baik melalui jaringan lokal maupun internet, distribusi secara offline menggunakan media CD/DVD pun termasuk pola E-Learning. Adapun beberapa keuntungan menggunakan E-Learning : 1. Hemat Biaya dan Waktu Biaya disini bisa hitung mulai dari tranportasi serta ditambah biaya belajar. Begitu juga waktu, mulai dari perjalanan untuk menempuh lokasi belajar. 2. Tidak terbatas Ruang dan Waktu E-learning menghapus ruang dan waktu, biasanya siswa untuk belajar harus harus ada bangunan fisik tempat meraka belajar dan diatur pada waktu tertentu. 3. Standardisasi Materi Dengan E-Learning standaridisasi materi sudah jelas, bahkan murid bisa mendapatkan materi secara update. 4. Otomastisasi administrasi E-Learning yang bagus, semua serba teratur dan terarah. 22 2.2.3 Proses Belajar Mengajar Belajar pada hakikatnya merupakan kegiatan yang dilakukan secara sadar untuk menghasilkan suatu perubahan, menyangkut pengetahuan, sikap, dan nilai – nilai. Menurut Hamzah (2009, p 54). Menurut Hamzah (2009, p 54) sesuai dengan 4 pilar UNESCO bahwa dalam proses pembelajaran diperlukan : a. Learning to know : Peserta didik dapat memahami bagaimana suatu pengetahuan dapat diperoleh dalam lingkungannya. b. Learning to do : Peserta didik menghayati proses dengan melakukan sesuatu yang bermakna. c. Learning to be : Proses pembelajaran yang memungkinan lahirnya manusia terdidik yang mandiri. d. Learning to life together : Pendekatan menemukan dan pendekatan menyelidik akan peserta menemukan kebahagiaan dalam belajar. 2.2.4 MySQL Menurut Welling dan Thompson (2008, p3-4) MySQL berarti sebuah sistem manajemen hubungan antar basis data yang sangat cepat dan sempurna. MySQL merupakan alat bantu untuk manipulasi basis data, sehingga basis data dapat dengan mudah diisi, diambil, disusun, dan diubah datanya. 23 Beberapa kelebihan MySQL, dibandingkan dengan sistem basis data sejenis seperti Microsoft SQL Server, Oracle. • Kemampuan tinggi. • Tidak membutuhkan biaya untuk mendapatkan MySQL. • Mudah untuk konfigurasi dan dipelajari. • Dapat dijalankan pada beberapa sistem operasi seperti sistem Unix dan Microsoft Windows. 2.2.5 Code Igniter Menurut supono (2010), CodeIgniter adalah aplikasi open source yang berupa framework dengan model MVC untuk membangun website dinamis dengan menggunakan PHP. Framework adalah kumpulan dari fungsi dan class untuk tujuan tertentu yang mempermudah dan mempercepat pekerjaan seorang programmer. Ada beberapa alasan mengapa menggunakan framework : 1. Mempercepat dan mempermudah pembangunan sebuah aplikasi web. 2. Relatif memudahkan dalam proses maintenance. 3. framework menyediakan fasilitas-fasilitas yang umum dipakai. 4. Lebih bebas dalam pengembangan dibanding CMS 24 Ada beberapa kelebihan CodeIgniter : 1. Performa sangat cepat. karena eksekusinya yang lebih lambat daripada CodeIgniter. 2. Konfigurasi sangat minim. melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php, namun anda hanya perlu merubah sedikit saja file pada folder config. 3. Banyak komunitas. Dengan banyaknya komunitas CodeIgniter ini, memudahkan kita untuk beriteraksi dengan yang lain. 4. Dokumentasi yang sangat lengkap. Setiap paket instalasi CodeIgniter sudah disertai user guide yang sangat bagus dan lengkap. 2.2.6 Model View Controller (MVC) MVC merupakan sebuah design partner yang saat ini banyak diimplementasikan pada pembuatan aplikasi berbasis web. Gambar 2.7 Model View Controller 25 Pada MVC terdapat 3 komponen utama, yaitu: 1) Model Menurut Freeman dan Sanderson (2011, p64), Model merupakan representasi dari data-data yang digunakan didalam aplikasi. 2) View Menurut Freeman dan Sanderson (2011, p64), View yang berguna untuk menampilkan sebagian dari model ke pengguna website. 3) Controller Menurut Freeman dan Sanderson (2011, p64), Controller untuk memproses request dari pengguna web, melakukan operasi pada model, dan memilih view mana yang akan ditampilkan ke pengguna website.