Membangun Aplikasi Mobile Komunitas Berbasis Android

(1)

1 1.1 Latar Belakang Masalah

Menjadi bagian sebuah komunitas pastilah sangat menyenangkan. Karena kita adalah makhluk sosial yang tidak bisa hidup secara individu. Komunitas yang terbentuk di masyarakat sangatlah beragam. Ada komunitas motor, IT, pecinta alam, pecinta kuliner, pecinta hewan peliharaan, pecinta olahraga dan berbagai komunitas menarik dan unik lainnya. Komunitas berasal dari bahasa latin yaitu communitas yang berarti kesamaan. Menurut pendapat ahli George Hillery Jr “komunitas adalah sekumpulan orang yang hidup disuatu wilayah dan memiliki ikatan untuk melakukan interaksi satu sama lain”[1].

Di Indonesia komunitas berkembang sangat pesat, terutama di kota-kota besar. Data dari Bappeda Kota Bandung pada tahun 2008 di Bandung terdapat 5.291 komunitas kreatif[2]. Berdasarkan survei kuesioner yang dilakukan terhadap 112 responden anggota komunitas yang disebarkan secara online, sebanyak 97% atau 109 responden belum memiliki aplikasi mobile android di komunitasnya. Dari survei tersebut disimpulkan bahwa masih banyak komunitas yang belum memiliki aplikasi mobile android komunitas sendiri.

Semua responden atau 112 responden mengatakan belum mempunyai aplikasi mobile komunitas yang didalam satu aplikasi terdapat lebih dari satu komunitas. Sebanyak 79% atau 89 responden mengikuti lebih dari satu komunitas. Hanya 21% atau 23 responden yang mengikuti satu komunitas saja. Dari survei tersebut dapat disimpulkan bahwa banyak responden yang mengikuti lebih dari satu komunitas. Jika setiap komunitas mempunyai aplikasi mobile masing-masing, berarti orang yang mengikuti dua atau lebih komunitas akan mempunyai banyak aplikasi mobile komunitas di smartphonenya. Berdasarkan survei kuesioner terhadap 112 responden juga didapat bahwa 62% atau 69 responden membutuhkan sebuah aplikasi komunitas yang bisa membantu interaksi mereka sesama anggota dikomunitas.


(2)

Di dalam penyampaian informasi orang lebih cenderung menggunakan media gambar untuk mempresentasikan sesuatu. Penempatan gambar pada sebuah aplikasi sangat dibutuhkan. Karena gambar memiliki ukuran yang besar akan membuat space diserver akan menjadi besar. Sehingga untuk mengatasi hal tersebut dibutuhkan cara untuk mengubah ukuran gambar menjadi lebih kecil.

Pemilihan perangkat mobile dalam penelitian ini adalah karena perangkat mobile mendominasi pasar dengan 7 miliar pengguna di seluruh dunia pada tahun 2014[3]. Sedangkan pemilihan platform android pada penelitian ini adalah karena di antara platform mobile lain, android telah melampaui angka pengguna aktif mencapai 1 miliar pengguna pada tahun 2014, hal tersebut disampaikan oleh vice president google Sundar Pichai[4]. Perbandingan pertumbuhan pengguna sistem operasi pada kuartal kedua tahun 2014 yaitu android sebesar 84,7% meningkat dari kuartal sebelumnya yang sebesar 83%, iOS sebesar 11,7% menurun dari kuartal sebelumnya yang sebesar 15,6%, blackberry sebesar 0,5% tidak mengalami perubahan dari kuartal sebelumnya, windows phone sebesar 2,5% menurun dari kuartal sebelumnya yang sebesar 2,7% dan sistem operasi lain sebesar 0,6%[5].

Oleh karena itu, berdasarkan uraian di atas maka akan dibangun sebuah aplikasi komunitas. Aplikasi ini di khususkan untuk pengguna smartphone dengan sistem operasi Android. Sehingga saya mengangkat tema dan judul MEMBANGUN APLIKASI MOBILE KOMUNITAS BERBASIS ANDROID”.

1.2 Rumusan Masalah

Berdasarkan latar belakang masalah yang telah dijelaskan maka dapat dirumuskan sebuah masalah yang akan dibahas yaitu bagaimana membangun aplikasi mobile komunitas berbasis android.

1.3 Maksud dan Tujuan

Maksud dari penelitian ini adalah membangun aplikasi mobile komunitas berbasis android dengan tujuan sebagai berikut :


(3)

1. Membantu seseorang yang bergabung lebih dari satu komunitas untuk menggunakan satu aplikasi saja.

2. Mempermudah interaksi antar sesama anggota di komunitas.

3. Mempermudah pengguna aplikasi sebagai anggota untuk mendapatkan informasi mengenai komunitas.

4. Mengurangi pemakaian kapasitas penyimpanan hosting di server dengan melakukan kompresi terhadap foto yang diupload

1.4 Batasan Masalah

Adapun batasan masalah dari pembangunan aplikasi ini adalah :

1. Penelitian ini dibangun dalam dua subsistem yakni dengan website untuk admin (Backend) dan android untuk aplikasi komunitas yang dipakai user (Frontend).

2. Aplikasi website yang dibangun di peruntukkan bagi admin dari komunitas yang sudah mendaftar. Admin komunitas mempunyai hak dalam pengelolaan data informasi komunitas masing-masing seperti pengelolaan informasi kegiatan, profil, anggota, kontak dan reminder.

3. Perangkat lunak ini menggunakan kompresi bitmap android.

4. Pendekatan analisis dan perancangan dari pembangunan perangkat lunak dibuat dengan 2 type. Untuk subsistem pertama yakni website menggunakan SAD (Structure Analysis and Design) dan untuk subsistem kedua yakni android menggunakan OOAD (Object Oriented Analysis and Design) dengan UML (Unified Modeling Language).

1.5 Metodologi Penelitian

Metodologi Penelitian untuk pembanguan aplikasi ini menggunakan dua metode yaitu metode pengumpulan data dan metode pembangunan perangkat lunak yang akan dipaparkan sebagai berikut :


(4)

1.5.1 Metode Pengumpulan Data 1. 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. 2. Kuesioner

Kuesioner dilakukan pada teman-teman komunitas dari berbagai jenis komunitas sebagai pengumpulan data validasi untuk membuktikan seberapa dibutuhkannya aplikasi ini dibangun dengan berdasarkan hasil dari kuesioner. 3. Wawancara

Wawancara dilakukan pada teman-teman pengurus komunitas dari berbagai jenis komunitas sebagai pengumpulan data validasi untuk membuktikan seberapa dibutuhkannya aplikasi ini dibangun dengan berdasarkan hasil dari wawancara.

1.5.2 Metode Pembangunan Perangkat Lunak

Dalam perancangan dan pengembangan aplikasi, penulis menggunakan waterfall model. Menurut Sommervile, waterfall model merupakan model System Development Life Cycle (SDLC) klasik yang bersifat sistematis. Model ini terdiri dari beberapa fase yang dikerjakan secara berurutan untuk membangun software. Penjelasan dari fase-fase waterfall model yang digunakan adalah [6] :

1. Requirement analysis and definition

Tahap requirement analysis and definition yang dilakukan dalam pembangunan perangkat lunak ini adalah dengan melakukan pengumpulan data dengan cara studi literatur, kuesioner online kepada anggota komunitas dan wawancara langsung dengan pengurus komunitas. Dari hasil tersebut didapatkan masalah yang kemudian dicarikan solusinya dengan melakukan pendekatan secara terstruktur dan secara objek.

2. System and software design

Tahap system and software design yang dilakukan dalam pembangunan perangkat lunak ini adalah dengan membuat perancangan data, perancangan


(5)

arsitektural menu, perancangan antarmuka, perancangan pesan, jaringan semantik dan perancangan method.

3. Implementation and unit testing

Tahap implementation and unit testing yang dilakukan dalam pembangunan perangkat lunak ini adalah dengan membuat dua buah subsistem yakni subsistem web admin dan subsistem android dimana untuk subsistem web diimplementasikan dengan bahasa pemrograman php, html, css, dan javascript yang kemudian dihosting agar dapat diakses lebih fleksible. Sedangkan untuk subsistem android diimplementasikan dengan bahasa pemrograman java mobile dan xml. Untuk pertukaran data menggunakan format JSON.

4. Integration and system testing

Tahap integration and system testing yang dilakukan dalam pembangunan perangkat lunak ini adalah mengintegrasikan data yang ada dalam database untuk dapat dikelola dalam web admin, kemudian dapat dipertukarkan dengan perangkat mobile android.

5. Operation and maintenance

Tahap operation and maintenance yang dilakukan dalam pembangunan perangkat lunak ini adalah dengan melakukan pemantauan secara berkala mengenai penggunaan perangkat lunak sehingga kedepannya jika ada perubahan dapat dilakukan update untuk optimalisasi pengoperasian. Dari berbagai tahapan-tahapan tersebut, untuk lebih jelasnya bisa dilihat pada gambar 1.


(6)

1.6 Sistematika Penulisan

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

