Pembangunan Aplikasi Futsal Addict Di Platform Android

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

KRISNA GINANJAR AGUNG PRATHAMA

10110753

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2016


(2)

iii

karunianya tugas akhir yang berjudul “Pembangunan Aplikasi Futsal Addict Di Platform Android” sebagai syarat untuk menyelesaikan program studi Strata I Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer pada Universitas Komputer Indonesia dapat diselesaikan sebagaimana semestinya Terima kasih sebesar-besarnya kepada :

1. Allah SWT yang telah memberikan kesehatan, ilmu, kesabaran dan kekuatan 2. Kedua Orang tua dan keluarga besar tercinta yang telah memberikan doa,

motivasi, dukungan dan materi hingga saat ini

3. Ibu Gentisya Tri Mardiani, S.Kom, M.Kom, selaku dosen pembimbing yang telah memberikan bimbingan dan arahan dalam mengerjakan penelitian tugas akhir

4. Bapak Hanhan Maulana, S.Kom, M.Kom, selaku dosen penguji I yang telah memberikan masukan dan arahan selama perbaikan aplikasi serta Bapak Andri Heryandi, S.Kom, M.T..

5. Bapak Iskandar Ikbal, S.T., M.Kom selaku dosen wali IF-6 angkatan 2010 6. Seluruh Dosen dan Staff pengajar program studi Teknik Informatika

Universitas Komputer Indonesia

Sangat disadari bahwa dalam pelaksanaan dan penyusunan laporan tugas akhir skripsi ini masih banyak kekurangan dan jauh dari kesempurnaan. Oleh karena itu kritik dan saran yang membangun sangat diharapkan untuk pengembangan ke arah yang lebih baik.

Bandung, Januari 2016


(3)

iv

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... iv

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... xi

DAFTAR SIMBOL ... xiv

DAFTAR LAMPIRAN ... xviii

BAB I PENDAHULUAN ... 1

I.1 Latar Belakang Masalah ... 1

I.2 Perumusan Masalah ... 2

I.3 Maksud dan Tujuan ... 2

I.4 Batasan Masalah ... 3

I.5 Metodologi Penelitian ... 3

I.5.1 Teknik Pengumpulan Data ... 4

I.5.2 Model Pembangunan Aplikasi ... 4

I.6 Sistematika Penulisan ... 6

BAB II TINJAUAN PUSTAKA ... 9

II.1. Landasan Teori ... 9

II.2. Algoritma ... 9


(4)

v

II.4.1. Definisi Graf ... 14

II.4.2. Jenis-jenis Graf ... 15

II.5. Ketentuan Kriteria Penetapan Klasifikasi Fungsi Jalan ... 17

II.6. Twitter ... 18

II.7. Twitter API ... 20

II.8. Text Mining ... 21

II.9. Text Preprocessing ... 22

II.9.1. Case folding ... 23

II.9.2. Cleansing ... 23

II.9.3. Stopword Removal ... 24

II.9.4. Tokenizer ... 25

II.9.5. Stemming ... 25

II.10. Machine Learning ... 25

II.11. Naïve bayes Classifier ... 26

II.12. K-Fold Cross Validation ... 28

II.13. Android ... 29

II.13.1. Android Life Cycle ... 29

II.13.2. Fitur ... 31

II.14. Global Positionong System ... 32

II.14.3. Location Based Services ... 32

II.14.4. Unsur Utama Location Based Services (LBS) ... 33


(5)

vi

II.18. Object Oriented Analysis Desaign ... 37

II.18.6. UML (Unifed Modeling Language) ... 38

II.19. Pengujian Fungsionalitas Sistem ... 43

BAB IIIANALISIS DAN PERANCANGAN SISTEM ... 47

III.1. Analisis Sistem ... 47

III.2. Analisis Masalah ... 47

III.3. Analisis Aplikasi Sejenis ... 47

III.4. Analisis Data Masukan ... 50

III.5. Analisis Metode /Algoritma ... 51

III.5.1. Analisis Preprocessing ... 51

III.5.2. Analisis FilteringTwitter ... 57

III.5.3. Analisis Matching Nama Jalan Dengan Tweet ... 65

III.5.4. Analisis Kondisi Lalu Lintas ... 67

III.5.5. Analisis Proses Konversi Tweet, Nama Jalan, dan Kondisi Jalan ... 67

III.5.6. Analisis Algoritma Dijkstra ... 69

III.6. Analisis Arsitektur Sistem ... 86

III.7. Spesifikasi Kebutuhan Perangkat Lunak ... 87

III.8. Analisis Kebutuhan Non Fungsional ... 88

III.9. Analisis Data ... 91

III.10. Analisis Kebutuhan Fungsional ... 92

III.9 Perancangan Sistem ... 104


(6)

vii

III.9.5. Jaringan Semantik ... 115

BAB IVIMPLEMENTASI DAN PENGUJIAN SISTEM ... 117

IV.1 Implementasi Sistem ... 117

IV.1.1 Lingkungan Implementasi ... 117

IV.1.2 Implementasi Data ... 118

IV.1.3 Implementasi Antarmuka ... 121

IV.2 Pengujian Sistem ... 121

IV.2.1 Rencana Pengujian ... 121

IV.2.2 Skenario Pengujian ... 122

IV.2.3 Hasil Pengujian ... 124

IV.2.4 Evaluasi Pengujian ... 131

BAB V KESIMPULAN DAN SARAN... 133

V.1 Kesimpulan ... 133

V.2 Saran ... 133

DAFTAR PUSTAKA ... 134

ABSTRAK ... i

ABSTRACT ... ii

DAFTAR ISI ... iii

DAFTAR TABEL ... vii

DAFTAR GAMBAR ... xi

DAFTAR SIMBOL ... xv


(7)

viii

1.2. Identifikasi Masalah ... 2

1.3. Maksud dan Tujuan ... 3

1.4. Batasan Masalah ... 3

1.5. Metodologi Penelitian ... 4

1.5.1. Metode Pengumpulan Data ... 4

1.5.2. Metode Pembangunan Perangkat Lunak ... 5

1.6. Sistematika Penulisan ... 7

BAB II LANDASAN TEORI ... 9

2.1 Mobile Teknologi ... 9

2.2 Futsal ... 9

2.2.1. Jenis – Jenis Pertandingan Futsal ... 10

2.2.2. Lapangan Futsal ... 11

2.2.3. Pembentukan tim futsal... 12

2.2.4. Posisi Pemain ... 13

2.3 Sistem Informasi ... 14

2.3.1. Komponen Sistem Informasi ... 14

2.3.2. Kualitas Sistem ... 15

2.3.3. Kualitas Informasi ... 16

2.4 Android ... 17

2.4.1. Android Life Cycle ... 17

2.4.2. Fitur Android ... 19


(8)

ix

2.8 Google Maps ... 24

2.9 JavaScript Object Notation (JSON) ... 24

2.10 Google Cloud Messaging ... 25

2.11 Object Relational Mapping (ORM) ... 26

2.12 Object Oriented Analysis Desain ... 27

2.12.1. Unified Modeling Languange (UML) ... 27

2.13 Location Based Services (LBS) ... 30

2.13.1. Unsur Utama LBS ... 30

2.13.2. Komponen LBS ... 31

2.13.3. Cara Kerja LBS ... 32

2.14 Pengujian Black Box ... 33

2.15 Pengujian White Box ... 34

2.16 Pengujian Kuesioner ... 36

2.17 Metode Haversine ... 38

2.18 Metode TOPSIS ... 40

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 45

3.1 Analisis Sistem ... 45

3.1.1. Analisis Masalah ... 45

3.1.2. Analisis Aplikasi Sejenis ... 45

3.1.3. Analisis Metode / Algoritma ... 48

3.1.4. Analisis Arsitektur Sistem ... 57


(9)

x

3.1.9. Analisis Kebutuhan Fungsional ... 67

3.1.10. Perancangan Sistem ... 119

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM ... 145

4.1. Implementasi Sistem ... 145

4.1.1. Lingkungan Implementasi ... 145

4.1.2. Implementasi Data ... 146

4.1.3. Implementasi Antar Muka ... 152

4.2. Pengujian Sistem ... 154

4.2.1. Pengujian Alpha ... 154

4.2.2. Pengujian Beta ... 176

BAB V KESIMPULAN DAN SARAN ... 189

5.1. Kesimpulan ... 189

5.2. Saran ... 189


(10)

DAFTAR PUSTAKA

[1] I. Sommerville, "Software Engineering," in Eight Edition, Addison Wesley, 2007.

[2] I. Sommerville, Software Engineering, Addison-Wesley Longman,Limited., 2002.

[3] B. MAHAMUDU, "Komponen Sistem Informasi," [Online]. Available: http://apr1l-si.comuf.com/komponen.php.

[4] J. Avestro, Pengembangan Perangkat Mobile, Jakarta: Jardiknas, 2007. [5] S. Ronan, D. Phil, Stelee and Nelson, The Android Developer's Cookbook,

2nd ed, New York: Addison-Wesley, 2013.

[6] "GCM Model," Google Inc, [Online]. Available: https://developers.google.com/cloud-messaging/. [Accessed 2015].

[7] C. Ireland, Bowers, M. Newton and K. Waugh, "Understanding Object-Relational Mapping : A Framework Based Approach," vol. 2, 2009.

[8] F. Martin, UML Distiled Third Edition: A brief Guide to The Standard Object Modeling Languange, United State Of America: Addison-Wesley, 2003. [9] B. Anwar, H. Jaya and P. I. Kusuma, "Implementasi Location Based Service

Berbasis Android Untuk Mengetahui Posisi User," vol. 13, 2014.

[10] M. Ahmed, Different Approaches to White Box Testing Technique for Finding error, 2011.

[11] S. M. P. P. H. E. T. Ruseffendi, Dasar-dasar penelitian & Bidang non eksakta lainnya, Bandung: PT. Tarsito Bandung, 2005.

[12] D. Prasetyo and K. Hastuti, "Penerapan Haversine Formula Pada Aplikasi Pencarian Lokasi dan Informasi Gereja Kristen di Semarang Berbasis Mobile".

[13] S. Ramadhan, "Sistem Pendukung Keputusan Rekomendasi Pembelian Perumahan Menggunakan Metode Topsis," vol. 5, 2013.


(11)

[14] S. Santoso, Buku Latihan Statistik Parametrik, 2000.

[15] H. Armandhani, "www.kompasiana.com," 21 October 2013. [Online]. Available: http://www.kompasiana.com/armandhani/serunya-fun-futsal-rotaract-club-bali-area_551f48ba8133115d2c9df0d0. [Accessed 31 August 2015].

[16] "Pengenalan JSON," json, [Online]. Available: http://www.json.org/json-id.html.

[17] "Introduction to Android," Google Inc, [Online]. Available: https://developer.android.com/guide/index.html.


(12)

1

1.1. Latar Belakang Masalah

