• Tidak ada hasil yang ditemukan

Pembangunan Perangkat Lunak Pencari Lawan Bermain Futsal Pada Paltform Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan Perangkat Lunak Pencari Lawan Bermain Futsal Pada Paltform Android"

Copied!
191
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

GILAR PURWITA SUBAGJA

10110434

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

iii

Puji dan syukur penulis panjatkan kehadirat Allah Subhanahu Wa Ta’ala

yang telah melimpahkan rahmat, hidayah, dan inayah-Nya sehingga penulis dapat

menyelesaikan tugas akhir dengan judul “Pembangunan Perangkat Lunak Pencari Lawan Bermain Futsal pada Platform Android” sebagai syarat untuk

menyelesaikan program Strata I Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer di Universitas Komputer Indonesia. Shalawat dan salam semoga selalu terlimpah curahkan kepada baginda tercinta kita nabi Muhammad Shallallahu ‘alaihi Wasallam, keluarganya, sahabatnya, dan orang-orang yang mengikutinya hingga hari kiamat.

Penyusunan tugas akhir ini tidak akan terwujud tanpa mendapat dukungan, bantuan, dan masukan dari berbagai pihak. Untuk itu, penulis menyampaikan terimakasih yang sebesar-besarnya kepada:

1. Allah Subhanahu Wa Ta’ala, atas segalanya.

2. Orang tua tercinta Ibunda Lilis Nurhaya dan almarhum Ayahanda Mamat Rachmat, kakak tercinta Candra Purwanugraha dan Lisma Dewi Purwanti, serta seluruh keluarga yang selalu memberikan doa, bantuan baik moril atau pun materil, semangat, motivasi, dan kasih sayangnya kepada penulis.

3. Ibu Susmini Indriani Lestariningati, M.T. selaku dosen pembimbing dan penguji dua yang telah membimbing, memberikan perhatian serta memberikan pengarahan selama penelitian tugas akhir sehingga tugas akhir ini dapat menjadi sebuah karya ilmiah yang berkualitas dan bermanfaat. 4. Bapak Iskandar Ikbal, S.T., M.Kom. selaku reviewer seminar dan penguji

satu yang telah memberikan masukan dan arahan selama penelitian tugas akhir ini.

(3)

iv pengetahuannya.

8. Teman-teman kelas IF-10 angkatan 2010 yang telah berjuang bersama, saling mendukung satu sama lain agar tetap semangat, dan telah bersama-sama melewati masa-masa kuliah.

9. Teman satu “kosan” di Pondok Cintakarya yang selalu memberi bantuan, semangat, dan dukungan ketika penulis mengerjakan skripsi.

10. Teman-teman yang berjuang bersama dalam menempuh tugas akhir yang selalu memberi dukungan satu sama lain.

11. Semua pihak yang terlibat dan ikut membantu dalam tugas akhir ini baik secara langsung maupun tidak langsung yang tidak dapat penulis sebutkan satu per satu.

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

Akhir kata, semoga tugas akhir ini dapat bermanfaat khususnya bagi penulis dan untuk seluruh pihak yang membutuhkan pada umumnya.

Bandung, 19 Agustus 2015

(4)

v

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... xiii

DAFTAR SIMBOL ... xvii

DAFTAR LAMPIRAN ... xxi

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ...1

1.2 Rumusan Masalah ...2

1.3 Maksud dan Tujuan ...2

1.4 Batasan Masalah ...2

1.5 Metodologi Penelitian ...3

1.5.1 Metode Pengumpulan Data ... 3

1.5.2 Metode Pembangunan Perangkat Lunak ... 4

1.6 Sistematika Penulisan ...5

BAB 2 TINJAUAN PUSTAKA ... 7

2.1 Futsal ...7

2.1.1 Pengenalan Futsal ... 7

2.1.2 Sejarah Futsal ... 7

2.1.3 Aturan Permainan Futsal... 8

(5)

vi

2.3 Structured Analysis and Design (SAD) ...13

2.3.1 Pengenalan Structured Analysis and Design (SAD) ... 13

2.3.2 Data Flow Diagram (DFD) ... 13

2.4 Object-Oriented Analysis and Design (OOAD) ...15

2.4.1 Pengenalan Object-Oriented Analysis and Design (OOAD) ... 15

2.4.2 Unified Modelling Language (UML)... 17

2.5 Location Based Service (LBS) ...19

2.6 Web Services ...20

2.7 JSON (JavaScriptObject Notation) ...21

2.8 Pemodelan Basis Data ...22

2.8.1 Pengenalan Basis Data ... 22

2.8.2 Database Management System (DBMS) ... 23

2.8.3 MySQL ... 24

2.8.4 Model Entity-Relationship ... 25

2.8.5 Model Relasional ... 26

2.9 Pemrograman Web ...27

2.9.1 HTML ... 27

2.9.2 CSS ... 27

2.9.3 PHP ... 28

2.9.4 JavaScript ... 28

2.10 Pemrograman Java ...29

(6)

vii

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 35

3.1 Analisis Sistem ...35

3.1.1 Analisis Masalah ... 35

3.1.2 Analisis Arsitektur Sistem ... 35

3.1.3 Spesifikasi Kebutuhan Perangkat Lunak ... 37

3.1.4 Analisis Kebutuhan Non Fungsional ... 38

3.1.5 Analisis Data ... 41

3.1.6 Analisis Kebutuhan Fungsional ... 42

3.2 Perancangan Sistem ...117

3.2.1 Perancangan Data... 117

3.2.2 Perancangan Struktur Menu ... 119

3.2.3 Perancangan Antarmuka ... 120

3.2.4 Jaringan Semantik ... 146

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 149

4.1 Implementasi Sistem ...149

4.1.1 Lingkungan Implementasi ... 149

4.1.2 Implementasi Data ... 150

4.1.3 Implementasi Antarmuka ... 152

4.2 Pengujian Sistem ...153

4.2.1 Rencana Pengujian ... 154

4.2.2 Pengujian Alpha ... 154

(7)

viii

5.2 Saran ...177

(8)

179

DAFTAR PUSTAKA

[1] Fédération Internationale de Football Association, "Futsal Law of The Game," 2012. [Online]. Available: http://www.fifa.com/mm/document/ affederation/generic/51/44/50/futsallawsofthegameen.pdf. [Accessed 26 Agustus 2014].

[2] J. D, Mahir Bermain Futsal, Bandung: Mizan, 2008.

[3] I. Sommerville, Software Engineering, Jakarta: Erlangga, 2003.

[4] N. S. H, Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android, Bandung: Informatika, 2012.

[5] JSON, "JSON," [Online]. Available: http://www.json.org/json-id.html. [Accessed 28 September 2014].

[6] H. Al Fatta, Analisis dan Perancangan Sistem Informasi, Yogyakarta: Andi, 2007.

[7] B. Hariyanto, Rekayasa Sistem Berorientasi Objek, Bandung: Informatika, 2004.

[8] M. Huda and B. Komputer, Membuat Aplikasi Database dengan Java, MySQL, dan NetBeans, Jakarta: PT. Elex Media Komputindo, 2010.

[9] A. Prasetio, Buku Sakti Webmaster, Jakarta: Mediakita, 2014.

[10] A. Ramadhan, Pemrograman Web Database dengan PHP dan MySQL, Jakarta: PT. Elex Media Komputindo, 2006.

[11] A. Ramadhan, Pemrograman Web Menggunakan HTML, CSS dan JavaScript, Jakarta: PT. Elex Media Komputindo, 2006.

[12] J. Simarmata, Perancangan Basis Data, Yogyakarta: Andi, 2007.

[13] R. McLeod and G. P. Schell, Sistem Informasi Manajemen, Jakarta: Salemba Empat, 2008.

[14] [Online]. Available: http://id.wikipedia.org/wiki/

(9)

180 [15]