BAB I Pendahuluan

Bab I 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 II Landasan Teori

Bab II 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 III Analisis dan Perancangan Sistem

Bab III 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 IV Implementasi dan Pengujian

Bab IV 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 V Kesimpulan dan Saran

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


(7)

7 2.1Komunitas

Komunitas adalah sebuah kelompok sosial dari beberapa organisme yang berbagi lingkungan, umumnya memiliki ketertarikan dan habitat yang sama. Dalam komunitas manusia, individu-individu di dalamnya dapat memiliki maksud, kepercayaan, sumber daya, preferensi, kebutuhan, risiko, kegemaran dan sejumlah kondisi lain yang serupa. Komunitas berasal dari bahasa Latin communitas yang berarti "kesamaan", kemudian dapat diturunkan dari communis yang berarti "sama, publik, dibagi oleh semua atau banyak"[7]. Menurut Crow dan Allan, Komunitas dapat terbagi menjadi 3 komponen[7]:

1. Berdasarkan Lokasi atau Tempat

Wilayah atau tempat sebuah komunitas dapat dilihat sebagai tempat dimana sekumpulan orang mempunyai sesuatu yang sama secara geografis. Dan saling mengenal satu sama lain sehingga tercipta interaksi dan memberikan konstribusi bagi lingkungannya.

2. Berdasarkan Minat

Sekelompok orang yang mendirikan suatu komunitas karena mempunyai ketertarikan dan minat yang sama, misalnya agama, pekerjaan, suku, ras, hobi maupun berdasarkan kelainan seksual. Komunitas berdasarkan minat memiliki jumlah terbesar karena melingkupi berbagai aspek, contoh komunitas pecinta animasi dapat berpartisipasi diberbagai kegiatan yang berkaitan dengan animasi, seperti menggambar, mengkoleksi action figure maupun film.

3. Berdasarkan Komuni


(8)

2.2Aplikasi Mobile

Aplikasi Mobile adalah sebuah aplikasi yang memungkinkan Anda melakukan mobilitas dengan menggunakan perlengkapan seperti PDA, telepon seluler atau Handphone. Dengan menggunakan aplikasi mobile, Anda dapat dengan mudah melakukan berbagai macam aktifitas mulai dari hiburan, berjualan, belajar, mengerjakan pekerjaan kantor, browsing dan lain sebagainya[8]. Contohnya mobile programing untuk ponsel[9]:

1. Javafx mobile, digunakan di smartphone Android.

2. J2ME (Java 2 Mobile Edition) yang paling umum dan paling banyak yang support, blackberry pun masih menggunakan J2ME dengan tambahan API. J2ME adalah satu set spesifikasi dan teknologi yang fokus kepada perangkat konsumen. Perangkat ini memiliki jumlah memori yang terbatas, menghabiskan sedikit daya dari baterei, layar yang kecil dan bandwith jaringan yang rendah. 3. C++ dalam symbian framework, ini khusus untuk handphone dengan OS

symbian.

4. C# .NET, untuk handphone dengan OS Windows mobile 5. Flash Lite, game flash di mobile.

2.3Android

Android adalah sistem operasi bersifat Open Source berbasis Linux 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 [10]. Android memiliki OS yang sangat baik, cepat dan kuat serta memiliki antarmuka pengguna intuitif yang dikemas dengan pilihan dan fleksibilitas.


(9)

Android SDK (Software Development Kit) menyediakan tools dan API yang diperlukan untuk mengembangkan aplikasi pada platform android dengan menggunakan bahasa pemrograman Java.

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 atau web, Hal ini dikarenakan aplikasi mobile memiliki tingkat interupsi proses yang lumayan tinggi seperti ketika handling panggilan masuk aplikasi diharuskan menghentikan proses sementara, Penerapan siklus hidup juga berguna untuk memastikan aplikasi tidak menghabiskan sumber daya baterai pengguna [11].

Di dalam android terdapat activity dimana komponen ini memberi interaksi antara user dan aplikasi yang dibangun melalui user interface. Activity ini memiliki siklus hidup yang dinamakan Android Life Cycle. Flowchart siklus hidup tersebut dapat dilihat pada Gambar 2.1 Android Life Cycle.

Gambar 2.1 Android Life Cycle

Terdapat beberapa state dalam siklus hidup android yang terjadi seperti diilustrasikan pada Gambar 2.1 Android Life Cycle, akan tetapi hanya beberapa dari state tersebut yang menjadi statis diantaranya[11]:


(10)

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 cycle callback berikutnya. Artinya, setelah sistem OnCreate() dipanggil, dengan cepat sistem akan memanggil method OnStart(), krmudian diikuti oleh onResume().

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

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 adalah ketika 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 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 proses request seperti musik streaming atau mendeteksi suhu ruangan secara background.


(11)

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

2. Touch Gestures dan Multi-touch

Touchscreen adalah user interface intuitif yang digunakan banyak smartphone di dunia. 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 virtual keyboard, dan tombol navigasi aplikasi.

2.4 Website

Situs web (bahasa Inggris: website) adalah suatu halaman web yang saling berhubungan yang umumnya berada pada peladen yang sama berisikan kumpulan informasi yang disediakan secara perorangan, kelompok, atau organisasi. Sebuah situs web biasanya ditempatkan setidaknya pada sebuah server web yang dapat diakses melalui jaringan seperti Internet, ataupun jaringan wilayah lokal (LAN) melalui alamat Internet yang dikenali sebagai URL. Gabungan atas semua situs yang dapat diakses publik di Internet disebut pula sebagai World Wide Web atau lebih dikenal dengan singkatan WWW[12].

Meskipun setidaknya halaman beranda situs Internet umumnya dapat diakses publik secara bebas, pada prakteknya tidak semua situs memberikan kebebasan bagi publik untuk mengaksesnya, beberapa situs web mewajibkan pengunjung untuk melakukan pendaftaran sebagai anggota, atau bahkan meminta pembayaran untuk dapat menjadi aggota untuk dapat mengakses isi yang terdapat dalam situs web


(12)

tersebut, misalnya situs-situs yang menampilkan pornografi, situs-situs berita, layanan surel (e-mail), dan lain-lain. Pembatasan-pembatasan ini umumnya dilakukan karena alasan keamanan, menghormati privasi, atau karena tujuan komersil tertentu[12].

Sebuah halaman web merupakan berkas yang ditulis sebagai berkas teks biasa (plain text) yang diatur dan dikombinasikan sedemikian rupa dengan instruksi-instruksi berbasisHTML, atau XHTML, kadang-kadang pula disisipi dengan sekelumit bahasa skrip. Berkas tersebut kemudian diterjemahkan oleh peramban web dan ditampilkan seperti layaknya sebuah halaman pada monitor komputer[12]. Halaman-halaman web tersebut diakses oleh pengguna melalui protokol komunikasi jaringan yang disebut sebagai HTTP, sebagai tambahan untuk meningkatkan aspek keamanan dan aspek privasi yang lebih baik, situs web dapat pula mengimplementasikan mekanisme pengaksesan melalui protokol HTTPS[12].

2.5JSON

JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generated) oleh komputer[15]. JSON terbuat dari dua struktur yaitu[13]:

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. 2. Daftar nilai terurutkan (list of values). Pada kebanyakan bahasa, hal ini

dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (Sequence).

JSON menggunakan bentuk sebagai berikut[13]: 1. Objek

Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma).


(13)

2. Larik

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

Nilai (value) 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, Format oktal dan heksadesimal tidak digunakan.

2.6Structure Analysis and Design

Struktur analisis dan desain adalah sebuah metodologi yang di gunakan pada rekayasa perangkat lunak untuk mendeskripsikan sistem kearah fungsional. Pendekatan ini memecahkan masalah-masalah dalam aktifitas bisnis menjadi bagian-bagian kecil yang dapat disatukan kembali menjadi satu kesatuan yang utuh untuk memecahkan masalah[14].

Tools yang dapat digunakan pada pendekatan analisis pengembangan sistem secara terstruktur adalah[14]:

1. ERD (Entity Relationship Diagram)

Merupakan satu model jaringan yang menggunakan susunan data yang disimpan dalam sistem. ERD merupakan model jaringan data yang menekankan pada struktur dan hubungan antardata[14].

Elemen-elemen ERD[14]: 1. Entitas

Entity (entitas) adalah sesuatu apa saja yang ada di dalam sistem, nyata maupun abstrak di mana data tersimpan atau di mana terdapat data. Entitas diberi nama


(14)

dengan kata benda dan dapat dikelompokkan dalam 4 (empat) kelas, yaitu : role (peran), events (kejadian), locations (lokasi), tangible things / concepts (sesuatu yang tidak nyata / konsep). Contoh: pegawai, pembelian, kampus, buku, pembayaran, mahasiswa dan dosen.

2. Relationship