Futsal atau yang dalam bahasa Spanyol adalah futbol sala, artinya sepak bola ruangan. Olahraga futsal identik dengan permainan team vs team dimana setiap team yang bertanding harus mempunyai 5 orang dimana yang terdiri dari 1 orang kiper dan 4 orang pemain. Dengan lapangan yang sempit pemain dituntut untuk harus selalu fokus dikarena permainan yang mempunyai tempo yang sangat cepat. Beberapa orang mungkin ada yang serius menekuni Olahraga futsal menjadi sebuah obsesi untuk menjadi seorang atlet dan adapun beberapa orang memanfaatkan Olahraga futsal hanya untuk bersenang senang, menambah teman bahkan hanya mencari keringat saja.

Trend futsal saat ini begitu cepat perkembangannya sehingga semua orang begitu antusias dengan salah satu cabang olah raga ini dan sebuah informasi global memegang peranan penting dalam segala aspek, termasuk mencari informasi yang didapat mengenai pertandingan futsal dalam event fun futsal, Latih tanding (

Sparring ) dan Tournament. Pemain ingin mengetahui event futsal tetapi tidak mengetahui lokasi lapangan futsal terdekat, bahkan tidak mengetahui kualitas berdasarkan rating yang diberikan oleh para pemain futsal lainnya dan umumnya orang lebih memilih mencari informasi futsal datang langsung ke lapangan futsal tersebut untuk mengetahui informasi pertandingan futsal.

Terdapat permasalahan yang sering dialami oleh orang-orang ketika akan melakukan futsal seperti mencari event dan lapangan futsal, berdasarkan survei melalui kuesioner yang telah dilakukan kepada 120 orang responden, sebanyak 68% responden menyatakan bahwa memiliki kesulitan untuk mendapatkan informasi event seperti fun futsal, sparring dan tournament, lalu 62% responden dari total responden menyatakan memiliki team utuh dan mempunyai kesulitan untuk mencari sebuah lawan sparing dan sebanyak 63% responden memiliki kesulitan untuk mengetahui info lapangan futsal terdekat dan dengan rating terbaik.


(13)

Hingga saat ini belum adanya media teknologi dan fitur yang berfokus khusus kepada seorang pemain futsal secara akurat dan up to date yang dapat membantu mengatasi beberapa masalah seperti memudahkan untuk mencari pemain futsal yang hendak akan ikut dan diajak untuk bermain futsal, memudahkan sebuah klub untuk bisa mencari lawan tanding dan memudahkan pemain futsal untuk mencari lapangan futsal terdekat dan terbaik.

Permasalahan diatas yang menjadi dasar dalam pembuatan sebuah aplikasi atau perangkat lunak Futsal Addict. Dengan pembangunan perangkat lunak ini akan menjadi solusi yang tepat untuk membantu para penggiat futsal didalam mengatasi permasalahan - permasalahan yang telah dijabarkan pada latar belakang di atas seperti memberikan pengelolaan profile untuk para pemain dalam mencari informasi mengenai event fun futsal, sparring dan tournament. Memberikan bantuan untuk pemain yang berada dari luar kota yang hendak ingin bermain futsal di daerah baru, dan memberikan kemudahan untuk mencari lapangan dengan rating terbaik di daerah tersebut.

1.2.Identifikasi Masalah

Berdasarkan latar belakang yang telah dijelaskan diatas dapat diidentifikasikan beberapa masalah, diantaranya :

1. Belum adanya fitur yang dapat mengelola profile para pemain futsal yang membantu para pemain futsal untuk mencari informasi para pemain yang hendak ikut atau diajak untuk bermain fun futsal.

2. Beberapa pemain sulit mencari informasi lokasi terdekat.

3. Beberapa pemain sulit mencari informasi rekomendasi lapangan futsal terbaik.

4. Beberapa pemain sulit mencari informasi event fun futsal, sparring dan

tournament.


(14)

1.3. Maksud dan Tujuan

Maksud dari penelitian ini adalah membangun dan menciptakan inovasi baru berbentuk sebuah perangkat lunak yang dapat membantu para pemain futsal untuk mendapatkan informasi dari pemain futsal, klub futsal, dan tempat futsal. Sedangkan untuk tujuannya adalah sebagai berikut :

1. Memberikan fitur baru yang dapat digunakan oleh para pemain futsal secara bersama-sama membantu para pemain futsal untuk mencari informasi para pemain yang hendak ikut atau diajak untuk bermain fun futsal.

2. Membantu pemain futsal dalam mencari informasi tentang lapangan futsal terdekat .

3. Membantu pemain futsal dalam mencari informasi tentang lapangan futsal dengan rekomendasi terbaik .

4. Membantu para pemain yang kesulitan dengan memberikan fitur untuk mencari informasi event fun futsal, sparring dan tournament.

1.4. Batasan Masalah

Untuk dapat mencapai maksud dan tujuan dari penelitian yang akan dilakukan maka diperlukan batasan-batasan di dalam penelitian, berikut adalah batasan masalah dari penelitian ini, yaitu :

1. Perangkat lunak ini menggunakan konsep user-generated content (UGC). 2. Pendekatan analisis yang digunakan pada perangkat lunak ini

menggunakan UML (Unified Modeling Language) untuk subsistem web

dan mobile.

3. Perangkat lunak ini menggunakan JSON (Javascript Object Notation)

untuk media pertukaran data dengan server.

4. Tools yang digunakan untuk pembangunan perangkat lunak untuk subsistem mobile menggunakan Eclipse dan tools yang digunakan untuk susbsistem web menggunakan Sublime Text 3.


(15)

5. Bahasa pemrograman yang digunakan untuk subsistem web adalah PHP dan DBMS MySQL dan Bahasa Pemrograman yang digunakan untuk subsistem mobile adalah Java.

6. Versi minimum Sistem Operasi yang didukung oleh perangkat lunak ini adalah android versi 4.4 Kitkat.

7. Metode rating lapangan futsal berdasarkan kualitas lapangan, kenyamanan dan keamanan sekitar lapangan, kemudian di urutkan menjadi sebuah rekomendasi menggunakan algoritma topsis.

8. Metode pencarian lapangan nearby untuk pemain futsal dari luar kota dengan menggunakan metode haversine.

1.5.Metodologi Penelitian

Metodologi penelitian yang digunakan adalah dengan menggunakan metode deskriptif yaitu suatu metode penelitian yang dilakukan dengan tujuan utama untuk membuat gambaran atau deskripsi tentang suatu keadaan secara objektif [1]. Langkah – langkah yang dilakukan yaitu dengan teknik pengumpulan data dan model pembangunan perangkat lunak yang akan dipaparkan sebagai berikut :

1.5.1.Metode Pengumpulan Data

Adapun teknik pengumpulan data yang akan digunakan terdiri dari dua cara, yaitu :

1. Studi Literatur

Studi literatur dari penelitian ini bersumber dari buku-buku serta didukung oleh beberapa jurnal yang berkaitan dengan penelitian ini.

2. Kuesioner

Kuesioner dilakukan dengan melakukan kuisioner online yang dilakukan dengan media googledocs.com memberikan beberapa pertanyaan kepada semua orang di beberapa daerah di Indonesia dan dari komunitas dan klub futsal, seperti : Regional Bandung Futsal Community, Football Boots


(16)

Indonesia, Komunitas Jersey Indonesia, Klub Kindergarten dan beberapa komunitas dan klub futsal lainnya.

1.5.2.Metode Pembangunan Perangkat Lunak

Metode pembangunan perangkat lunak yang digunakan adalah waterfall model

yang dikemukakan oleh Sommervile [2] Pada gambar 1.1 Waterfall Model :

Gambar 1. 1 Waterfall Model

1. Requirement Definition

Pada tahapan ini, segala kebutuhan di dalam pembangunan perangkat lunak akan didefinisikan secara lengkap. Kemudian kebutuhan-kebutuhan yang telah terdefinisi tersebut akan dianalisis dan selanjutnya akan ditentukan kebutuhan-kebutuhan apa saja yang harus dipenuhi oleh perangkat lunak yang akan dibangun. Ini merupakan tahapan penting dan harus dikerjakan secara detail agar dapat menghasilkan design yang lengkap.


(17)

2. System and Software Design

Pada tahapan ini, setelah seluruh kebutuhan-kebutuhan di dalam pembangunan perangkat lunak telah terkumpul, kemudian perangkat lunak yang akan dibangun akan di desain terlebih dahulu. Desain perangkat lunak akan dibagi berdasarkan bagian-bagiannya dan aktivitas dari bagian-bagian tersebut yang telah dikumpulkan secara lengkap pada tahapan sebelumnya.

3. Implementation and Unit Testing

Pada tahapan ini, hasil dari desain yang telah dibuat akan diterjemahkan ke dalam kode-kode atau syntax-syntax pemrograman dengan menggunakan bahasa pemrograman yang telah ditentukan seperti java android, PHP ataupun JSON terlebih dahulu dan program yang dibangun akan langsung diuji berdasarkan unit-unitnya atau bagian-bagiannya, supaya tiap-tiap unit atau bagian pada perangkat lunak yang dibangun sesuai dengan tujuan yang ingin dicapai.

4. Integration and System Testing

Pada tahapan ini seluruh unit-unit program yang terbagi menjadi beberapa bagian-bagian program yang terpisah akan disatukan menjadi satu program atau satu sistem yang utuh, kemudian sistem yang telah dibuat akan diuji agar dapat berjalan sesuai dengan hasil analisis yang telah dilakukan sebelumnya.

5. Operation and Maintenance

Pada tahapan ini, perangkat lunak atau sistem yang telah dibuat akan dilakukan pemeliharaan program, seperti : penyesuaian atau perubahan sistem. Hal ini dilakukan supaya sistem yang telah dibangun dapat beradaptasi dengan situasi yang ada dan juga supaya program atau sistem yang telah dibangun tetap terjaga dari segi fungsionalitasnya


(18)

1.6. Sistematika Penulisan

Sistematika penulisan skripsi ini disusun untuk memberikan gambaran umum mengenai penelitian yang dikerjakan. Sistematika penulisan dalam tugas akhir ini adalah sebagai berikut :

BAB 1 Pendahuluan

Bab 1 menguraikan latar belakang permasalahan, merumuskan inti permasalahan, mencari solusi atas masalah tersebut, mengidentifikasi masalah tersebut, menentukan maksud dan tujuan, kegunaan penelitian, pembatasan masalah, metode penelitian, dan sistematika penulisan.

BAB 2 Landasan Teori

Bab 2 menguraikan bahan-bahan kajian, konsep dasar, dan teori dari para ahli yang berkaitan dengan penelitian. Meninjau permasalahan dan hal-hal yang berguna dari penelitian-penelitian dan sintesis serupa yang pernah dikerjakan sebelumnya dan menggunakannya sebagai acuan pemecahan masalah pada penelitian ini.

BAB 3 Analisis dan Perancangan Sistem

Bab 3 menguraikan hasil analisis dan perancangan dari objek penelitian untuk mengetahui hal atau masalah apa yang timbul dan mencoba memecahkan masalah tersebut dengan mengaplikasikan perangkat-perangkat yang digunakan.

BAB 4 Implementasi dan Pengujian