(10)

1 1.1 Latar Belakang Masalah

Futsal adalah olahraga yang dimainkan oleh dua tim, dimana setiap tim tidak lebih dari lima pemain, salah satunya adalah penjaga gawang [1]. Futsal dimainkan di dalam ruangan, sehingga tidak terganggu meskipun saat turun hujan. FIFA mewajibkan pertandingan harus dimainkan pada permukaan datar, halus dan tidak kasar, terbuat dari bahan kayu atau bahan buatan. Futsal mulai berkembang di Indonesia pada tahun 2000-an. Meskipun baru masuk ke Indonesia, peminat futsal semakin lama semakin banyak [2]. Hal ini terlihat dari antusiasme bermain futsal yang dilakukan oleh siapa saja, mulai dari anak-anak sampai dewasa. Bahkan hingga saat ini banyak didirikan lapangan futsal di berbagai kota maupun daerah. Akademi futsal pun saat ini sudah banyak didirikan untuk melatih kualitas bermain para pecinta futsal.

(11)

Berdasarkan pemaparan permasalahan tersebut, ditemukan solusi yaitu dengan membangun sebuah perangkat lunak yang dapat membantu mencari lawan bermain futsal yang dikhususkan untuk pengguna smartphone sehingga mudah di

akses kapan dan dimana saja. Adapun platform yang digunakan sebagai pilot project perangkat lunak ini adalah Android dengan pertimbangan bahwa saat ini

Android memiliki market share terbesar di Indonesia. Oleh karena itu, penulis mengangkat judul “Pembangunan Perangkat Lunak Pencari Lawan Bermain Futsal pada Platform Android”.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah dipaparkan, dapat dirumuskan masalahnya adalah bagaimana cara membangun perangkat lunak pencari lawan bermain futsal pada platform Android.

1.3 Maksud dan Tujuan

Maksud dari penelitian ini adalah untuk membangun perangkat lunak untuk memudahkan dalam mencari lawan bermain futsal pada platform Android.

Sedangkan tujuan yang ingin dicapai dari pembangunan perangkat lunak tersebut adalah sebagai berikut:

1. Memudahkan mencari lawan baru yang belum pernah ditemui sebelumnya sehingga pengalaman bermain tim dapat bertambah.

2. Memudahkan mencari lawan bermain futsal yang bersedia bermain pada tempat dan waktu yang sesuai dengan keinginan.

3. Membantu memberikan informasi kepada setiap anggota mengenai jadwal pertandingan yang akan dilaksanakan.

1.4 Batasan Masalah

(12)

1. Perangkat lunak yang akan dibangun terdiri dari dua sub sistem yaitu website

admin (backend) dan aplikasi Android untuk mencari lawan futsal (frontend).

2. Perangkat lunak yang dibangun hanya untuk wilayah Kota Bandung. 3. Perangkat lunak hanya diperuntukkan bagi pengguna pria.

4. Pendekatan analisis dan perancangan dari pembangunan perangkat lunak dibuat dengan dua tipe. Untuk sub sistem website menggunakan SAD

(Structure Analysis and Design), sedangkan sub sistem aplikasi Android

menggunakan OOAD (Object-Oriented Analysis and Design) dengan UML

(Unified Modelling Language).

1.5 Metodologi Penelitian

Metodologi penelitian merupakan suatu proses untuk memecahkan suatu masalah yang logis dan memerlukan data-data untuk mendukung terlaksananya suatu penelitian. Metode yang digunakan dalam penelitian ini adalah metode deskriptif. Metode deskriptif merupakan sebuah metode yang menggambarkan fakta-fakta dan informasi secara sistematis, faktual dan akurat.

1.5.1 Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut:

a. Studi Literatur

Pengumpulan data dilakukan adalah dengan cara mempelajari, meneliti dan menelaah berbagai literatur dari perpustakaan yang bersumber dari buku-buku, jurnal ilmiah, situs Internet, dan bacaan lainnya yang berkaitan dengan penelitian yang dilakukan.

b. Kuesioner

(13)

1.5.2 Metode Pembangunan Perangkat Lunak

Tahapan pembangunan perangkat lunak ini menggunakan model

Waterfall. Fase-fase dalam model Waterfall menurut referensi Ian Sommerville

dapat dilihat pada Gambar 1.1.

Gambar 1.1 Skema Waterfall [5]

Penjelasan dari tahapan-tahapan pada Gambar 1.1 adalah sebagai berikut:

a. Requirements Analysis and Definition

Tahap ini merupakan kegiatan pengumpulan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain sistem yang lengkap.

b. System and Software Design

Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak.

c. Implementation and Unit Testing

(14)

d. Integration and System Testing

Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing).

e. Operation and Maintenance

Mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.

1.6 Sistematika Penulisan

Sistematika penulisan penelitian ini disusun untuk memberikan gambaran umum tentang kasus yang akan dipecahkan. Sistematika penulisan penelitian ini adalah sebagai berikut:

BAB 1 PENDAHULUAN

Bab ini menjelaskan mengenai latar belakang masalah, perumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, serta sistematika penulisan.

BAB 2 TINJAUAN PUSTAKA

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Menganalisis masalah dari model penelitian untuk memperlihatkan keterkaitan antar variabel yang diteliti serta model matematis untuk analisisnya.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini membahas tentang implementasi dari hasil tahapan analisis dan perancangan aplikasi yang dibangun. Serta berisi uji coba dan hasil pengujian sistem.

BAB 5 KESIMPULAN DAN SARAN

(15)
(16)

7 2.1 Futsal

Pada bagian ini dijelaskan hal-hal yang berkaitan dengan futsal, diantaranya pengenalan futsal, sejarah futsal, dan aturan permainan futsal.

2.1.1 Pengenalan Futsal

Futsal adalah singkatan dari futbol (sepakbola) dan sala (ruangan) dari

bahasa Spanyol atau futebol (Portugal/Brasil) dan salon (Prancis) [2]. Olahraga ini

membentuk seorang pemain agar selalu siap menerima dan mengumpan bola dengan cepat dalam tekanan pemain lawan [2]. Dengan lapangan yang sempit, permainan ini menuntut teknik penguasaan bola tinggi, kerjasama antar pemain, dan kekompakan tim. Futsal adalah olahraga yang dimainkan oleh dua tim, dimana setiap tim tidak lebih dari lima pemain, salah satunya adalah penjaga gawang.

2.1.2 Sejarah Futsal

Asal muasal futsal muncul pada tahun 1930 di Montevideo, Uruguay, dan diperkenalkan oleh seorang pelatih sepakbola bernama Juan Carlos Ceriani. Awalnya, Ceriani hanya ingin memindahkan latihan ke dalam ruangan karena kecewa dengan kondisi lapangan yang licin setelah diguyur hujan. Ternyata, latihan di dalam ruangan sangat efektif. Dia lantas mencetuskan permainan sepakbola dalam ruangan dengan lima lawan lima pemain. Hal ini ternyata mendapat sambutan positif bahkan digandrungi di hampir seluruh negeri di Amerika Selatan [2].

(17)

Pada tahun 1965, kompetisi internasional futsal digelar untuk kali pertama. Kejutan pun terjadi, dengan sukses Paraguay menjadi juara Piala Amerika Selatan. Pada tahun berikutnya sampai 1979, Brasil mendominasi dan merengkuh enam trofi juara berturut-turut. Negara raksasa sepakbola dunia itu juga memenangi Piala Pan Amerika untuk kali pertama pada tahun 1980 dan 1984 [2].

Kejuaraan dunia futsal pertama diprakarsai Federasi Futsal AS (FIFUSA) pada tahun 1982 di Sao Paolo, Brasil [2]. Tuan rumah Brasil tampil sebagai juara.

Event yang digelar tiga tahunan itu kemudian digelar untuk kali pertama di Eropa,