Relationship adalah hubungan alamiah yang terjadi antara entitas. Contohnya: Entitas Mahasiswa dengan NIM = “14534” dan NamaMhs = “Dodo” yang mempunyai relasi dengan Entitas Kuliah dengan KodeKul = “SI-140” dan NamaMK = “Basis Data”, sehingga struktur data dari Relasi ini bahwa mahasiswa tersebut mengambil mata kuliah pada suatu perguruan tinggi.

3. Atribut

Deskripsi kelompok data yang mempunyai karakteristik yang sama (data yang mendeksripsikan entity dan relationship), merupakan field yang akan disimpan. Berikut simbol-simbol ERD pada tabel 2.1.

Tabel 2.1 Simbol-simbol ERD

Hubungan antara entitas akan menyangkut dua komponen yang menyatakan jalinan ikatan yang terjadi, yaitu[14]:

1. Derajat (kardinalitas).

Kardinalitas menyatakan jumlah anggota entitas yang terlibat di dalam relasi yang terjadi. Dalam hal ini relasi yang terjadi akan membentuk relasi hubungan (relationship instances). Derajat kardinalitas dibagi menjadi 3, yaitu:

Simbol Nama Simbol Fungsi

Entitas Menggambarkan keberadaan sebuah entitas (entitas kuat)

Atribut Menggambarkan atribut yang

dimiliki oleh suatu entitas atau relasi Relasi Menggambarkan keterhubungan

antar relasi

Garis Relasi Menggambarkan hubungan entitas dan relasi atau entitas dengan atribut


(15)

1. Derajat kardinalitas 1 : 1

Derajat hubungan 1:1 terjadi bila setiap anggota entitas A hanya boleh berpasangan dengan satu anggota dari entitas B, dan sebaliknya tiap anggota entitas B hanya boleh berpasangan dengan satu anggota dari entitas A. Contoh dari kardinalitas 1:1 dapat dilihat pada Gambar 2.2 Derajat kardinalitas 1:1.

Gambar 2.2 Derajat kardinalitas 1:1

2. Derajat kardinalitas 1:N

Derajat hubungan ini terjadi bila tiap anggota entitas A boleh berpasangan dengan lebih dari satu anggota entitas B. Sebaliknya tiap anggota entitas B hanya boleh berpasangan dengan satu anggota entitas A. Contoh dari kardinalitas 1:N dapat dilihat pada Gambar 2.3 Derajat kardinalitas 1:N.

Gambar 2.3 Derajat kardinalitas 1:N

3. Derajat kardinalitas N:N

Derajat hubungan antar entitas N:N terjadi bila tiap anggota entitas A dapat berpasangan dengan lebih dari satu anggota entitas B. Sebaliknya setiap anggota entitas B juga dapat berpasangan dengan lebih dari satu anggota entitas A. Contoh dari kardinalitas N:N dapat dilihat pada Gambar 2.4 Derajat kardinalitas N:N.

N 1


(16)

Gambar 2.4 Derajat kardinalitas N:N

2. Partisipasi hubungan.

Partisipasi hubungan (participation) menyatakan sifat keterlibatan tiap anggota entitas dalam relasi terjadinya hubungan. Partisipasi atau keterlibatan tiap anggota entitas dalam membentuk instance hubungan dapat bersifat wajib (mandatory) dan tidak wajib (non mandatory). Dalam pemodelan data, interpretasi jenis partisipasi hubungan dituliskan dalam aturan data. Contoh misal hubungan antara entitas dosen dan mata kuliah. Berikut keterhubungan kardinalitas dan partisipasi pada tabel 2.2.

Tabel 2.2 Kardinalitas dan partisipasi

2. Diagram Konteks

Diagram konteks adalah diagram yang menggambarkan sebuah sistem secara menyeluruh yang selanjutnya akan lebih didetailkan oleh DFD. Konteks diagram juga biasa disebut sebagai DFD level 0[14]. Contoh dari diagram konteks dapat dilihat pada gambar 2.5 Contoh diagram konteks.

Kardinalitas Partisipasi

1-1 (one to one) 0..1 (optional one)

1-N (one to many) 0..N atau 1..N (optinal many) N-1 (many to one) 1 (mandatory one)

N-N (many to many) N (mandatory many) N


(17)

Gambar 2.5 Contoh diagram komteks

3. Data Flow Diagram (DFD)

Data Flow Diagram merupakan serangkaian diagram yang menggambarkan kegiatan-kegiatan yang ada dalam satu sistem. Teknik pembangunan DFD dimulai dengan menggambarkan sistem secara global dan dilanjutkan dengan analisis masing-masing bagian. Pada awalnya digambarkan konteks diagram yang menggambarkan sebuah sistem secara menyeluruh yang akan diinvestigasi. Konteks diagram tersebut dapat dikatakan sebagai DFD level 0. Analisis sistem yang lebih detail selanjutnya dapat dilakukan dengan menggambarkan DFD level 1,2 dan seterusnya[16]. Contoh penggambaran pembuatan DFD dapat dilihat pada gambar 2.6 Contoh DFD. Simbol-simbol yang digunakan di diagram konteks dan DFD dapat dilihat pada tabel 2.3 Simbol diagram konteks dan DFD.

Gambar 2.6 Contoh DFD Pengguna

Sistem Penjualan Toko xxx data_login

data_barang data_penjualan data_pelaporan info_login info_barang info_penjualan info_pelaporan


(18)

Tabel 2.3 Simbol diagram konteks dan DFD

Simbol Nama Simbol Fungsi

Entitas Luar Menggambarkan entitas eksternal yang berhubungan dengan sistem

Sistem (konteks)/ Proses (DFD)

Menggambarkan proses yang ada pada suatu sistem

Aliran

data/informasi

Menggambarkan aliran data antar proses, data store, dan entitas luar

Data Store Menggambarkan kumpulan dokumen-dokumen sejenis yang disimpan

4. Spesifikasi Proses

Spesifikasi Proses merupakan tabel yang berisi keterangan deskripsi dari semua proses yang terdapat di DFD. Logika proses harus dituliskan secara jelas baik menggunakan bahasa deskriptif atau pseudo code (tidak boleh campuran)[14]. Contoh dari spesifikasi proses dapat dilihat pada Tabel 2.4 Contoh Spesifikasi Proses.

Tabel 2.4 Contoh Spesifikasi Proses

No Proses Keterangan

1. No Proses Menyatakn no proses Nama Proses Menyatakan nama proses

Source (Sumber) (Menyatakan sumber data input menuju proses) Input (menyatakan isi data yang masuk ke proses) Output (menyatakan informasi yang keluar dari proses) Destination (menatakan tujuan informasi output dari proses) Logika Proses (menyatakan algoritma dari proses)


(19)

5. Kamus Data (Data Dictionary)

Kamus Data merupakan fakta tentang data dan kebutuhan-kebutuhan informasi dari sistem informasi. Dengan menggunakan data dictionary, analis sistem dapat mendefinisikan data yang mengalir dalam sistem dengan lengkap[14]. Contoh dari kamus data dapat dilihat pada Tabel 2.5 Contoh Kamus Data.

Tabel 2.5 Contoh Kamus Data

Nama aliran data Data Nama dari data yang digunakan Where used/How used Daftar pada poin proses apa data

digunakan

Keterangan Uraian singkat dari data yang digunakan Struktur Data Daftar komponen data yang ada pada

data yang digunakan

Deskripsi Jenis data dalam representasi komputer untuk masing-masing data.

2.7Object Oriented Analysis and Design

Analisis dan desain berorientasi objek adalah cara baru dalam memikirkan satu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Tujuan dari analisis berorientasi objek adalah untuk mengembangkan model yang menggambarkan perangkat lunak komputer karena bekerja untuk memenuhi seperangkat persyaratan yang ditentukan user[15]. Tools yang dapat digunakan pada pendekatan analisis pengembangan sistem secara objek dapat menggunakan UML.