Bab 4 menguraikan implementasi dari masalah-masalah yang telah dianalisis dan dirancang serta pengujiannya. Pada bagian ini juga akan ditentukan bagaimana sistem dirancang, dibangun, diuji dan disesuaikan dengan hasil penelitian.

BAB 5 Kesimpulan dan Saran

Bab 5 menguraikan tentang kesimpulan dari hasil penelitian beserta saran untuk pengembangan selanjutnya.


(19)

(20)

(21)

(22)

9

2.1 Mobile Teknologi

Mobile teknologi adalah istilah kolektif yang digunakan untuk menggambarkan berbagai jenis teknologi komunikasi seluler. Handphone yang dulunya hanya digunakan sebagai alat untuk berkomunikasi satu sama lain sudah berubah dengan berkembangnya teknologi dan membuat handphone saat ini tidak hanya sebagai alat untuk berkomunikasi saja, namun memiliki banyak fungsi, seperti : bermain game, menonton TV, mencari informasi berita dan mencari lokasi suatu daerah. Banyak ahli berpendapat bahwa masa depan teknologi komputer terletak pada komputasi mobile dengan jaringan nirkabel. Sehingga membuat teknologi pada mobile akan terus berkembang dari waktu ke waktu.

2.2 Futsal

Futsal berasal dari bahasa spanyol yaitu dari kata futbol sala, artinya sepak bola ruangan. Pada tahun 1930 di Montevideo, Uruguay, futsal diperkenalkan oleh seorang pelatih sepak bola yang bernama Juan Carlos Ceriani. Futsal terbentuk dari ketidakmampuan masyarakat akan lahan untuk bisa bermain sepak bola. Perbedaan futsal dengan sepak bola adalah dari jumlah pemain yang ada dilapangan, ukuran bola, ukuran lapangan dan peraturan yang diberlakukan. Perkembangan futsal sendiri cukup pesat dikarenakan dari peralatan dan peraturan yang sederhana memudahkan masyarakat yang umumnya sulit untuk bermain sepak bola outdoor yang semakin hari semakin sulit ditemukan lapngan yang luas untuk menggelar sebuah pertandingan sepak bola.


(23)

2.2.1. Jenis – Jenis Pertandingan Futsal

Futsal sendiri memiliki jenis – jenis pertandingannya tesendiri, yang dimaksud untuk mengenal futsal apa yang sedang kita mainkan termasuk kedalam jenis yang mana. Dan ini adalah jenis – jenis pertandingan futsal tersebut :

1. Fun Futsal

Contoh pertandingan yang termasuk dalam fun futsal adalah ketika sebuah perkumpulan seperti teman kelas, teman kantor, sebuah komunitas bahkan sebuah instansi yang melakukan pertandingan non-resmi yang tidak menjadikan skor akhir pertandingan sebagai patokan, tidak menjadikan prestasi sebagai tujuan utamanya dan dalam 1 tim bermain hanya mempunyai 2 posisi yaitu posisi penjaga gawang dan pemain yang tidak memiliki posisi yang pasti.

2. Sparring

Sparring sendiri memiliki sebuah artian khusus dimana adanya sebuah pertandingan resmi antar klub atau komunitas yang didalamnya menjadikan skor akhir menjadi penentu bahwa klub yang memenangi pertandingan mempunyai keunggulan dibanding dengan klub yang kalah dan disetiap pemainnya memiliki kemampuan dan posisi yang sesuai dengan gaya bermain masing masing individu.

3. Tournament

Tournament futsal biasanya mempertemukan antar klub dalam sebuah kompetisi untuk bisa mencari prestasi dan eksistensi sebuah klub yang memenangi tournament tersebut, biasanya klub yang mengikuti sudah mempunyai pengakuan klub yang utuh dari hal materi pemain, jumlah pemain dan manajerial.


(24)

2.2.2. Lapangan Futsal

Lapangan Futsal sendiri memiliki standar internasional yang dikeluarkan oleh FIFA sebagai induk futsal itu sendiri, yang dijelaskan pada gambar 2.1 :

Gambar 2. 1 Lapangan Futsal

1. Ukuran Lapangan Futsal

Lapangan futsal sendiri memiliki panjang dari 25 sampai dengan 43 meter dan memiliki lebar lapangan sepanjang 15 hingga 25 meter

2. Garis Batas Lapangan Futsal

Garis selebar 8 centimeter yaitu garis sentuh di sisi, garis gawang di ujung ujung, dan garis melintang tengah lapangan, dan garis sepanjang 3 meter untuk jari jari dari lingkaran tengah.

3. Ukuran Daerah Penalti

Busur berukuran 6 meter dari masing – masing tiang gawang, titik penalti sepanjang 6 meter dari titik tengah garis gawang dan titik penalti kedua sepanjang 10 meter dari titik tengah garis gawang.


(25)

4. Zona Pergantian Pada Permainan Futsal

Daerah 5 meter ( 5 meter dari garis tengah lapangan ) pada sisi tribun dari pelemparan.

5. Ukuran Gawang Futsal

Gawang dalam futsal memiliki tinggi 2 meter dan lebar sepanjang 3 meter

2.2.3. Pembentukan tim futsal

Tim futsal terdiri dari 5 atau lebih pemain yang memiliki kesamaan terhadap suatu jenis tertentu dan untuk mencari pemain yang sesuai untuk membentuk suatu tim futsal tidaklah mudah. Hal ini dikarenakan oleh banyak faktor, yaitu :

1. Lokasi

Lokasi sangat menentukan tim futsal di dalam berlatih. Hal ini dikarenakan apabila terdapat salah satu anggota tim futsal yang berbeda daerah apalagi jauh dari lapangan futsal itu sendiri, hal ini dapat mempersulit komunikasi antara satu anggota tim futsal dengan anggota lainnya dari tim futsal tersebut.

2. Jenis Pertandingan Futsal

Jenis pertandingan futsal merupakan salah satu faktor yang sangat mempengaruhi di dalam pembentukan suatu tim futsal. Karena tim futsal merupakan kumpulan para pemain futsal yang sama-sama bermain di dalam satu jenis game yang sama.

3. Posisi Pemain

Di dalam tim futsal setiap pemain memiliki fungsi dan perannya masing. Pembagian peran atau tugas ini berdasarkan keahlian dari masing-masing pemain futsal tersebut. Pembagian peran ini bertujuan agar di dalam setiap pertandingannya ada yang memiliki strategi ataupun hanya senang senang dalam bermain futsal.


(26)

2.2.4. Posisi Pemain

Setiap tim futsal memiliki gaya permainan yang berbeda, namun pada dasarnya setiap pemain futsal memiliki peran dan fungsi masing-masing di dalam timnya. Setiap pemain futsalmemiliki tugas yang berbeda satu sama lain, namun peran tersebut terbagi menjadi 2 bagian utama, yaitu :

1. Penjaga Gawang ( GK )

Pemain futsal di posisi ini memiliki peran penting dalam sebuah tim futsal untuk bisa menjaga gawangnya dengan memakai seluruh tubuhnya agar bisa mengagalkan tim lawan untuk mencetak skor dan memiliki tingkat reflek yang baik dan adapun perlengkapan untuk seorang kiper agar bisa terhindar dari cidera seperti memakai kneepad, armpad, finger protection

dan glove ( sarung tangan ). 2. Pemain Bertahan ( Defender )

Posisi ini tidak kalah penting seperti penjaga gawang, pemain bertahan memiliki kriteria seperti membatasi ruang gerak pemain lawan untuk melakukan penyerangan ke gawang dan biasanya memiliki postur yang kuat untuk bisa berani dalam benturan yang terjadi dengan pemain lawan, pemain bertahan harus mempunyai skill dalam hal keberanian dan ketenangan dalam bermain.

3. Playmaker

Tugas dari playmaker adalah mengatur alur permainan tim agar bisa menjadikan permainan tidak stuck dalam sebuah situasi tertekan, mempunyai skill dalam mengolah bola diatas rata – rata dan mempunyai akurasi operan dan shooting yang juga diatas pemain lainnya.

4. Pivot

Mempunyai insting mencetak gol yang tinggi dan orang pertama yang meredam dibelakang pertahanan lawan ketika ada serangan balik (counter attack).


(27)

2.3 Sistem Informasi

Sistem adalah kumpulan dari komponen-komponen peralatan model requirements, function dan interface (Mathiassen, Lars, 2000). Sedangkan Sistem Informasi adalah sistem yang menggunakan teknologi komputer untuk mengumpulkan, memproses, menyimpan, menganalisis dan menyebarkan informasi. Sistem Informasi merupakan kombinasi teratur apapun dari sumber daya manusia, hardware, software, data, dan jaringan.

2.3.1. Komponen Sistem Informasi

Sistem informasi dapat digambarkan sebagai sistem yang terdiri dari berbagai komponen. Komponen ini saling berinteraksi satu dengan yang lain membentuk suatu kesatuan untuk mencapai sasaran:

1. Komponen Masukan

Mewakili sejumlah data yang masuk ke dalam sistem informasi. Input tersebut termasuk metode-metode dan media untuk memperoleh data yang akan dimasukkan, yang dapat berupa dokumen-dokumen dasar.

2. Komponen Proses

Terdiri dari kombinasi prosedur, logika, dan model matematika yang akan memanipulasi data input dan data yang tersimpan di database dengan cara tertentu untuk menghasilkan keluaran (output) yang diinginkan.

3. Komponen Keluaran

Produk dari sistem informasi adalah keluaran yang merupakan informasi dan dokumentasi yang dapat digunakan untuk semua tingkatan manajemen dan semua pemakai sistem.

4. Komponen Teknologi

Teknologi merupakan tool-box dalam sistem informasi.Teknologi digunakan untuk menerima input,menjalankan model, menyimpan dan mengakses data,menghasilkan dan mengirimkan keluaran dan membantu pengendalian dari system secara keseluruhan.


(28)

5. Komponen Hardware

Hardware berperan penting sebagai suatu peralatan vital bagi sistem informasi yang digunakan untuk menyimpan dan mengolah informasi. 6. Komponen Software

Software berfungsi sebagai kumpulan perintah komputerisasi yang berguna untuk mengolah,menghitung dan memanipulasi data yang diambil dari hardware untuk menciptakan suatu informasi.

7. Komponen Basis data

Database merupakan kumpulan dari data yang saling berhubungan satu sama lainnya, tersimpan pada perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya. Pengelolaan database umumnya dikenal dengan nama DBMS (Database Management System).

8. Komponen Kendali

Bagian pengendalian dirancang dan diterapkan untuk memelihara system dari hal-hal yang dapat merusaknya, seperti faktor-faktor alamiah temperatur, air, api, debu, virus, sabotase/hijacking, dan sebagainya. [3]

2.3.2. Kualitas Sistem

