Membangun Aplikasi Mobile Komunitas Berbasis Android
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)