Unified Modelling Language (UML) adalah sebuah bahasa yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menggunakan class dan operation object dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa bahasa berorientasi objek[16]. Dalam membangun block UML ada 3 hal yang harus diperhatikan, yaitu object (memodelkan konsep), relationship (mengkoneksikan


(20)

object), dan diagram (grouping yang saling mengkoneksikan antara object dan relationship. Diagram yang umum dipakai dalam analisis dan desain adalah: 1. Use Case Diagram

Use Case Diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah Use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di- include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang serupa. Sebuah use case juga dapat meng-extend usecase lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.

Dasar menentukan sebuah use case adalah use case merupakan sesuatu yang menyediakan beberapa hasil terukur kepada pengguna atau sistem eksternal. Use case harus memiliki sangat jelas kriteria lulus / gagal. Pengembang, tester, penulis teknis, dan pengguna harus secara eksplisit tahu apakah sistem memenuhi kasus penggunaan atau tidak. Setiap bagian dari use case yang memenuhi tes sederhana ini mungkin menjadi kandidat yang baik untuk use case[17]. Berikut adalah contoh dari use case diagram dapat dilihat pada Gambar 2.7 Contoh Use Case Diagram.


(21)

Simbol yang terdapat pada use case diagram dapat dilihat pada Tabel 2.6 Simbol Usecase Diagram.

Tabel 2.6 Simbol Usecase Diagram.

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 casenya. Berikut adalah dasar format penulisan use case scenario[17]. Dasar pembangunan use case scenario dapat dilihat pada Tabel 2.7.

Simbol Nama Simbol Keterangan

Actor Menggambarkan pihak yang

berhubungan dengan sistem baik itu merupakan pengguna atau sistem lainnya yang berada dari sistem yang sedang dibahas.

Use Case Simbol yang menggambarkan suatu kegiatan (aktifitas) yang terjadi pada sistem

Asosiasi Menghubungkan keterkaitan antara aktor dengan use case

Include Relasi use case dimana proses

bersangkutan akan dilanjutkan ke proses yang dituju

Extend Relasi use case tambahan ke sebuah use case yang ditambahkan dapat berdiri sendiri walau tanpa use case

tambahan itu

Generalisasi Sebuah relasi di mana fungsi yang satu adalah fungsi yang umum dari yang lainnya.


(22)

Tabel 2.7 Dasar Pembangunan Use case scenario

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

Use Case Name Berisi nama dari Use case yang akan digunakan Related Use 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 Branching Action

2.1 Deskripsi urutan aksi lain selain urutan aksi utama

2.2 3. Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan Output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan Output apa yang dihasilkan.


(23)

Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message [18]. Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller dan persistent entity. Comtoh dari sequence diagram dapat dilihat pada Gambar 2.8 Contoh Sequence Diagram.

Gambar 2.8 Contoh Sequence Diagram

4. Class Diagram

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) satu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.


(24)

Class memiliki tiga area pokok: 1. Nama dan stereotype

2. Atribut 3. Metoda

Atribut dan metoda dapat memiliki salah satu sifat berikut:

1. Private, tidak dapat dipanggil dari luar class yang bersangkutan.

2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya.

3. Public, dapat dipanggil oleh siapa saja.

Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package. Class memiliki tipe-tipe relationship, diantaranya :

1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain.

2. Agregasi, yaitu hubungan yang menyatakan bagian terdiri atas dimana ketika satu class di share atau direferensikan kepada objek yang ada di class lain. 3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class

lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.

4. Komposisi, yaitu jenis relasi class diagram yang kuat dimana jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut. Sebuah relationship composition digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid.

5. Depedensi, salah satu jenis relasi class diagram yang lemah dimana objek dalam suatu class akan bekerja sangat singkat dengan objek yang ada pada class lain.


(25)

5. Activity Diagram

Activity diagram menggambarkan berbagai alur aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing aliran berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu[18]. Contoh dari activity diagram dapat dilihat pada Gambar 2.10 Contoh Activity Diagram.

Gambar 2.10 Contoh Activity Diagram

2.8Citra

Secara harfiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan cahaya ini ditangkap oleh oleh alat-alat optik, misalnya mata pada manusia, kamera,


(26)

pemindai (scanner), dan sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam [19].

Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat [19]: 1. Optik berupa foto.

2. Analog berupa sinyal video seperti gambar pada monitor televisi.

2.9Kompresi

Kompresi adalah proses pengubahan sekumpulan data menjadi bentuk kode dengan tujuan untuk menghemat kebutuhan tempat penyimpanan data dan waktu untuk transmisi data[19]. Jika data tersebut hendak dipergunakan kembali, maka harus dilakukan dekompresi, yaitu pengubahan kode-kode menjadi data awal.

Saat ini, telah banyak tersedia algoritma untuk melakukan kompresi, antara lain: Huffman, LIFO, LZHUF, LZ77 dan variannya (LZ78, LZW, GZIP), Dynamic Markov Compression (DMC), BlockSorting Lossless, Run-Length, Shannon-Fano, Arithmetic, PPM (Prediction by Partial Matching), Burrows-Wheeler Block Sorting, dan Half Byte. Namun, ada beberapa faktor yang dijadikan pertimbangan dalam memilih algoritma yang akan digunakan dalam kompresi data, yaitu : 1. Sumber daya yang dibutuhkan (Memori, kecepatan PC).

2. Kecepatan kompresi. 3. Ukuran hasil kompresi. 4. Besarnya redudansi.

5. Ketepatan hasil dekompresi. 6. Kompleksitas algoritma.

Berdasarkan output hasil kompresi, metode kompresi dapat dikelompokkan menjadi dua, yaitu :

1. Kompresi Loseless

Hasil dekompresi dari data hasil kompresi akan tepat sama persis dengan data sebelum kompresi. Contoh aplikasi: ZIP, RAR, GZIP, 7-Zip. Kelemahan dari metode ini adalah ratio kompresi yang rendah.

Teknik ini digunakan jika dibutuhkan data dimana setelah dikompresi harus dapat didekompresi lagi dan menghasilkan data yang tepat sama dengan data asli.


(27)

Contoh pada data teks, data program/biner, dan beberapa image random seperti GIF dan PNG.

2. Kompresi Lossy

Hasil dekompresi dari data hasil kompresi tidak tepat sama persis, tetapi persepsi terhadap semantik data tetap sama. Contoh: Mp3, streaming media, JPEG, MPEG, dan WMA. Kelebihan dari metode ini adalah ukuran file lebih kecil dibanding loseless namun masih tetap memenuhi syarat untuk digunakan. Biasanya teknik ini membuang bagian-bagian data yang sebenarnya tidak begitu berguna, tidak begitu dirasakan, tidak begitu dilihat sehingga manusia masih beranggapan bahwa data tersebut masih bisa digunakan walaupun sudah dikompresi.

Kompresi Citra

Semakin besar ukuran sebuah citra, semakin besar memori yang dibutuhkan. Namun, kebanyakan citra mengandung duplikasi data, yaitu :

1. Suatu piksel memiliki intensitas yang sama dengan piksel tetangganya, sehingga penyimpanan setiap piksel memboroskan memori

2. Mengandung region yang sama, sehingga bagian yang sama ini tidak perlu dikodekan berulang kali Kompresi citra bertujuan untuk meminimalkan kebutuhan memori untuk merepresentasikan citra digital dengan mengurangi duplikasi data di dalam citra sehingga memori yang dibutuhkan menjadi lebih sedikit. Hal ini nantinya akan berpengaruh pada waktu pengiriman citra yang menjadi lebih singkat.

2.10 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


