BAB 2 TINJAUAN PUSTAKA 2.1 Interaksi Manusia dan Komputer (IMK) 2.1.1 Lima Faktor Manusia Terukur Untuk merancang suatu sistem yang interaktif, diperlukan perancangan model yang memiliki sifat user friendly agar dapat berinteraksi dengan baik dalam penggunaannya. Menurut Shneiderman (2010, p32) ada lima kriteria yang harus dipenuhi, yaitu: 1. Waktu belajar Merancang antarmuka dengan memperhatikan kemudahan tampilan. Sehingga pengguna dapat beradaptasi dengan cepat dalam menggunakan aplikasi. 2. Kecepatan Kinerja Memperhatikan berapa lama waktu yang diperlukan oleh aplikasi untuk menyelesaikan suatu proses. 3. Tingkat Kesalahan Mengurangi kemungkinan kesalahan yang dilakukan oleh pengguna aplikasi. 4. Daya Ingat Merancang tampilan yang mudah diingat oleh pengguna sehingga tidak memerlukan waktu yang panjang untuk mempelajarinya lagi. 5. Kepuasan Subjektif Seberapa banyak kepuasan pengguna terhadap aspek-aspek yang terdapat pada aplikasi. 2.2 Database Menurut Connolly (2004, p14), database adalah kumpulan pembagian dari relasi data logical dan deskripsi penggambaran dari data, desain untuk mempertemukan kebutuhan informasi dalam organisasi. Database merupakan data tunggal yang besar yang dapat digunakan secara bersamaan oleh banyak pengguna. 7 8 2.3 Object Oriented Programming (OOP) Menurut Whitten Bentley (2007, p370) pendekatan berorientasi objek (OOP) untuk pemrograman memerlukan teknik untuk analisis dan desain berorientasi objek (OOD). Ada beberapa konsep penting dalam melakukan analisis pendekatan berorientasi objek, yaitu: 1. Objek, adalah sesuatu yang mampu dilihat, disentuh, atau sebaliknya dapat merasakan dan mengetahui data pengguna mana yang menyimpan perilaku rekannya. 2. Attribute, data yang mewakili karkteristik yang menarik tentang objek. 3. Object Instance, setiap bagian tertentu, tempat, benda, atau peristiwa, serta nilai-nilai untuk atribut objek itu. Terkadang disebut hanya sebagai objek. 4. Behaviour, kumpulan dari sesuatu hal yang objek dapt lakukan dan yang sesuai dengan bertindak sesuai fungsi bahwa pada data objek (atau atribut). Dalam berorientasi objek circle, perilaku suatu objek sering disebut sebagai metode, operasi, atau layanan. 5. Encapsulation, kumpulan dari beberapa item yang digabungkan menjadi satu. 2.4 Unified Modeling Language Menurut Pressman (2010, p841) Unified Modeling Language (UML) adalah bahasa standar untuk menulis perancangan aplikasi. UML dapat digunakan untuk menentukan, memvisualisasikan, membangun, dan membuat dokumen dari sebuah sistem software yang intensif. UML dibagi menjadi beberapa komponen, yakni : 1. Class Diagram Menurut Pressman (2010, p842)) class digram, termasuk atributnya, operasi, dan hubungan mereka dan asosiasi dengan kelas lain UML menyediakan diagram kelas. Diagram kelas menyediakan pandangan statis atau structural dari suatu sistem. Tidak menunjukkan sifat dinamis dari komunikasi antara objek kelas dalam diagram. Berikut merupakan contoh class diagram : 9 Gambar 2.1 Class Diagram Gambar 2.2 Notasi Class Diagram 10 2. Use case Diagram Menurut Pressman (2010, p847) sebuah use case menggambarkan bagaimana user berinteraksi dengan sistem dengan mendefinisikan langkah-langkah diperlukan untuk mencapai tujuan tertentu. Langkah pertama dalam menulis use case adalah menentukan "aktor" yang akan terlibat dalam cerita. Aktor adalah orang yang berbeda (atau perangkat) yang digunakan dalam sistem atau produk dalam konteks fungsi dan perilaku yang harus dijelaskan. Aktor mewakili peran orang bermain sebagai sistem beroperasi. Ditetapkan agak lebih formal, aktor adalah sesuatu yang berkomunikasi dengan sistem atau produk dan yang berada di luar sistem itu sendiri. Setiap aktor memiliki satu atau lebih tujuan saat menggunakan sistem. Seorang aktor dan pengguna akhir belum tentu mempunyai pikiran yang sama. Seorang pengguna biasa mungkin memainkan sejumlah peran yang berbeda saat menggunakan sistem, sedangkan seorang aktor merupakan kelas entitas eksternal yang berinteraksi dengan pengontrolan terhadap komputer. Terdapat empat aktor yang dapat didefinisikan yaitu programmer, monitor, dan troubleshooter. Berikut merupakan contoh use case diagram : 11 Gambar 2.3. Use case Diagram Tabel 2.1 Simbol Notasi Use case Diagram No 1 Simbol/Notasi Keterangan Actor Actor adalah sebuaj abstraksi dari user atau system lain yang berinteraksi dengan system . 2 Use case Use case adalah sebuah pola untuk interaksi antra system dan actor dalam application domain. Sebuah use case menentukan kegunaan dari bagian system secara terbatas. Use case yang lengkap dapat menentukan semua kegunaan dari suatu system. 12 Tabel 2.1 Tabel Simbol Notasi Use case Diagram 3 Relation Relasi adalah suatu hubungan yang digambarkan dengan garis lurus antara actor dan use case/system. 4 Use case group Kelompok use case adalah batasan dari suatu sustem yang mengandung use case yang berkaitan dengan system tersebut. 3. Sequence Diagram Menurut Pressman (2010, p848) sequence diagram digunakan untuk menunjukkan komunikasi yang dinamis antara objek selama mengeksekusi perintah. Ini menunjkkan penawaran sementara di mana pesan yang dikirim antara objek untuk menyelesaikan tugas tersebut. Berikut merupakan contoh sequence diagram : Gambar 2.4 Sequence Diagram 13 Gambar 2.5. Notasi Pada Sequence Diagram 4. Activity Diagram Menurut Pressman (2010, p853) activity diagram menggambarkan perilaku dinamis dari suatu sistem atau bagian dari sistem melalui alran control antara tindakan bahwa sistem melakukan. Hal ini mirip dengan 14 flowchart kecuali bahwa suatu diagram aktivitas dapat menunjukkan mengalir bersamaan. Berikut merupakan contoh activity diagram : Gambar 2.6 Activity Diagram Gambar 2.7 Simbol Pada Activity Diagram 15 2.5 Flowchart Menurut Anharku (2009, p.1), flowchart adalah penyajian yang sistematis tentang proses dan logika dari kegiatan penanganan informasi atau penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Gambar 2.8. Contoh Flowchart 16 Gambar 2.9. Notasi Pada Flowchart 17 2.6 Metode Pengembangan Sistem dengan Waterfall Gambar 2.10 Metode Waterfall Menurut Roger S. Pressman (2010, p39), Model waterfall (Gambar 2.1) adalah model yang menggunakan pendekatan yang sistematis dan berurutan untuk mengembangkan software yang dimulai dari communication, planning, modeling, construction, dan deployment. 1. Communication Terdiri dari project initiation dan requirement gathering. Merupakan tahapan pengumpulan kebutuhan yang dilakukan secara intensif dan fokus terutama kepada software. 2. Planning Terdiri dari estimation, scheduling, dan tracking. Pada tahap ini, pengembangan software membuat perkiraan waktu yang diperlukan. Pada tahap ini juga dilakukan penjadwalan untuk menyelesaikan tahap-tahap pembuatan software sesuai dengan waktu yang telah diperkirakan. 3. Modeling Terdiri dari analysis dan design. Pada saat mendesain software, biasanya memiliki beberapa proses yang memfokus pada empat atribut bagian dari program. Atribut tersebut adalah struktur data, arsitektur software, representasi interface, dan detail algoritma. Proses desain mengubah kebutuhan menjadi representasi dari software yang dapat dinilai untuk kualitas sebelum penulisan code dimulai. 4. Construction Terdiri dari code dan test. Pada tahap ini, desain diterjemahkan menjadi bentuk yang dapat dibaca oleh mesin. Setelah penulisan code selesai dibuat, pengujian terhadap program dilakukan. Proses pengujian 18 menekankan pada logika internal pada software, meyakinkan semua pernyataan telah diuji, dan pada fungsi external. 5. Deployment Terdiri dari delivery, support, dan feedback. Pada tahap ini, pengembang software menyediakan software yang menyediakan fungsi dan fitur yang bermanfaat. Pengembang software juga menyediakan dokumentasi untuk semua fitur dan fungsi. Pada tahap ini juga, pengembang software mendapatkan umpan balik terhadap software yang berujung pada pemodifikasian fungsi dan fitur. Ada beberapa keuntungan dari metode waterfall,yaitu: - Aplikasi tersebut akan menghasilkan kualitas yang baik, karena pelaksanaannya secara bertahap - Dokumen pengembangan sistem sangat terorganisir karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. - Metode ini simpel, mudah dimengerti, dan digunakan. 2.7 URL Menurut Vermaat (2005, p76), halaman web memiliki alamat yang unik, yang disebut URL (Uniform Resource Locator) atau alamat web. Misalnya halaman utama untuk situs Web Eastman Kodak Company memiliki alamat web dari http://www.kodak.com. web browser mengambil halaman Web, seperti halaman rumah kodak, menggunakan alamat web-nya. Banyak perusahaan dan organisasi menggunakan Web sebagai alternatif atau sarana tambahan iklan atau publikasi informasi. Mereka menganggap masyarakat akrab dengan Alamat Web. Televisi, siaran radio, cetak surat kabar, dan majalah, misalnya sering merujuk pemirsa atau pembaca ke alamat web untuk informasi tambahan. 19 2.8 Plug-in Menurut Gery B. Shelly dan Misty E. Vermaat (2005, p89), Plug-in atau biasa disebut juga dengan add-on merupakan program yang memperluas kemampuan browser. Banyank browser yang memiliki kemampuan menampilkan elemen multimedia dasar pada halaman web. Mungkin browser memerlukan program tambahan, seperti program yang ada di plug-in. Terdapat banyak jenis plug-in, seperti menambahkan tema atau dekorasi pada browser yang ada agar terlihat lebih menarik, atau menambahkan sistem keamanan pada browser yang digunakan. 2.9 Black-box Testing Menurut Roger S. Pressman (2010, p495), diungkapkan bahwa pengujian black-box, juga disebut pengujian perilaku, berfokus pada persyaratan fungsional perangkat lunak. Artinya, teknik pengujian black-box memungkinkan Anda untuk mendapatkan set kondisi input yang sepenuhnya akan melaksanakan semua persyaratan fungsional untuk suatu program. Pengujian black-box bukan merupakan alternatif untuk teknik white-box. Sebaliknya, itu adalah pendekatan komplementer yang kemungkinan akan mengungkap kelas yang berbeda dari kesalahan bahwa metode white-box. 2.10 Software Architecture Menurut Roger S.Pressman (2010, p223 & p243) arsitektur perangkat lunak menyinggung struktur keseluruhan perangkat lunak dan cara dimana struktur menyediakan integritas konseptual bagi sebuah sistem. dalam bentuk yang paling sederhana, arsitektur adalah struktur atau organisasi komponen program (modul), cara di mana komponen ini berinteraksi, dan struktur data yang digunakan oleh komponen. Dalam arti yang lebih luas, namun, komponen dapat digeneralisasi untuk mewakili unsur-unsur sistem utama dan interaksi mereka. Salah satu tujuan dari desain perangkat lunak adalah untuk mendapatkan sebuah render arsitektur sistem. Render ini berfungsi sebagai kerangka dari mana kegiatan desain yang lebih rinci dilakukan. Satu set pola arsitektur memungkinkan seorang insinyur perangkat lunak untuk memecahkan masalah desain umum. 20 2.11 Bahasa Pemrograman yang Digunakan 2.11.1 JavaScript Menurut Gery B. Shelly dan Misty E (2005, p681) JavaScript adalah bahasa ditafsirkan yang memungkinkan programmer untuk menambahkan konten dinamis dan elemen interaktif ke halaman Web. Unsur-unsur ini meliputi pesan peringatan, teks bergulir, animasi, menu drop-down, bentuk input data, jendela pop-up, dan kuis interaktif. Pengembang halaman web menyisipkan kode JavaScipt langsung ke docoment HTML. JavaScript merupakan hasil kombinasi antara Sun Microsystems dan Netscape Communications Corporation. Saat ini, banyak perusahaan perangkat lunak mendukung JavaScript. Program ini adalah bahasa terbuka, yakni berbagai macam kalangan dapat menggunakannya tanpa membeli lisensi. JavaScript memungkinkan programmer untuk memperbaiki penampilan halaman web tanpa menghabiskan sejumlah besar uang. Menurut Jon Duckett (2010, p482), JavaScript tidak sama dengan Java, yang menonjol sedikit mengenai perbedaannya ialah bahasa pemrograman. JavaScript terdapat pada halaman atau dalam file script eksternal (bukan seperti CSS). Untuk bekerja di browser, browser harus mengaktifkan JavaScript. Beberapa kelebihan mengenai JavaSript : - Didesain untuk menambah interaktif suatu web - Merupakan bahasa scripting - Bahasa scripting merupakan bahasa pemrograman yang ringan - Berisi baris kode yang dijalankan di komputer (web browser) - Biasanya disisipkan dalam halaman HTML - Bahasa interpreter yang berarti skript diesekusi tanpa proses kompilasi - Setiap orang dapat menggunakan JavaScript tanpa membayar lisensi. 21 2.11.2 CSS Menurut Beginning HTML, XHTML, CSS, and JavaScript (2010), Jon Duckett, Pengertian CSS (Cascading Style Sheet) adalah sebuah dokumen yang berdiri sendiri yang dapat menghubungkan aturan dengan unsur-unsur yang muncul di halaman web. Aturan ini mengatur bagaimana isi dari elemen-elemen yang akan ditampilkan, harus ditata agar terlihat lebih menarik. Sama halnya styles dalam aplikasi pengolahan kata seperti Microsoft Word yang dapat mengatur beberapa style, misalnya heading, subbab, bodytext, footer, images, dan style lainnya untuk dapat digunakan bersama-sama dalam beberapa berkas (file). Pada umumnya CSS dipakai untuk memformat tampilan halaman web yang dibuat dengan bahasa HTML dan XHTML CSS dapat mengendalikan ukuran gambar, warna bagian tubuh pada teks, warna tabel, ukuran border, warna border, warnahyperlink, warna mouse over, spasi antar paragraf, spasi antar teks, margin kiri, kanan, atas, bawah, dan parameter lainnya. CSS adalah bahasa style sheet yang digunakan untuk mengatur tampilan dokumen Dengan adanya CSS memungkinkan kita untuk menampilkan halaman yang sama dengan format yang berbeda. 2.11.3 Software Development Kit (SDK) Menurut Canuckistani (2014), SDK merupakan aplikasi piranti lunak yang digunakan untuk mengembangkan atau membuat aplikasi seperti software framework, hardware platform, sistem komputer, konsol video game, sistem operasi atau platform sejenis lainnya. SDK mencakup mulai dari pemrograman sederhana seperti sebuah Application Programming Interface (API), sampai dengan pemrograman yang lebih rumit dengan hardware yang canggih atau pada sistem embedded termasuk perangkat mobile. 22 2.11.4 JSON Menurut data berdasarkan http://www.json.org/json-id.html, (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data. JSON terbuat dari dua struktur: Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence). Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini. 2.12 State of The Art Jurnal yang berjudul “Pengembangan Browser Untuk Anak dengan Pemblokiran Akses Pada Situs Porno Menggunakan Metode Regular Expression” yang dibuat oleh Doni Rizki Ariandi dan Ratih Belmarthasari (2012), menghasilkan browser bernama kid-Z yang dirancang khusus bagi anak-anak. Browser kid-Z 23 memiliki fungsi dapat memblokir halaman-halaman website yang telah ditentukan, dan juga dapat menambahkan daftar kata yang diblokir. Jurnal yang berjudul “Method and system for blocking phishing scams” yang dibuat oleh Reuben Berman (2007), berisikan tentang pemblokiran terhadap websitewebsite palsu yang meminta data-data user yang membuka website tersebut. Teknik pemblokiran yang digunakan yaitu : mengambil setiap url yang masuk, kemudian URL tersebut akan diperiksa ke dalam database, jika URL tersebut ada dalam database maka system akan melempar ke halaman Phishing message dan jika URL tidak ada dalam database maka sistem akan langsung masuk ke dalam URL tersebut. Journal yang berjudul “Content-indexing search system and method providing search results consistent with content filtering and blocking policies implemented in a blocking engine” yang dibuat oleh Leonardo C. Massarani (2002), berisikan tentang pembuatan search engine internal yang berfungsi melakukan pemblokiran atau tidak pada kata yang dimasukan ke dalam search engine internal. Cara kerjanya adalah dengan membuat search engine internal yang bertugas mengambil data pertama kali dan kemudian data tersebut akan diperiksa, apakah data tersebut terdapat pada database search engine internal atau tidak ada. Jika data tersebut ada dalam database search engine internal maka akan dilempar ke halaman blocking, jika data tidak ada pada database search engine internal maka system akan mengirim data ke dalam search engine external/internet dan menampilkan data yang dimasukkan. 24