yakni di Spanyol pada tahun 1985. Brasil kembali menjadi juara, tetapi dikandaskan Paraguay pada event berikutnya di Australia pada tahun 1988.

2.1.3 Aturan Permainan Futsal

Aturan permainan futsal berbeda dengan aturan sepakbola di lapangan besar atau lapangan rumput. Mulai dari ukuran lapangan dan bola, jumlah pemain, hingga sistem pertandingan. Berikut ini penjelasan secara garis besar tentang aturan permainan futsal yang memacu pada peraturan FIFA tahun 2006 [1].

1. Lapangan

Lapangan permainan harus berbentuk bujur sangkar. Garis samping pembatas harus lebih panjang dari garis gawang.

Ukuran standar internasional:

pertandingan harus dihentikan sementara. Pertandingan bisa dimulai dengan menjatuhkan bola di tempat bola yang sebelumnya rusak. Jika bola pecah atau rusak ketika tidak dalam permainan pada saat kick off, tendangan

(18)

ke dalam, pertandingan harus dilanjutkan kembali sesuai peraturan. Bola tidak bisa diganti terlebih dahulu selama pertandingan tanpa seizin wasit. 3. Pemain

Setiap pertandingan dimainkan oleh dua tim, masing-masing tim terdiri dari lima pemain, termasuk seorang kiper.

4. Pergantian Pemain

Pergantian pemain bisa dilakukan pada saat bola di dalam atau luar permainan dengan mengikuti persyaratan sebagai berikut:

a. Pemain yang akan meninggalkan lapangan harus melakukannya di daerah pergantiannya sendiri.

b. Pemain yang akan memasuki lapangan harus melakukannya pada daerah pergantiannya sendiri, tetapi dilakukan setelah pemain yang diganti telah melewati batas lapangan.

c. Pergantian pemain sangat bergantung pada kewenangan wasit, apakah dipanggil untuk bermain atau tidak.

d. Pergantian dianggap sah ketika pemain pengganti telah masuk lapangan, yaitu pada saat pemain tersebut telah menjadi pemain aktif dan pemain yang dia gantikan telah keluar dan berhenti menjadi pemain aktif.

5. Perlengkapan Pemain

Seorang pemain tidak boleh menggunakan perlengkapan atau aksesoris apapun yang bisa membahayakan dirinya atau pemain lain. Perlengkapan dasar yang harus dipenuhi adalah sebagai berikut:

a. Seragam atau kostum dengan nomor.

b. Celana pendek. Jika menggunakan stretch pants, warnanya harus sama

dengan celana. c. Kaus kaki.

d. Pelindung kaki (shinguards).

(19)

6. Wasit

Setiap pertandingan dipimpin oleh seorang wasit yang memiliki wewenang penuh. Dia dibantu wasit kedua, pencatat waktu, dan wasit ketiga.

2.2 Sistem Operasi Android

Pada bagian ini dijelaskan hal-hal yang berkaitan dengan sistem operasi Android, diantaranya pengenalan sistem operasi Android, arsitektur Android, dan Android SDK (Software Development Kit).

2.2.1 Pengenalan Sistem Operasi Android

Android adalah sebuah sistem operasi untuk perangkat mobile berbasis

Linux yang mencakup sistem operasi, middleware, dan aplikasi [4]. Android

menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi

mereka [4]. Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel/smartphone. Kemudian

untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium

dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.

Pada masa saat ini, sebagian besar vendor-vendor smartphone sudah

memproduksi smartphone berbasis Android, vendor-vendor itu antara lain HTC,

Motorola, Samsung, LG, HKC, Huawei, Archos, Webstation Camangi, Dell, Nexus, SciPhone, WayteQ, Sony, Acer, Philips, T-Mobile, Nexian, IMO, Asus dan masih banyak lagi vendor smartphone di dunia yang memproduksi Android.

Hal ini karena Android itu adalah sistem operasi yang open source sehingga bebas

didistribusikan dan dipakai oleh vendor manapun [4].

Tidak hanya menjadi sistem operasi di smartphone, saat ini Android

menjadi pesaing utama dari Apple pada sistem operasi tablet PC. Pesatnya pertumbuhan Android selain faktor yang disebutkan di atas adalah karena Android itu sendiri adalah platform yang sangat lengkap baik itu sistem operasinya,

aplikasi dan tool pengembangan, market aplikasi Android, serta dukungan yang

(20)

berkembang pesat baik dari segi teknologi maupun dari segi jumlah device yang

ada di dunia [4].

Android telah melalui cukup banyak pembaruan sejak pertama rilis. Tabel 2.1 menunjukkan berbagai versi Android beserta dengan tanggal rilis dan

codename (nama kode).

Tabel 2.1 Versi Android

2.2.2 Arsitektur Android

Secara garis besar, arsitektur Android terdiri atas 5 bagian, diantaranya sebagai berikut [4]:

1. Application dan Widgets

Merupakan layer (lapis), dimana pengguna berhubungan dengan aplikasi saja.

2. Application Frameworks

Merupakan Open Development Platform yang ditawarkan Android untuk

dapat dikembangkan guna membangun aplikasi. Pengembang memiliki akses penuh menuju API Frameworks seperti yang di lakukan oleh aplikasi kategori

inti. Komponen-komponen yang termasuk di dalam ApplicationsFrameworks

adalah Views, Content Provider, Resource Manager, Notification Manager,

dan ActivityManager.

3. Libraries

Merupakan layer, dimana fitur-fitur Android berada.

Versi Android Tanggal Rilis Nama Kode

1.0 23 September 2008 -

1.1 9 February 2009 -

1.5 30 April 2009 Cupcake

1.6 15 September 2009 Donut

2.0/2.1 26 Oktober 2009 Éclair

2.2 20 Mei 2010 Froyo

2.3 6 Desember 2010 Gingerbread

3.0/3.1/3.2 22 Februari 2011 Honeycomb

4.0 19 Oktober 2011 Ice Cream Sandwich

4.1/4.2/4.3 9 Juli 2012 Jelly Bean

4.4 31 Oktober 2013 KitKat

(21)

4. Android Run Time

Merupakan layer yang membuat aplikasi Android dapat dijalankan, dimana

dalam prosesnya menggunakan implementasi Linux. 5. Linux Kernel

Merupakan layer inti dari sistem operasi Android berada.

Gambar 2.1 Arsitektur Android

2.2.3 Android SDK (Software Development Kit)

Android SDK adalah tools API (Application Programming Interface)

yang diperlukan untuk mulai mengembangkan aplikasi pada platform Android

menggunakan bahasa pemrograman Java. Android merupakan subset perangkat

lunak untuk ponsel yang meliputi sistem operasi, middeware dan aplikasi kunci

yang di-release oleh Google. Saat ini disediakan Android SDK (Software Development Kit) sebagai alat bantu dan API untuk mengembangkan aplikasi

pada platform Android menggunakan bahasa pemrograman Java. Sebagai platform aplikasi netral, Android memberi kesempatan untuk membuat aplikasi

yang dibutuhkan yang bukan merupakan aplikasi bawaan handphone/smartphone

(22)

2.3 Structured Analysis and Design (SAD)

Pada bagian ini dijelaskan hal-hal yang berkaitan dengan analisis dan perancangan terstruktur, diantaranya pengenalan Structured Analysis and Design

(SAD) dan Data Flow Diagram (DFD).

2.3.1 Pengenalan Structured Analysis and Design (SAD)

Analisis terstruktur terfokus pada aliran data dan proses bisnis dan perangkat lunak. Analisis ini disebut process oriented. Analisis terstruktur

sederhana dalam konsep. Para analisis menggambarkan serangkaian proses dalam bentuk diagram alir data (data flow diagram) yang menggambarkan proses yang

ada atau yang di usulkan bersama-sama dengan input, output dan file mereka [6].