(28)

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.11 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), Ragu-ragu (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 Tabel 2.8.

Tabel 2.8 Panduan pemberian skor[20] 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 total kan seluruh bobot jawaban tersebut kemudian bagi dengan total responden yang nantinya menjadi nilai rata-rata. Nilai rata-rata inilah yang diambil


(29)

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.

�̅ =

∑ �����n

...I

Dimana,

�̅ ≥ 3

�̅ < 3

Keterangan :

�̅ = rata-rata

∑ � = ℎ ℎ ℎ


(30)

(31)

141

Tahap Implementasi dan pengujian sistem merupakan tahap penterjemahan perancangan berdasarkan hasil analisis ke dalam suatu bahasa pemrograman tertentu serta penerapan perangkat lunak yang dibangun pada lingkungan yang sesungguhnya. Setelah implementasi maka dilakukan pengujian sistem yang baru, dimana akan dilihat kekurangan-kekurangan pada aplikasi yang baru untuk selanjutnya diadakan pengembangan sistem. Tujuan implementasi sistem adalah untuk mengkonfirmasikan modul program perancangan kepada para pelaku sistem sehingga pengguna dapat memberi masukan kepada pembangun sistem.

4.1 Implemetasi Sistem

Implementasi sistem yang dilakukan dengan mendeskripsikan lingkungan implementasi dimana sistem akan ditanam atau di install. Kemudian dengan melakukan deskripsi implementasi data yang digunakan selama pembangunan sistem. Kemudian yang terakhir adalah implementasi antarmuka dimana antarmuka apa saja yang diimplementasikan kemudian jika ingin melihat screenshot-nya dapat melihat pada bagian lampiran.

4.1.1 Lingkungan Implementasi

Lingkungan implementasi menjelaskan kebutuhan sistem yang disarankan dalam lingkungan implementasi, kebutuhan ini terbagi menjadi tiga yaitu hardware, software dan server. Berikut adalah lingkungan implementasi dari perangkat lunak aplikasi komunitas.

1. Spesifikasi Kebutuhan Hardware

Berikut adalah spesifikasi kebutuhan hardware yang digunakan dalam pembangunan perangkat lunak ini:


(32)

Tabel 4.1 Lingkungan Hardware Pembangun Perangkat Lunak No Item Spesifikasi

1 Processor Intel(R) Core i3-3217U CPU @ 1.80 Ghz (4CPUs) 1.70 GHz

2 Harddisk 500 GB

3 Memory 4 GB

4 VGA 2 GB

5 Monitor 14 inch 6 USB port 2 buah 7 Koneksi Internet Ada

8 Android Android 4.3 inch dan 5 inch

Berikut adalah spesifikasi hardware untuk mengakses sistem: Tabel 4.2 Lingkungan Hardware

Website Android

1. Processor @1.6 Ghz 1. Processor @800 Mhz 2. Harddisk 80 GB 2. SD Card 1 GB

3. Memory 1 GB 3. Memory 512 MB

4. VGA 128 MB 4. Koneksi Internet 5. Monitor 14 inch

6. Mouse dan Keyboard 7. USB port minimal 2 8. Koneksi Internet 2. Spesifikasi Kebutuhan Software

Berikut adalah spesifikasi kebutuhan software yang digunakan dalam pembangunan perangkat lunak ini adalah:

1. Sistem Operasi Windows 10 64 bit. 2. Bahasa pemrograman PHP & Java. 3. DBMS : MySQL 5.5.36


(33)

5. Code Editor menggunakan Sublime text 3. 6. Web Server : XAMPP.

7. Aplikasi android dibangun menggunakan android studio 1.3 8. Pertukaran data yang dilakukan menggunakan JSON.

Berikut adalah spesifikasi software untuk mengakses sistem: Tabel 4.3 Lingkungan Software

Sub sistem web Sub sistem mobile

Sistem Operasi Windows 7 Sistem Operasi Android 4.0 Ice Cream Sandwich

Web Browser Mozilla Firefox, Google Chrome

3. Spesfikasi Kebutuhan Server

Berikut adalah spesifikasi kebutuhan server yang digunakan untuk mengakses sistem:

Tabel 4.4 Kebutuhan Spesifikasi Server Sub sistem web

Web Space 500 MB

Bandwidth 375.15 MB Bulan MySQL Database (5.5.36 -cll) PHP 5.4.40

CPanel 11.52.1 (build 3) Apache 2.2.29

4.1.2 Implementasi Data

Implementasi data yang dilakukan adalah dengan menggunakan Mysql 5.5.36. Berikut adalah implementasi datanya:

1. Pembuatan Database


(34)

2. Pembuatan tabel t_admin_aplikasi

3. Pembuatan tabel t_komunitas

4. Pembuatan tabel t_genre_komunitas

CREATE TABLE `t_admin_aplikasi` (

`id_admin_aplikasi` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL,

`password` varchar(50) NOT NULL, `foto` varchar(225) DEFAULT NULL, PRIMARY KEY (`id_admin_aplikasi`)

) ENGINE= InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1

CREATE TABLE `t_komunitas` (

`id_komunitas` int(11) NOT NULL AUTO_INCREMENT, `nama_komunitas` varchar(100) NOT NULL,

`deskripsi_komunitas` varchar(200) NOT NULL, `icon_komunitas` varchar(100) NOT NULL, PRIMARY KEY (`id_komunitas`)

) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1

CREATE TABLE `t_genre_komunitas` (

`id_genre_komunitas` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL,

`password` varchar(50) NOT NULL, `logo` varchar(200) NOT NULL, `email` varchar(100) NOT NULL,

`pj_komunitas` varchar(50) NOT NULL, `kontak_pj` int(20) NOT NULL,

`email_pj` varchar(100) NOT NULL, `alamat_pj` text NOT NULL,

`ketua_komunitas` varchar(50) NOT NULL, `kontak_ketua` int(20) NOT NULL,

`email_ketua` varchar(100) NOT NULL, `alamat_ketua` text NOT NULL,

`jumlah_anggota` int(11) NOT NULL, `thn_berdiri` year(4) NOT NULL, `id_komunitas` int(11) NOT NULL, PRIMARY KEY (`id_genre_komunitas`), KEY `id_komunitas` (`id_komunitas`),

CONSTRAINT `t_genre_komunitas_ibfk_1` FOREIGN KEY (`id_komuni tas`) REFERENCES `t_komunitas` (`id_komunitas`) ON DELETE CASCA DE ON UPDATE CASCADE


(35)

5. Pembuatan tabel t_detail_komunitas

6. Pembuatan tabel t_anggota

7. Pembuatan tabel t_foto

CREATE TABLE `t_anggota` (

`id_anggota` int(3) NOT NULL AUTO_INCREMENT, `username` varchar(30) NOT NULL,

`password` varchar(35) NOT NULL, `nama` varchar(30) NOT NULL,

`tempat_lahir` varchar(20) NOT NULL, `tgl_lahir` date NOT NULL,

`jk` varchar(10) NOT NULL,

`pekerjaan` varchar(10) NOT NULL, `foto` varchar(20) NOT NULL, `email` varchar(20) NOT NULL, `no_hp` varchar(12) NOT NULL, `alamat` text NOT NULL,

PRIMARY KEY (`id_anggota`)

) ENGINE= InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1

CREATE TABLE `t_foto` (

`id_foto` int(3) NOT NULL AUTO_INCREMENT, `gambar` varchar(100) NOT NULL,

`ket_foto` text NOT NULL, `tanggal` date NOT NULL,

`id_anggota` int(11) NOT NULL,

`id_genre_komunitas` int(11) NOT NULL, PRIMARY KEY (`id_foto`),

KEY `id_anggota` (`id_anggota`),

KEY `id_genre_komunitas` (`id_genre_komunitas`),

CONSTRAINT `t_foto_ibfk_2` FOREIGN KEY (`id_genre_komunitas`) REFERENCES `t_genre_komunitas` (`id_genre_komunitas`) ON DELET E CASCADE ON UPDATE CASCADE,

CONSTRAINT `t_foto_ibfk_1` FOREIGN KEY (`id_anggota`) REFEREN CES `t_anggota` (`id_anggota`) ON DELETE CASCADE ON UPDATE CASC ADE

) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1 CREATE TABLE `t_detail_komunitas` (

`id_detail_komunitas` int(11) NOT NULL AUTO_INCREMENT, `id_genre_komunitas` int(11) NOT NULL,

`id_anggota` int(11) NOT NULL, PRIMARY KEY (`id_detail_komunitas`),

KEY `id_genre_komunitas` (`id_genre_komunitas`), KEY `id_anggota` (`id_anggota`),

CONSTRAINT `t_detail_komunitas_ibfk_2` FOREIGN KEY (`id_anggo ta`) REFERENCES `t_anggota` (`id_anggota`) ON DELETE CASCADE ON UPDATE CASCADE,

CONSTRAINT `t_detail_komunitas_ibfk_1` FOREIGN KEY (`id_genre_ komunitas`) REFERENCES `t_genre_komunitas` (`id_genre_komunitas `) ON DELETE CASCADE ON UPDATE CASCADE


(36)

8. Pembutan tabel t_kegiatan

9. Pembuatan tabel t_like_foto

10. Pembuatan tabel t_like_kegiatan

CREATE TABLE `t_kegiatan` (

`id_kegiatan` int(3) NOT NULL AUTO_INCREMENT, `nama_kegiatan` varchar(50) NOT NULL,

`deskripsi` text NOT NULL, `gambar` varchar(20) NOT NULL, `tanggal` datetime NOT NULL,

`id_genre_komunitas` int(11) NOT NULL, PRIMARY KEY (`id_kegiatan`),

KEY `id_genre_komunitas` (`id_genre_komunitas`),

CONSTRAINT `t_kegiatan_ibfk_1` FOREIGN KEY (`id_genre_komunit as`) REFERENCES `t_genre_komunitas` (`id_genre_komunitas`) ON D ELETE NO ACTION ON UPDATE CASCADE

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1,

CREATE TABLE `t_like_foto` (

`id_like_foto` int(3) NOT NULL AUTO_INCREMENT, `id_anggota` int(11) NOT NULL,

`id_foto` int(3) NOT NULL, PRIMARY KEY (`id_like_foto`), KEY `id_anggota` (`id_anggota`), KEY `id_foto` (`id_foto`),

CONSTRAINT `t_like_foto_ibfk_2` FOREIGN KEY (`id_foto`) REFER ENCES `t_foto` (`id_foto`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `t_like_foto_ibfk_1` FOREIGN KEY (`id_anggota`) RE FERENCES `t_anggota` (`id_anggota`) ON DELETE CASCADE ON UPDATE CASCADE

) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1

CREATE TABLE `t_like_kegiatan` (

`id_like_kegiatan` int(3) NOT NULL AUTO_INCREMENT, `id_anggota` int(11) NOT NULL,

`id_kegiatan` int(3) NOT NULL, PRIMARY KEY (`id_like_kegiatan`), KEY `id_anggota` (`id_anggota`), KEY `id_kegiatan` (`id_kegiatan`),

CONSTRAINT `t_like_kegiatan_ibfk_2` FOREIGN KEY (`id_kegiatan `) REFERENCES `t_kegiatan` (`id_kegiatan`) ON DELETE CASCADE ON UPDATE CASCADE,

CONSTRAINT `t_like_kegiatan_ibfk_1` FOREIGN KEY (`id_anggota` ) REFERENCES `t_anggota` (`id_anggota`) ON DELETE CASCADE ON UP DATE CASCADE


(37)

4.1.3 Implementasi Antarmuka

Implementasi antarmuka berisi pemaparan setiap tampilan perangkat lunak yang dibangun beserta file xml sebagai layout dari masing-masing antarmuka. Adapun implementasi antarmuka perangkat lunak yang dibangun terdiri dari nama antarmuka beserta class atau file yang mewakilinya.

1. Implementasi antarmuka sub sistem web perangkat lunak yang dibangun dapat dilihat pada Tabel 4.5 Implementasi Antarmuka Sub Sistem Web.

Tabel 4.5 Implementasi Antarmuka Sub Sistem Web No Nama Antarmuka Deskripsi Nama File 1 Login Admin Aplikasi index.php index.php

2 Data Admin Aplikasi admin_aplikasi.php admin_aplikasi.php 4 Data Komunitas komunitas.php komunitas.php 5 Tambah Komunitas komunitas.php komunitas.php 6 Detail Komunitas komunitas.php komunitas.php 7 Edit Komunitas komunitas.php komunitas.php 8 Hapus Komunitas komunitas.php komunitas.php 9 Cari Komunitas komunitas.php komunitas.php 10 Login Admin Komunitas index.php index.php

11 Data Admin Komunitas admin_komunitas.php admin_ komunitas.php 12 Profil Komunitas profil.php profil.php

13 Edit Profil Komunitas profil.php profil.php 14 Detail Profil Komunitas profil.php profil.php

15 Data Anggota anggota.php anggota.php

16 Tambah Anggota anggota.php anggota.php 17 Detail Anggota anggota.php anggota.php

18 Edit Anggota anggota.php anggota.php

19 Hapus Anggota anggota.php anggota.php

20 Cari Anggota anggota.php anggota.php

21 Data Kegiatan kegiatan.php kegiatan.php 22 Tambah Kegiatan kegiatan.php kegiatan.php


(38)

No Nama Antarmuka Deskripsi Nama File

23 Edit Kegiatan kegiatan.php kegiatan.php

24 Hapus Kegiatan kegiatan.php kegiatan.php 25 Cari Kegiatan kegiatan.php kegiatan.php

26 Data Foto foto.php foto.php

27 Tambah Foto foto.php foto.php

28 Edit Foto foto.php foto.php

29 Hapus Foto foto.php foto.php

30 Cari Foto foto.php foto.php

2. Implementasi antamuka sub sistem mobile perangkat lunak yang dibangun dapat dilihat pada Tabel 4.6 Implementasi Antarmuka Sub Sistem Mobile

Tabel 4.6 Implementasi Antarmuka Sub Sistem Mobile No Nama Antarmuka Nama File

1 Log In activity_login.xml

2 Sign Up activity_register.xml

3 Navigasi Drawer fragment_navigation_drawer.xml 4 Detail Komunitas activity_detail_komunitas.xml 5 Gabung Komunitas activity_gabung_fragment.xml 6 Genre Komunitas activity_genre.xml

7 Menu activity_menu.xml

8 Chat activity_ chat.xml

9 Kegiatan activity_kegiatan.xml

10 Like Kegiatan activity_like_kegiatan.xml

11 Foto activity_foto.xml

12 Upload Foto activity_upload_foto.xml

13 Like Foto activity_like_foto.xml

14 Settings fragment_settings.xml

15 Edit Profile activity_edit_profile.xml 16 Term Of Service activity_tos.xml


(39)

No Nama Antarmuka Nama File 17 Privacy Policy activity_pp.xml

Dari daftar tabel diatas, dapat disimpulkan bahwa seluruh antarmuka yang telah didaftar diatas sudah terimplementasi didalam class. Untuk antarmuka detailnya dapat dilihat pada lampiran.

4.2 Pengujian Perangkat Lunak

Pengujian perangkat lunak ini merupakan tahapan untuk menemukan kesalahan-kesalahan dan kekurangan-kekurangan pada perangkat lunak aplikasi komunitas yang dibangun sehingga bisa diketahui apakah perangkat lunak tersebut telah memenuhi kriteria sesuai dengan tujuan atau tidak.

4.2.1 Rencana Pengujian

Pengujian sistem yang akan dilakukan terbagi menjadi dua tahapan. Tahap pertama pengujian Alpha berfokus kepada fungsionalitas perangkat lunak yang dibangun dengan menggunakan metode pengujian black box. Tahap kedua pengujian Beta akan berfokus kepada penilaian pengguna terhadap perangkat lunak yang dibangun, metode pengumpulan data yang dilakukan adalah kuesioner yang akan dibagikan kepada 46 early adopter perangkat lunak. Penyebaran kuesioner dilakukan dengan menggunakan cara konvensional seperti mendatangi calon pengguna secara langsung.

4.2.2 Pengujian Alpha

Pengujian Alpha merupakan pengujian fungsional diadakan di lingkungan pembangun oleh sekumpulan pengguna yang akan menggunakan perangkat lunaknya. Pihak pembangun mendampingi serta mencatat kesalahan-kesalahan maupun permasalahan yang dirasakan oleh pengguna. Pengujian alpha yang dilakukan pada perangkat lunak dibagi menjadi tiga bagian, yaitu skenario pengujian, kasus dan hasil pengujian, dan kesimpulan pengujian.


(40)

4.2.2.1 Skenario Pengujian

Skenario pengujian memaparkan urutan dan hal yang diuji pengujian yang dilakukan pada perangkat lunak aplikasi komunitas. Adapun Skenario pengujian fungsional yang dilakukan adalah dengan menguji 2 buah subsistem yaitu website dan mobile.

1. Skenario pengujian sub sistem web

Pada pengujian ini semua fitur pada perangkat lunak web yang dibangun akan diuji menggunakan metode black box. Berikut adalah Tabel 4.7 Skenario Pengujian Sub Sistem Web yang menerangkan fungsionalitas yang akan diuji.

Tabel 4.7 Skenario Pengujian Sub Sistem Web

Kelas Uji Poin Pengujian Jenis Pengujian Metode Pengujian Login Admin

Aplikasi

Input data login Black box Equivalence Partitioning Validasi login Black box Equivalence Partitioning Login Admin

Komunitas

Input data login Black box Equivalence Partitioning Validasi login Black box Equivalence Partitioning Tambah

Komunitas

Input data komunitas

Black box Equivalence Partitioning

Validasi data komunitas

Black box Equivalence Partitioning

Menekan tombol simpan

Black box Equivalence Partitioning

Cari Komunitas

Mengisi kata kunci pencarian komunitas

Black box Equivalence Partitioning

Tambah Anggota

Input data anggota

Black box Equivalence Partitioning

Validasi data anggota

Black box Equivalence Partitioning

Menekan tombol simpan


(41)

Kelas Uji Poin Pengujian Jenis Pengujian Metode Pengujian Cari Anggota Input kata kunci

pencarian anggota

Black box Equivalence Partitioning

Tambah Kegiatan

Input data kegiatan

Black box Equivalence Partitioning

Validasi data kegiatan

Black box Equivalence Partitioning

Menekan tombol simpan

Black box Equivalence Partitioning

Cari Kegiatan

Mengisi kata kunci pencarian kegiatan

Black box Equivalence Partitioning

Tambah Foto Input data foto Black box Equivalence Partitioning Validasi data

foto

Black box Equivalence Partitioning

Menekan tombol simpan

Black box Equivalence Partitioning

Cari Foto Input kata kunci pencarian foto

Black box Equivalence Partitioning

2. Skenario pengujian sub sistem mobile

Pada pengujian ini semua fitur pada perangkat lunak mobile yang dibangun akan diuji menggunakan metode black box. Berikut adalah Tabel 4.8 Skenario Pengujian Sub Sistem Mobile yang menerangkan fungsionalitas yang akan diuji.

Tabel 4.8 Skenario Pengujian Sub Sistem Mobile

Kelas Uji Poin Pengujian Jenis Pengujian Metode Pengujian Login Input data login Black box Equivalence Partitioning


(42)

Kelas Uji Poin Pengujian Jenis Pengujian Metode Pengujian Validasi login Black box Equivalence Partitioning Sign Up Input data sign up Black box Equivalence Partitioning Validasi sign up Black box Equivalence Partitioning Chat Input data chat Black box Equivalence Partitioning Comment

Kegiatan

Input comment kegiatan

Black box Equivalence Partitioning

Menekan tombol kirim

Black box Equivalence Partitioning

Upload Foto

Input foto dari galeri atau kamera

Black box Equivalence Partitioning

Menekan tombol simpan

Black box Equivalence Partitioning

Kelas Uji Poin Pengujian Jenis Pengujian Metode Pengujian Comment

Foto

Input comment foto Black box Equivalence Partitioning Menekan tombol

kirim

Black box Equivalence Partitioning

Edit Profil Input data profil Black box Equivalence Partitioning Validasi data profil Black box Equivalence Partitioning Menekan tombol

simpan

Black box Equivalence Partitioning

4.2.2.2 Kasus dan Hasil Pengujian

Kasus dan hasil pengujian berisi pemaparan dari rencana pengujian yang telah disusun pada skenario pengujian. Pengujian ini dilakukan secara black box dengan hanya memperhatikan masukan ke dalam sistem dan keluaran dari masukan tersebut. Berikut ini pemaparan dari setiap poin pengujian yang terdapat pada skenario pengujian sub sistem web dan skenario subsistem mobile.


(43)

a. Hasil Pengujian Fungsionalitas Sub Sistem Web

Hasil pengujian ini berisi pemaparan dari rencana pengujian yang disusun pada skenario pengujian pada fungsionalitas sub sistem web. Berikut ini adalah pemaparan tiap poin pengujian yang terdapat skenario pengujian:

1) Pengujian Login Admin Aplikasi

Berikut adalah Tabel 4.9 Hasil Pengujian Fungsionalitas Login Admin Aplikasi(Data Benar) yang mendeskripsikan hasil pengujian fungsionalitas login.

Tabel 4.9 Hasil Pengujian Fungsionalitas Login Admin Aplikasi (Data Benar) Kasus dan Hasil Uji (Data Benar)

Data Masukan

Hasil yang diharapkan

Pengamatan Kesimpulan Username:ad

min aplikasi

Text box username terisi sesuai dengan username yang dimasukkan

Isi dari text box username sesuai dengan username yang dimasukkan Diterima Password : admin aplikasi

Text box password terisi sesuai dengan password yang dimasukkan

Isi dari text box password sesuai dengan password yang dimasukkan

Diterima

Berikut adalah Tabel 4.10 Hasil Pengujian Fungsionalitas Login Admin Aplikasi (Data Salah) yang mendeskripsikan hasil dari pengujian jika menggunakan data salah.

Tabel 4.10 Hasil Pengujian Fungsionalitas Login Admin Aplikasi (Data Salah) Kasus dan Hasil Uji (Data Salah)

Data Masukan Hasil yang diharapkan Pengamatan Kesimpulan Username:(Kos

ong)

Sistem menampilkan pesan lengkapi data login.

Tampil pesan “username

required

Diterima

Password : (Kosong)

Sistem menampilkan pesan lengkapi data login.

Tampil pesan “password

required


(44)

Kasus dan Hasil Uji (Data Salah)

Data Masukan Hasil yang diharapkan Pengamatan Kesimpulan Username:salah

Password:salah

Sistem menampilkan pesan data login invalid

Tampil pesan “data login invalid

Diterima

2) Pengujian Login Admin Komunitas

Berikut adalah Tabel 4.11 Hasil Pengujian Fungsionalitas Login Admin Komunitas(Data Benar) yang mendeskripsikan hasil pengujian fungsionalitas login.

Tabel 4.11 Hasil Pengujian Fungsionalitas Login Admin Komunitas (Data Benar) Kasus dan Hasil Uji (Data Benar)

Data Masukan

Hasil yang diharapkan

Pengamatan Kesimpulan Username:

proit

Text box username terisi sesuai dengan username yang dimasukkan

Isi dari text box username sesuai dengan username yang dimasukkan Diterima Password : proit

Text box password terisi sesuai dengan password yang dimasukkan

Isi dari text box password sesuai dengan password yang dimasukkan

Diterima

Berikut adalah Tabel 4.12 Hasil Pengujian Fungsionalitas Login Admin Komunitas (Data Salah) yang mendeskripsikan hasil dari pengujian jika menggunakan data salah.

Tabel 4.12 Hasil Pengujian Fungsionalitas Login Admin Komunitas (Data Salah) Kasus dan Hasil Uji (Data Salah)

Data Masukan Hasil yang diharapkan Pengamatan Kesimpulan Username:(Kos

ong)

Sistem menampilkan pesan lengkapi data login.

Tampil pesan “username

required

Diterima

Password : (Kosong)

Sistem menampilkan pesan lengkapi data login.

Tampil pesan “password

required


(45)

Kasus dan Hasil Uji (Data Salah)

Data Masukan Hasil yang diharapkan Pengamatan Kesimpulan Username:salah

Password:salah

Sistem menampilkan pesan data login invalid

Tampil pesan “data login invalid

Diterima

3. Tambah Komunitas

Berikut adalah Tabel 4.13 Hasil Pengujian Fungsionalitas Tambah Komunitas(Data Benar) yang mendeskripsikan hasil pengujian fungsionalitas tambah komunitas.

Tabel 4.13 Hasil Pengujian Fungsionalitas Tambah Komunitas (Data Benar) Kasus dan Hasil Uji (Data Benar)

Data Masukan Hasil yang diharapkan

Pengamatan Kesimpulan

Username : proit Text box terisi dengan data username

Isi dari text box sesuai dengan data username

Diterima

Password : proit Text box terisi dengan data password

Isi dari text box sesuai dengan data password

Diterima

Nama Komunitas : ProIT

Text box terisi dengan data nama komunitas

Isi dari text box sesuai dengan data nama komunitas

Diterima

Genre : IT Text box terisi dengan data genre

Isi dari text box sesuai dengan data genre

Diterima

Logo : proit.jpg Input file terisi dengan data logo

Isi file sesuai dengan data logo


(46)

Kasus dan Hasil Uji (Data Benar) Data Masukan Hasil yang

diharapkan

Pengamatan Kesimpulan

Nomor HP : 085778081606

Text box terisi dengan data nomor hp

Isi dari text box sesuai dengan data nomor hp

Diterima

Email :

proitbandung@g mail.com

Text box terisi dengan data email

Isi dari text box sesuai dengan data email

Diterima

Alamat : Jl. Titiran dalam 1 No.12

Text area yang terisi sesuai dengan data

Isi text area sesuai dengan data alamat

Diterima

Nama PJ : Muhammad Fauzan Ahsan

Text box terisi dengan data nama pj

Isi dari text box sesuai dengan data nama pj

Diterima

Nomor HP PJ : 081322702801

Text box terisi dengan data nomor hp pj

Isi dari text box sesuai dengan data nomor hp pj

Diterima

Email PJ : fauzan.ahsan@g mail.com

Text box terisi dengan data email pj

Isi dari text box sesuai dengan data email pj

Diterima

Alamat PJ : Cikutra

Text area yang terisi sesuai dengan data alamat pj

Isi text area sesuai dengan data alamat pj

Diterima

Ketua Komunitas : Muhammad Fajar

Text box terisi dengan data nama ketua komunitas

Isi dari text box sesuai dengan data nama ketua komunitas


(47)

Kasus dan Hasil Uji (Data Benar) Data Masukan Hasil yang

diharapkan

Pengamatan Kesimpulan

Nomor HP Ketua : 085778081606

Text box terisi dengan data nomor hp ketua

Isi dari text box sesuai dengan data nomor hp ketua

Diterima

Email Ketua : consciencejjay00 0@gmail.com

Text box terisi dengan data email ketua

Isi dari text box sesuai dengan data email ketua

Diterima

Alamat Ketua : Sekeloa

Text area yang terisi sesuai dengan data alamat ketua

Isi text area sesuai dengan data alamat ketua

Diterima

Jumlah Anggota : 95

Text box terisi dengan data jumlah anggota

Isi dari text box sesuai dengan data jumlah anggota Diterima Tahun berdiri: 2012

Text box terisi dengan data tahun berdiri

Isi dari text box sesuai dengan data tahun berdiri

Diterima

Deskripsi : Komunitas ProIT adalah… dst

Text area yang terisi sesuai dengan data deskripsi komunitas

Isi text area sesuai dengan data deskripsi komunitas

Diterima

Berikut adalah Tabel 4.14 Hasil Pengujian Fungsionalitas Tambah Komunitas (Data Salah) yang mendeskripsikan hasil dari pengujian jika menggunakan data salah.


(48)

Tabel 4.14 Hasil Pengujian Fungsionalitas Tambah Komunitas (Data Salah) Kasus dan Hasil Uji (Data Salah)

Data Masukan Hasil yang diharapkan

Pengamatan Kesimpulan

Username : (Kosong)

Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable Diterima Password : (Kosong) Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong”

Menampilkan pesan “data tidak boleh kosong” dan button Diterima dan button simpan menjadi disable simpan menjadi disable Nama Komunitas : (Kosong) Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Diterima

Genre : (Kosong) Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Diterima

Logo : (Kosong) Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable


(49)

Kasus dan Hasil Uji (Data Salah) Data Masukan Hasil yang

diharapkan

Pengamatan Kesimpulan

Nomor HP : (Kosong)

Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Diterima

Email : (Kosong) Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable Diterima Alamat : (Kosong) Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Diterima

Nomor HP PJ : (Kosong)

Ketika menekan button simpan menampilkan

Menampilkan pesan “data tidak boleh kosong”

Diterima

Email PJ : (Kosong)

Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Diterima

Alamat PJ : (Kosong)

Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable


(50)

Kasus dan Hasil Uji (Data Salah) Data Masukan Hasil yang

diharapkan

Pengamatan Kesimpulan

simpan menjadi disable Ketua Komunitas : (Kosong) Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Diterima

Nomor HP Ketua : (Kosong)

Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Diterima

Email Ketua : (Kosong)

Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Diterima

Alamat Ketua : (Kosong)

Ketika menekan button simpan menampilkan

Menampilkan pesan “data tidak boleh kosong”

Diterima

Jumlah Anggota : (Kosong)

Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Diterima

Tahun Berdiri : (Kosong)

Ketika menekan button simpan menampilkan pesan “data tidak

Menampilkan pesan “data tidak boleh kosong” dan button


(51)

Kasus dan Hasil Uji (Data Salah) Data Masukan Hasil yang

diharapkan

Pengamatan Kesimpulan

boleh kosong” dan button simpan menjadi disable

simpan menjadi disable

Deskripsi : (Kosong)

Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Diterima

4) Pengujian Cari Komunitas

Berikut adalah Tabel 4.15 Hasil Pengujian Fungsionalitas Cari Komunitas (Data Benar) yang mendeskripsikan hasil pengujian fungsionalitas cari komunitas.

Tabel 4.15 Hasil Pengujian Fungsionalitas Cari Komunitas (Data Benar) Kasus dan Hasil Uji (Data Benar)

Data Masukan Hasil yang diharapkan

Pengamatan Kesimpulan

Inputan yang diisi adalah key untuk nama komunitas dan genre

Data yang dicari ditemukan

Menampilkan data yang dicari sesuai dengan kata kunci

Diterima

Berikut adalah Tabel 4.16 Hasil Pengujian Fungsionalitas Cari Komunitas (Data Salah) yang mendeskripsikan hasil pengujian fungsionalitas cari komunitas.


(52)

Tabel 4.16 Hasil Pengujian Fungsionalitas Cari Komunitas (Data Salah)

5. Tambah Anggota

Berikut adalah Tabel 4.17 Hasil Pengujian Fungsionalitas Tambah Anggota(Data Benar) yang mendeskripsikan hasil pengujian fungsionalitas tambah anggota.

Tabel 4.17 Hasil Pengujian Fungsionalitas Tambah Anggota (Data Benar) Kasus dan Hasil Uji (Data Benar)

Data Masukan Hasil yang diharapkan

Pengamatan Kesimpulan

Username : ihsan Text box terisi dengan data username

Isi dari text box sesuai dengan data username

Diterima

Password : Ihsan Text box terisi dengan data password

Isi dari text box sesuai dengan data password

Diterima

Nama : Ihsan Abdi Putra

Text box terisi dengan data nama

Isi dari text box sesuai dengan data nama

Diterima

Tempat Lahir : Padang

Text box terisi dengan tempat lahir

Isi dari text box sesuai dengan data tempat lahir

Diterima Kasus dan Hasil Uji (Data Salah)

Data Masukan Hasil yang diharapkan

Pengamatan Kesimpulan

Inputan yang diisi adalah key untuk nama komunitas dan genre

Muncul pesan data tidak ditampilkan

Menampilkan pesan “Data yang di cari tidak ada


(53)

Kasus dan Hasil Uji (Data Benar) Data Masukan Hasil yang

diharapkan

Pengamatan Kesimpulan

Tanggal Lahir : 14 Desember 1991

Date terisi dengan tanggal lahir

Isi dari date sesuai dengan data tanggal lahir

Diterima

Jenis Kelamin : Laki-Laki

Text box terisi dengan data jenis kelamin

Isi dari text box sesuai dengan data jenis kelamin Diterima Pekerjaan : Mahasiswa

Text area yang terisi sesuai dengan data pekerjaan

Isi text area sesuai dengan data pekerjaan

Diterima

Foto : ihsan.jpg File terisi dengan data foto

Isi dari file sesuai dengan data foto

Diterima

Email:

ihsanabdi7@gma il.com

Text box terisi dengan data email

Isi dari text box sesuai dengan data email

Diterima

Nomor HP : 085794547810

Text box terisi dengan data nomor hp

Isi dari text box sesuai dengan data nomor hp

Diterima

Alamat: Haurpancuh 1

Text area yang terisi sesuai dengan data alamat

Isi text area sesuai dengan data alamat

Diterima

Berikut adalah Tabel 4.18 Hasil Pengujian Fungsionalitas Tambah Anggota (Data Salah) yang mendeskripsikan hasil dari pengujian jika menggunakan data salah.


(54)

Tabel 4.18 Hasil Pengujian Fungsionalitas Tambah Anggota (Data Salah)

Kasus dan Hasil Uji (Data Salah) Data Masukan Hasil yang

diharapkan

Pengamatan Kesimpulan

Username : (kosong)

Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable Diterima Password : (kosong) Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Diterima

Nama : (kosong) Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Diterima

Tempat Lahir : (kosong)

Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable

Diterima

Tanggal Lahir : (kosong)

Ketika menekan button simpan menampilkan pesan “data tidak boleh kosong” dan button

Menampilkan pesan “data tidak boleh kosong” dan button simpan menjadi disable


(1)

192

[11] "Introduction to Android," [Online]. Available: http://developer. android.com/guide/index.html.

[12] “Situs Web” 2013 [Online]. Available: http://id.wikipedia.org/wiki/ Situs_web

[13] json. org, “json org,” 2014. [Online]. Available: http://json.org/json-id.

[14] H. J. R. Gary Shelly, Systems Analysis and Design, Boston: Course technology cengange learning, 2010.

[15] H. Divayana, Konsep OOAD, Jakarta: STMIK Eresha, 2010.

[16] J. Hermawan, Analisa Desain & Pemrograman Berorientasi Objek dengan UML dan Visual Basic.NET, Yogyakarta: Andi, 2010.

[17] K. Hamilton dan R. Miles, Learning UML 2.0, United States of America: O'Reilly, 2006.

[18]

[19]

[20]

J. Hermawan, Analisa Desain & Pemrograman Berorientasi Objek dengan UML dan Visual Basic.NET, Yogyakarta: Andi, 2010.

R. Munir, “Pengolahan Citra Digital,” [Online]. Available:

http://informatika.stei.itb.ac.id/~rinaldi.munir/Buku/Pengolahan%20Citra% 20Digital/.

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


(2)

iii

KATA PENGANTAR

Assalamu’alaikum Wr. Wb.

Puji dan syukur penulis panjatkan kehadirat Allah SWT, atas rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir dengan judul “Membangun Aplikasi Mobile Komunitas Berbasis Android” sebagai syarat untuk menyelesaikan program studi Strata I Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer pada Universitas Komputer Indonesia.

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

1. Allah SWT atas karunia dan rahmatnya sehingga penulis dapat menyelesaikan skripsi ini.

2. Orang tua tercinta , kakak, adik dan keluarga yang senantiasa memberikan doa, bantuan baik moril ataupun materil, semangat, motivasi dan kasih sayangnya kepada penulis.

3. Bapak Eko Budi Setiawan, S.Kom., M.T. selaku dosen pembimbing yang telah membimbing, memberikan perhatian serta memberikan pengarahan selama penelitian tugas akhir sehingga tugas akhir ini dapat dapat menjadi sebuah karya ilmiah dan perangkat lunak yang berkualitas dan bermanfaat.

4. Bapak Rangga Gelar Guntara, S.Kom., M.Kom. selaku reviewer yang telah memberikan masukan dan arahan selama pembangunan perangkat lunak ini. 5. Bapak Erik Wijaya, S.Kom. selaku penguji yang telah menguji kompetensi dan

memberikan masukan untuk perangkat lunak ini.

6. Ibu Anna Dara Andriana, S.Kom., M.Kom. selaku dosen wali IF-15 angkatan 2011 yang selalu memberikan arahan dan motivasi.

7. Bapak Irawan Afrianto, S.T., M.T. selaku ketua program studi Teknik Informatika yang telah memberikan arahan, motivasi dan semangat kepada mahasiswa.

8. Muhamad Usman Rusmana, Muhammad Annuur, Rifan Muhammad Furqon, Ahmad Jourdan, Eka Satria, Leonart Jefry, Abudin, Dicky Tanaga Putra,


(3)

iv

Sihabudin Ahmad, Resta Arief Nugraha, Jejen Jenal Abidin, Sri Susanawati dan Rahmat Fajar yang telah berjuang bersama dalam tugas akhir ini.

9. Hendra Kurniawan, Imam Abdul Kholik, Mudzakir, Firi Hamdani(Alm), Tigan Nur Lingga, Wahyu Iqbal dan Rusdan Aliyudin sebagai teman yang selalu solid selama aktifitas perkuliahan.

10. Ahmad Faisal Sumar, Ridho Madya Ramadhan, Muhammad Saldy Syahputra, Ismail, Bubun Gunawan, Surawijaya Surahman, Lesiya Oktaldo Lesmana dan Sopian Hadianto sebagai teman satu kontrakan yang telah memberikan semangat kepada penulis dalam menyelesaikan tugas akhir.

11. Seluruh Dosen dan Staff jurusan Teknik Informatika Universitas Komputer Indonesia.

12. Teman-teman kelas IF-15 angkatan 2011 yang telah bersama-sama melewati masa-masa perkuliahan.

13. Semua pihak yang terlibat dan ikut membantu dalam tugas akhir ini baik secara langsung maupun tidak langsung.

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 bagi para pembaca.

Bandung, 2 Februari 2016


(4)

(5)

(6)