Kualitas informasi adalah suatu fungsi menyangkut nilai dari keluaran yang dihasilkan oleh suatu sistem yang dirasakan oleh pengguna (Negas et. al. 2003). Oleh karena itu sistem yang akan diimplementasikan harus berkualitas, agar pengguna merasa nyaman dalam penggunaan dan pemanfaatan sistem tersebut (Negash et. al. 2003) menggunakan interactivity dan accses untuk pengukuran kualitas sistem. Interactivity adalah tingkat dimana para pengguna sistem dapat mengambil bagian dalam memodifikasi isi dan format dari suatu lingkungan yang didasarkan pada media yang meliputi umpan balik yang cepat, berbagai alternatif dan tampilan yang dapt berubah. Sedangkan accses adalah ketersediaan dari sistem ketika pelanggan mencoba untuk mendapatkan kembali informasi, dan mudah dalam menggunakan penghubung untuk menghubungi orang yang diperlukan (yang mendukung) yang meliputi


(29)

kecepatan waktu respon, mudah mendapatkan informasi dan mudah berhubungan dengan manajemen.

2.3.3. Kualitas Informasi

Kualitas sistem adalah mengukur proses informasi melalui sistem yang digunakan, atau keterkaitan anatara karakteristik sistem dengan keberhasilan implementasi (Negash et al, 2003). Oleh karena itu sistem yang akan diimplementasikan harus berkualitas, agar pengguna merasa nyaman dalam penggunaan dan pemanfaatan sistem tersebut. Negash et. al. (2003) menggunakan interactivity dan accses untuk pengukuran kualitas sistem. Interactivity adalah tingkat dimana para pengguna sistem dapat mengambil bagian dalam memodifikasi isi dan format dari suatu lingkungan yang didasarkan pada media. Interctivity meliputi umpan balik yang cepat, berbagai alternatif, dan tampilan yang dapat berubah. Acces adalah ketersediaan dan sistem ketika pelanggan mencoba untuk mendapatkan kembali informasi, dan mudah dalam menggunakan alat penghubung untuk menghubungi orang yang diperlukan (yang m endukung). Access meliputi kecepatan waktu respon, mudah mendapat informasi, mudah berhubungan dengan manajemen. Pada penelitian ini peneliti menggunakan indikator yang sama digunakan oleh Nurniah (2005), yaitu menggunakan indikator gabungan yang dikembangkan Dol and Torkzadeh yang digunakan Li Xiao dan Dasgupta yang mengukur kepuasan penggguna pada sistem informasi berbasis web dan indikator yang digunakan Bailey dan Pearson (1983) yang digunakan mengukur dan menganalisa kepuasan pengguna komputer. Indikator tersebut dijelaskan di bawah ini:

1. Accuracy (ketepatan), ketepatan dari suatu sistem dalam mengelola data untuk menghasilkan informasi yang tidak menyesatkan.

2. Confidence in sistem (kepercayaan terhadap sistem), sistem yang digunakan oleh pengguna tidak menimbulkan keraguan dalam pengoerasiannya. 3. Completeness (kelengkapan), dapat memenuhi seluruh kebutuhan pengguna


(30)

4. Flexibility (fleksibel), program yang ada dapat ditambah atau dikurangi sesuai dengan keperluan.

5. Ease of use (mudah digunakan), kemudahan dalam pengoperasian system akan memudahkan pengguna dalam menggunakan sistem tersebut.

6. Integration of system, kesiapan sistem untuk menghubungkan data dalam areal yang berbeda.

7. Understanding of systems, tingkat pemahaman yang dimiliki oleh pengguna terhada sistem atau layanan yang tersedia.

8. Respon time (kecepatan respon), waktu yang dibutuhkan oleh sistem untuk merespon input.

2.4 Android

Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat seluler layar sentuh seperti telepon pintar dan komputer tablet. Android awalnya dikembangkan oleh Android, Inc., dengan dukungan finansial dari Google, yang kemudian membelinya pada tahun 2005. Sistem operasi ini dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance, konsorsium dari perusahaan-perusahaan perangkat keras, perangkat lunak, dan telekomunikasi yang bertujuan untuk memajukan standar terbuka perangkat seluler. Ponsel Android pertama mulai dijual pada bulan Oktober 2008:

2.4.1. Android Life Cycle

Aplikasi android terdiri dari beberapa fungsi dasar seperti mengedit catatan, memutar file musik, membunyikan alarm, atau membuka kontak telepon. Fungsi-fungsi tersebut dapat diklasifikasikan ke dalam empat komponen android yang berbeda seperti ditunjukkan pada,klasifikasi tersebut berdasarkan kelas-kelas dasar java yang digunakan.


(31)

Tabel 2. 1 Komponen Aplikasi Mobile

Functionality Java Base Class Examples

Focused thing a user can do

Activity Edit a note, play a game

Background process

Service Play music, update weather icon

Receive messages BroadcastReceiver Trigger alarm upon event Store and retrieve data ContentProvider Open a phone contact

Setiap aplikasi pasti menggunakan minimal satu dari komponen tersebut, akan tetapi terdapat beberapa komponen yang mengharuskan mencantumkan specified permission sebelum digunakan seperti komponen

Service, BroadcastReceiver, ContentProvider.

Android memiliki paradigma pemrograman lain tidak seperti paradigma pemrograman biasa di mana aplikasi yang dijalankan pada fungsi main(), sistem android menjalankan kode dalam method Activity dengan menerapkan metode callback tertentu yang sesuai dengan tahap tertentu dari siklus hidup. Setiap aplikasi yang berjalan dalam sistem operasi Android memiliki siklus hidup yang berbeda dengan aplikasi desktop ataupun web. Hal ini dikarenakan aplikasi mobile memiliki tingkat interupsi proses yang cukup tinggi seperti ketika handling panggilan masuk aplikasi diharuskan menghentikan proses sementara. Penerapan siklus hidup juga berguna untuk memastikan aplikasi tidak menghabiskan sumber daya baterai penggunan .


(32)

Terdapat beberapa state dalam siklus hidup android yang terjadi seperti diilustrasikan pada gambar 2.2 siklus hidup android akan tetapi hanya beberapa dari state tersebut yang menjadi statis diantaranya:

1.Resumed

Resumed terjadi ketika aplikasi berjalan setelah state paused . State ini akan menjalankan perintah program yang ditulis pada method onResume(). 2. Paused

Dalam keadaan ini aktivitas yang terjadi dihentikan secara sementara tetapi masih terlihat oleh pengguna karena terdapat proses yang memiliki prioritas lebih tinggi seperti panggilan telepon. Aplikasi tidak dapat menjalankan perintah apapun ataupun menampilkan apapun dalam state ini .

3. Stopped

Dalam keadaan ini, aplikasi benar-benar tidak ditampilkan dan tidak terlihat oleh pengguna tetapi masih meninggalkan service dibackground.

State lain seperti Created dan Started bersifat sementara dan sistem dengan cepat menjalankan state berikutnya dengan memanggil metode life cyclecallback berikutnya. Artinya, setelah sistem OnCreate() dipanggil, dengan cepat sistem akan memanggil method OnStart(), krmudian diikuti oleh onResume().

2.4.2. Fitur Android

Android memiliki beberapa fitur utama yang sering digunakan dalam proses pembangunan aplikasi diantaranya adalah:

1.Multi-proses dan App Widgets

Sistem operasi android tidak melarang prosesor menjalankan lebih dari satu aplikasi dalam satu waktu. Sistem operasi android dapat mengatur aplikasi dan thread yang berjalan secara multitasking. Keuntungan yang didapat adalahketika aplikasi berjalan dan berinteraksi dengan pengguna di layer depan sistem operasi, proses dari aplikasi lain dapat berjalan untuk melakukan pembaruan informasi. Sebagai contoh misalnya ketika pengguna memainkan


(33)

game, proses lain dapat berjalan di belakang aplikasi seperti memeriksa harga saham dan memunculkan peringatan.

App Widgets adalah mini aplikasi yang dapat embedded dalam aplikasi seperti home screen. App widgets dapat menjalankan prosesrequest seperti musik streaming atau mendeteksi suhu ruangan secara background.

Multi-proses dapat memberikan manfaat berupa user experience yang lebih banyak, namun penggunaan fitur tersebut dapat menghabiskan banyak energi baterai jika penggunaantidak benar.

2.Touch Gestures dan Multi-touch

Touchscreen adalah user interface intuitif yang digunakan banyak

smartphone didunia. Dengan fitur ini interaksi dapat dibuat lebih mudah karena cukup dengan menggunakan jari tangan. Multi-touch adalah kemampuan yang dapat melakukan tracking lebih dari satu tangan dalam satu waktu. Fitur ini sering digunakan untuk interaksi memperbesar atau memutar objek. Selain itu, pengembang dapat membuat interaksi baru dengan memanfaatkan fitur tersebut.

3.Hard dan Soft Keyboard

Salah satu fitur pada perangkat smartphone adalah tombol fisik dan non fisik, tombol fisik digunakan untuk navigasi pendukung dalam pengoperasian android. Pengembang aplikasi tidak perlu secara manual untuk mengintegrasikan tombol tersebut dalam aplikasi. Tombol non fisik adalah tombol yang dibuat oleh sistem operasi seperti keyboard virtual, dan tombol navigasi aplikasi.


(34)

2.4.3. Prinsip Desain

Android memiliki beberapa prinsip desain yang dapat menjadi acuan dalam membuat desain aplikasi android diantaranya adalah

1.Multiple Assets

Android mendukung jutaan smartphone, tablet dan perangkat lain dalam berbagai ukuran layar dan ukuran, untuk itu Multiple Assetssangat disarankan digunakan untuk mengatasi fragmentasi pada android. Seperti ilustrasi pada gambar 2.3 Mutiple Assets, android menciptakan beberapa klasifikasi ukuran icon yaitu : MDPI, HDPI, XHDPI, XXHDPI dan XXXHDPI. MDPI dan HDPI dikhususkan untuk icon yang akan digunakan pada device berukuran smartphone sedangkan untuk XHDPI, XXHDPI dan XXXHDPI digunakan pada device berukuran tablet.

Gambar 2. 3 Multiple Assets

2.Touch Feedback

Touch Feedback dalam android digunakan sebagai respon setiap objek yang ditekan pengguna. Hal ini bertujuan untuk memberi tahu pengguna objek mana yang berinteraksi dengan penggunan.


(35)

Gambar 2. 4 Touch Feedback

2.5 User-Generated Content (UGC)

User-generated Content atau disingkat UGC, dikenal juga dengan istilah

consumer-generated media (CGM) atau user-created content (UCC) adalah merujuk pada berbagai tipe konten materi atau media yang tersedia untuk umum dan diproduksi oleh end-user atau para non-media profesional. Kemajuan teknologi web memungkinkan konten website tidak lagi dimonopoli oleh profesional media, melainkan dapat dibuat oleh para penggunanya. UGC merupakan salah satu ciri dominan Web 2.0. Contoh penerapan pada UGC adalah YouTube hampir semua konten yang dimiliki situs tersebut dibuat dan diupload oleh penggunanya.

Konsep UGC pada dasarnya telah banyak merubah cara berinteraksi pengguna dengan internet begitu juga dalam media periklanan. Bagi media periklanan jejaring sosial dengan konsep UGC memiliki potensi besar menyediakan market yang lebih terarah dan terpusat bagi mereka.