Setelah tahapan analisis selesai, maka usulan kebutuhan sistem harus diterjemahkan menjadi sistem informasi berbasis komputer. Proses mengubah usulan kebutuhan menjadi perangkat lunak bukan hal yang mudah, harus ada beberapa langkah yang digunakan untuk mempermudah dan menjamin perangkat lunak yang dihasilkan berkualitas. Langkah awal desain biasanya dimulai dengan pemodelan sistem. Model digunakan untuk menyederhanakan cara mengomunikasikan proses-proses bisnis yang harus dilakukan sistem dengan cara yang formal antar pemain pengembangan sistem.

Pemodelan proses adalah cara formal untuk menggambarkan bagaimana bisnis beroperasi. Mengilustrasikan aktivitas-aktivitas yang dilakukan dan bagaimana data berpindah di antara aktivitas-aktivitas itu. Ada banyak cara untuk mempresentasikan proses model. Cara yang paling populer adalah dengan menggunakan Data Flow Diagram (DFD) [6].

2.3.2 Data Flow Diagram (DFD)

Suatu diagram arus data atau Data Flow Diagram (DFD) adalah

(23)

Ada empat elemen yang menyusun suatu DFD, yaitu: 1. Proses

Aktivitas atau fungsi yang dilakukan untuk alasan bisnis yang spesifik, biasa berupa manual maupun terkomputerisasi.

2. Data Flow

Satu data tunggal atau kumpulan logis suatu data, selalu diawali atau berakhir pada suatu proses.

3. Data Store

Kumpulan data yang disimpan dengan cara tertentu. Data yang mengalir disimpan dalam data store. Aliran data di-update atau ditambahkan ke data store.

4. External Entity

Orang, organisasi, atau sistem yang berada di luar sistem tetapi berinteraksi dengan sistem.

DFD terdiri dari beberapa level, diantaranya sebagai berikut: 1. Context Diagram

Context Diagram (Diagram Konteks) merupakan DFD pertama dalam proses

bisnis. Menunjukkan dimana proses bisnis berada. Menunjukkan semua proses bisnis dalam 1 proses tunggal (proses 0). Context diagram juga

menunjukkan semua entitas luar yang menerima informasi dari atau memberikan informasi ke sistem.

2. Level 0 Diagram

Menunjukkan semua proses utama yang menyusun keseluruhan sistem. Level ini juga menunjukkan komponen internal dari proses 0 dan menunjukkan bagaimana proses-proses utama direlasikan menggunakan data flow. Pada

level ini juga ditunjukkan bagaimana proses-proses utama terhubung dengan entitas eksternal. Pada level ini juga dilakukan penambahan data store.

3. Level 1 Diagram

(24)

berpindah dari satu proses ke proses yang lainnya. Jika misalnya proses induk dipecah, katakanlah menjadi 3 proses anak, maka 3 proses anak ini secara utuh menyusun proses induk.

4. Level 2 Diagram

Menunjukkan semua proses yang menyusun sebuah proses pada level 1. Bisa saja penyusunan DFD tidak mencapai level 2 ini. Atau mungkin harus dilanjutkan ke level berikutnya (level 3, level 4, dan seterusnya).

2.4 Object-Oriented Analysis and Design (OOAD)

Pada bagian ini dijelaskan hal-hal yang berkaitan dengan analisis dan perancangan berorientasi objek, diantaranya pengenalan Object-Oriented Analysis and Design (OOAD) dan Unified Modelling Language (UML).

2.4.1 Pengenalan Object-Oriented Analysis and Design (OOAD)

Secara spesifik, pengertian berorientasi objek berarti bahwa mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya. Hal ini yang membedakan dengan pemrograman konvensional dimana struktur data dan perilaku hanya berhubungan secara terpisah. Terdapat beberapa cara untuk menentukan karakteristik dalam pendekatan berorientasi objek, tetapi secara umum mencakup empat hal, yaitu identifikasi, klasifikasi, polymorphism (polimorfisme), dan inheritance

(pewarisan) [7].

Analisis dan desain berorientasi objek atau Object-Oriented Analysis and Design (OOAD) adalah cara baru dalam memikirkan suatu masalah dengan

(25)

domain aplikasi, dimana model tersebut berisi objek yang terdapat dalam domain aplikasi termasuk deskripsi dari keterangan objek dan perilakunya [7].

Analisis Berorientasi Objek atau Object-Oriented Analysis (OOA)

dimulai dengan menyatakan suatu masalah, analisis membuat model situasi dari dunia nyata, menggambarkan sifat yang penting. Dalam menganalisa suatu sistem, analisis harus bekerja dengan pihak yang membutuhkan sistem untuk memahami masalah tersebut dengan jelas. Model analisis adalah abstraksi yang ringkas dan tepat dari apa yang harus dilakukan oleh sistem dan bagaimana melakukannya. Objek dalam model harus merupakan konsep domain dari aplikasi dan bukan merupakan implementasi komputer seperti struktur data. Model yang baik harus dipahami dan ditanggapi oleh ahli aplikasi. Empat kesulitan yang merupakan gangguan utama dalam pengembangan sistem adalah memahami problem domain,

komunikasi antara pihak yang berkaitan, perubahan kontinyu, dan reuse

(penggunaan kembali) [7].

Desain Berorientasi Objek atau Object-Oriented Design (OOD)

merupakan tahap lanjutan setelah Analisis Berorientasi Objek dimana tujuan sistem diorganisasi ke dalam sub-sistem berdasar struktur analisis dan arsitektur yang dibutuhkan. Desainer sistem (system designer) menentukan karakteristik

penampilan secara optimal, menentukan strategi memecahkan masalah, dan menentukan pilihan alokasi sumber daya. Sebagai contoh, desainer sistem mungkin menentukan perubahan pada screen untuk workstation yang memerlukan

kecepatan serta resolusi lebih tinggi [7].

Desain model digunakan berdasarkan model analisis dengan dilengkapi rincian untuk implementasi. Fokus dari desain objek (object design) adalah

perencanaan struktur data dan algoritma yang diperlukan untuk implementasi setiap kelas. Objek domain aplikasi dan objek domain komputer dijelaskan dengan menggunakan konsep dan notasi berorientasi objek yang sama [7].

(26)

2.4.2 Unified Modelling Language (UML)

Unified Modelling Language (UML) adalah bahasa grafis untuk

mendokumentasi, menspesifikasikan, dan membangun sistem perangkat lunak. UML berorientasi objek, menerapkan banyak level abstraksi, tidak bergantung proses pengembangan, tidak bergantung bahasa dan teknologi, pemaduan beberapa notasi di beragam metodologi, usaha bersama dari banyak pihak, serta didukung oleh kakas-kakas yang diintegrasikan lewat XML (XMI). Standar UML dikelola oleh OMG (Object Management Group) [7].

Tujuan utama perancangan UML adalah:

1. Menyediakan bahasa pemodelan visual yang ekspresif dan siap pakai untuk mengembangkan dan pertukaran model-model yang berarti.

2. Menyediakan mekanisme perluasan dan spesialisasi untuk memperluas konsep-konsep inti.

3. Mendukung spesifikasi independen bahasa pemrograman dan proses pengembangan tertentu.

4. Menyediakan basis formal untuk pemahaman bahasa pemodelan. 5. Mendorong pertumbuhan pasar kakas berorientasi objek.

6. Mendukung konsep-konsep pengembangan level lebih tinggi seperti komponen, kolaborasi, framework dan pattern.

UML menyediakan diagram-diagram yang sangat kaya dan dapat diperluas sesuai kebutuhan kita. Diagram adalah representasi secara grafis dari elemen-elemen tertentu beserta hubungan-hubungannya. Diagram penting karena diagram menyediakan representasi secara grafis dari sistem (atau bagiannya). Representasi grafis sangat memudahkan pemahaman terhadap sistem [7].

