Assalamu’alaikum Wr.Wb.
Puji dan syukur penulis panjatkan kehadirat Allah SWT, atas rahmat dan
karunia-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul
“Pembangunan Backend untuk Aplikasi Pengawasan Penggunaan Internet Anak
“Dodo Kids Browser” dengan Teknologi Microsoft Azure” sebagai syarat untuk
menyelesaikan Program Studi Strata I Teknik Informatika Fakultas Teknik dan
Ilmu Komputer Universitas Komputer Indonesia.
Penyusunan skripsi ini tidak akan terwujud tanpa mendapat dukungan,
bantuan dan masukan dari berbagai pihak. Untuk itu, penulis ingin menyampaikan
terimakasih yang sebesar-besarnya kepada:
1.
Allah SWT atas bantuan dan izin-Nya skripsi ini bisa terselesaikan.
2.
Keluarga yang telah mendukung dalam penelitian ini, khususnya mamah
(Suki Tri Ambarwati), papah (Totong Mulyana), dan adik saya (Widhi
Wirawan Dwi Cahya).
3.
Bapak Adam Mukharil Bachtiar, S.Kom., M.T. selaku dosen pembimbing
yang telah mengarahkan, memberikan masukan, dan membantu baik dalam
proses bimbingan, seminar ataupun sidang dalam skripsi ini dan juga
sebagai ketua Divisi CodeLabs yang telah membina saya menjadi seperti
saat ini.
4.
Ibu Prof. Dr. Hj. Umi Narimawati, Dra., SE., M.Si, Bapak DR. Yusrila Y.
Kerlooza, Bapak Irawan Afrianto, M.T. dan dosen Teknik Informatika
UNIKOM yang telah hadir ketika seminar terbuka dan ikut memberikan
masukan pada skripsi ini.
5.
Ibu Kania Evita Dewi, S.Pd., M.Si yang telah menjadi dosen wali selama
perkuliahan.
6.
Teman-teman seperjuangan di IF-9 2011 terutama yang juga merupakan
Purwandi, Firdaus Akhmad Muttaqin, Irfan Irawan Sukirman, Muhammad
Iqbal Tawaqal, Hermina Nur Karimah, Argi Sugiyarsa, Renata Kurniawan,
Bisma Abdurachman Tauhid dan Nizar Assegaf juga teman-teman lainnya
baik yang sedang mengambil skripsi dan akan mengambil skripsi untuk
tetap semangat dalam menyelesaikan skripsinya.
7.
Teman-teman seperjuangan bimbingan Bapak Adam Mukharil Bachtiar,
S.Kom., M.T. yang setiap minggunya memperjuangkan penelitiannya
masing-masing.
8.
Teman anggota kelompok yang berada di luar IF-9 2011, yaitu Boby Indra
Pratama, Henra Setia Nugraha, Agus Suhendra, Handika, dan lainnya yang
ikut berjuang selama perkuliahan.
9.
Teman seperjuangan di Divisi CodeLabs baik yang senior ataupun yang
junior.
10.
Beserta pihak-pihak lain yang tidak bisa disebutkan satu persatu yang telah
memberikan bantuan dan dukungannya.
Mohon maaf apabila terdapat kekurangan yang ada dalam skripsi ini, baik
pada isi, maupun pada pengetikan, karena skripsi ini masih jauh dari kata sempurna.
Akhir kata, semoga skripsi ini dapat berguna dan bermanfaat bagi mahasiswa atau
pihak lain.
Wassalamu’alaikum Wr.Wb.
Bandung, 19 Agustus 2015
DEVELOPMENT OF BACKEND FOR KIDS INTERNET USAGE
MONITORING APPLICATION
“DODO KIDS BROWSER”
WITH
MICROSOFT AZURE TECHNOLOGY
Adi Gumelar1, Adam Mukharil Bachtiar2
1,2Teknik Informatika – Universitas Komputer Indonesia
Jl. Dipatiukur No. 102-116, Bandung 40132
E-mail : gumelar.adi@gmail.com1, adammb@outlook.com2
ABSTRACT
Not all useful information on the Internet, especially for children, so it is very worrying for parents. Dodo Kids Browser help parents in monitoring the activities of children when using the internet. In use, these applications must be able to manage data such as data of parents, children search data, until must be able to manage the connections and data transfer. Backend Dodo Kids Browser is a software built using Microsoft Azure technology and Boyer-Moore algorithm to overcome it. This software will manage the data received from each platform Dodo Kids Browser application. In addition to managing the data, this software is also a bridge of interaction performed on the side of parents to child with helping send the data notification to Dodo Kids Browser application platform.
Based on the results of functional testing can be concluded that the software Backend Dodo Kids Browser has been able to help Dodo Kids Browser applications to manage data and determine a good word for the children when using these applications to access internet. Advice can be given is the addition of storage so that this software can accommodate more user data and optimization system that includes notification, data transfer, and presenting data. Keywords : Backend, Microsoft Azure, Boyer-Moore, Dodo Kids Browser.
1.
INTRODUCTION
In this section will be presented the background of the problem, purpose and objectives, and the basic theory.
1.1 Background of The Problem
Technological developments, especially that includes search information on the Internet is very easy for people in all professions and ages so indirectly any information on the internet evolved. Reporting from the BBC's online news site says that at the end of 2015 is estimated at about 3.2 billion people will be connected to the Internet and about 2 billion of whom live in developing countries. [1]
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
46Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
on an Internet browser such as Google Chrome. To be able to run well, both these applications must be able to manage a large enough data such as user data or parents and the data word is entered by children when accessing the Internet. In addition, these applications must have a good response when in use so it needs connection management and data transfer for an application platform Dodo Kids Browser.
Based on the problems that have been describe, then built a backend software that can help both the application platform in the form of managing the data enter the word / phrase, user information, and the interaction of action to mobile devices and browser extensions. This backend application is in the form of a web service application built using Microsoft technology are Microsoft Azure. In addition, in order to further optimize the application when determining a inserted word good or bad for the child, then this software is implemented a word matching algorithm (string) is the Boyer-Moore algorithm.
1.2 Purpose and Objectives
Purpose of this research to build the backend application "Dodo Kids Browser" and objectives of this research is as follows:
1. Assist application in managing the data enter of word / phrase.
2. Assist the admin application to manage user data, in this case the data parents.
3. Assist application to manage the connection and data transfer from / to mobile devices and browser extensions.
1.3 Microsoft Azure
Microsoft Windows Azure is a cloud computing technology which was developed by Microsoft. By using Windows Azure, developers can create Web applications, as data storage application, as a connection bridge between platforms, and so on. Here are the components contained in Windows Azure:
1. Cloud Applications 2. Data Management 3. Networking
4. Identity and Access Control 5. Messaging and Integration
By using Microsoft Azure technology, obtained some advantages are:
1. The developer simply making software / systems because Microsoft would protect the system, including if it will be the renewal or backup data.
2. Easy to increase the amount of data storage capacity.
3. Integrated with Microsoft Visual Studio. 4. The existence of such management on the
Application Server is used. [4]
1.4 Web Service
Web Service is a software designed to support interoperability between machine interaction over a network either aggregation (gathering) and syndication (unification). Web Service serve the data integration and collaboration of information that can be accessed via the Internet by users with proprietary technologies. The calling web service can be done by any programming language and any platform. Here are the advantages of web Service:
1. Cross-platform. 2. Language Independent.
3. The bridge connecting to the database without the need for a database driver and does not have to know the type of DBMS used. 4. Simplify the process of data exchange. 5. The reuse of application components.
In the process, the web service knows two methods oriented services and information resources, namely the method of SOAP (Simple Object Access Protocol) with the service process has three main components, namely:
1. Service Provider 2. Service Requester 3. Service Broker
As well as supporting components, namely: 1. XML.
2. SOAP-XML (consisting of header and body). 3. WSDL.
4. UDDI.
And the method REST (REpresentational State Transfer) based on the four main principles of technology, namely:
1. Resource identifier through the Uniform Resource Identifier (URI).
2. Uniform Interface, namely resource CRUD operations using PUT, GET, POST, and DELETE.
3. Self-descriptive messages, that resources are not tied so that they can access the content HTML, XML, PDF, JPEG, plain text, meta data, and more.
4. Stateful interactions through hyperlinks. Methods of REST is simpler because it uses a standard format (HTTP, HTML, XML, URI, MIME), and if necessary to the process of data exchange, content is the result of the execution of a web service can be processed in text format (XML or HTML) by using utility data communication in the form of a socket connection available on the HTTP protocol communication library programming language. [5]
JavaScript programming language, Standard ECMA-262 3rd Edition - December 1999.
JSON structure and shape consists of:
1. Object (name / value pairs that are not sorted). In the object there is the opening curly brace for the start and end by closing curly braces ({}), is contained within the curly braces name followed by a colon (:) and each name / value pairs separated by a comma (,).
2. Array, a sorted collection value. Array begins with the square brackets open and close with square brackets ([]), and each value is separated by a comma (,).
3. Value, can be a string in double quotes ("") or a number, or a value of true, false, and null, or an object or array. These structures can be nested.
4. String, is a collection of zero or more Unicode characters, wrapped in double quotes. Can be used in the string backslash escapes "\" to form a special character. A character representing a single character in the string and the string is very similar to C or Java string.
5. Figures, the value of which is very similar to the numbers in C or Java, except octal and hexadecimal formats are not used. Empty spaces (whitespace) can be inserted between the pair signs, except for a few details that complete encoding described by the programming language used. [6]
1.6 API (Application Programming Interface)
Application Programming Interface is a set of commands, functions, components and protocols provided by the operating system or specific programming language that can be used by developers / programmers when building software. In the API are functions / command to replace the language used in the system call in a language that is easily understood by programmers.
The advantages of the API are:
1. Profitability, programmer that uses the API able run the program with any operating system as long as it is installed the API. 2. Easy Understandably, the language used is
more structured and easily understood by the programmer rather than the language system call. [7]
1.7 Algoritma Boyer-Moore
Boyer-Moore algorithm created by R.M Boyer and J.S Moore. This algorithm is famous for many implemented in the case of a fast string matching Boyer-Moore algorithms perform matching of characters starting from the right to left. Rightmost characters in the pattern is the first character to be
matched with the text. This algorithm has two phases, preprocessing phase that there are two functions to shift the pattern to the right direction are:
1. Good-Suffix-Shift, this function is stored into a table bmGs (Boyer-moore Good suffix) measuring m + 1.
2. Bad-Character-Shift, this function is stored in a table bmBc (Boyer-moore Bad character) size n.
And the phase of the search string.
Formation tables bmBc and bmGs have time complexity O (m + n) and space complexity O (m + n). Complexity time for the search phase is O (mn). [8]
2.
CONTENTS OF RESEARCH
In this section presented a description of the problem analysis, analysis of implementation of the
Boyer-Moore algorithm, environmental
implementation, and testing.
2.1 Problem Analysis
The problems obtained when Dodo Kids Browser application usage is as follows:
1. There is no place in the form of of data management enter the word / phrase for Dodo Kids Browser application.
2. There is no place management of user data, in this case the data parents for Dodo Kids Browser application.
3. No place connection management and data transfer between platforms Dodo Kids Browser.
2.2 Analysis of Implementation of The Boyer-Moore Algorithm
Use of the Boyer-Moore algorithm is performed to determine whether the keywords used by children when accessing the Internet is good or bad word for children. Stages using the Boyer-Moore algorithm can be seen in Figure 1:
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
48Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
In Figure 1 it can be seen that the process used to perform a search keyword matching the child with a bad set of words in the database must go through two procedures are:
1. The procedure for the formation of bad match table
This procedure is done on the process of forming bad match table or pattern table for each word in database. Bad match table is used to find a bad word obtained on a keyword search. Process on this procedure can be found at Figure 2.
Figure 2. Flowchart the procedure formation of bad match table
For example, suppose there is the word "BASTARD" on a database that is a bad word. In that word, search length of the character and shape of the index for each letter as shown in Table 1.
Table 1. Keyword Information
Keyword Information
BASTARD
Length = 7 Index
=
B A S T A R D 0 1 2 3 4 5 6
After being known information about keywords, then build bad match table with the following process on Table 2.
Table 2. The process of forming bad match table
Process 1
Keywords Process Information
BASTARD
B = 7-0-1=6
Result
Letter B A S T R D * Value 6
Process 2
Keywords Process Information
BASTARD
A = 7-1-1=6
Result
Letter B A S T R D * Value 6 5
Process 3
Keywords Process Information
BASTARD
S = 7-2-1=6
Result
Letter B A S T R D * Value 6 5 4
Process 4
Keywords Process Information
BASTARD
T = 7-3-1=3
Result
Letter B A S T R D * Value 6 5 4 3
Process 5
Keywords Process Information
BASTARD
A = 7-4-1=2, (Value 2 replace previous A value that is 5)
Result
Letter B A S T R D * Value 6 2 4 3
Process 6
Keywords Process Information
BASTARD
R = 7-5-1=1
Result
Letter B A S T R D * Value 6 2 4 3 1
Process 7
Keywords Process Information
BASTARD
D = 7, (D is a last character)
Result
Letter B A S T R D * Value 6 2 4 3 1 7 7
2. Procedure of word checking
Figure 3. Flowchart procedure of word checking
For example, suppose the keywords entered is "THEBASTARDBOYS" will be compared with data bad match table of word "bastard" in the database.
The following is the process of checking inserted word "THEBASTARDBOYS" with the word "Bastard" which has been formed on the table bad match at Table 3.
Table 3. Process of checking inserted word
Process 1
Wor d
T H E B A S T A R D B O Y S
Patte rn
B A S T A R D
Infor mati on
T ≠ D, then the pattern shifted 3 times (weight value T = 3)
Process 2
Wor d
T H E B A S T A R D B O Y S
Patte rn
B A S T A R D
Infor mati on
D = D R = R A = A T = T S = S A = A B = B
Because the position of the letters in the inserted word = position of the letters on the pattern, then the inserted word contains a bad word for children.
2.3 Environmental Implementation
The builded system is a web service that is assigned to manage the required data for Dodo Kids
Browser includes managing the connection and transfer of data between an application platform Dodo Kids Browser. This system is implemented on Microsoft Azure with standard package, the following are the specifications of the Standard package on Microsoft Azure on Table 4.
Table 4. Specifications Standard Package Microsoft Azure
Item Specifications
Processor 1 Core
Memory 1.75 GB RAM
Storage 50 GB
Custom Domains/SSL 5 SNI, 1 IP
Auto Scale Up to 10 Instances
Backup Plan Daily
Web App Staging 5 Slots
Geo Availability Traffic Manager
2.4 Testing
On a system will be performed functional testing using black box testing to determine if backend Dodo Kids Browser functionality has been able to help Dodo Kids Browser application platform. From the testing that has been done, the following is the conclusion of the test results on the Backend Dodo Kids Browser at Table 5.
Table 5. Conclusion of the test results No Fungsional Hasil Pengujian
1 Login Fungsional dapat
berjalan dan dapat digunakan untuk setiap platform
aplikasi Dodo Kids Browser. 2 Tambah Data User
3 Ubah Data User 4 Tambah Data Kata 5 Pencocokan Kata
6 Penyajian Data Report Fungsional dapat berjalan dan dapat digunakan untuk
platform mobile
aplikasi Dodo Kids Browser. 7 Penyajian Data Chart
3.
CONCLUSION
In this part will be presented regarding the conclusions of the research and suggestions presented on research.
3.1 Conclusion
Based on test results Backend Dodo Kids Browser, it can be concluded as follows:
1. Backend Dodo Kids Browser has been able to manage the input data obtained from the mobile platform and browser extension application platform Dodo Kids Browser. 2. Backend Dodo Kids Browser has been able to
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
50Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
3. Backend Dodo Kids Browser has been able to manage the connections and data transfers between an application platform Dodo Kids Browser.
4. Backend Dodo Kids Browser has been able to implement the Boyer-Moore algorithm properly when matching words from Dodo Kids Browser application platform with the words contained in the database.
3.2 Suggestions
Backend Dodo Kids Browser needs to be done for maintenance and development along with the development platform Dodo Kids Browser application. As for suggestions to the maintenance and development of applications Backend Dodo Kids Browser next are as follows:
1. The addition of storage for applications Backend Dodo Kids Browser in Microsoft Azure in order to accommodate the input data from more users.
2. Optimized notifications are sent to the application platform Dodo Kids Browser. 3. Optimization of data transfer and presentation
of data required for Dodo Kids Browser application platform.
REFERENCE
[1] BBC, “Hampir separuh warga dunia terhubung
internet akhir 2015,” BBC Indonesia, 27 Mei 2015.
[Online]. Available: http://www.bbc.com/indonesia/majalah/2015/05/15 0526_majalah_internet. [Diakses 30 Juni 2015]. [2] A. Panji, “Hasil Survei Pemakaian Internet Remaja
Indonesia,” kompas.com, 19 Februari 2014.
[Online]. Available: http://tekno.kompas.com/read/2014/02/19/1623250/ Hasil.Survei.Pemakaian.Internet.Remaja.Indonesia. [Diakses 30 Juni 2015].
[3] U. Indonesia, “Studi Terakhir: Kebanyakan Anak Indonesia sudah online, namun masih banyak yang tidak menyadari potensi resikonya.,” UNICEF Indonesia, 18 Februari 2014. [Online]. Available: http://www.unicef.org/indonesia/id/. [Diakses 30 Juni 2015].
[4] V. A. Gandhi dan C. K. Kumbharana, “Compatarive Study of Amazon EC2 and Microsoft Azure Cloud
Architecture,” International Journal of Advanced Networking Applications (IJANA), pp. 117-123. [5] E. Sutanta dan K. Mustofa, “Kebutuhan Web
Service untuk Sinkronisasi Data antar Sistem Informasi dalam E-Gov di Pemkab Bantul
Yogyakarta,” JURTIK - STMIK BANDUNG, pp. 1-11, 2012.
[6] “JSON,” [Online]. Available: http://json.org/. [Diakses 30 Juni 2015].
[7] OasisBiru, “=::.Hendry's Blog.::=^^[[>UNIVERSITAS
GUNADARMA<]]=,” 25 Januari 2013. [Online].
Available:
http://oasisbiru.blogspot.com/2013/01/api-application-programming-interface.html. [Diakses 17 Agustus 2015].
[8] A. Minandar, A. Tanoto dan D. Tanadi, “Aplikasi Algoritma Pencarian String Boyer-Moore pada
PEMBANGUNAN BACKEND UNTUK APLIKASI PENGAWASAN
PENGGUNAAN INTERNET ANAK “DODO KIDS BROWSER”
DENGAN TEKNOLOGI MICROSOFT AZURE
Adi Gumelar1, Adam Mukharil Bachtiar2
1,2Teknik Informatika – Universitas Komputer Indonesia
Jl. Dipatiukur No. 102-116, Bandung 40132
E-mail : gumelar.adi@gmail.com1, adammb@outlook.com2
ABSTRAK
Tidak semua informasi di internet bermanfaat terutama bagi anak sehingga hal ini sangat mengkhawatirkan untuk orang tua. Dodo Kids Browser membantu orang tua dalam memonitoring aktivitas anak ketika menggunakan internet. Dalam penggunaannya, aplikasi ini harus dapat mengelola data seperti data orang tua, data pencarian anak, sampai harus dapat mengelola koneksi dan transfer data. Backend Dodo Kids Browser adalah sebuah perangkat lunak yang dibangun dengan menggunakan teknologi Microsoft Azure dan algoritma Boyer-Moore untuk mengatasi hal tersebut. Perangkat lunak ini akan mengelola data yang diterima dari setiap platform aplikasi Dodo Kids Browser. Selain mengelola data, perangkat lunak ini juga menjadi jembatan interaksi yang dilakukan di sisi orang tua ke anak dengan membantu mengirimkan data notifikasi pada platform aplikasi Dodo Kids Browser.
Berdasarkan hasil pengujian fungsional dapat disimpulkan bahwa perangkat lunak Backend Dodo Kids Browser sudah dapat membantu aplikasi Dodo Kids Browser dalam pengelolaan data dan menentukan kata masukkan yang baik bagi anak ketika menggunakan aplikasi ini untuk mengakses internet. Saran yang dapat diberikan adalah penambahan storage sehingga perangkat lunak ini dapat menampung data masukan dari pengguna lebih banyak dan pengoptimalan sistem yang meliputi notifikasi, transfer data, dan penyajian data.
Kata kunci : Backend, Microsoft Azure, Boyer-Moore, Dodo Kids Browser.
1.
PENDAHULUAN
Pada bagian ini akan dipaparkan mengenai latar belakang masalah, maksud dan tujuan, dan landasan teori.
1.1 Latar Belakang Masalah
Perkembangan teknologi khususnya yang mencakup pencarian informasi di internet sudah sangat memudahkan orang-orang di semua profesi
dan umur sehingga secara tidak langsung informasi di internet pun ikut berkembang. Dilansir dari situs berita online BBC menyebutkan bahwa pada akhir tahun 2015 ini diperkirakan sekitar 3,2 miliar penduduk akan terhubung dengan internet dan sekitar 2 miliar di antaranya tinggal di negara-negara berkembang. [1]
Indonesia adalah negara berkembang yang saat ini berpenduduk kurang lebih 250 juta jiwa dan hampir semua penduduk negara Indonesia sudah mengenal apa itu teknologi, khususnya internet. Hal ini menyebabkan keseharian setiap penduduk tidak lepas dari internet termasuk kalangan anak-anak dan remaja, hal ini berdasarkan pada hasil studi Kemenkominfo dan UNICEF di tahun 2014 yang menyatakan sebanyak 98% dari anak dan remaja tahu tentang internet dan 79,5% diantaranya adalah pengguna internet [2], dan sebanyak 52% dari 43,5 juta anak-anak dan remaja usia 10 sampai 19 tahun menggunakan smartphone untuk mengakses internet baik untuk mencari data dan informasi, khususnya untuk tugas-tugas sekolah, berkomunikasi dengan teman melalui media sosial, mencari konten musik dan video, dan juga situs lainnya dimana konten-konten tersebut belum tentu sesuai dan aman dikonsumsi oleh anak sementara orang tua tidak bisa memantau sepenuhnya aktivitas internet anak pada
smartphone tersebut sehingga potensi resiko negatif dari konten tersebut menjadi tinggi [3]. Dari pemaparan beberapa fakta tersebut maka didapat masalah utama yaitu bagaimana orang tua dapat mengontrol dan mengetahui aktivitas penggunaan internet anaknya.
Dodo Kids Browser adalah aplikasi browser
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
46Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
orang tua tidak perlu terlalu cemas lagi akan anaknya ketika melakukan browsing di internet karena aplikasi ini akan memberikan laporan (report) berupa riwayat akses internet kepada orang tua dan aplikasi ini akan memberitahu orang tua situs seperti apa yang sedang dikunjungi oleh anak sekaligus aksi seperti apa yang akan diberikan oleh orang tua kepada anak berdasarkan pada pengaksesan internet yang dilakukan oleh anak. Aplikasi ini dibangun pada dua
platform yaitu aplikasi mobile yang saat ini diimplementasikan pada Windows Phone dan aplikasi extension browser yang diimplementasikan pada browser internet seperti Google Chrome. Agar dapat berjalan dengan baik, kedua aplikasi ini harus dapat mengelola data yang cukup besar seperti data pengguna atau orang tua dan data kata yang dimasukkan oleh anak ketika mengakses internet. Selain itu, aplikasi ini harus memiliki respons yang baik ketika digunakan sehingga dibutuhkan juga pengelolaan koneksi dan transfer data untuk platform
aplikasi Dodo Kids Browser.
Berdasarkan permasalahan yang telah di paparkan, maka dibangunlah sebuah perangkat lunak
backend yang dapat membantu kedua platform
aplikasi tersebut dalam mengelola data masukkan berupa kata/kalimat, informasi pengguna, dan interaksi aksi ke perangkat mobile dan extension browser. Aplikasi backend ini berupa sebuah aplikasi
web service yang dibangun dengan menggunakan teknologi Microsoft yaitu Microsoft Azure. Selain itu, untuk dapat lebih mengoptimalkan aplikasi ketika menentukan kata masukkan baik atau buruk bagi anak, maka pada perangkat lunak ini diterapkan sebuah algoritma pencocokan kata (string) yaitu algoritma Boyer-Moore.
1.2 Maksud dan Tujuan
Maksud pada penelitian ini untuk membangun
backend aplikasi “Dodo Kids Browser” dan tujuan
dari penelitian ini adalah sebagai berikut:
1. Membantu aplikasi dalam mengelola data masukkan kata/kalimat.
2. Membantu admin aplikasi dalam mengelola data pengguna, dalam hal ini data orang tua. 3. Membantu aplikasi dalam mengelola koneksi
dan transfer data dari/ke perangkat mobile dan
extension browser.
1.3 Microsoft Azure
Microsoft Windows Azure adalah sebuah teknologi untuk cloud computing yang di kembangkan oleh Microsoft. Dengan menggunakan Windows Azure, pengembang dapat membuat aplikasi web, sebagai tempat penyimpanan data suatu aplikasi, sebagai jembatan koneksi antar platform, dan sebagainya. Berikut ini adalah komponen yang terdapat dalam Windows Azure:
1. Cloud Applications
2. Data Management 3. Networking
4. Identity and Access Control
5. Messaging and Integration
Dengan menggunakan teknologi Microsoft Azure, didapat beberapa keuntungan yaitu:
1. Pengembang hanya membuat perangkat lunak/sistem karena Microsoft akan melindungi sistem tersebut termasuk jika akan dilakukan pembaharuan atau backup data. 2. Mudah dalam menambah jumlah kapasitas
penyimpanan data.
3. Terintegrasi dengan aplikasi Microsoft Visual Studio.
4. Adanya manajemen seperti pada Application Server yang digunakan. [4]
1.4 Web Service
Web Service adalah sebuah software yang dirancang untuk mendukung interoperabilitas interaksi antar mesin melalui sebuah jaringan baik berupa agregasi (pengumpulan) maupun sindikasi (penyatuan). Web Service melayani integrasi data dan kolaborasi informasi yang bisa diakses melalui internet oleh pengguna dengan teknologi yang dimilikinya. Pemanggilan web service dapat dilakukan oleh bahasa pemrograman apa saja dan dalam platform apa saja. Berikut ini adalah kelebihan
web Service:
1. Lintas platform. 2. Language Independent.
3. Jembatan penghubung dengan database tanpa perlu driver database dan tidak harus mengetahui jenis DBMS yang digunakan. 4. Mempermudah proses pertukaran data. 5. Penggunaan kembali komponen aplikasi.
Dalam perkembangannya, web service
mengenal dua metode yang berorientasi pada layanan dan sumber daya informasi, yaitu metode SOAP (Simple Object Access Protocol) dengan proses layanannya memiliki tiga komponen utama, yaitu:
1. Service Provider
2. Service Requester
3. Service Broker
Serta komponen pendukung yaitu: 1. XML.
2. SOAP-XML (terdiri atas header dan body). 3. WSDL.
4. UDDI.
Dan metode REST (REpresentational State Transfer) yang didasari oleh empat prinsip utama teknologi, yaitu:
1. Resource identifier through Uniform Resource Identifier (URI).
2. Uniform Interface, yaitu sumber daya CRUD menggunakan operasi PUT, GET, POST, dan DELETE.
HTML, XML, PDF, JPEG, plain text, meta data, dan lainnya.
4. Stateful interactions through hyperlinks. Metode REST ini lebih sederhana karena menggunakan format standar (HTTP, HTML, XML, URI, MIME), dan jika diperlukan untuk proses pertukaran data, maka konten hasil eksekusi web service dapat diolah dalam format teks (XML atau HTML) dengan menggunakan utilitas komunikasi data berupa koneksi socket protokol HTTP yang tersedia pada pustaka komunikasi bahasa pemrograman. [5]
1.5 JSON (JavaScript Object Notation)
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 pemrograman JavaScript, Standar ECMA-262 Edisi ke-3 – Desember 1999.
Struktur dan bentuk JSON terdiri dari:
1. Objek/Object (pasangan nama/nilai yang tidak terurutkan). Dalam objek tersebut terdapat kurung kurawal buka untuk mengawali dan diakhiri oleh kurung kurawal tutup ({ }), dalam kurung kurawal tersebut terdapat nama yang diikuti dengan titik dua ( : ) dan setiap pasangan nama/nilai dipisahkan oleh koma ( , ).
2. Larik/Array, kumpulan nilai yang terurutkan. Larik dimulai dengan kurung kotak buka dan diakiri dengan kurung kotak tutup ([ ]) dan setiap nilai dipisahkan oleh koma ( , ). 3. Nilai/Value, dapat berupa sebuah string dalam
tanda kutip ganda (“ “) atau angka, atau nilai true, false, dan null, atau objek atau larik. Struktur-struktur tersebut dapat disusun bertingkat.
4. String, adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Dalam string dapat digunakan backslash escapes “\” untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string dan
string sangat mirip dengan string C atau Java. 5. Angka, nilai yang sangat mirip dengan angka di C atau Java, kecuali format Oktal dan Heksadesimal tidak digunakan. Spasi kosong (whitespace) dapat disisipkan di antara pasangan tanda-tanda tersebut, kecuali beberapa detail encoding yang secara lengkap dipaparkan oleh bahasa pemrograman yang digunakan. [6]
1.6 API (Application Programming Interface)
Application Programming Interface adalah sekumpulan perintah, fungsi, komponen dan protokol yang disediakan oleh sistem operasi ataupun bahasa pemrograman tertentu yang dapat digunakan oleh
pengembang/programmer saat membangun
perangkat lunak. Pada API terdapat fungsi-fungsi/perintah untuk menggantikan bahasa yang digunakan dalam system call dengan bahasa yang lebih mudah dimengerti oleh programmer.
Kelebihan dari API adalah:
1. Profitabilitas, programmer yang
menggunakan API dapat menjalankan programnya dengan sistem operasi mana saja asalkan sudah ter-install API tersebut. 2. Mudah Dimengerti, bahasa yang digunakan
lebih terstruktur dan mudah dimengerti oleh
programmer daripada bahasa system call. [7]
1.7 Algoritma Boyer-Moore
Algoritma Boyer-Moore diciptakan oleh R.M Boyer dan J.S Moore. Algoritma ini terkenal karena banyak diterapkan pada kasus pencocokan string yang cepat dalam kinerjanya. Algoritma Boyer-Moore melakukan pencocokan karakter dimulai dari kanan ke kiri. Karakter paling kanan pada pola merupakan karakter pertama yang akan dicocokkan dengan teks. Algoritma ini mempunyai dua fase, yaitu fase preprocessing yang terdapat dua buah fungsi untuk menggeser pola ke arah kanan yaitu:
1. Good-Suffix-Shift, fungsi ini disimpan ke dalam tabel bmGs (boyer-moore Good suffix) berukuran m+1.
2. Bad-Character-Shift, fungsi ini disimpan ke dalam sebuah tabel bmBc (boyer-moore Bad character) yang berukuran n.
Dan fase pencarian string tersebut.
Pembentukan tabel bmBc dan bmGs mempunyai kompleksitas waktu O(m+n) dan kompleksitas ruang O(m+n). Kompleksitas waktu untuk fase pencarian adalah O(mn). [8]
2.
ISI PENELITIAN
Pada bagian ini dipaparkan penjelasan mengenai analisis masalah, analisis penerapan algoritma Boyer-Moore, lingkungan implementasi, dan pengujian.
2.1 Analisis Masalah
Permasalahan yang didapat ketika penggunaan aplikasi Dodo Kids Browser adalah sebagai berikut:
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
48Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
2. Belum ada tempat pengelolaan data pengguna, dalam hal ini data orang tua untuk aplikasi Dodo Kids Browser.
3. Belum ada tempat pengelolaan koneksi dan transfer data antar platform Dodo Kids Browser.
2.2 Analisis Penerapan Algoritma Boyer-Moore
Penggunaan algoritma Boyer-Moore
dilakukan untuk menentukan apakah kata kunci yang digunakan oleh anak ketika mengakses internet merupakan kata yang baik atau buruk bagi anak. Tahapan penggunaan algoritma Boyer-Moore dapat dilihat pada Gambar 1:
Gambar 1. Flowchart Algoritma Boyer-Moore
Pada Gambar 1 dapat dilihat bahwa proses yang digunakan untuk melakukan pencocokan kata kunci pencarian anak dengan kumpulan kata buruk dalam
database harus melalui dua prosedur yaitu: 1. Prosedur pembentukan tabel bad match
Pada prosedur ini dilakukan proses pembentukan tabel bad match atau tabel pattern
untuk setiap kata yang tersimpan di database. Tabel
bad match digunakan untuk mencari kata buruk yang didapat pada suatu kata kunci pencarian. Proses pada prosedur ini dapat dilihat pada Gambar 2.
Gambar 2. Flowchart prosedur pembentukan tabel bad match
Sebagai contoh, misalkan terdapat kata
“BASTARD” pada database yang merupakan kata buruk. Dari kata tersebut cari panjang karakter dan bentuk index untuk setiap hurufnya seperti yang terlihat pada Tabel 1.
Tabel 1. Informasi kata kunci
Kata Kunci Keterangan
BASTARD
Length = 7 Index
=
B A S T A R D 0 1 2 3 4 5 6
Tabel 2. Proses pembentukan tabel bad match Proses 1 Kata Kunci Keterangan Proses BASTARD
B = 7-0-1=6
Hasil
Letter B A S T R D * Value 6
Proses 2 Kata
Kunci
Keterangan Proses
BASTARD
A = 7-1-1=6
Hasil
Letter B A S T R D * Value 6 5
Proses 3 Kata
Kunci
Keterangan Proses
BASTARD
S = 7-2-1=6
Hasil
Letter B A S T R D * Value 6 5 4
Proses 4 Kata
Kunci
Keterangan Proses
BASTARD
T = 7-3-1=3
Hasil
Letter B A S T R D * Value 6 5 4 3
Proses 5 Kata
Kunci
Keterangan Proses
BASTARD
A = 7-4-1=2, (Value 2 dimasukkan untuk menggantikan value A sebelumnya yaitu 5)
Hasil
Letter B A S T R D * Value 6 2 4 3
Proses 6 Kata
Kunci
Keterangan Proses
BASTARD
R = 7-5-1=1
Hasil
Letter B A S T R D * Value 6 2 4 3 1
Proses 7 Kata
Kunci
Keterangan Proses
BASTARD
D = 7, (D adalah huruf terakhir)
Hasil
Letter B A S T R D * Value 6 2 4 3 1 7 7
2. Prosedur pengecekan kata masukkan Pada prosedur ini dilakukan proses pengecekan kata masukkan dari platform mobile atau
extension browser dengan data tabel bad match untuk
mengetahui apakah kata masukkan tersebut termasuk kata yang buruk bagi anak atau baik bagi anak. Proses pada prosedur ini dapat dilihat pada Gambar 3.
Gambar 3. Flowchart prosedur pengecekan kata masukkan
Sebagai contoh, misalkan kata kunci yang
dimasukkan adalah “THEBASTARDBOYS” akan
dibandingkan dengan data tabel bad match kata
“BASTARD” dalam database.
Berikut ini adalah proses pengecekan kata
masukkan “THEBASTARDBOYS” dengan kata “BASTARD” yang sudah dibentuk tabel bad match
pada Tabel 3.
Tabel 3. Proses pengecekan kata masukkan
Proses 1
Kata Mas ukka n
T H E B A S T A R D B O Y S
Patte rn
B A S T A R D
Kete rang an
T ≠ D, maka pattern bergeser sebanyak 3 kali (Bobot nilai T = 3)
Proses 2
Kata Mas ukka n
T H E B A S T A R D B O Y S
Patte rn
B A S T A R D
Kete rang an
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
50Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
Karena posisi huruf pada kata masukkan = posisi huruf pada pattern, maka kata masukkan mengandung kata yang buruk bagi anak.
2.3 Lingkungan Implementasi
Sistem yang dibangun adalah sebuah web service yang bertugas untuk mengelola data yang dibutuhkan aplikasi Dodo Kids Browser termasuk mengelola koneksi dan transfer data antar platform
aplikasi Dodo Kids Browser. Sistem
diimplementasikan pada Microsoft Azure dengan paket Standard, berikut adalah spesifikasi dari paket
Standard pada Microsoft Azure pada Tabel 4. Tabel 4. Spesifikasi Paket Standard Microsoft Azure
Item Spesifikasi
Processor 1 Core
Memory 1.75 GB RAM
Storage 50 GB
Custom Domains/SSL 5 SNI, 1 IP
Auto Scale Up to 10 Instances
Backup Plan Daily
Web App Staging 5 Slots
Geo Availability Traffic Manager
2.4 Pengujian
Pada sistem yang dibangun akan dilakukan pengujian fungsional dengan menggunakan pengujian black box untuk mengetahui apakah fungsionalitas Backend Dodo Kids Browser sudah dapat membantu platform aplikasi Dodo Kids Browser. Dari pengujian yang sudah dilakukan, berikut ini adalah kesimpulan hasil pengujian dari Backend Dodo Kids Browser pada Tabel 5.
Tabel 5. Kesimpulan hasil pengujian fungsional No Fungsional Hasil Pengujian
1 Login Fungsional dapat
berjalan dan dapat digunakan untuk setiap platform
aplikasi Dodo Kids Browser. 2 Tambah Data User
3 Ubah Data User 4 Tambah Data Kata 5 Pencocokan Kata
6 Penyajian Data Report Fungsional dapat berjalan dan dapat digunakan untuk
platform mobile
aplikasi Dodo Kids Browser. 7 Penyajian Data Chart
3.
PENUTUP
Pada bagian penutup ini akan dipaparkan mengenai kesimpulan dari hasil penelitian dan saran yang dipaparkan mengenai penelitian.
3.1 Kesimpulan
Berdasarkan hasil pengujian Backend Dodo Kids Browser maka dapat diperoleh kesimpulan sebagai berikut:
1. Backend Dodo Kids Browser sudah dapat mengelola data masukan yang didapat dari
platform mobile dan platform extension browser aplikasi Dodo Kids Browser. 2. Backend Dodo Kids Browser sudah dapat
mengelola data pengguna yang dalam hal ini data orang tua pengguna aplikasi Dodo Kids Browser.
3. Backend Dodo Kids Browser sudah dapat mengelola koneksi dan transfer data antar
platform aplikasi Dodo Kids Browser. 4. Backend Dodo Kids Browser sudah dapat
mengimplementasikan algoritma Boyer-Moore dengan baik ketika melakukan pencocokan kata masukkan dari platform
aplikasi Dodo Kids Browser dengan kata yang terdapat di database.
3.2 Saran
Aplikasi Backend Dodo Kids Browser yang dibangun perlu dilakukan pemeliharaan dan pengembangan seiring dengan perkembangan
platform aplikasi Dodo Kids Browser. Adapun saran-saran terhadap pemeliharaan dan pengembangan aplikasi Backend Dodo Kids Browser ke depan adalah sebagai berikut:
1. Penambahan storage untuk aplikasi Backend Dodo Kids Browser di Microsoft Azure agar dapat menampung data masukan dari pengguna lebih banyak.
2. Pengoptimalan notifikasi yang dikirimkan ke
platform aplikasi Dodo Kids Browser. 3. Pengoptimalan transfer data dan penyajian
data yang dibutuhkan platform aplikasi Dodo Kids Browser.
DAFTAR PUSTAKA
[1] BBC, “Hampir separuh warga dunia terhubung
internet akhir 2015,” BBC Indonesia, 27 Mei 2015.
[Online]. Available: http://www.bbc.com/indonesia/majalah/2015/05/15 0526_majalah_internet. [Diakses 30 Juni 2015]. [2] A. Panji, “Hasil Survei Pemakaian Internet Remaja
Indonesia,” kompas.com, 19 Februari 2014.
[Online]. Available: http://tekno.kompas.com/read/2014/02/19/1623250/ Hasil.Survei.Pemakaian.Internet.Remaja.Indonesia. [Diakses 30 Juni 2015].
[3] U. Indonesia, “Studi Terakhir: Kebanyakan Anak Indonesia sudah online, namun masih banyak yang
tidak menyadari potensi resikonya.,” UNICEF
[4] V. A. Gandhi dan C. K. Kumbharana, “Compatarive Study of Amazon EC2 and Microsoft Azure Cloud
Architecture,” International Journal of Advanced Networking Applications (IJANA), pp. 117-123. [5] E. Sutanta dan K. Mustofa, “Kebutuhan Web
Service untuk Sinkronisasi Data antar Sistem Informasi dalam E-Gov di Pemkab Bantul
Yogyakarta,” JURTIK - STMIK BANDUNG, pp. 1-11, 2012.
[6] “JSON,” [Online]. Available: http://json.org/. [Diakses 30 Juni 2015].
[7] OasisBiru, “=::.Hendry's Blog.::=^^[[>UNIVERSITAS
GUNADARMA<]]=,” 25 Januari 2013. [Online].
Available:
http://oasisbiru.blogspot.com/2013/01/api-application-programming-interface.html. [Diakses 17 Agustus 2015].
[8] A. Minandar, A. Tanoto dan D. Tanadi, “Aplikasi Algoritma Pencarian String Boyer-Moore pada
DAFTAR PUSTAKA
[1]
BBC, “Hampir separuh warga dunia terhubung internet akhir 2015,” BBC
Indonesia,
27
Mei
2015.
[Online].
Available:
http://www.bbc.com/indonesia/majalah/2015/05/150526_majalah_internet.
[Diakses 30 Juni 2015].
[2]
A. Panji, “Hasil Survei Pemakaian Internet Remaja Indonesia,” kompas.com,
19
Februari
2014.
[Online].
Available:
http://tekno.kompas.com/read/2014/02/19/1623250/Hasil.Survei.Pemakaian.
Internet.Remaja.Indonesia. [Diakses 30 Juni 2015].
[3]
U. Indonesia, “Studi Terakhir: Kebanyakan Anak Indonesia sudah online,
namun masih banyak yang tidak menyadari potensi resikonya.,” UNICEF
Indonesia,
18
Februari
2014.
[Online].
Available:
http://www.unicef.org/indonesia/id/. [Diakses 30 Juni 2015].
[4] S. Dharma, Pendekatan, Jenis, dan Metode Penelitian Pendidikan, Jakarta:
Ditjen PMPTK, 2008.
[5] S. Ian, Software Engineering, Addison Wesley, 2007.
[6] V. A. Gan
dhi dan C. K. Kumbharana, “Compatarive Study of Amazon EC2
and Microsoft Azure Cloud Architecture,”
International Journal of Advanced
Networking Applications (IJANA),
pp. 117-123.
[7]
E. Sutanta dan K. Mustofa, “Kebutuhan Web Service untuk Sinkronisasi
Data
antar Sistem Informasi dalam E-
Gov di Pemkab Bantul Yogyakarta,”
JURTIK
- STMIK BANDUNG,
pp. 1-11, 2012.
[8]
“JSON,” [Online]. Available: http://json.org/.
[Diakses 30 Juni 2015].
[9]
OasisBiru,
“=::.Hendry's
Blog.::=^^[[>UNIVERSITAS
GUNADARMA<
]]=,” 25 Januari 2013. [Online]. Available:
http://oasisbiru.blogspot.com/2013/01/api-application-programming-interface.html. [Diakses 17 Agustus 2015].
[10]
R. G. Fichman dan C. F. Kemerer, “Object
-Oriented and Conventional
[11]
A. Minandar, A. Tanoto dan D. Tanadi, “Aplikasi Algoritma Pencarian String
Boyer-Moore pada Penc
ocokan DNA,” pp. 1
-3.
[12]
M. E. Khan dan F. Khan, “A Comparative Study of White Box, Black Box
DAFTAR ISI
ABSTRAK ... i
ABSTRACT
... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... vii
DAFTAR TABEL ... viii
DAFTAR SIMBOL ... x
DAFTAR LAMPIRAN ... xii
BAB I PENDAHULUAN ... 1
I.1
Latar Belakang Masalah ... 1
I.2
Perumusan Masalah ... 3
I.3
Maksud dan Tujuan ... 3
I.4
Batasan Masalah ... 3
I.5
Metodologi Penelitian ... 3
I.5.1 Metode Pengumpulan Data ... 4
I.5.2 Metode Pembangunan Sistem ... 4
I.6
Sistematika Penulisan ... 6
BAB II TINJAUAN PUSTAKA ... 9
II.1
Dodo Kids Browser ... 9
II.2
Microsoft Azure ... 10
II.3
Web Service ... 11
II.4
JSON (
JavaScript Object Notation
) ... 13
II.5
API (
Application Programming Interface
) ... 14
II.6
Structured Analysis and Design ... 15
II.7
Algoritma Boyer-Moore ... 16
II.8
Pengujian Perangkat Lunak ... 16
BAB III ANALISIS DAN PERANCANGAN SISTEM ... 19
III.1 Analisis Sistem ... 19
III.1.2
Analisis Arsitektur Sistem ... 19
III.1.3
Analisis Penerapan Algoritma Boyer-Moore ... 20
III.1.4
Spesifikasi Kebutuhan Perangkat Lunak ... 26
III.1.5
Analisis Kebutuhan Non Fungsional ... 27
III.1.5.1
Analisis Kebutuhan Perangkat Lunak ... 27
III.1.5.2
Analisis Kebutuhan Perangkat Keras ... 28
III.1.5.3
Analisis Kebutuhan Perangkat Pikir ... 29
III.1.6
Analisis Data ... 31
III.1.7
Analisis Kebutuhan Fungsional ... 33
III.2 Perancangan Sistem ... 43
III.2.1
Perancangan Data ... 43
III.2.2
Perancangan Services ... 45
BAB IV IMPLEMENTASI DAN PENGUJIAN ... 49
IV.1 Implementasi Sistem ... 49
IV.1.1 Lingkungan Implementasi ... 49
IV.1.2 Implementasi Data ... 50
IV.2 Pengujian Sistem ... 52
IV.2.1 Rencana Pengujian ... 52
IV.2.2 Skenario Pengujian ... 52
IV.2.3 Hasil Pengujian ... 53
IV.2.4 Evaluasi Pengujian ... 60
BAB V KESIMPULAN DAN SARAN ... 61
V.1
Kesimpulan ... 61
V.2
Saran ... 62
PEMBANGUNAN BACKEND UNTUK APLIKASI PENGAWASAN
PENGGUNAAN INTERNET ANAK “DODO KIDS BROWSER”
DENGAN TEKNOLOGI MICROSOFT AZURE
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
ADI GUMELAR
10111388
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
NIM
: 10111388
Address
: Kp. Pelangi RT 03 RW 11 Desa
Sukamukti Kecamatan Majalaya
Kabupaten Bandung 40382
Phone
: +6285353676185
: gumelar.adi@gmail.com
Place & D.O.B
: Bandung, June 19
th1994
Marital Status
: Single
Religion
: Moslem
Languages
Known
: Sundanese, Indonesian, English
Formal Education
Indonesia Computer University Majoring Informatics
Engineering
2011
–
2015
SMAN 1 Ciparay
Majoring Science
2008
–
2011
SMP KP Ciparay
2005
–
2008
SDN Pelangi 2 Majalaya
1999
–
2005
Professional Experiences
March 2014
–
July 2015, member of Unikom Codelabs
-
Windows Phone Developer
-
Web Programmer
-
Desktop Programmer
Projects Experience
DESKTOP APPLICATIONS
Aplikasi Klinik Tongfang using C#
Aplikasi Sukucadang Superior using C#
Aplikasi Sistem Informasi Poliklinik Serba Bakti using C#
Aplikasi Pengelolaan Data Laundry using C
Aplikasi Smart Mathematic using C#
Program Data Obat using MS. Access
WEB APPLICATION
e-commerce anime-cs.net
WINDOWS PHONE APPLICATION
DapurMasak.com versi Windows Phone
UnikomApps versi Windows Phone
Dodo Kids Browser
GAMES
Game RPG
“Physics Fisika” using RPG Maker XP
Game Choose The Words using Construct 2
Skills
Operating System
: Microsoft Windows XP
Microsoft Windows 7
Microsoft Windows 8
Microsoft Windows 8.1
Integrated Development Environtment
: Microsoft Visual Studio 2013
Community
Text Editor
: Ultra Edit
Notepad++
Notepad
Sublime Text
Programming Language
: HTML
CSS
Javascript
PHP
C / C++ / C#
Achievement
2015
Microsoft Imagine Cup
Indonesia
Program Kreatifitas Mahasiswa
–
Karsa Cipta (PKM-KC)
Finalis
Project Name : Dodo Kids Browser
Finalis
IMPLEMENTASI DAN PENGUJIAN
IV.1
Implementasi Sistem
Pada tahap ini dilakukan pembahasan tentang bagaimana sistem
diimplementasikan di lingkungan.
IV.1.1
Lingkungan Implementasi
Pada bagian ini dipaparkan lingkungan tempat sistem diimplementasikan.
Sistem yang dibangun adalah sebuah
web service
yang bertugas untuk mengelola
data yang dibutuhkan aplikasi Dodo Kids Browser termasuk mengelola koneksi dan
transfer data antar
platform
aplikasi Dodo Kids Browser. Sistem diimplementasikan
pada Microsoft Azure dengan paket
Standard
, berikut adalah spesifikasi dari paket
Standard
pada Microsoft Azure pada Tabel IV.1.
Tabel IV.1 Spesifikasi Paket Standard Microsoft Azure
Item
Spesifikasi
Processor
1 Core
Memory
1.75 GB RAM
Storage
50 GB
Custom Domains/SSL 5 SNI, 1 IP
Auto Scale
Up to 10 Instances
Backup Plan
Daily
Web App Staging
5 Slots
50
IV.1.2
Implementasi Data
Bagian ini menjelaskan implementasi data dengan menggunakan MySQL.
Berikut adalah penjelasan dari implementasi data yang dilakukan.
1.
Query pembuatan
database
CREATE DATABASE dodo
2.
Query pembuatan tabel tb_badword
CREATE TABLE tb_badword(
id int(11) not null primary key,
word varchar(300) not null
)
ENGINE=InnoDB;
3.
Query pembuatan tabel tb_pushuri
CREATE TABLE tb_pushuri(
id_user int(11) not null,
uri varchar(300),
key id_user constraint tb_pushuri_ibfk_1 foreign key (id_user) references
tb_user (id)
)
ENGINE=InnoDB;
4.
Query pembuatan tabel tb_detailnotif
CREATE TABLE tb_detailnotif(
id_notif int(11) not null primary key,
id_user int(11) not null,
id_post int(11) not null,
sugest enum(‘Content Negative’,’Content Positive’) not null,
key id_user constraint tb_detailnotif_ibfk_1 foreign key (id_user) references
tb_user (id),
key id_post constraint tb_detailnotif_ibfk_1 foreign key (id_post) references
tb_report (id)
)
ENGINE=InnoDB;
5.
Query pembuatan tabel tb_user
CREATE TABLE tb_user(
id int(11) not null primary key,
email varchar(50) not null,
password varchar(100) not null
)
ENGINE=InnoDB;
6.
Query pembuatan tabel tb_report
CREATE TABLE tb_report(
id int(11) not null primary key,
content varchar(300) not null,
waktu datetime not null,
aksi varchar(15) not null,
status varchar(15) not null,
message varchar(255) not null,
id_user int(11) not null,
key id_user constraint tb_report_ibfk_1 foreign key (id_user) references tb_user
(id)
)
52
7.
Query pembuatan tabel tb_detailreport
CREATE TABLE tb_detailreport(
id int(11) not null,
word varchar(100) not null,
status enum(‘Good’,’Bad’),
key id constraint tb_detailreport_ibfk_1 foreign key (id) references tb_report (id)
)
ENGINE=InnoDB;
IV.2
Pengujian Sistem
Pengujian sistem dilakukan untuk menguji sistem yang dibangun. Cakupan
pengujian sistem meliputi rencana pengujian sampai evaluasi pengujian.
IV.2.1
Rencana Pengujian
Rencana pengujian yang akan dilakukan yaitu rencana pengujian fungsional
dengan
menggunakan pengujian
black box
yang berfokus pada
output
yang
dihasilkan dari suatu
input
.
IV.2.2
Skenario Pengujian
Pada skenario pengujian ini dipaparkan skenario pengujian fungsional
dimana
urutan pengujian dapat dilihat pada Tabel IV.2.
Tabel IV.2 Skenario Pengujian Fungsional
No Kelas Uji Poin Pengujian Jenis Pengujian
1 Login Isi data user Equivalence Partitioning
Validasi data masukkan Equivalence Partitioning
2 Tambah data user Isi data user Equivalence Partitioning
Validasi data masukkan Equivalence Partitioning
3 Ubah data user Isi data user Equivalence Partitioning
Validasi data masukkan Equivalence Partitioning
No Kelas Uji Poin Pengujian Jenis Pengujian
5 Pencocokan kata Isi data kata Equivalence Partitioning
Kecocokan kata masukkan dengan kata dalam database
Equivalence Partitioning
6 Penyajian data report Validasi data report Equivalence Partitioning
Validasi masukkan tanggal, bulan dan tahun
Equivalence Partitioning
7 Penyajian data chart Validasi data chart Equivalence Partitioning
IV.2.3
Hasil Pengujian
Pada bagian hasil pengujian ini berisi pemaparan dari rencana pengujian
yang disusun pada skenario pengujian. Berikut ini adalah pemaparan tiap poin
pengujian yang terdapat pada skenario pengujian:
1.
Login
Pengujian login yang dilakukan adalah dengan dua tipe pengujian, untuk
kasus data benar dapat dilihat pada Tabel IV.3 dan untuk kasus data salah dapat
[image:30.595.114.511.112.254.2]dilihat pada Tabel IV.4.
Tabel IV.3 Uji Data Benar Login
Kasus dan Hasil Uji (Data Benar)
Data Masukkan Hasil yang
diharapkan
Pengamatan Kesimpulan
Email:
gumelar.adi@gmail.com
Variabel email terisi sesuai dengan email yang dimasukkan
Isi dari variabel email sesuai dengan
email yang
dimasukkan
Diterima
Password: qwertyuiop
Variabel password terisi sesuai dengan
password yang
dimasukkan
Isi dari variabel password sesuai dengan password yang dimasukkan
54
Tabel IV.4 Uji Data Salah Login
Kasus dan Hasil Uji (Data Salah)
Data Masukkan Hasil yang
diharapkan
Pengamatan Kesimpulan
Email: (kosong) Variabel email
kosong
Isi dari variabel email kosong
Diterima
Password: (kosong) Variabel password kosong
Isi dari variabel password kosong
Diterima
Email: 123 Password: 456
Muncul pesan “Login Failed” pada platform
mobile dan extension browser tidak dapat digunakan
Tampil pesan “Login Failed” pada platform
mobile dan extension browser tidak dapat digunakan
Diterima
2.
Tambah data user
Pengujian tambah data user yang dilakukan adalah dengan dua tipe
pengujian, untuk kasus data benar dapat dilihat pada Tabel IV.5 dan untuk kasus
data salah dapat dilihat pada Tabel IV.6.
Tabel IV.5 Uji Data Benar Tambah Data User
Kasus dan Hasil Uji (Data Benar)
Data Masukkan Hasil yang
diharapkan
Pengamatan Kesimpulan
Email:
mama.vira@gmail.com
Variabel email terisi sesuai dengan email yang dimasukkan
Isi dari variabel email sesuai dengan
email yang
dimasukkan
Diterima
Password: mamavira
Variabel password terisi sesuai dengan
password yang
dimasukkan
Isi dari variabel password sesuai dengan password yang dimasukkan
Diterima
Pushuri terisi otomatis Variabel pushuri terisi sesuai dengan
pushuri yang
dimasukkan
Isi dari variabel
pushuri sesuai
dengan pushuri yang dimasukkan
[image:31.595.114.511.466.732.2]Tabel IV.6 Uji Data Salah Tambah Data User
Kasus dan Hasil Uji (Data Salah)
Data Masukkan Hasil yang
diharapkan
Pengamatan Kesimpulan
Email: (kosong) Variabel email
kosong
Isi dari variabel email kosong
Diterima
Password: (kosong) Variabel password kosong
Isi dari variabel password kosong
Diterima
Pushuri: (kosong) Variabel pushuri kosong
Isi dari variabel pushuri kosong
Diterima
3.
Ubah data user
Pengujian ubah data user yang dilakukan adalah dengan dua tipe pengujian,
untuk kasus data benar dapat dilihat pada Tabel IV.7 dan untuk kasus data salah
dapat dilihat pada Tabel IV.8.
Tabel IV.7 Uji Data Benar Ubah Data User
Kasus dan Hasil Uji (Data Benar)
Data Masukkan Hasil yang
diharapkan
Pengamatan Kesimpulan
Email:
mama.vira@gmail.com
Variabel email terisi sesuai dengan email yang dimasukkan
Isi dari variabel email sesuai dengan
email yang
dimasukkan
Diterima
Old Password: mamavira
Variabel
oldpassword terisi
sesuai dengan
password yang
dimasukkan
Isi dari variabel oldpassword sesuai dengan password yang dimasukkan
Diterima
New Password: mamivira123
Variabel
newpassword terisi
sesuai dengan
password yang
dimasukkan
Isi dari variabel newpassword sesuai dengan password yang dimasukkan
[image:32.595.114.514.415.715.2]56
Tabel IV.8 Uji Data Salah Ubah Data User
Kasus dan Hasil Uji (Data Salah)
Data Masukkan Hasil yang
diharapkan
Pengamatan Kesimpulan
Email: (kosong) Variabel email
kosong
Isi dari variabel email kosong
Diterima
Old Password:
(kosong)
Variabel oldpassword kosong
Isi dari variabel oldpassword kosong
Diterima
New Password:
(kosong)
Variabel
newpassword kosong
Isi dari variabel newpassword kosong
Diterima
4.
Tambah data kata
Pengujian tambah data kata yang dilakukan adalah dengan dua tipe
pengujian, untuk kasus data benar dapat dilihat pada Tabel IV.9 dan untuk kasus
data salah dapat dilihat pada Tabel IV.10.
Tabel IV.9 Uji Data Benar Tambah Data Kata
Kasus dan Hasil Uji (Data Benar)
Data Masukkan Hasil yang
diharapkan
Pengamatan Kesimpulan
Kata kunci masukkan dari platform mobile / platform extension browser:
How to asshole girls
Variabel content terisi sesuai dengan kata
kunci yang
dimasukkan dari platform mobile / platform extension browser.
Variabel word terisi
sesuai dengan
pecahan kata
masukkan.
Isi dari variabel content sesuai dengan kata kunci yang dimasukkan dari platform mobile / platform extension browser.
Isi variabel word
sesuai dengan
pecahan kata
masukkan.
Diterima
Kata kunci masukkan dari Administrator: asshole
Variabel word terisi sesuai dengan kata yang dimasukkan oleh administrator
Isi dari variabel word sesuai dengan kata yang dimasukkan oleh administrator
[image:33.595.113.513.416.732.2]Tabel IV.10 Uji Data Salah Tambah Data Kata
Kasus dan Hasil Uji (Data Salah)
Data Masukkan Hasil yang
diharapkan
Pengamatan Kesimpulan
Pengguna dan
administrator tidak memasukkan kata kunci
Variabel content dan word kosong
Isi dari variabel content dan word kosong
Diterima
5.
Pencocokan kata
Pengujian pencocokan kata yang dilakukan adalah dengan dua tipe
pengujian, untuk kasus data benar dapat dilihat pada Tabel IV.11 dan untuk kasus
data salah dapat dilihat pada Tabel IV.12.
Tabel IV.11 Uji Data Benar Pencocokan Kata
Kasus dan Hasil Uji (Data Benar)
Data Masukkan Hasil yang
diharapkan
Pengamatan Kesimpulan
Kata kunci masukkan dari platform mobile / platform extension browser:
How to asshole girls
Variabel content terisi sesuai dengan kata
kunci yang
dimasukkan dari platform mobile / platform extension browser.
Variabel word terisi
sesuai dengan
pecahan kata
masukkan.
Isi dari variabel content sesuai dengan kata kunci yang dimasukkan dari platform mobile / platform extension browser.
Isi variabel word
sesuai dengan
pecahan kata
masukkan.
Diterima
Data badword: asshole
Terdapat kecocokan kata antara kata kunci masukkan dengan data badword. Notifikasi kata buruk muncul.
Kecocokan kata
terlihat antara kata
kunci masukkan
dengan data badword. Notifikasi kata buruk terlihat.
[image:34.595.114.509.379.731.2]58
Tabel IV.12 Uji Data Salah Pencocokan Kata
Kasus dan Hasil Uji (Data Salah)
Data Masukkan Hasil yang
diharapkan
Pengamatan Kesimpulan
Pengguna dan
administrator tidak memasukkan kata kunci
Variabel content dan word kosong
Isi dari variabel content dan word kosong
Diterima
Data badword: fuck
Tidak terdapat
kecocokan kata antara kata kunci masukkan dengan data badword
Tidak adanya
kecocokan kata antara kata kunci masukkan dengan data badword
Diterima
6.
Penyajian data report
Pengujian penyajian data report yang dilakukan adalah dengan dua tipe
pengujian, untuk kasus data benar dapat dilihat pada Tabel IV.13 dan untuk kasus
[image:35.595.111.513.449.680.2]data salah dapat dilihat pada Tabel IV.14.
Tabel IV.13 Uji Data Benar Penyajian Data Report
Kasus dan Hasil Uji (Data Benar)
Data Masukkan Hasil yang
diharapkan
Pengamatan Kesimpulan
Data User yang memiliki Data Report
dan Data
DetailReport
Report dapat
disajikan pada
platform mobile
Tampil log pencarian anak
Diterima
Dipilihnya tanggal, bulan, dan tahun pada platform mobile
Report dapat
disajikan pada
platform mobile berdasarkan tanggal, bulan, dan tahun yang sudah ditentukan
Tampil log pencarian anak berdasarkan tanggal, bulan, dan tahun yang sudah ditentukan
Tabel IV.14 Uji Data Salah Penyajian Data Report
Kasus dan Hasil Uji (Data Salah)
Data Masukkan Hasil yang
diharapkan
Pengamatan Kesimpulan
Data User yang tidak memiliki Data Report
dan Data
DetailReport
Report kosong pada platform mobile
Kosong log pencarian anak
Diterima
Dipilihnya tanggal, bulan, dan tahun yang
melebihi waktu
penggunaan pada platform mobile (Contoh: Penggunaan pada tanggal 10-06-2015, pemilihan waktu 16-07-2015)
Report tidak dapat
disajikan pada
platform mobile
Tidak tampil log pencarian anak
Diterima
7.
Penyajian data chart
Pengujian penyajian data chart yang dilakukan adalah dengan dua tipe
pengujian, untuk kasus data benar dapat dilihat pada Tabel IV.15 dan untuk kasus
data salah dapat dilihat pada Tabel IV.16.
Tabel IV.15 Uji Data Benar Penyajian Data Chart
Kasus dan Hasil Uji (Data Benar)
Data Masukkan Hasil yang
diharapkan
Pengamatan Kesimpulan