2.6 Web Services

W3C mendefinisikan web service sebagai sebuah software aplikasi yang dapat teridentifikasi oleh URI dan memiliki interface yang didefinisikan, dideskripsikan, dan dimengerti oleh XML atau JSON dan juga mendukung interaksi langsung dengan software aplikasi yang lain dengan menggunakan message berbasis XML atau JSON melalui protokol internet. Web service adalah sebuah software aplikasi yang tidak terpengaruh oleh platform, menyediakan method-method yang dapat diakses oleh network. Web Service juga akan menggunakan


(36)

XML untuk pertukaran data, khususnya pada dua entities bisnis yang berbeda. Beberapa karakteristik dari web service adalah:

1.Message-based

2.Standards-based

3.Programming language independent

4.Platform-neutral

Beberapa key standard didalam web service adalah: JSON, XML, SOAP, WSDL and UDDI. [4]

2.7 GPS

GPS adalah singkatan dari Global Positioning System yang Merupakan sistem untuk menentukan posisi dan navigasi secara global dengan menggunakan satelit. Sistem yang pertama kali dikembangkan oleh departemen pertahanan amerika ini digunakan untuk kepentingan militer maupun sipil (survey dan pemetaan). Sistem GPS yang nama aslinya adalah NAVSTAR GPS (Navigation Satellite Timing and Ranging Global Positioning System), mempunyai tiga segmen yaitu:

1. Satellite

Bertugas untuk menerima dan menyimpan data yan ditransmisikan oleh stasiun-stasiun pengontrol, menyimpan dan menjaga informasi waktu ketelitian tinggi (ditentukan dengan jam atomic di satelit), dan memancarkan sinyal dan informasi secara kontinyu ke pesawat penerima (receiver)dari pengguna.

2. Pengontrol

Bertugas untuk mengendalikan dan mengontrol satelit dari bumi baik untuk mengecek kesehatan satelit, penentuan dan prediksi orbit dan waktu, sinkronisasi waktu antar satelit, dan mengirim data ke satelit.


(37)

3. Penerima

Bertugas menerima data dari satelit dan memprosesnya untuk menentukan posisi (posisi tiga dimensi yaitu koordinat di bumi plus ketinggian), arah jarak dan waktu yang diperlukan oleh pengguna. Ada dua macam tipe penerima yaitu tipe NAVIGASI dan tipe GEODETIC.

Satelit GPS yang mengorbit bumi, dengan orbit dan kedudukan yang tetap (koordinatnya pasti), seluruhnya berjumlah 24 buah dimana 21 buah aktip bekerja dan 3 buah sisanya adalah cadangan.

Dalam bidang survey dan pemetaan untuk wilayah terumbu karang, GPS dapat digunakan untuk menentukan posisi titik-titik lokasi penyelaman maupun transek. Posisi yang diperoleh adalah posisi yang benar terhadap sistem koodinat bumi. Dengan mengetahui posisinya yang pasti, lokasi-lokasi penyelaman maupun transek dapat diplotkan kedalam peta kerja.

2.8 Google Maps

Google Maps adalah sebuah jasa peta globe virtual gratis dan online

disediakan oleh Google dapat ditemukan di http://maps.google.com. Teknologi tersebut menawarkan peta yang dapat diseret dan gambar satelit untuk seluruh dunia.

Google Maps merupakan Peta Online atau Membuka peta secara online. kini dapat dilakukan secara mudah melalui servis gratis dari Google ini. Bahkan, servis ini menyediakan API (Application Programming Interface) yang memungkinkan developer lain untuk memanfaatkan aplikasi ini di aplikasi buatannya. Tampilan GoogleMaps pun dapat dipilih, berdasarkan foto asli atau peta gambar rute saja. [3]

2.9 JavaScript Object Notation (JSON)

JSON 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,


(38)

Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemrograman 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: 1. 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 [9]. 2. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).

2.10 Google Cloud Messaging

Google Cloud Messaging adalah teknologi untuk membantu pengembang mengirim data dari server menuju device android secara langsung melalui server

google, pemanfaatan teknologi ini biasanya digunakan untuk push messaging.

Pengiriman pesan menggunakan teknologi ini mengharuskan adanya API key, key ini terkait langsung dengan akun google yang digunakan untuk mempublikasikan aplikasi melalui google play. [6]


(39)

Berdasarkan ilustrasi dari gambar 2.7 GCM Model terdapat dua server yang terlibat dalam proses push messaging, pada setiap server yang terlibat terdapat proses pengiriman data yang berbeda-beda diantaranya :

1. Device android mengirimkan sender id dan application id menuju GCM Server untuk registrasi.

2. Setelah berhasil registrasi, GCM server akan mengirimkan registration id menuju device android.

3. Setelah device android mendapatkan registration id, device tersebut akan mengirimkan registration id menuju server aplikasi.

4. Server aplikasi akan menyimpan registrasi id yang dikirimkan untuk digunakan sebagai id saat menggunakan push messaging.

2.11 Object Relational Mapping (ORM)

Object Relational Mapping adalah salah satu teknik untuk memetakan basis data relasional ke model objek. Pemetaan dapat dikategorikan menjadi 4, yaitu :

1. Basic mapping

2. Relationship mapping

3. Composition mapping

4. Inheritance mapping

Berikut adalah contoh gambar ORM dari penjelasan yang telah dijelaskan sebelumnya [7].


(40)

2.12 Object Oriented Analysis Desain

Konsep OOAD mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaiut analisis berorientasi objek (OOA) dan desain berorientasi objek (OOD). OOA adalah metode analisis yang memerika requirement (syarat/keperluan) yang harus dipenuhi sebuah sistem) dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup sistem. Sedangkan OOD adalah metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau subsistem.

2.12.1. Unified Modeling Languange (UML)

Unified Modeling Language (UML) adalah termasuk ke dalam rumpun jenis pemodelan notasi grafis yang didukung oleh meta-model tunggal, Pemodelan ini berguna untuk membantu dalam menjelaskan dan merancang perangkat lunak yang dibangun dengan object-oriented(OO). UML merupakan standar terbuka yang dikelola oleh Open Management Group (OMG) yang berada dibawah naungan perusahaan-perusahaan konsorsium terbuka. UML merupakan suatu bahasa pemodelan yang terdiri banyak model diantaranya adalah :

1. Use Case Diagram

Use case diagram merupakan suatu pemodelan yang menitik beratkan pada fungsionalitas utama dalam suatu konteks sistem. Use case diagram juga menekankan tingkah laku fungsional utama dalam sistem berinteraksi dengan objek diluar sistem tersebut. Selain itu, use case diagram juga telah menitik beratkan jenis hubungan diantara fungsi utama. Adapun komponen-komponen dalam use case diagram antaranya:

a. Aktor

Aktor merupakan suatu entitas yang berkaitan dengan sistem tapi bukan dari bagian dalam sistem itu sendiri. Aktor berada diluar sistem namun berkaitan erat dengan fungsionalitas didalamnya. Aktor dapat memiliki hubungan secara langsung terhadap fungsi utama baik terhadap salah satu atau semua fungsionalitas utama. Aktor juga dapat dibagi terhadap berbagai jenis


(41)

atau tingkatan dengan cara digeneralisasi atau dispesifikasi tergantung kebutuhan sistemnya. Aktor biasanya dapat berupa pengguna atau database yang secara pandang berada dalam suatu ruang lingkup sistem tersebut.

b. Use Case

Use case merupakan gambaran umum dari fungsi atau proses utama yang menggambarkan tentang salah satu perilaku sistem. Perilaku sistem ini terdefinisi dari proses bisnis sistem yang akan dimodelkan. Tidak semua proses bisnis digambarkan secara fungsional pada use case, tetapi yang digambarkan hanya fungsionalitas utama yang berkaitan dengan sistem. Use case menitik beratkan bagaimana suatu sistem dapat berinteraksi baik antar sistem maupun diluar system.

2. Use Case Scenario

Sebuah diagram yang menunjukkan use case dan aktor mungkin menjadi titik awal yang bagus, tetapi tidak memberikan detail yang cukup untuk desainer sistem untuk benar-benar memahami persis bagaimana sistem dapat terpenuhi. Cara terbaik untuk mengungkapkan informasi penting ini adalah dalam bentuk penggunaan use case scenario berbasis teks per use case-nya. Berikut adalah dasar format penulisan use case scenario. Dasar pembangunan use case scenario


(42)

Tabel 2. 2 Dasar Pembangunan Scenario Use Case Use Case Name Berisi nama dari Use case yang akan digunakan

Goal In Context Menjelaskan apa yang aktor coba untuk dapatkan dari Use case Description Menjelaskan gambaran dari Use case

RelatedUse Case Daftar Use case yang berhubungan dengan Use case tersebut

Successful End Condition Kondisi Use case jika berhasil

Failed End Condition Kondisi Use case jika gagal

Actors Daftar aktor yang dapat mengakses Use case Trigger Aktifitas yang dilakukan untuk mengawali Use case Main Flow Step Action

1 Deskripsi urutan aksi dari aktifitas Use case

2 3

Extension Step BranchingAction

2.1 Deskripsi urutan aksi lain selain urutan aksi utama 2.2

3. Class Diagram

Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek. Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan. Kelas pada kelas diagram terdiri dari 3 bagian utama yaitu nama kelas, isi properti dari kelas beserta metode yang ada pada kelas tersebut. Kelas juga memiliki jenis-jenis hubungan seperti asosiatif, dependensi, agregasi, komposisi, spesifikasi dan generalisasi. Hubungan ini digunakan untuk menggambarkan bagaimana hubungan dan interaksi yang terjadi antar kelas. Masing-masing komponen penyusun kelas memiliki hak akses seperti public, private, dan protected.

4. Sequence Diagram

Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi. [8]


(43)

2.13 Location Based Services (LBS)

Location Based Service (LBS) atau layanan berbasis lokasi adalah sebuah layanan informasi yang dapat diakses dengan perangkat bergerak melalui jaringan dan mampu menampilkan posisi secara geografis keberadaan perangkat bergerak tersebut. Location Based Service dapat berfungsi sebagai layanan untuk mengidentifikasi lokasi dari seseorang atau suatu objek tertentu, seperti menemukan lokasi event games.

2.13.1.Unsur Utama LBS

Berikut adalah dua unsur utama dari Location Based Service, yaitu : 1. Location Manager (API Maps) : Menyediakan perangkat bagi sumber atau

source untuk LBS, Application Programming Interface (API) Maps

menyediakan fasilitas untuk menampilkan atau memanipulasi peta. Paket ini berada pada “com.google.android.maps;”.

2. Location Providers (API Location) : Menyediakan teknologi pencarian lokasi yang digunakan oleh perangkat. API Location berhubungan dengan data GPS (Global Positioning System) dan data lokasi real-time. API Locationberada pada paket Android yaitu dalam paket “android.location”.

Lokasi, perpindahan, serta kedekatan dengan lokasi tertentu dapat ditentukan melalui Location Manager.


(44)

2.13.2.Komponen LBS

Terdapat lima komponen pendukung utama dalam teknologi Layanan Berbasis Lokasi, antara lain :