Diagram di dalam UML terbagi menjadi dua, diantaranya: 1. Diagram Struktur

(27)

a. Diagram Kelas (Class Diagram)

Diagram ini menunjukkan sekumpulan kelas, interface, serta kolaborasi

dan keterhubungannya. Diagram kelas ditujukan untuk pandangan statik terhadap sistem.

b. Diagram Objek (Object Diagram)

Diagram ini menunjukkan sekumpulan objek dan keterhubungannya. Diagram ini menunjukkan potongan statik dari instan-instan yang ada di diagram kelas. Diagram ini untuk memperlihatkan satu prototipe atau kasus tertentu yang mungkin terjadi.

c. Diagram Komponen (Component Diagram)

Diagram ini menunjukkan organisasi dan kebergantungan di antara sekumpulan komponen. Diagram ini merupakan pandangan statik terhadap implementasi sistem.

d. Diagram Deployment (Deployment Diagram)

Diagram ini menunjukan konfigurasi pemrosesan saat jalan dan komponen-komponen yang terdapat di dalamnya. Diagram ini merupakan pandangan statik dari arsitektur.

2. Diagram Perilaku

Diagram perilaku adalah diagram yang sifatnya dinamis (cenderung berubah). Terdapat beberapa jenis diagram yang termasuk kategori diagram perilaku, diantaranya:

a. Diagram Use Case (Use Case Diagram)

Diagram ini menunjukkan sekumpulan kasus fungsional dan aktor (jenis kelas khusus) dan keterhubungannya.

b. Diagram Sekuen (Sequence Diagram)

Diagram ini menunjukkan interaksi yang terjadi antar objek. Diagram ini merupakan pandangan dinamis terhadap sistem. Diagram ini menekankan pada basis keberurutan waktu dari pesan-pesan yang terjadi.

c. Diagram Kolaborasi (Collaboration Diagram)

(28)

d. Diagram Statechart (Statechart Diagram)

Diagram ini adalah state-machine diagram, berisi state, transisi, kejadian,

dan aktivitas. Statechart merupakan pandangan dinamis dari sistem.

Diagram ini penting dalam memodelkan perilaku antarmuka, kelas, kolaborasi, dan menekankan pada urutan kejadian. Penting untuk sistem reaktif yang dipicu kejadian di dunia nyata.

e. Diagram Aktivitas (Activity Diagram)

Diagram ini menunjukan aliran aktivitas di sistem. Diagram ini adalah pandangan dinamis terhadap sistem. Diagram ini penting untuk memodelkan fungsi sistem dan menekankan pada aliran kendali di antara objek-objek.

2.5 Location Based Service (LBS)

Location Based Service (LBS) atau layanan berbasis lokasi adalah service

yang berfungsi untuk mencari dengan teknologi Global Positioning System (GPS)

dan Google’s cell-based location [4]. Map dan layanan berbasis lokasi

menggunakan lintang (latitude) dan bujur (longitude) untuk menentukan lokasi

geografis, namun sebagai user dibutuhkan alamat atau posisi realtime, bukan nilai

lintang dan bujur [4]. Android menyediakan geocoder yang mendukung forward

dan reverse geocoding. Menggunakan geocoder, dapat dilakukan konversi nilai

lintang bujur menjadi alamat dunia nyata atau sebaliknya.

LBS adalah istilah umum yang digunakan untuk menggambarkan teknologi yang digunakan untuk menemukan lokasi perangkat yang digunakan. Dua unsur utama dari LBS adalah:

1. Location Manager (API Maps)

Menyediakan tools atau source untuk LBS, Aplication Programming Interface (API) Maps menyediakan fasilitas untuk menampilkan,

memanipulasi maps atau peta beserta feature-feature lainnya seperti tampilan

satelit, street ‘jalan’, maupun gabungannya. Paket ini berada pada

(29)

2. Location Providers

Menyediakan teknologi pencarian lokasi yang digunakan oleh device

‘perangkat’. API Location berhubungan dengan data GPS (Global Positioning System) dan data lokasi real-time. API Location berada pada

paket Android yaitu dalam paket android.location. Dengan Location Manager, dapat ditentukan lokasi saat ini, track ‘gerakan/perpindahan’, serta

kedekatan dengan lokasi tertentu dengan mendeteksi perpindahan [4].

2.6 Web Services

Perangkat peranti lunak integrasi aplikasi perusahaan sifatnya spesifik terhadap suatu produk, artinya perangkat ini hanya dapat bekerja dengan bagian-bagian peranti lunak dan sistem operasi tertentu. Contoh, suatu perangkat EAI untuk menghubungkan bagian tertentu dari peranti lunak pencatatan penjualan untuk aplikasi produksi, pengangkutan, dan penagihan, tidak dapat bekerja dengan peranti lunak pencatatan penjualan dari vendor lainnya. Program middleware yang

dikembangkan oleh sistem BEA, sebuah integrator yang besar, tidak dapat berhubungan dengan aplikasi middleware vendor lainnya yang dibeli pada

tahun-tahun sebelumnya tanpa pengeluaran yang besar untuk pemrograman dan perancangan. Layanan web (web services) mencoba memberikan alternatif standar

untuk menghadapi masalah-masalah integrasi seperti itu dengan menciptakan sebuah lingkungan komunikasi yang netral [4].

Layanan web (web services) adalah serangkaian komponen peranti lunak

yang bertukar informasi antara satu sama lain dengan bebas menggunakan komunikasi web dan bahasa yang standar. Layanan web dapat bertukar informasi

antara dua sistem yang berbeda, terlepas dari sistem operasi atau bahasa pemrograman sistem tersebut. Layanan web dapat dipadukan untuk membangun sistem penghubung aplikasi berbasis web standar terbuka dari dua organisasi yang

berbeda, dan juga dapat digunakan untuk membuat aplikasi yang menghubungkan sistem terpisah dalam satu perusahaan. Layanan web tidak terikat dengan sistem

(30)

dapat digunakan untuk berkomunikasi satu sama lain dengan cara standar tanpa penulisan kode khusus yang menghabiskan waktu [4].

2.7 JSON (JavaScriptObject Notation)

JSON (JavaScript Object Notation) adalah format pertukaran data yang

ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari

bahasa pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python, dan lain-lain. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran data [5].

JSON terbuat dari dua struktur, diantaranya sebagai berikut:

a. Kumpulan pasangan nama atau nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (structure),

kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array.

b. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa,

hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau

urutan (sequence).

Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman modern mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini [5].

JSON menggunakan bentuk sebagai berikut: 1. Objek (Object)

(31)

tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma).

2. Larik (Array)

Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma).

3. Nilai (value)

Nilai dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau

true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-struktur

tersebut dapat disusun bertingkat.

4. String

String adalah kumpulan dari nol atau lebih karakter unicode, yang dibungkus

dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili

karakter tunggal pada string. String sangat mirip dengan string C atau Java.

5. Angka

Angka pada JSON sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan.

2.8 Pemodelan Basis Data

Pada bagian ini dijelaskan hal-hal yang berkaitan dengan pemodelan basis data, diantaranya pengenalan basis data, Database Management System (DBMS),

MySQL, Model Entity-Relationship, dan Model Relasional.

2.8.1 Pengenalan Basis Data

Kata basis data atau database biasa digunakan untuk menguraikan segala

sesuatu dari sekumpulan data tunggal, seperti daftar telepon. Istilah basis data tidak termasuk aplikasi, yang terdiri dari form dan report dimana pengguna akan

saling berhubungan. Basis data terdiri dari file-file fisik yang ditetapkan

(32)

suatu model basis data lebih kepada konsep dibandingkan objek fisik dan digunakan untuk menciptakan tabel dalam basis data [12].