1. Piranti Mobile, adalah salah satu komponen penting dalam LBS. Piranti ini berfungsi sebagai alat bantu (tool) bagi pengguna untuk meminta informasi. Hasil dari informasi yang diminta dapat berupa teks, suara, gambar dan lain sebagainya. Piranti mobile yang dapat digunakan bisa berupa PDA,

smartphone, laptop. Selain itu, piranti mobile dapat juga berfungsi sebagai alat navigasi di kendaraan seperti halnya alat navigasi berbasis GPS. 2. Jaringan Komunikasi, Komponen ini berfungsi sebagai jalur penghubung

yang dapat mengirimkan data-data yang dikirim oleh pengguna dari piranti

mobile-nya untuk kemudian dikirimkan ke penyedia layanan dan kemudian hasil permintaan tersebut dikirimkan kembali oleh penyedia layanan kepada pengguna.

3. Komponen Positioning (Penunjuk Posisi/Lokasi), Setiap layanan yang diberikan oleh penyedia layanan biasanya akan berdasarkan pada posisi pengguna yang meminta layanan tersebut. Oleh karena itu diperlukan komponen yang berfungsi sebagai pengolah/pemroses yang akan menentukan posisi pengguna layanan saat itu. Posisi pengguna tersebut bisa didapatkan melalui jaringan komunikasi mobile atau juga menggunakan

Global Positioning System (GPS).

4. Penyedia layanan dan aplikasi, merupakan komponen LBS yang memberikan berbagai macam layanan yang bisa digunakan oleh pengguna. Sebagai contoh ketika pengguna meminta layanan agar bisa tahu posisinya saat itu, maka aplikasi dan penyedia layanan langsung memproses permintaan tersebut, mulai dari menghitung dan menentukan posisi pengguna, menemukan rute jalan, mencari data di Yellow Pages sesuai dengan permintaan, dan masih banyak lagi yang lainnya.

5. Penyedia data dan konten, Penyedia layanan tidak selalu menyimpan seluruh data dan informasi yang diolahnya. Karena bisa jadi berbagai macam data dan informasi yang diolah tersebut berasal dari


(45)

pengembang/pihak ketiga yang memang memiliki otoritas untuk menyimpannya. Sebagai contoh basis data geografis dan lokasi bisa saja berasal dari badan-badan milik pemerintah atau juga data-data perusahaan/bisnis/industri bisa saja berasal dari Yellow Pages, maupun perusahaan penyedia data lainnya. [9]

2.13.3.Cara Kerja LBS

Untuk menggambarkan cara kerja LBS pada perangkat lunak yang akan dibangun pada fitur pencarian lokasi event games dapat dijelaskan sebagai berikut :

1. Anggaplah sekarang fungsi pencarian telah diaktifkan, posisi pengguna sebenarnya dari perangkat mobile diperoleh dari positioning service. Hal ini dapat dilakukan baik oleh perangkat menggunakan GPS sendiri atau layanan posisi jaringan yang berasal dari provider (Cell Tower). Setelah itu perangkat mobile pengguna mengirimkan permintaan informasi, yang berisi tujuan untuk mencari dan mengirimkan posisi melalui jaringan komunikasi ke gateway telekomunikasi.

2. Gateway memiliki tugas untuk bertukar pesan di antara jaringan komunikasi selular dan internet. Oleh karena itu dia mengetahui alamat web dari beberapa aplikasi server dan rute permintaan ke spesifik server tertentu.

Gateway akan menyimpan juga informasi tentang perangkat mobile yang telah meminta informasi.

3. Aplikasi server membaca permintaan dan mengaktifkan layanan yang terkait.

4. Kemudian service akan menemukan bahwa pengguna membutuhkan informasi tentang lokasi event games dari database yellow pages pada wilayah tertentu dan kemudian service tersebut akan meminta penyedia data untuk memberikan data tersebut.

5. Setelah semua informasi service telah melakukan buffer spasial dan query routing untuk mendapatkan lokasi dari event game tersebut. Setelah itu,


(46)

informasi lokasi yang didapat akan dikirim kembali ke pengguna melalui

internet, gateway dan jaringan mobile.

6. Kemudian informasi mengenai lokasi event game akan diterima kepada pengguna dalam bentuk peta digital.

Berikut adalah contoh gambar cara kerja dari LBS seperti yang telah dijelaskan sebelumnya :

Gambar 2. 7 Cara Kerja Location Based Services (LBS)

2.14 Pengujian Black Box

Metode pengujian blackbox fokus pada keperluan penelusuran kesalahan fungsional dari software. Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :

1. Fungsi-fungsi yang salah atau hilang 2. Kesalahan interface

3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan performa


(47)

Teknik pengujian black box terdiri dari 10 jenis diantaranya Equivalence Partitioning, Boundary Value Analysis/Limit Testing, Comparison Testing, Sample Testing, Robustness Testing, Behavior Testing, Requirement Testing, Performance Testing, Endurance Testing, Cause-Effect Relationship Testing. Salah satunya yang akan dibahas adalah Equivalence partitioning.

Equivalence partioning merupakan metode ujicoba blackbox yang membagi domain input dari program menjadi beberapa kelas data dari kasus ujicoba yang dihasilkan. Kasus uji penanganan single yang ideal menemukan sejumlah kesalahan (misalnya : kesalahan pemrosesan dari seluruh data karakter) yang merupakan syarat lain dari suatu kasus yang dieksekusi sebelum kesalahan umum diamati.

2.15Pengujian White Box

Ujicoba Whitebox merupakan metode desain uji kasus yang menggunakan struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji. Dengan menggunakan metode ujicoba whitebox, para pengembang software dapat menghasilkan kasus-kasus uji yang :

1. Menjamin bahwa seluruh independent paths dalam modul telah dilakukan sedikitnya satu kali

2. Melakukan seluruh keputusan logikal baik dari sisi benar maupun salah

3. Melakukan seluruh perulangan sesuai batasannya dan dalam batasan operasionalnya

4. Menguji struktur data internal untuk memastikan validitasnya

Pengujian dilakukan berdasarkan bagaimana suatu software menghasilkan output dari input . Pengujian ini dilakukan berdasarkan kode program. Disebut juga struktural testing atau glass box testing, teknik pengujiannya :

1. Menggambarkan kode program ke dalam graph yaitu node & edge. Jika berhubungan bernilai 1, bila tidak bernilai nol. Dalam pengujian ini akan diperoleh hasil :


(48)

a. Kemungkinan source code yang dieksekusi b. Waktu yang dibutuhkan

c. Memori yang digunakan d. Sumber daya yang digunakan

2. Basic path, yaitu pengukuran kompleksitas kode program dan pendefinisian alur yang akan dieksekusi.

Digambarkan sequence, if, atau while nya

Uji coba basis path adalah teknik uji coba white box yg diusulkan Tom McCabe. Metode ini memungkinkan perancang test case mendapatkan ukuran kekompleksan logical dari perancangan prosedural dan menggunkan ukuran ini sbg petunjuk untuk mendefinisikan basis set dari jalur pengerjaan. Test case yg didapat digunakan untuk mengerjakan basis set yg menjamin pengerjaan setiap perintah minimal satu kali selama uji coba. Data flow testing, untuk mendeteksi penyalahgunaan data dalam sebuah program.

1. Cyclomatic Complexity

Cyclomatic Complexity merupakan suatu sistem pengukuran yang menyediakan ukuran kuantitatif dari kompleksitas logika suatu program. Pada Basis Path Testing, hasil dari cyclomatic complexity digunakan untuk menentukan banyaknya independent paths. Independent path adalah sebuah kondisi pada program yang menghubungkan node awal dengan node akhir.

Terdapat 2 persamaan yang digunakan, yaitu: V(G)= E - N + 2 atau V(G)= P + 1

Keterangan:

V(G)= cyclomatic complexity untuk flow graph G E=Jumlah edge(panah)

N=Jumlah node(lingkaran) P=Jumlah predicate node


(49)

Kelebihan White Box Testing

Kesalahan logika. Digunakan pada sintaks ‘if’ dan pengulangan. Dimana White Box Testing akan mendeteksi kondisi-kondisi yang tidak sesuai dan mendeteksi kapan proses pengulangan akan berhenti. Ketidaksesuaian asumsi. Menampilkan asumsi yang tidak sesuai dengan kenyataan, untuk di analisa dan diperbaiki. Kesalahan ketik. Mendeteksi bahasa pemrograman yang bersifat case sensitive. [10]

2.16 Pengujian Kuesioner

Kuesioner adalah sebuah daftar pernyataan yang harus diisi oleh orang yang akan dievaluasi (responden). Metode yang digunakan dalam kuesioner pada penelitian ini adalah skala Likert. Dalam skala likert, responden diminta untuk membaca dengan seksama setiap pernyataan yang disajikan, kemudian ia diminta untuk menilai pernyataan-pernyataan tersebut.

Derajat penilaian responden terhadap suatu pernyataan terbagi dalam 5 kategori yang tersusun secara bertingkat, mulai dari Sangat Tidak Setuju (ST), Tidak Setuju (T), Tidak Memutuskan (N), Setuju (S), dan Sangat Setuju (SS). Atau dapat pula sebaliknya. Pernyataan tiap kuesioner dibuat berdasarkan aspek-aspek yang diteliti. Bobot pemberian skor yang digunakan dapat dilihat pada [11]


(50)

Tabel 2. 3 Panduan Pemberian Skor

Jenis Pernyataan

Bobot pendapat

SS S N T TS

Positif 5 4 3 2 1

Negatif 1 2 3 4 5

Skor yang telah dihitung pada setiap pernyataan kemudian dikalikan dengan masing-masing bobot tersebut sesuai dengan skenario kuesioner yang telah dibuat. Setelah itu total kan seluruh bobot jawaban tersebut kemudian bagi dengan total responden yang nantinya menjadi nilai rata-rata. Nilai rata-rata inilah yang diambil sebagai acuan sikap dimana jika nilai rata-rata kurang dari 3, maka dapat diartikan responden bersikap negatif dan jika nilai rata-rata lebih dari sama dengan 3, maka dapat diartikan responden bersikap positif terhadap tujuan yang ingin peneliti capai. Untuk lebih jelasnya dapat dilihat pada rumus dibawah ini.

� = ∑ �

Dimana,

� ≥ 3 � < 3

Keterangan :

� = rata-rata

∑� = ℎ ℎ ℎ


(51)

2.17 Metode Haversine

Rumus Haversine adalah persamaan pada navigasi, yang memberikan jarak lingkaran besar antara dua titik bumi berdasarkan garis bujur (longitude) dan garis lintang (latitude). Perhitungan dari rumus ini juga cukup akurat dimana rumus ini mengabaikan ketinggian bukit dan kedalaman lembah di permukaan bumi. Secara matematis dapat dituliskan didalam persamaan berikut :

Rumus 2. 1 Rumus Haversine

Keterangan :

∆� = Haversine Formula

∆∅ = Lat1 ( Latitude awal ) – Lat2 ( Latitude Tujuan )

∅ = Latitude1 ( Latitude Awal )

∅� = Latitude2 ( Latitude Tujuan )

∆λ = Lon1 ( Longitude Awal ) – Lon2 ( Longitude Akhir )

Analisis perhitungan jarak ini menggunakan rumus haversine untuk menghitung jarak antara dua titik dengan mengabaikan kondisi geografis seperti lembah ataupun bukit berdasarkan persamaan 1 dimana sudut harus dalam satuan radian untuk menggunakan fungsi trigonometri. [12]

Berikut sejumlah data sarana musik yang digunakan sebagai contoh untuk proses perhitungan jarak :


(52)

Tabel 2. 4 Tabel Lokasi Sarana Musik Sarana

Musik Alamat latitude longitude

Sarana 1 Jl. Indramayu Raya No. 68 -6.919695 107.657364 Sarana 2 Jl. Pungkur 97 -6.927554 107.607798 Sarana 3 Jl. Soka no 4 -6.915286 107.628294 Sarana 4 Jl. Surapati No 197 -6.898055 107.633097 Sarana 5 Jl. Depok Raya No 1 -6.914517 107.655424 Berikut merupakan data lokasi pengguna :

Tabel 2. 5 Lokasi Awal

Lokasi Awal Alamat latitude longitude

Lokasi Pengguna Jl. Purwakarta -6.917557 107.660445

Dari sejumlah data sarana musik yang ada akan dihitung jarak antara lokasi pengguna dengan setiap lokasi sarana untuk mendapatkan lokasi terdekat yang dalam hal ini terdekat dalam radius 2 km. Untuk mendapatkan lokasi terdekat perlu dilakukan perhitungan jarak pada setiap lokasi yang ada dengan lokasi pengguna setelah itu dilakukan pengecekan jarak dalam radius 2 Km.

Berikut contoh perhitungan lokasi pengguna (Jl. Purwakarta) dengan salah satu lokasi sarana (Jl. Indramayu) pada tabel diatas menggunakan rumus haversine pada persamaan 1.

Langkah awal dihitung selisih lokasi pengguna dengan lokasi sarana musik: Δlat= (-6.919695 – (-6.917557))

= -0.000037315139 (dalam radian) Δlon= (107.657364 - 107.660445) =-0.000053773594 (dalam radian)

Kemudian menghitung perpotongan sumbu untuk mengetahui jarak dengan menghitung :

a = sin²( 0.000037315139 / 2) + (cos6.917557) * (cos(6.919695) * sin²( -0.000053773594 / 2)

= 0.00000000106051512354642 (dalam radian) c= 2 * Asin2 (√0.0000000728901324047745) = 0.0000651311023681102


(53)

Hasil diatas masih dalam radian maka perlu dikalikan dengan radius permukaan bumi sehingga didapat hasil seperti berikut :

d = 6371 * 0.0000651311023681102

= 0.41 Km (pembulatan dua angka di belakang koma)

Perhitungan tersebut dilakukan terhadap lokasi pengguna dengan lokasi – lokasi sarana yang ada sehingga akan didapatkan hasil (jarak) antara lokasi pengguna dan sarana musik yang kemudian di cek ke dalam radius 2 Km untuk mengetahui lokasi mana saja yang terdekat seperti pada tabel berikut :

Tabel 2. 6 Tabel Kesimpulan Perhitungan Jarak

Lokasi Awal Lokasi Tujuan Jarak Kesimpulan

Lokasi

Pengguna Sarana1 0.41 Km Didalam radius 2 Km Lokasi

Pengguna Sarana 2 5.92 Km Diluar radius 2 Km Lokasi

Pengguna Sarana 3 3.56 Km Diluar radius 2 Km Lokasi

Pengguna Sarana 4 3.72 Km Diluar radius 2 Km Lokasi

Pengguna Sarana 5 0.65 Km Didalam radius 2 Km

2.18Metode TOPSIS

TOPSIS (Technique For Others Reference by Similarity to Ideal Solution) adalah salah satu metode pengambilan keputusan multikriteria yang pertama kali diperkenalkan oleh Yoon dan Hwang (1981). TOPSIS menggunakan prinsip bahwa alternatif yang terpilih harus mempunyai jarak terdekat dari solusi ideal positif dan terjauh dari solusi ideal negatif dari sudut pandang geometris dengan menggunakan jarak Euclidean untuk menentukan kedekatan relatif dari suatu alternatif dengan solusi optimal.Solusi ideal positif didefinisikan sebagai jumlah dari seluruh nilai terbaik yang dapat dicapai untuk setiap atribut, sedangkan solusi negatif-ideal terdiri dari seluruh nilai terburuk yang dicapai untuk setiap atribut.

TOPSIS mempertimbangkan keduanya, jarak terhadap solusi ideal positif dan jarak terhadap solusi ideal negatif dengan mengambil kedekatan relatif terhadap solusi ideal positif. Berdasarkan perbandingan terhadap jarak relatifnya, susunan


(54)

prioritas alternatif bisa dicapai.Metode ini banyak digunakan untuk menyelesaikan pengambilan keputusan secara praktis. Hal ini disebabkan konsepnya sederhana dan mudah dipahami, komputasinya efisien,dan memiliki kemampuan mengukur kinerja relatif dari alternatif-alternatif keputusan [13]. Adapun langkah - langkah untuk menentukkan sebuah nilai dengan menggunakan metode TOPSIS :

1. TOPSIS dimulai dengan membangun sebuah matriks keputusan

Matriks keputusan X mengacu terhadap m alternative yang akan di evaluasi berdasarkan n kriteria. Matriks

keputusan X dapat dilihat pada rumus dibawah ini.

= �

√∑ �� 2

Rumus 2. 2 Topsis – Mencari Nilai Keputusan

Dengan i = , ,……,m dan j = , ,…..,n

2. Membuat solusi ideal positif dan solusi ideal negatif

Persamaan yang digunakan untuk dapat menentukan solusi ideal positif dan solusi negatif dapat ditentukan

berdasarkan rating bobot ternomalisasi (� ) :

= �

Rumus 2. 3 Topsis – Mencari Bobot Ternormalisasi

Dengan i = , ,…….,m dan j = , ,………,n

�+ = �+, �+, … … … . . , ��+) �− = �, �, … … … . . , ��


(55)

Dengan