Basis data adalah suatu aplikasi terpisah yang menyimpan suatu koleksi data. Masing-masing basis data memiliki satu API atau lebih yang berbeda untuk menciptakan, mengakses, mengelola, mencari, dan mereplikasi data [12].

Sebuah basis data adalah tempat penyimpanan file data. Sebagai file data,

suatu basis data tidak menyajikan informasi secara langsung kepada pengguna. Pengguna harus menjalankan aplikasi untuk mengakses data dari basis data dan menyajikannya dalam bentuk yang bisa dimengerti. Ketika bekerja dengan file-file

data, suatu aplikasi harus dikodekan agar bekerja dengan struktur masing-masing

file data. Biasanya, suatu basis data berisi suatu katalog yang menggunakan

aplikasi untuk menentukan cara data diorganisir. Aplikasi basis data umum bisa menggunakan katalog tersebut untuk menampilkan data dengan pengguna dari basis data yang berbeda secara dinamis, tanpa terikat pada format data tertentu [12].

2.8.2 Database Management System (DBMS)

Database Management System (DBMS) atau sistem manajemen basis

data adalah suatu sistem perangkat lunak kompleks yang mengatur permintaan dan penyimpanan data ke dan dari hard disk. DBMS menyediakan keamanan

(security), privasi (privacy), integritas (integrity), dan kontrol konkurensi

(concurrency controls). DBMS mengelola transaksi pada multi user, lingkungan

akses bersamaan, dan menyediakan tingkat independensi data yang mengisolasi pandangan (view) pengguna atau aplikasi dari perubahan yang berlangsung di

tingkat internal dan konseptual [12].

DBMS adalah perangkat lunak yang disajikan oleh penjual basis data. Produk perangkat lunak seperti Microsoft Access, Oracle, Microsoft SQL Server, Sybase, DB2, INGRES, dan MySQL adalah DBMS [12].

DBMS menyediakan semua layanan dasar yang diperlukan untuk mengorganisir dan memelihara basis data, termasuk layanan berikut [12]:

(33)

2. Mengelola akses data oleh berbagai pengguna secara bersamaan; mencakup ketentuan untuk mencegah peng-update-an secara bersamaan.

3. Mengelola transaksi sehingga perubahan transaksi basis data adalah semua atau tidak sama sekali. Dengan kata lain, jika transaksi berhasil, semua basis data yang dibuat berubah dan direkam di dalam basis data. Jika transaksi gagal, tidak satupun dari perubahan tersebut yang direkam oleh basis data. 4. Mendukung bahasa query (query language), yang mana suatu sistem perintah

mempekerjakan pengguna basis data untuk mendapatkan data kembali dari basis data.

5. Ketentuan untuk mem-backup basis data dan pemulihan dari kegagalan.

6. Mekanisme keamanan untuk mencegah perubahan dan akses data yang tidak sah.

2.8.3 MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau yang dikenal dengan DBMS (Database Management System), database

ini multi thread dan multi user [10].

Kekuatan MySQL tidak ditopang oleh sebuah komunitas, seperti Apache, yang dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh pemilik masing-masing, tetapi MySQL didukung penuh oleh sebuah perusahaan profesional dan komersial, yakni MySQL AB dari Swedia [10].

MySQL adalah Relational Database Management System (RDBMS) yang

didistribusikan secara gratis dibawah lisensi GPL (General Public License).

Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL

sebenarnya merupakan turunan salah satu konsep utama dalam database sejak

lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep

pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan

(34)

Sebagai database server, MySQL dapat dikatakan lebih unggul

dibandingkan database server lainnya, terutama dalam kecepatan. Berikut ini

beberapa keistimewaan MySQL, antara lain [10]:

1. Probability

MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.

2. Multi user

MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan

tanpa mengalami masalah atau konflik.

3. Security

MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi.

4. Scalability dan limits

MySQL mampu menangani database dalam skala besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu

batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.

2.8.4 Model Entity-Relationship

Model Entity-Relationship (ER) mula-mula diusulkan oleh Peter Chen

pada tahun 1976 sebagai cara untuk mempersatukan pandangan basis data jaringan dan relasional. Langkah sederhana dari model ER adalah model data dan konseptual yang memandang dunia nyata sebagai kesatuan (entities) dan

hubungan (relationships). Komponen dasar model merupakan diagram entity-relationship yang digunakan untuk menyajikan objek data secara visual. Chen

menulis bahwa model telah diperluas dan kini bisa digunakan untuk merancang basis data. Keunggulan model ER dalam perancangan tersebut adalah [12]:

(35)

2. Sederhana dan mudah dipahami hanya dengan sedikit pelatihan. Oleh karena itu, model bisa digunakan oleh perancang basis data untuk mengkomunikasikan perancangan kepada pengguna akhir.

3. Sebagai tambahan, model bisa digunakan sebagai suatu rencana perancangan oleh pengembang basis data untuk menerapkan suatu model data dalam perangkat lunak manajemen basis data spesifik.

Perancangan basis data dengan menggunakan model entity-relationship

adalah dengan menggunakan Entity Relationship Diagram (ERD). ERD

mengilustrasikan struktur logis dari basis data.

2.8.5 Model Relasional

Model relasional secara formal diperkenalkan oleh Dr. E. F. Codd pada tahun 1970 dan berkembang sejak saat itu melalui serangkaian tulisan. Model relasional menyajikan data berbentuk tabel dua dimensi (two-dimension).

Masing-masing tabel menyajikan beberapa orang, tempat, sesuatu hal, atau peristiwa sebagai informasi yang dikumpulkan. Suatu basis data relasional adalah suatu kumpulan tabel two-dimensional [12].

Model relasional merupakan model data yang paling banyak digunakan saat ini. Tingkatan-tingkatan data yang menyusun database disebut skema,

dimana setiap tingkatan menggambarkan sebuah data. Model relasional ini memfokuskan pada pembahasan hubungan (relasional) antar data. Skema relasi pada model relasional ditentukan oleh nama skema, nama, dan tipe field atau kolom. Model data relasional merepresentasikan datanya menggunakan bentuk tabel-tabel yang saling berelasi/berhubungan dengan suatu field kunci. Setiap

tabel memiliki banyak kolom dengan nama yang unik untuk setiap kolomnya. Model relasi menempati level abstraksi yang lebih rendah daripada model ER, karena sifatnya langsung menunjukkan bentuk record yang akan disimpan dalam

(36)

2.9 Pemrograman Web

2.9.1 HTML

HTML adalah singkatan dari Hyper Text Markup Language. HTML

digunakan untuk membuat halaman web. Sebuah file dokumen yang ditulis dalam

format HTML akan dibaca dan diterjemahkan oleh web browser (misal Internet

Explorer) untuk kemudian disajikan dalam bentuk web [11].

File-file yang ditulis dalam format HTML disimpan dengan ekstensi .htm

atau .html. File-file tersebut dapat ditulis atau diketik menggunakan berbagai

macam teks editor, misalkan Notepad, Wordpad, dan lain sebagainya [11]..

HTML terdiri atas berbagai macam tag yang digunakan untuk menandai

dan mengatur tampilan halaman web yang dibuat. Misalkan jika ingin membuat

sebuah kalimat bercetak tebal di web, maka gunakan tag yang cocok untuk itu

[11].

Tag biasanya dituliskan berpasangan di awal dan di akhir bagian file yang

akan ditandai. Untuk tag yang diletakkan di awal bagian ditulis dengan tanda

untuk memperindah tampilan halaman website (situs). Singkatnya dengan

menggunakan metode CSS ini dapat dengan mudah mengubah secara keseluruhan sekaligus memformat ulang situs. CSS dapat digunakan untuk menghindari pekerjaan berulang-ulang [11].

CSS mempunyai dua bagian utama yaitu selector dan deklarasi. Yang

disebut selector biasanya elemen html yang ingin di ubah, sedangkan deklarasi