�+ = {max � ; ℎ

min � ; ℎ �

�− = {max � ; min � ;

3. Membuat jarak alternatif Ai dengan solusi ideal positif

Jarak antara alternatif Ai dengan solusi ideal positif dirumuskan sebagai :

�+ = √∑ �+ � =

− � ² Rumus 2. 4 Topsis – Solusi Ideal Positif

4. Membuat jarak alternatif Ai dengan solusi ideal negatif

Jarak antara alternatif Ai dengan solusi ideal negatif dirumuskan sebagai :

�− = √∑ �− � =

− �− ² Rumus 2. 5 Topsis – Solusi Ideal Negatif

5. Menentukan nilai preferensi untuk setiap preferensi

Menentukan nilai preferensi untuk setiap alternatif yang dirumuskan sebagai berikut :

� = + �+ Rumus 2. 6 Topsis – Nilai Preferensi


(56)

Alternatif diurutkan dari nilai � terbesar ke nilai terkecil. Alternatif dengan nilai � terbesar merupakan solusi yang terbaik


(57)

(58)

45

Analisis sistem bertujuan untuk mengidentifikasikan permasalahan-permasalahan yang terdapat pada sistem serta menentukan kebutuhan-kebutuhan dari sistem yang dibangun. Analisis tersebut meliputi analisis masalah, analisis aplikasi sejenis, analisis arsitektur sistem, analisis kebutuhan non fungsional dan analisis data.

3.1.1.Analisis Masalah

Dalam melakukan pembentukan suatu team futsal hingga mengikuti event-event futsal, para user dihadapkan kepada beberapa masalah. Masalah-masalah tersebut diantaranya adalah :

1. Para user mengaku kesulitan di dalam mencari informasi pemain futsal lain yang hendak direkrut atau diajak untuk bermain futsal.

2. Para user mengaku kesulitan di dalam mencari informasi mengenai event-event futsal yang akan berlangsung.

3. Para user mengaku kesulitan dalam memilih lapangan futsal untuk diadakannya sebuah event.

4. Para user mengaku kesulitan mencari lokasi tempat event yang akan diikuti, khususnya bagi para user yang berasal dari luar kota.

3.1.2.Analisis Aplikasi Sejenis

Analisis aplikasi sejenis dimaksudkan untuk menganalisis fungsionalitas dan alur dari aplikasi yang telah ada. Hal ini bertujuan untuk memilah fungsionalitas dan alur yang akan diadopsi pada sistem yang diteliti berdasarkan manfaat yang sudah dihasilkan dari aplikasi yang dianalisis dan mencari uniqueness


(59)

Pada penelitian ini belum ada aplikasi sejenis yang memiliki domain dan platform yang sama yaitu platform mobile, namun ada aplikasi sejenis yang memiliki domain yang sama namun berbeda platform. Aplikasi sejenis ini berbasis website, dimana aplikasi ini dapat kita jumpai di www.carilawan.com. Aplikasi ini merupakan komunitas futsal yang sudah ada di Indonesia dan sudah banyak digunakan oleh beberapa user / pemain futsal di Indonesia. Paramater pembanding yang digunakan mengacu kepada komponen-komponen sistem informasi.

1. www.carilawan.com

www.carilawan.com merupakan website yang diperuntukan bagi pemain futsal yang harus sudah mempunyai klub untuk bisa melakukan registrasi, sebuah aplikasi yang bisa mencari lawan sparing. Berikut adalah Gambar 3.1 Screenshoot www.carilawan.com.

Gambar 3. 1 Website www.carilawan.com

berdasarkan fungsi pada aplikasi tersebut maka dapat dilakukan analisis perbandingan dari aplikasi diatas dengan menggunakan parameter komponen sistem informasi. Berikut adalah Tabel 3.1 Analisis Perbandingan Aplikasi Sejenis.


(60)

Tabel 3. 1 Analisis Perbandingan Aplikasi Sejenis

Komponen Pembanding

www.carilawan.com

Input Masukan berupa data

profile user, jadwal event

sparing, hasil event sparing.

Proses Data masukkan

diproses menjadi beberapa fungsionalitas seperti :

Matches, Search, Results. Output List jadwal event-event

berupa tabel dan deskripsi tentang event futsal tersebut, komentar untuk pengguna untuk mencari informasi berdasarkan kata kunci yang diinputkan.

Software Aplikasi ini

menggunakan sistem operasi Windows (Windows

XP/Vista/7/8) dan Linux. Hardware Aplikasi ini

menggunakan beberapa perangkat keras yang sudah terpasang default disetiap perangkat komputer, seperti :

Keyboard, Mouse, Monitor,

Prosesor, RAM,

Motherboard, Power Supply


(61)

Komponen Pembanding

www.carilawan.com

Data Menggunakan

penyimpanan internal dan external pada komputer server.

Berdasarkan analisis tersebut dapat disimpulkan keunikan perangkat lunak yang akan dibangun dibandingkan dengan aplikasi sejenis yaitu :

1. Pembuatan profile pemain futsal dan profile klub futsal yang lebih lengkap, akurat dan up to date mulai dari tingkat pemula hingga tingkat professional

khusunya di wilayah Indonesia.

2. Pembuatan penunjuk lokasi tempat event yang akan berlangsung dengan menggunakan teknologi mobile, yaitu Location Based Service (LBS). 3. Pembuatan beberapa Fitur Tambahan, seperti : Fitur rekomendasi lapang

futsal untuk membantu para user mencari lapang futsal yang bagus dan nyaman, jika ada user yang sedang berpergian ke lain daerah dan sulit untuk mencari lapang futsal terdekat dengan fitur Nearby, dapat mengajak bermain futsal untuk perseorangan tanpa mempunyai klub untuk bisa bermain futsal dengan lain tim atau komunitas yang mengadakan sebuah event.

3.1.3.Analisis Metode / Algoritma

Analisis Metode yang dilakukan pada penelitian ini memiliki 2 metode yaitu untuk pencarian jarak terdekat menggunakan haversine formula dan untuk memberikan rekomendasi terbaik dengan metode TOPSIS.

1. Haversine Formula

Haversine Formula merupakan sebuah metode yang dipakai untuk mencari event terdekat berdasarkan lokasi lapangan. Langkah pertama adalah menentukan long dan lat yang akan kita tuju yaitu lapangan – lapangan futsal dan membaca posisi awalnya dari UNIKOM. Input untuk longitude (lon) dan latitude(lat) yang didapat dapat dilihat di tabel 3.2 :


(62)

Tabel 3. 2 Tabel Lapangan Futsal

Nama Tempat latitude longitude

YPKP Indoor Futsal Court -6.899827 107.641090

QUEEN Futsal -6.903318 107.633599

Sampoerna Futsal -6.873192 107.609039

Futsal 35 -6.910352 107.649085

Dan diketahui lokasi awal kita adalah :

Tabel 3. 3 Tabel Lokasi Awal

Nama Tempat latitude longitude

UNIKOM ( Lokasi Awal ) -6.887021 107.615455

Jika sudah menentukan long lat dari lokasi awal dilihat di tabel 3.3 dengan lokasi beberapa tujuan di tabel 3.2 maka didapat bahwa setiap long dan lat untuk lokasi awal memiliki nama long1 dan lat1, untuk penamaan nama yang lain berdasarkan urutan menjadi long2 dan lat2. Maka masukkan rumus sebagai berikut :

Error! Reference source not found. Keterangan :

∆� = Haversine Formula

∆∅ = Lat1 ( Latitude awal ) – Lat2 ( Latitude Tujuan )

∅ = Latitude1 ( Latitude Awal )

∅� = Latitude2 ( Latitude Tujuan )

∆λ = Lon1 ( Longitude Awal ) – Lon2 ( Longitude Akhir )

Langkah awal dihitung selisih lokasi awal pengguna dengan lokasi lapangan futsal :

a. YPKP Futsal

1. Hitung Selisih lokasi awal (unikom) – lokasi tujuan (ypkp futsal). Δlat= (-6.887021 – (-6.899827))


(63)

Δlon= (107.615455 - 107.641090) =-0.000447415 (dalam radian)

2. Kemudian menghitung perpotongan sumbu untuk mengetahui jarak dengan menghitung :

a = sin²( -0.000223507 / 2) + (cos-6.899827) * (cos(-6.887021) * sin²( -0.000447415 / 2)

= 0.0000000618129838334675 (dalam radian) c = 2 * Asin2 (√0.0000000618129838334675)

= 0.0009285826400878982891225867210799

Hasil diatas masih dalam radian maka perlu dikalikan dengan radius permukaan bumi sehingga didapat hasil seperti berikut :

d = 6371 * 0.0009285826400878982891225867210799

= 3.1679 km (pembulatan empat angka di belakang koma)

Berdasarkan hasil perhitungan, jarak dari UNIKOM ke YPKP futsal adalah 3.1679KM dan perhitungan yang lainnya bisa dilihat di lampiran 1 perhitungan metode haversine, maka di dapat jarak terpendek dari UNIKOM ke beberapa tempat tujuan futsal pada tabel 3.4 :

Tabel 3. 4 Hasil Perhitungan Haversine

Lokasi Tujuan Jarak

YPKP Indoor Court Futsal 3.1679 KM

Queen Futsal 2.7010 KM

Sampoerna Futsal 1.6930 KM

Futsal 35 4.5291 KM

Kesimpulannya adalah lapangan futsal terdekat dari UNIKOM adalah Sampoerna Futsal dengan jarak 1.6930 KM.


(64)

2. TOPSIS (The Technique for Order of Preference by Similarity to Ideal Solution)

Adapun metode TOPSIS untuk menentukkan beberapa langkah untuk menentukan nilai akhir yang akan dijadikan sebuah rekomendasi untuk menentukan lapangan futsal yang baik.

Langkah 1

Seorang pemain futsal ingin mencari lapangan futsal untuk dibooking tetapi tidak dapat mendapatkan informasi tentang lapangan futsal yang hendak akan dibooking, dengan alternatif i sebagai atribut :

i1 = YPKP Futsal Indoor Court i2 = Queen Katamso Futsal i3 = Sampoerna Futsal

Dan j sebagai kriteria terdapat 3 hal yang digunakan yaitu: j1 = Kualitas Lapangan

j2 = Kenyamanan j3 = Keamanan

Dengan memberikan sebuah nilai untuk setiap kriteria [14] Sangat Buruk = 1

Buruk = 2 Cukup = 3 Baik = 4 Sangat Baik = 5

Sehingga berdasarkan nilai bobot diatas dan telah diuji terhadap 6 member yang memberikan nilai perkriteria dengan metode rating, diperoleh matriks keputusan dasar sebagai berikut :


(65)

Tabel 3. 5 Nilai Keputusan

Alternatif(i)

Kriteria(j) K

ualitas Lapangan

Keny amanan

Keama nan YPKP

Indoor Futsal Court

4 4 4

Queen

Futsal 5 4 3

Sampoerna

Futsal 4 3 3

Langkah 2

Buatlah normalisasi matriks ( � ) menggunakan persamaan :

=

√∑ �� 2

Error! Reference source not found. Keterangan :

x = nilai matriks i = baris matriks j = kolom matriks

m = banyaknya alternatif

Dengan perhitungan sebagai berikut :

� =

√ ² + ² + ² = . = .

� =

√ + + = . = .

� =


(66)

Dan seterusnya untuk setiap kriteria yang ada, sehingga diperoleh hasil matriks normalisasi sebagai berikut :

� = [ .. .. ..

. . . ]

Langkah 3

Hitung matriks keputusan rating bobot ternormalisasi, dengan persamaan

= �

Error! Reference source not found. Keterangan :

y = bobot ternormalisasi i = baris matriks

j = kolom matriks

Dalam hal ini, nilai bobot (w) untuk setiap alternatif ditentukan nilai pairwise comparasion untuk kriteria didapat dari hasil sebuah kuesioner, dapat dilihati di Lampiran B yang bisa dijadikan acuan sebagai berikut :

- Kualitas Lapangan 3x lebih penting daripada yang lain - Kenyamanan Lapangan 2x lebih penting daripada yang lain - Keamanan Sekitar Lapangan 1x lebih penting daripada yang lain Maka didapat W=( 3, 2, 1 ) berdasarkan persamaan diatas, dapat dihitung :

� = [ .. .. ..

. . . ] [ , , ]

Perhitungan setiap nilai dilakukan menggunakan persamaan

� = � sebagai berikut :

Untuk :

� = . = 2.6490

Untuk :

� = . = 3.3113


(67)

� = . = 2.6490

Perhitungan dilakukan seterusnya untuk setiap kriteria yang lain, sehinga diperoleh nilai matriks rating bobot ternormalisasi sebagai berikut :

= [ .. .. ..

. . . ]

Langkah 4

Tentukan solusi ideal positif (�+ dan solusi ideal negatif (�−) berdasarkan nilai matriks rating terbobot pada langkah ke-3

Pada langkah ini, harus diperhatikan secara cermat, apakah suatu kriteria masuk kedalam variabel keuntungan atau biaya. Karena pencarian nilai solusi ideal baik positif maupun negatif, bergantung pada jenis variabel yang digunakan. Jika kriteria memiliki nilai bobot lebih dari 3 maka akan bersifat keuntungan (benefit) jika nilai bobot kurang dari 3 maka akan menjadi biaya ( cost ). Maka dari 3 kriteria pertama (C1-C2) diasumsikan masuk kedalam variabel keuntungan dan 1 kriteria terakhir (C3) masuk kedalam kriteria biaya. Setiap nilai solusi ideal (positif dan negatif) dicari berdasarkan banyaknya kriteria. Sehingga :

untuk nilai-nilai solusi ideal positif berdasarkan persamaan �+ =

�+, �+, … … … . . , ��+) dengan ketentuan

�+ = {max � ; min � ; ℎ �ℎ � � �� �

Diperoleh :

� + = max{ . ; . ; . } = 3.3113

� + = max{ . ; . ; . } = .


(1)

BIODATA PENULIS

BIODATA Krisna Ginanjar Agung Prathama

Address : Perumnas Bumi Teluk Jambe Blok J/371 RT02 RW08, Kab Karawang Phone : +628122083006

Email : Prathamakrisna15@gmail.com

Personal Information

Place & D.O.B : Bandung, June 15th 1992 Marital Status : Single

Religion : Muslim

Languages Known : Sunda, Indonesian, English

Formal Education

Indonesia Computer University

Majoring Informatics Engineering

2010 – present SMAN 4 Karawang Majoring Electronics

Engineering (Audio VIdeo)

2007 – 2010

SMPN 1 Karawang 2004 – 2007

SDN Nagasari 9 Karawang 1998– 2004

Professional Experiences

Present

- Football Player - Futsal Player - Coach Futsal

- An Analysis for health

- Freelancer Android Developer - Freelancer Web Developer


(2)

Projects Experience

SOCCER

 Coaching Clinic for Highschool in Karawang FUTSAL

 Coaching Clinic for Highschool in Karawang  Coach Telkom University Female Futsal  Coach International Women University Futsal

AN ANALYSIS FOR HEALTH

 DINKES Kabupaten Garut for STBM

WEB APPLICATION

 SMPN 1 Karawang Website

 Website Portofolio Koloni Living Bandung  Game Online Website

 PT. Indotech Metal Nusantara Website

ANDROID APPLICATION

 PT. Jotech for monitoring employees


(3)

IT Skills

Operating System : Microsoft Windows XP Microsoft Windows 7 Microsoft Windows 10 Integrated Development

Environtment

: Android Studio

Adobe DreamWeaver CS5 Dev C++

Text Editor : Sublime Text 3

Notepad++ Notepad

Programming Language : HTML

CSS Javascript PHP Java C / C++

Design : Adobe Photoshop

Adobe Ilustrator Corel Draw


(4)

(5)

(6)

D-1