biasanya terdiri dari property dan nilai, property sendiri adalah atribut style yang

ingin di ubah, dan setiap property memiliki nilai. Setiap syntax css selalu diakhiri

(37)

Ada dua cara untuk membuat aturan style, yaitu dengan menuliskannya

langsung dalam dokumen HTML atau dengan memisahkannya dalam sebuah file

khusus yang berekstensi .css. Cara yang pertama dapat dilakukan dengan

menambahkan tag <STYLE> diantara tag <HEAD> dan </HEAD>. Kemudian

tuliskan aturan style-nya di dalam tag <STYLE> tersebut. Cara pertama sudah

jarang dilakukan. Saat ini, para pembuat web biasanya menggunakan cara yang

kedua, yaitu membuat aturan style dalam file terpisah [11].

2.9.3 PHP

PHP adalah singkatan dari PHP: Hypertext Preprocessor. PHP

merupakan bahasa pemrograman untuk membuat web yang bersifat server-side scripting [10]. PHP memungkinkan untuk membuat halaman web yang bersifat

dinamis.

PHP dapat dijalankan pada berbagai macam sistem operasi, misalnya Windows, Linux, dan Mac OS. Selain Apache, PHP juga mendukung beberapa

webserver lain, misalnya Microsoft IIS, Caudium, PWS, dan lain-lain [10].

PHP dapat memanfaatkan database untuk menghasilkan halaman web

yang dinamis [10]. Sistem manajemen database yang sering digunakan bersama

PHP adalah MySQL. Namun, PHP juga mendukung sistem manajemen database

Oracle, Microsoft Access, Interbase, dBase, PostgreSQL, dan lain-lain [10]. Hingga kini, PHP sudah berkembang hingga versi 5. PHP 5 mendukung penuh Object-Oriented Programming (OOP), integrasi XML, mendukung semua

ekstensi terbaru MySQL, pengembangan web services dengan SOAP dan REST,

serta ratusan peningkatan lainnya dibandingkan versi sebelumnya. PHP juga bersifat open source sehingga setiap orang dapat menggunakannya secara gratis

[10].

2.9.4 JavaScript

JacaScript merupakan bahasa scripting (bahasa pemrograman yang

ringan) yang popular di Internet dan dapat bekerja di sebagian besar browser

(38)

Chrome, dan Opera. Kode JavaScript dapat disisipkan dalam halaman web

menggunakan tag <SCRIPT> [11].

JavaScript adalah bahasa interpreter yang berarti skrip dieksekusi tanpa proses kompilasi [11]. JavaScript berisi baris kode yang dijalankan di komputer (web browser). JavaScript didesain untuk menambah interaktif suatu web [11].

Ada beberapa cara untuk menuliskan JavaScript, yaitu di bagian <HEAD>, <BODY> atau external. JavaScript dalam sebuah halaman web akan

dieksekusi saat halaman di-load oleh browser. Namun, hal ini kadang tidak sesuai

dengan keinginan karena suatu saat akan mengeksekusi skrip saat halaman

di-load, tetapi kadang JavaScript dijalankan melalui trigger sebuah event [11].

2.10 Pemrograman Java

Pada bagian ini dijelaskan hal-hal yang berkaitan dengan pemrograman java, diantaranya pengenalan bahasa pemrograman Java dan Eclipse.

2.10.1 Pengenalan Bahasa Pemrograman Java

Java merupakan bahasa pemrograman yang menanjak popularitasnya dewasa ini. Selain gratis, Java mudah didapatkan dan juga tangguh. Java sendiri lahir pada tahun 1991 yang diprakarsai oleh tim Sun Microsystems melalui proyek bernama Green yang dipimpin oleh James Gosling [8].

Java menerapkan fitur-fitur dari bahasa pemrograman lain, dimana fitur itu dianggap merupakan siatu kelebihan oleh tim Sun [8]. Misalnya JVM/JRE yang merupakan mesin maya pada bahasa Pascal, Sintaks, dan Exception Handling diambil dari C/C++ dan lain sebagainya.

Java Virtual Machine (JVM) atau Java Runtime Environment (JRE)

merupakan fitur Java yang membuatnya dapat berjalan pada semua platform

sistem operasi. Apabila membuat Java pada Windows, dapat pula dijalankan pada sistem operasi Linux, Mac OS, dan lainnya [8].

Java memiliki beberapa keunggulan yang tidak dimiliki oleh bahasa lain [8]. Berdasarkan white paper resmi dari Sun Microsystems, Java memiliki

(39)

1. Sederhana

Bahasa pemrograman Java menggunakan sintaks mirip C++, namun pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer

yang rumit dan multiple inheritance. Java juga menggunakan automatic memoryallocation dan memory garbage collection.

2. Berorientasi objek (object oriented)

Java menggunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali.

3. Dapat didistribusi dengan mudah

Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya librariesnetworking yang terintegrasi pada Java.

4. Interpreter

Program Java dijalankan menggunakan intrepeter, yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah

dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang

berbeda-beda. 5. Robust

Java mempunyai reliabilitas yang tinggi. Compiler pada Java mempunyai

kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa

pemrograman lain. Java mempunyai runtime-Exception handling untuk

membantu mengatasi error pada pemrograman.

6. Aman

Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.

7. Architecture Neutral

Pemrograman Java merupakan platform independent. Program cukup

mempunyai satu buah versi yang dapat dijalankan pada platform yang

(40)

8. Portabel

Source code maupun program Java dapat dengan mudah dibawa ke platform

yang berbeda-beda tanpa harus dikompilasi ulang. 9. Performance

Performance pada Java sering dikatakan kurang tinggi. Namun performance

Java dapat ditingkatkan menggunakan kompilasi Java lain seperti Inprise, Microsoft, ataupun Symantec yang menggunakan Just In Time Compilers

(JIT). 10. Multithread

Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.

11. Dinamis

Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method

dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.

2.10.2 Eclipse

Eclipse adalah sebuah IDE (Integrated Development Environment) untuk

mengembangkan perangkat lunak dan dapat dijalankan di semua platform

(platform-independent) [14]. Berikut ini adalah sifat dari Eclipse:

1. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows,

Linux, Solaris, AIX, HP-UX dan Mac OS X.

2. Multi-language: Eclipse dikembangkan dengan bahasa pemrograman Java,

akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.

3. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun

bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain

sebagainya.

(41)

perangkat lunak ini [14]. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.

2.11 Pengujian Black Box

Pengujian black box fokus pada keperluan penelusuran kesalahan

fungsional dari software. Ujicoba black box 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.

5. Kesalahan inisialisasi dan terminasi.

Teknik pengujian blackbox 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 black box 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.12 Pengujian Kuesioner

(42)

Derajat penilaian responden terhadap suatu pernyataan terbagi dalam 5 kategori yang tersusun secara bertingkat, mulai dari Sangat Tidak Setuju (STS), Tidak Setuju (TS), Ragu-Ragu (R), 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 Tabel 2.2.

Tabel 2.2 Panduan Pemberian Skor

Jenis Pernyataan Bobot pendapat

SS S R TS STS

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, totalkan 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 dicapai. Untuk lebih jelasnya dapat dilihat pada rumus dibawah ini.

Dimana,

Keterangan:

= rata-rata

= jumlah seluruh nilai setwlah dikalikan dengan bobot

(43)
(44)

35 3.1 Analisis Sistem

Analisis sistem didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan, kesempatan, hambatan yang terjadi, dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan sesuai dengan kebutuhan.

3.1.1 Analisis Masalah

Mencari lawan bermain baru (belum pernah bermain sebelumnya) sangat diperlukan untuk meningkatkan kualitas dan pengalaman dalam bermain futsal, akan tetapi banyak tim futsal yang mengalami beberapa masalah. Masalah-masalah tersebut diantaranya:

1. Tim futsal mengalami kesulitan dalam mencari lawan baru, sehingga pengalaman bermain mereka sulit bertambah.

2. Tim futsal mengalami kesulitan dalam mencari lawan yang bersedia bermain sesuai dengan waktu dan tempat yang tim tersebut inginkan.

3. Tim futsal mengalami kesulitan dalam memberikan informasi jadwal pertandingan kepada seluruh anggota tim.

3.1.2 Analisis Arsitektur Sistem

(45)

Gambar 3.1 Arsitektur Sistem

Gambaran arsitektur sistem yang akan dibangun memiliki dua buah sub sistem. Pertama adalah web admin dimana pada bagian ini administrator

melakukan pengelolaan website yang telah dihosting dan tersimpan dalam web server. Sub sistem ini berfungsi untuk mengelola data yang tersimpan di dalam database server. Sedangkan sub sistem kedua adalah sub sistem mobile dimana

pada bagian ini aplikasi akan mengirim dan menerima data dari database server.

Sub sistem mobile melakukan pertukaran data ke database server melalui Internet

kemudian masuk ke web services. Di dalam web services, data dari database server akan di encode ke dalam bentuk JSON, kemudian data berupa JSON

tersebut akan diparsing dengan JSON Parser agar data dari database server dapat

diterima oleh sub sistem mobile. Selain itu, sub sistem mobile juga memanfaatkan

(46)

3.1.3 Spesifikasi Kebutuhan Perangkat Lunak

Spesifikasi kebutuhan perangkat lunak terbagi kedalam dua kebutuhan yaitu kebutuhan non fungsional dan fungsional. Kebutuhan fungsional dapat dilihat pada Tabel 3.1 untuk sub sistem web dan Tabel 3.2 untuk sub sistem mobile.

Tabel 3.1 Spesifikasi Kebutuhan Fungsional Sub Sistem Web Kode SKPL Spesifikasi Kebutuhan Perangkat Lunak

SKPL-F-001 Sub sistem web menyediakan fasilitas kepada administrator untuk login

kedalam sistem.

SKPL-F-002 Sub sistem web menyediakan fasilitas kepada administrator untuk

mengelola data pengguna.

SKPL-F-003 Sub sistem web menyediakan fasilitas kepada administrator untuk

mengelola data tim.

SKPL-F-004 Sub sistem web menyediakan fasilitas kepada administrator untuk

mengelola data pertandingan.

SKPL-F-005 Sub sistem web menyediakan fasilitas kepada administrator untuk

mengelola data lapangan.

SKPL-F-006 Sub sistem web menyediakan fasilitas kepada administrator untuk

mengubah profil administrator.

SKPL-F-007 Sub sistem web menyediakan fasilitas kepada administrator untuk

mengubah password administrator.

SKPL-F-008 Sub sistem web menyediakan fasilitas kepada administrator untuk logout

dari sistem.

Tabel 3.2 Spesifikasi Kebutuhan Fungsional Sub Sistem Mobile Kode SKPL Spesifikasi Kebutuhan Perangkat Lunak

SKPL-F-009 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk registrasi

kedalam sistem.

SKPL-F-010 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk login

kedalam sistem

SKPL-F-011 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk membuat

tim.

SKPL-F-012 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk melihat

informasi tim.

SKPL-F-013 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk

mengubah informasi tim.

SKPL-F-014 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk mencari

lawan bermain futsal.

SKPL-F-015 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk

menambahkan anggota kedalam tim.

SKPL-F-016 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk melihat jadwal bermain tim.

SKPL-F-017 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk melihat

riwayat bermain tim.

SKPL-F-018 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk

membatalkan pertandingan.

SKPL-F-019 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk

menyimpan hasil pertandingan.

(47)

Kode SKPL Spesifikasi Kebutuhan Perangkat Lunak

ajakan bermain dari tim lain.

SKPL-F-021 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk merespon

ajakan bergabung dari tim.

SKPL-F-022 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk merespon

permintaan bergabung dari pengguna.

SKPL-F-023 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk mencari

tim.

SKPL-F-024 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk mengirim

permintaan bergabung kedalam tim.

SKPL-F-025 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk keluar

dari tim.

SKPL-F-026 Subsistem mobile menyediakan fasilitas bagi pengguna untuk melihat

daftar tim teratas.

SKPL-F-027 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk

meengubah profil pengguna

SKPL-F-028 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk

mengubah password pengguna.

SKPL-F-029 Sub sistem mobile menyediakan fasilitas bagi pengguna untuk logout

dari sistem.

Kebutuhan non fungsional pada perangkat lunak yang dibangun dapat dilihat pada Tabel 3.3.

Tabel 3.3 Spesifikasi Kebutuhan Non Fungsional

Kode SKPL Spesifikasi Kebutuhan Perangkat Lunak

SKPL-NF-001 Sistem yang dibangun memiliki dua sub sistem yaitu web dan mobile.

SKPL-NF-002 Sub sistem mobile yang dibangun minimal menggunakan sistem operasi

Android versi 4.0 Ice Cream Sandwich.

SKPL-NF-003 Perangkat mobile harus mendukung fitur GPS (Global Positioning System).

SKPL-NF-004 Sistem dibangun dengan spesifikasi hardware yang memenuhi standar

minimum kebutuhan.

SKPL-NF-005 Sub sistem mobile digunakan oleh pengguna dengan jenis kelamin

laki-laki.

SKPL-NF-006 Sistem tidak mengizinkan konten yang mengandung unsur sara, pornografi dan norma-norma kesusilaan.

SKPL-NF-007 Perangkat lunak yang dibangun harus menghasilkan format file standar

(.json) yang bisa digunakan oleh pihak luar yang berkepentingan.

3.1.4 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional menggambarkan kebutuhan sistem yang menitik-beratkan pada properti prilaku yang dimiliki oleh sistem, diantaranya kebutuhan perangkat keras, perangkat lunak, serta pengguna (user)

Gambar

Gambar 3.1 Arsitektur Sistem
Tabel 3.2 Spesifikasi Kebutuhan Fungsional Sub Sistem Mobile
Gambar 3.2 Entity Relationship Diagram
Tabel 3.14 Spesifikasi Proses Level 2 Proses Menyajikan Data Web Services
+7

Referensi

Dokumen terkait

Pertumbuhan dan hasil kacang tanah budidaya sistem tanam alur menghasilkan nilai interaksi dengan perlakuan ketiga jenis pupuk lebih baik dibandingkan sistem tanam

Hal ini sangat beralasn sebab pengaturan masalah pencurian ikan/ Illegal Fishing itu sendiri masih baru saja diatur dalam Hukum positif kita, dengan

Langkah-langkah penelitian ini adalah: (1) Citra yang telah diambil di reduksi warna dari 24-bit menjadi 8-bit yang berfungsi untuk menyiapkan citra ke dalam format GIF,

pemikiran di atas dapat disimpulkan bahwa peran Agama dalam Antropologi sebagai panduan untuk membimbing manusia untuk memiliki moral dan perilaku sesuai dengan

Petani / Pemohon mengajukan surat permohonan pengolahan lahan dengan traktor ke Dinas Pertanian dan Perkebunan yang ditujukan kepada Manager traktor, yang diketahui

menggunakan pendekatan deskriptif kuantitatif dengan model komparasi. Pendekatan deskriptif kuantitatif yaitu, suatu penelitian yang dituntut untuk.. menggunakan angka, nilai

4.2.2.5 Diagram Aktivitas Sistem Informasi Pemetaan Sekolah SMP-SMA Sederajat Tingkat Kabupaten Kudus Berbasis OpenSource

Tujuan penelitian ini adalah untuk mendeskripsikan dan menganalisa bagaimana Partisipasi Rumah Tangga Sangat Miskin (RTSM) dalam Program Keluarga Harapan (PKH)