Pembangunan Frontend Dan Penerapan Algoritma Enkripsi AES Pada Aplikasi Mobile Solidare APPS
1
BAB I
PENDAHULUAN
I.1 Latar Belakang Masalah
Pendidikan dan kemiskinan merupakan dua hal yang berkaitan erat pengaruhnya di tengah-tengah kehidupan bermasyarakat. Hal ini dapat dilihat pada
artikel tahunan 2013 dari UNICEF untuk Indonesia yang berjudul “Cerita Dari Indonesia” didapatkan fakta bahwa masih ada sekitar 2,3 juta anak usia 7-15 tahun atau 42% dari sebagian besar penduduk Indonesia terdapat anak putus sekolah [1]. Faktor ekonomi menjadi penyebab utama anak putus sekolah yakni mencapai 36%. Mengatasi hal tersebut, lembaga amal yang telah mempunyai legalitas secara hukum hadir dan menjawab permasalahan tersebut dengan membantu anak-anak putus sekolah. Yayasan Rumah Zakat (RZ) Indonesia adalah salah satunya. Yayasan Rumah Zakat Indonesia ikut memberi solusi terhadap anak-anak putus sekolah dengan memberikan bantuan berupa beasiswa pendidikan dan ada pula beasiswa untuk kebutuhan perlengkapan sekolah dan program beasiswa lainnya. Tujuannya yaitu sebagai fasilitator penyambung donasi para donatur kepada anak-anak yang putus sekolah.
Berdasarkan hasil observasi dengan bagian beasiswa pendidikan di kantor pusat Yayasan RZ didapatkan beberapa fakta diantaranya adalah para donatur sulit mendapatkan informasi kegiatan/news terkini dari komunitas sosial ataupun dari lembaga amal. Sulitnya donatur melakukan donasi pada anak asuh lainnya karena belum tersedianya penyajian data anak asuh yang lebih memberikan pilihan sesuai keinginan donatur. Selain itu, donatur kesulitan jika ingin merekomendasikan anak putus sekolah yang berada di sekitar lingkungannya dan masyarakat umum masih kesulitan mendapatkan informasi mengenai anak kurang mampu/anak putus sekolah dan bagaimana cara membantu mereka.
(2)
2
Selain beberapa fakta dan permasalahan tersebut, pada sebuah pembangunan aplikasimobilebaiknya dimulai dari mempertimbangkan keamanan data jenis apa yang digunakan karena setiap data yang ada merupakan data yang berasal dari banyak sumber misalnya data pengguna aplikasi atau data donatur yang bersifat pribadi dan yang bersifat umum. Sehingga perlu adanya keamanan data yang diterapkan dan diharapkan mampu untuk mengamankan data serta meminimalisir kemungkinan kerugian yang terjadi dikemudian hari. Pada penelitian ini, kemanan data pada aplikasi
mobileSolidare menggunakan algoritmaAdvanced Encryption System(AES) [2]. Kemudian pemilihan perangkat mobile dalam penelitian ini adalah karena perangkat mobile diprediksi akan mendominasi pasar hingga 2,16 miliar ditahun 2016 dengan tingkat pertumbuhan 12,6% dari tahun 2015 [3]. Sedangkan pemilihanplatform windows phone pada penelitian ini yaitu dengan pertimbangan bahwa belum adanya aplikasi sejenis yang memiliki beberapa fungsionalitas seperti alur donasi dari mulai registrasi donatur, pilih anak kurang mampu/anak putus sekolah terdekat dilingkungan donatur, berdonasi, mendapatkan feedback rapot anak kurang mampu/anak putus sekolah setiap semester dan merekomendasikan anak kurang mampu untuk menjadi anak asuh yang dapat menerima donasi dimana anak asuh tersebut akan divalidasi terlebih dahulu oleh lembaga amal yang sudah mempunyai legalitas secara hukum.
Solidare adalah aplikasimobiledengan sistem operasi berbasiswindows phone
yang akan dibangun untuk mengatasi permasalahan yang telah dipaparkan sebelumnya. Pengguna dapat melakukan registrasi untuk menjadi donatur, pengguna dapat merekomendasikan anak kurang mampu/anak putus sekolah yang berada disekitar lingkungan pengguna dan pengguna juga dapat melakukan donasi dengan memilih anak kurang mampu/anak putus sekolah sesuai kriteria pengguna. Pengguna juga akan mendapatkan laporan sekolah setiap semester dari lembaga amal yang menaungi anak putus sekolah/anak kurang mampu tersebut.
(3)
3
I.2 Perumusan Masalah
Berdasarkan penjelasan dari latar belakang, permasalahan yang dapat dirumuskan adalah bagaimana membangun frontend dan menerapkan algoritma enkripsi AES pada aplikasimobileSolidareapps.
I.3 Maksud dan Tujuan
Maksud dari penelitian ini adalah membangun frontend aplikasi Solidare dan menerapkan algoritma AES pada aplikasi Solidare dengan tujuan sebagai berikut: 1. Membantu donatur yang ingin melakukan donasi kepada anak kurang mampu/anak
putus sekolah melalui aplikasimobile.
2. Menghemat penggunaan bandwidth pertukaran data antara web server dengan aplikasimobiledengan menerapkan algoritma enkripsi AES-128.
I.4 Batasan Masalah
Agar penelitian dapat terfokuskan dengan baik maka perlu adanya batasan masalah. Berikut batasan masalah pada penelitian ini:
1. Sumber data yang ada berasal dari Yayasan Rumah Zakat Kota Bandung. 2. Frontendaplikasi yang dibangun berbasis sistem operasi windows phone 8.0. 3. Algoritma Enkripsi yang digunakan yaitu algoritma AES dengan key dan IV 128
bit.
4. Pendekatan analisis dan desain pada penelitian ini menggunakan pendekatan
Object-Oriented AnalysisdanDesign(OOAD).
I.5 Metodologi Penelitian
Metodologi penelitian yang digunakan dalam penelitian ini yaitu metode penelitian terapan. Metode ini bertujuan untuk mengatasi berbagai masalah nyata di dalam kehidupan dengan cara menggunakan hasil penelitian yang sedang dilakukan untuk selanjutnya dapat diimplementasikan/digunakan pada masalah yang sedang diangkat. Masalah yang biasanya diangkat adalah masalah yang terdapat di dalam
(4)
4
sebuah organisasi, perusahaan ataupun masyarakat. Penelitian terapan ini dibagi menjadi dua yaitu penelitian rekayasa dan penelitian non rekayasa. Di dalam penelitian rekayasa salah satu produk yang dihasilkan adalah perangkat lunak bukan lagi teori. Hal tersebut sesuai dengan tujuan akhir penelitian ini yaitu menghasilkan sebuah perangkat lunak yang dapat mengatasi masalah di lingkungan masyarakat. Pada penelitian ini, metode yang digunakan terbagi menjadi dua yaitu metode pengumpulan data dan metode pengumpulan perangkat lunak.
I.5.1 Metode Pengumpulan Data
Metode pengumpulan data yang digunakan dalam penelitian ini yaitu studi literatur dan observasi. Studi literatur yang dilakukan yaitu pengumpulan data yang sifatnya berupa teori dengan memahami literatur, jurnal dan bacaan-bacaan yang valid serta ada kaitannya dengan penelitian yang dilakukan. Dan observasi yang dilakukan yaitu dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil. Observasi pada penelitian ini dilakukan di kantor pusat Yayasan Rumah Zakat di Kota Bandung. Observasi ini dilakukan untuk mengetahui situasi sistem Yayasan Rumah Zakat dengan data anak asuhnya dan para donatur Yayasan Rumah Zakat dengan anak asuhnya.
(5)
5
I.5.2 Metode Pembangunan Perangkat Lunak
Metode pembangunan perangkat lunak yang digunakan pada pembangunan frontend Solidare yaitu waterfall model. Berikut proses model waterfall [4]:
1. Requirement analysis and definition
Pengumpulan kebutuhan telah terdefinisi secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. 2. System and software design
Melakukan desain pada perangkat lunak. Dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap.
3. Implementation and unit testing
Hasil desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrogramman yang telah ditentukan. Program yang dibangun langsung diuji berdasarkan unit-unitnya.
4. Integration and system testing
Penyatuan unit-unit program kemudian sistem diuji secara keseluruhan. 5. Operation and maintenance
Mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi yang sebenarnya.
(6)
6
Berikut tahapan-tahapan pengembangan perangkat lunak dengan model waterfall dapat dilihat pada Gambar I-1 berikut:
(7)
7
BAB II
LANDASAN TEORI
II.1 Solidare
Solidare adalah sebuah aplikasi portal donasi untuk para donatur atau masyarakat umum yang berguna untuk mempermudah dalam melakukan donasi kepada anak kurang mampu atau anak putus sekolah yang telah divalidasi dari lembaga amal dan secara berlanjut mendapatkan rapot sekolah mereka setiap semester. Aplikasi Solidare dibangun pada platform windows phone 8.0. Aplikasi ini memiliki 4 fitur utama yaitunearby out of school children(melihat anak kurang mampu yang terdekat dengan lokasi pengguna), donasi, download report card (rapot hasil belajar anak di sekolah) dan recommendation foster children yaitu dengan menggunakan konsep
citizen journalismmaka siapapun dapat merekomendasikan anak kurang mampu/anak putus sekolah agar dapat menerima donasi dari para donatur.
II.2 Citizen Journalism
Konsep dasar dalam citizen journalism yaitu memposisikan audiens sebagai produsen berita juga, bukan hanya konsumen pasif seperti selama ini berjalan dalam logika kerja jurnalisme tradisional berbasis media massa. Artinya posisi antara jurnalis sebagai pencari dan penulis berita, narasumber sebagai sumber berita, dan audiens sebagai konsumen berita sudah tidak berlaku. Antara produsen dan konsumen berita tidak bisa lagi diidentifikasi secara rinci karena setiap orang dapat memerankan keduanya. Intinya, dalam citizen journalismyang diutamakan adalah peran aktif yang dilakukan oleh masyarakat dalam kegiatan pengumpulan, pelaporan, analisis serta penyampaian informasi dan berita [5].
(8)
8
II.3 PrinsipCitizen Journalism
Prinsip dalamcitizen journalismterbagi menjadi 5, yaitu sebagai berikut [6]: 1. Akurat: Keakuratan disini artinya jurnalis memeriksa kembali fakta yang sudah
didapatkan sebelumnya dan memisahkan apakah informasi yang didapat adalah benar berupa fakta atau hanya fiktif.
2. Ketelitian: ketelitian dalam menyampaikan sebuah berita berarti teliti dalam memahami informasi dan teliti dalam mempercayai sumber informasi. Maka untuk satu berita atau topik yang akan dipublikasikan harus dipelajari dari berbagai sumber informasi, sehingga pembaca berita tidak ragu akan berita tersebut.
3. Kejujuran: bagi semua jurnalis yang baik kejujuran adalah sebuah keharusan. Artinya satu berita yang dipublikasikan harus seimbang dan pembaca tidak merasa dibohongi karena fakta sebenarnya tidak sesuai dengan berita yang ditampilkan. Kejujuran di sini juga berarti mau mendengarkan orang lain dalam berpendapat tentang informasi yang disampaikan, sehingga dapat diketahui salah atau benarnya suatu informasi dari sudut pandang orang lain.
4. Transparan: penyajian sebuah berita seharusnya berasal dari berbagai informasi guna mendukung keakuratan berita tersebut. Maka transparan disini berarti berbagai sumber informasi tersebut harus ditampilkan jika memang sebuah keharusan, agar tidak ada permasalahan di kemudian hari.
5. Kebebasan: penyajian sebuah berita seharusnya tidak terikat oleh kelompok mana pun karena tekanan dari pihak lain. Artinya setiap jurnalis seharusnya memiliki kebebasan dalam menerima, menentukan, dan menyampaikan berita dalam konteks yang benar.
II.4 Cryptoghrapy
Cryptography adalah ilmu science yang menggunakan teknik matematika untuk mengenkripsi dan mengdekripsi data [7]. Cryptographymemiliki tujuan untuk melindungi kerahasian data agar tidak dapat diketahui oleh siapapun kecuali pihak
(9)
9
yang dituju atau penerima data. Di dalam kriptografi terdapat dua cara untuk dapat melakukan enkripsi dan dekripsi. Jenis pertama adalah kriptografisymmetricdan yang kedua adalah kriptografi asymmetric. Baik itu kriptografi symmetricdan asymmetric
keduanya memiliki proses pengamanan data yang sama yaitu enkripsi dan dekripsi. Akan tetapi yang membedakan antara symmetric dan asymmetric adalah untuk jenis kriptografi symmetric ketika proses enkripsi plaintext (data asli) menjadi ciphertext
(data yang sudah dienkripsi) dan dikembalikan lagi menjadiplaintextutuh atau dekripsi menggunakan satu kunci yang sama (private key).
II.5 Advanced Encryption Standard
Advanced Encryption Standard adalah sebuah algoritma kriptografi simetris yang dapat digunakan untuk mengamankan data. Algoritma ini merupakan standar enkripsi dengan kunci-simetris. Algoritma AES dengan blokciphertextsimetris dapat mengenkripsi (encipher) dan dekripsi (decipher) pada sebuah informasi. Jenis Algoritma ini terbagi menjadi 3 yaitu AES-128, AES-192 dan AES-256. Masing-masing jenis algoritma AES tersebut dapat mengenkrip dan dekrip data pada blok 128 bit, blok 128 bit adalah ukuran tetap blok chiper yang digunakan pada algoritma AES. Blok cipher memiliki karakteristik berikut:
a. Plaintextdibagi menjadi blok-blok bit dengan panjang sama, misalnya 128 bit. b. Panjang kunci enkripsi = panjang blok
c. Enkripsi dilakukan terhadap blok bitplaintextmenggunakan bit-bit kunci.
d. Algoritma enkripsi menghasilkan blokciphertextyang panjangnya = blokplaintext.
II.6 Windows Phone
Windows phone adalah platform mobile yang dikeluarkan oleh perusahaan IT terkemuka di dunia yaitu Microsoft pada tahun 2010. Microsoft menyebutkan bahwa
windows phone sebagai a revolutionary new platform. Hal tersebut dapat dilihat dengan antarmuka pengguna yang lebih cleandanfresh. Dengan filosofi desain yang
(10)
10
dinamakan Metro, terinspirasi dari tanda-tanda (sign) yang terdapat pada metro subway, antarmuka Windows Phone menunjukkan ciri yang jelas, informasi yang mudah diperoleh, intuitif, dan menggunakan simbol-simbol yang mudah dipahami. Disisiplatformpengembangan,Windows Phonememiliki spesifikasi yang cukup baik seperti layar sentuh, sensor GPS, accelerometer, kompas, cahaya, kamera, multimedia, GPU dengan DirectX9, dan tiga hardware button. Adapun untuk pengembangan aplikasi di Windows Phone, developeratau para pengembang aplikasi dapat memilih dua platform yang populer dan modern yaitu Silverlight dan XNA. Selain itu, sebuah aplikasi windows phone dapat mengakses web service secara langsung atau melalui kelasproxyyang dibangkitkan secara otomatis dari metadata yang melekat pada suatu
service. Silverlight dapat bekerja dengan berbagai data format seperti XML, JSON, RSS, maupun ATOM dan akses terhadap data dapat dilakukan dengan berbagai skenario seperti Serialisasi, LINQ to XML, LINQ to JSON, atau Syndication. Kombinasinya tidak terbatas dan dapat digunakan sesuai kebutuhan [8].
II.7 JSON
JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. JSON sendiri memiliki struktur data yang terdiri dari json arraydanjson object.Json arrayadalah kumpulan nilai yang terurutkan dan memiliki bentuk kurung kotak ( [ ] ), sedangkanjson object adalah kumpulan pasangan string
danvaluedan memiliki bentuk kurung kurawal ( { } ) [9].
II.8 Pemrogramman Berorientasi Objek
Pemrograman berorientasi objek (PBO) merupakan kelanjutan dari proses analisis dan perancangan berorientasi objek. Pada pemrograman berorientasi objek, komponen yang didisain dalam proses desain diimplementasikan dengan
(11)
11
menggunakan bahasa pemrograman berorientasi objek. Berikut adalah beberapa konsep pemrograman berorientasi objek, yaitu:
1. Objek
Di dalam PBO, objek merupakan susunan/kerangka berupa data serta prosedur untuk mengoperasikan data tersebut.
2. Abstraksi
Abstraksi merupakan perwakilan data ataupun prosedur yang sama dengan menyembunyikan suatu objek jika tidak berhubungan dan dapat digunakan di kasus lain jika berhubungan.
3. Enkapsulasi
Enkapsulasi merupakan suatu proses yang tidak mengizinkan akses secara langsung ke data (data disembunyikan). Agar dapat mengakses data, terlebih dahulu terhubung dengan objek yang bertanggung jawab terhadap data tersebut.
4. Polymorphism
Polymorphism adalah kemampuan dari dua objek berbeda dalam merespon permintaan yang sama dengan caranya sendiri.
5. Pewarisan
Pewarisan (inheritance) digunakan untuk mengklasifikasikan objek di dalam program berdasarkan karakteristik umum.
6. Agregasi
Agregasi adalah kondisi ketika sebuah objek digabungkan dengan bagian dari objek lain dan kemudian bekerja sama.
II.9 Unified Modelling Language(UML)
Unified Modelling Language (UML) adalah bahasa standar pemodelan yang digunakan pada pembangunan perangkat lunak dengan pendekatan berorientasi objek. Dalam perancangan sistem, model memiliki peranan penting untuk mengelola kompleksitas. Pemodelan dapat menghubungkan setiap aspek penting dari
(12)
12
perancangan sistem. Sebuah model adalah representasi dari benda nyata. Model yang dibangun adalah penyederhanaan dari sistem yang akan dibangun. Model memberikan maksud dan kelangsungan hidup sistem untuk dipahami serta dievaluasi. Dan memberikan pemahaman lebih cepat dibandingkan harus langsung ke sistem sebenarnya.
UML versi 2.0 memiliki 13 diagram yang dapat digunakan. Namun, dalam penelitian ini hanya 4 diagram UML yang akan digunakan. Tabel II-1 menjelaskan mengenai diagram yang akan digunakan.
Tabel II-1 Diagram-diagram UML 2.0 yang Digunakan
Nama Diagram Deskripsi
Use Case Diagram Menggambarkan interaksi antara pengguna dengan sistem yang akan dibangun. Membantu dalam pemetaan kebutuhan dalam sistem.
Activity Diagram Menggambarkan aktivitas secara sekuensial dan parallel dalam sistem.
Class Diagram Menggambarkan hubunganclass, interfacedalam sistem.
Sequence Diagram Menggambarkan interaksi antar objek dimana urutan setiap objek dan interaksinya sangat penting.
(13)
133
BAB V
KESIMPULAN DAN SARAN
V.1 Kesimpulan
Berdasarkan hasil pengujianfrontendaplikasi Solidare pada platform windows phone maka dapat diperoleh kesimpulan berikut:
1. Frontendaplikasi Solidare pada platform windows phone sebagian besar telah dapat mempermudah donatur dalam melakukan donasi kepada anak kurang mampu/anak putus sekolah.
2. Frontendaplikasi Solidare padaplatform windows phonesebagian besar telah dapat mempermudah donatur dalam melakukan rekomendasi anak kurang mampu/anak putus sekolah yang berada di sekitar lingkungan pengguna.
3. Frontendaplikasi Solidare padaplatform windows phonesebagian besar telah dapat mempermudah donatur dalam mendapatkan laporan perkembangan anak yang telah terdonasi oleh pengguna.
4. Frontendaplikasi Solidare padaplatform windows phonesebagian besar telah dapat membantu masyarakat sebagai media informasi mengenai berita dari komunitas sosial/lembaga amal dan sebagai media berdonasi kepada anak kurang mampu/anak putus sekolah.
5. Frontend aplikasi Solidare pada platform windows phone telah menggunakan algoritma enkripsi AES-128 pada proses pertukaran data dengan web server. Sehingga data terenkrip dengan baik dan mengurangi kemungkinan terjadinya intimidasi data dari pihak luar yang tidak bertanggung jawab.
V.2 Saran
Frontend aplikasi Solidare pada platform windows phone merupakan sebuah aplikasi portal donasi untuk mempermudah para donatur atau masyarakat dalam
(14)
134
melakukan donasi kepada anak kurang mampu atau anak putus sekolah yang telah divalidasi dari lembaga amal dan secara berlanjut mendapatkan rapot sekolah mereka setiap semester. Oleh karena itu, diperlukan pengembangan-pengembangan terhadap aplikasi ini agar dapat digunakan lebih baik lagi. Adapun saran terhadap pengembangan aplikasi ini adalah sebagai berikut:
1. Menstabilkan performa aplikasi secara keseluruhan agar semua proses berjalan dengan baik dan benar.
2. Meningkatkan kinerja aplikasi secara keseluruhan agar setiap proses yang dijalankan bisa berjalan dengan tepat dan sesuai yang diharapkan oleh pengguna. 3. Mengembangkan aplikasi untuk dapat digunakan pada platform lain seperti web
(15)
Biodata Muhammad Iqbal Tawaqal
Address : Perum Griya Permai Blok A1/10 RT.06/04 Ds. Pucung Kec. Kotabaru Kab. Karawang Kode Pos 41374
Phone : +6285717818271
Email : iqbal.tawakal@outlook.com
Personal Information
Place & D.O.B : Tasikmalaya, September 20th1993
Marital Status : Single
Religion : Moslem
Languages Known : Sunda, Indonesian, English
Formal Education
Indonesia Computer University Majoring Informatics Engineering
2011–2015
SMKN 1 Cikampek Majoring Industrial Electronics Engineering
2008–20011
SMPN 1 Tirtamulya 2005–2008
(16)
Professional Experiences
Present
- Freelancer Android Developer - Freelancer Web Developer
March 2014 – Present, member of Unikom Codelabs - Android Developer
- Windows Phone Developer
Projects Experience
DESKTOP APPLICATIONS
• Program Sistem Informasi Keuangan di DKM Masjid Judurrahmah using C# • Aplikasi Data Obat using C#
• Aplikasi Klinik Tong Fang using C# • Aplikasi Pengelolaan Laundry using Pascal WEB APPLICATION
• Job seeker parttty.com • E-commerce Toserda.com ANDROID APPLICATION
• Garut Xplore aplikasi informasi dari kota Garut tentang kuliner, wisata, hotel dan Oleh–oleh.
• Game The adventure of Popo using Contruct2. WINDOWS PHONE APPLICATION
(17)
Skills
Operating System : Microsoft Windows XP
Microsoft Windows 7 Microsoft Windows 8, 8.1
Integrated Development Environtment : Eclipse Juno
Adobe DreamWeaver CS5
Microsoft Visual Studio 2013 Ultimate Dev C++
Text Editor : Webuilder
Notepad++ Notepad Sublime
Programming Language : HTML
CSS Javascript PHP Java
C / C++ / C#
Framework : WPF
Bootstrap .NET
(18)
Achievement
2015 Microsoft Imagine Cup 2015 National Winner - World Citizenship Category
(19)
PEMBANGUNAN FRONTEND DAN PENERAPAN ALGORITMA
ENKRIPSI AES PADA APLIKASI MOBILE SOLIDARE APPS
SKRIPSI
Diajukan untuk memenuhi Ujian Akhir Sarjana
MUHAMMAD IQBAL TAWAQAL
10111410
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2015
(20)
vi
vi
DAFTAR ISI
ABSTRAK ... i
ABSTRACT...ii
KATA PENGANTAR ...iii
DAFTAR ISI... vi
DAFTAR GAMBAR ... ix
DAFTAR TABEL...xii
DAFTAR SIMBOL... xv
DAFTAR LAMPIRAN... xix
BAB I PENDAHULUAN ... 1
I.1 Latar Belakang Masalah ... 1
I.2 Perumusan Masalah ... 3
I.3 Maksud dan Tujuan ... 3
I.4 Batasan Masalah ... 3
I.5 Metodologi Penelitian ... 3
BAB II LANDASAN TEORI ... 7
II.1 Solidare... 7
II.2 Citizen Journalism... 7
II.3 PrinsipCitizen Journalism... 8
II.4 Cryptoghrapy... 8
(21)
vii
II.6 Windows Phone... 9
II.7 JSON... 10
II.8 Pemrogramman Berorientasi Objek ... 10
II.9 Unified Modelling Language(UML) ... 11
BAB III ANALISIS DAN PERANCANGAN SISTEM ... 13
III.1 Analisis Sistem ... 13
III.1.1 Analisis Masalah ... 13
III.1.2 Analisis Arsitektur Sistem ... 14
III.1.3 Analisis Algoritma Enkripsi AES ... 15
III.1.4 Spesifikasi Kebutuhan Perangkat Lunak ... 39
III.1.5 Analisis Kebutuhan Non-Fungsional ... 41
III.1.6 Analisis Data ... 43
III.1.7 Analisis Kebutuhan Fungsional... 44
III.2 Perancangan Sistem... 93
III.2.1 Perancangan Arsitektural Menu ... 93
III.2.2 Perancangan Antarmuka... 94
III.2.3 Perancangan Pesan ... 106
III.2.4 Jaringan Semantik ... 109
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM... 110
IV.1 Implementasi Sistem ... 110
IV.1.1 Lingkungan Implementasi ... 110
IV.1.2 Implementasi Antarmuka ... 112
(22)
viii
viii
IV.2.1 Rencana Pengujian ... 113 IV.2.2 Skenario Pengujian ... 114 IV.2.3 Hasil Pengujian... 115 IV.2.4 Evaluasi Pengujian ... 131 BAB V KESIMPULAN DAN SARAN... 132 V.1 Kesimpulan... 132 V.2 Saran ... 132 DAFTAR PUSTAKA ... 133
(23)
135
DAFTAR PUSTAKA
[1] Laporan Tahunan Indonesia, UNICEF, 2013.
[2] “Advanced Encryption Standard,” 25 November 2014. [Online]. Available:
https://id.wikipedia.org/wiki/Advanced_Encryption_Standard. [Diakses 5 July 2015].
[3] “Mobile App Developers: Start with Security,” February 2013. [Online].
Available: https://www.ftc.gov/tips-advice/business-center/guidance/mobile-app-developers-start-security. [Diakses 5 July 2015].
[4] I. Sommerville, Software Engineering, USA: Pearson Education, Inc., 2011. [5] Z. Habibi, “"Citizen Journalism": Ketika Berita Tidak Hanya Memiliki Satu
Muka,”Jurnal Komunikasi,vol. 1, no. 2, pp. 1-18, 2007.
[6] J-LAB, “J-LAB Knight Community News Network,” Knight Foundation,
[Online]. Available: http://kcnn.org/learning-modules/principles-of-citizen-journalism/. [Diakses 10 Agustus 2015].
[7] Ayushi, “Symmetric Key Cryptographic Algorithm,” International Journal of Computer Applications,vol. 1, no. 1, pp. 1-4, 2010.
[8] P. Pramudya, Membuat Aplikasi untuk Windows Phone, Bandung: ANDI, 2011. [9] j. org, “json org,” [Online]. Available: http://json.org/json-id. [Diakses 5 July
2015].
[10] D. Selent, “Advanced Encryption Standard,” InSight: RIVER ACADEMIC JOURNAL,vol. 6, no. 2, pp. 1-14, 2010.
[11]C. Ireland, B. David, M. Newton dan K. Waugh, “Understanding Object
-Relational Mapping: A Framework Based Approach,” International Journal on Advances in Software,,vol. 2 no. 2&3, pp. 202-216, 2009.
(24)
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
1Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
Pembangunan
Frontend
Dan Penerapan Algoritma Enkripsi AES Pada
Aplikasi Mobile Solidare Apps
Muhammad Iqbal Tawaqal1
1Teknik Informatika–Universitas Komputer Indonesia
Jl. Dipatiukur 112-114 Bandung Email : iqbal.tawakal@outlook.com1
ABSTRAK
Artikel tahunan 2013 UNICEF menyatakan bahwa sekitar 2,3 juta anak usia 7-15 tahun terdapat anak Indonesia putus sekolah. Yayasan Rumah Zakat adalah lembaga amal yang menjadi fasilitator penyambung donasi para donatur kepada anak-anak putus sekolah. Namun dalam penerapannya terdapat permasalahan yang terjadi yaitu dari sisi donatur perihal kesulitan melakukan rekomendasi anak yang putus sekolah, pemilihan anak yang akan didonasi, dan kesulitan mengetahui perkembangan anak yang telah terdonasi. Dari sisi masyarakat perihal kesulitan mendapatkan informasi tentang anak putus sekolah dan bagaimana cara membantunya, dan juga perihal kerahasiaan data dari lembaga amal/komunitas sosial. Solusi yang dapat diterapkan untuk permasalahan di atas adalah dengan membangun frontend aplikasi Solidare.
Metodologi penelitian yang digunakan dalam pembangunanfrontendaplikasi Solidare yaitu metode penelitian terapan. Tahap pertama pembangunan
frontendaplikasi Solidare yaitu menganalisis masalah, kemudian menganalisis arsitektur sistem, selanjutnya menganalisis algoritma enkripsi AES-128 yang digunakan untuk keamanan pada data, dan mengumpulkan kebutuhan sistem yang akan dijadikan bahan sebagai fungsionalitas aplikasi. Setelah itu melakukan perancangan sistemfrontend.
Frontend aplikasi Solidare yang telah dirancang kemudian diimplementasikan dalam bahasa pemrogramman C# pada platform windows phone. Dan dilanjutkan pengujian sistem dengan menggunakan metode black boxdan pengujian beta. Hasil dari pengujian menunjukan bahwa sistem front-end telah memudahkan donatur/masyarakat dalam mendapatkan informasi mengenai anak putus sekolah, melakukan donasi, melakukan rekomendasi anak putus sekolah/anak kurang mampu, mendapatkan laporan perkembangan anak yang telah terdonasi, dan menerapkan algoritma enkripsi AES-128 guna menjaga kerahasiaan data yang ada pada sistem front-endaplikasi.
Kata Kunci: class library, personal finance.
1. PENDAHULUAN
Pendidikan dan kemiskinan merupakan dua hal yang berkaitan erat pengaruhnya di tengah-tengah kehidupan bermasyarakat. Hal ini dapat dilihat pada artikel tahunan 2013 dari UNICEF untuk Indonesia
yang berjudul “Cerita Dari Indonesia” didapatkan
fakta bahwa masih ada sekitar 2,3 juta anak usia 7-15 tahun atau 42% dari sebagian besar penduduk Indonesia terdapat anak putus sekolah [1]. Faktor ekonomi menjadi penyebab utama anak putus sekolah yakni mencapai 36%. Mengatasi hal tersebut, lembaga amal yang telah mempunyai legalitas secara hukum hadir dan menjawab permasalahan tersebut dengan membantu anak-anak putus sekolah. Yayasan Rumah Zakat Indonesia ikut memberi solusi terhadap anak-anak putus sekolah dengan memberikan bantuan berupa beasiswa pendidikan dan ada pula beasiswa untuk kebutuhan perlengkapan sekolah dan program beasiswa lainnya. Tujuannya yaitu sebagai fasilitator penyambung donasi para donatur kepada anak-anak yang putus sekolah.
Berdasarkan hasil observasi dengan bagian beasiswa pendidikan di kantor pusat Yayasan RZ didapatkan beberapa fakta diantaranya adalah para donatur sulit mendapatkan informasi kegiatan/news
terkini dari komunitas sosial ataupun dari lembaga amal. Sulitnya donatur melakukan donasi pada anak asuh lainnya karena belum tersedianya penyajian data anak asuh yang lebih memberikan pilihan sesuai keinginan donatur. Selain itu, donatur kesulitan jika ingin merekomendasikan anak putus sekolah yang berada di sekitar lingkungannya dan masyarakat umum masih kesulitan mendapatkan informasi mengenai anak kurang mampu/anak putus sekolah dan bagaimana cara membantu mereka.
Selain beberapa fakta dan permasalahan tersebut, pada sebuah pembangunan aplikasi mobile baiknya dimulai dari mempertimbangkan keamanan data jenis apa yang digunakan. Pada penelitian ini, kemanan data pada aplikasimobileSolidare menggunakan algoritma
(25)
Kemudian pemilihan perangkat mobile dalam penelitian ini adalah karena perangkat mobile diprediksi akan mendominasi pasar hingga 2,16 miliar ditahun 2016 dengan tingkat pertumbuhan 12,6% dari tahun 2015 [3].
1.1 Metode Pembangunan Perangkat Lunak
Metode pembangunan perangkat lunak yang digunakan pada pembangunan frontend Solidare yaitu waterfall model. Berikut proses model waterfall [4]: 1. Requirement analysis and definition
Pengumpulan kebutuhan telah terdefinisi secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun.
2. System and software design
Melakukan desain pada perangkat lunak. Dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap.
3. Implementation and unit testing
Hasil desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrogramman yang telah ditentukan. Program yang dibangun langsung diuji berdasarkan unit-unitnya. 4. Integration and system testing
Penyatuan unit-unit program kemudian sistem diuji secara keseluruhan.
5. Operation and maintenance
Mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi yang sebenarnya.
Berikut tahapan-tahapan pengembangan perangkat lunak dengan model waterfall dapat dilihat pada Gambar I 1 berikut:
Gambar I 1 Model Waterfall
1.2 Citizen Journalism
Konsep dasar dalam citizen journalism yaitu memposisikan audiens sebagai produsen berita juga,
bukan hanya konsumen pasif seperti selama ini berjalan dalam logika kerja jurnalisme tradisional berbasis media massa. Artinya posisi antara jurnalis sebagai pencari dan penulis berita, narasumber sebagai sumber berita, dan audiens sebagai konsumen berita sudah tidak berlaku. Antara produsen dan konsumen berita tidak bisa lagi diidentifikasi secara rinci karena setiap orang dapat memerankan keduanya. Intinya, dalam citizen journalism yang diutamakan adalah peran aktif yang dilakukan oleh masyarakat dalam kegiatan pengumpulan, pelaporan, analisis serta penyampaian informasi dan berita [5].
II.1 Advanced Encryption Standard
Advanced Encryption Standard adalah sebuah algoritma kriptografi simetris yang dapat digunakan untuk mengamankan data. Algoritma ini merupakan standar enkripsi dengan kunci-simetris. Algoritma AES dengan blok ciphertext simetris dapat mengenkripsi(encipher)dan dekripsi(decipher)pada sebuah informasi. Jenis Algoritma ini terbagi menjadi 3 yaitu AES-128, AES-192 dan AES-256. Masing-masing jenis algoritma AES tersebut dapat mengenkrip dan dekrip data pada blok 128 bit, blok 128 bit adalah ukuran tetap blok chiper yang digunakan pada algoritma AES. Blok cipher memiliki karakteristik berikut:
a. Plaintext dibagi menjadi blok-blok bit dengan panjang sama, misalnya 128 bit.
b. Panjang kunci enkripsi = panjang blok
c. Enkripsi dilakukan terhadap blok bit plaintext
menggunakan bit-bit kunci.
d. Algoritma enkripsi menghasilkan blok ciphertext
yang panjangnya = blokplaintext.
1.3 JSON
JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. JSON sendiri memiliki struktur data yang terdiri dari json array dan json object. Json array adalah kumpulan nilai yang terurutkan dan memiliki bentuk kurung kotak ( [ ] ), sedangkan json object adalah kumpulan pasangan
stringdanvaluedan memiliki bentuk kurung kurawal ( { } ) [9].
1.4 Pemrogramman Berorientasi Objek
Pemrograman berorientasi objek (PBO) merupakan kelanjutan dari proses analisis dan perancangan berorientasi objek. Pada pemrograman berorientasi objek, komponen yang didisain dalam proses desain diimplementasikan dengan menggunakan bahasa pemrograman berorientasi
(26)
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
3Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
objek. Berikut adalah beberapa konsep pemrograman berorientasi objek, yaitu:
1. Objek
Di dalam PBO, objek merupakan susunan/kerangka berupa data serta prosedur untuk mengoperasikan data tersebut.
2. Abstraksi
Abstraksi merupakan perwakilan data ataupun prosedur yang sama dengan menyembunyikan suatu objek jika tidak berhubungan dan dapat digunakan di kasus lain jika berhubungan.
3. Enkapsulasi
Enkapsulasi merupakan suatu proses yang tidak mengizinkan akses secara langsung ke data (data disembunyikan). Agar dapat mengakses data, terlebih dahulu terhubung dengan objek yang bertanggung jawab terhadap data tersebut.
4. Polymorphism
Polymorphism adalah kemampuan dari dua objek berbeda dalam merespon permintaan yang sama dengan caranya sendiri.
5. Pewarisan
Pewarisan (inheritance) digunakan untuk mengklasifikasikan objek di dalam program berdasarkan karakteristik umum.
6. Agregasi
Agregasi adalah kondisi ketika sebuah objek digabungkan dengan bagian dari objek lain dan kemudian bekerja sama.
1.5Unified Modelling Language(UML)
Unified Modelling Language (UML) adalah bahasa standar pemodelan yang digunakan pada pembangunan perangkat lunak dengan pendekatan berorientasi objek. Dalam perancangan sistem, model memiliki peranan penting untuk mengelola kompleksitas. Pemodelan dapat menghubungkan setiap aspek penting dari perancangan sistem. Sebuah model adalah representasi dari benda nyata. Model yang dibangun adalah penyederhanaan dari sistem yang akan dibangun. Model memberikan maksud dan kelangsungan hidup sistem untuk dipahami serta dievaluasi. Dan memberikan pemahaman lebih cepat dibandingkan harus langsung ke sistem sebenarnya.
UML versi 2.0 memiliki 13 diagram yang dapat digunakan. Namun, dalam penelitian ini hanya 4 diagram UML yang akan digunakan. Tabel 0-1 menjelaskan mengenai diagram yang akan digunakan.
Tabel 0-1 Diagram-diagram UML 2.0 yang Digunakan
Nama Diagram Deskripsi
Use Case Diagram Menggambarkan interaksi antara pengguna dengan sistem yang akan
Nama Diagram Deskripsi
dibangun. Membantu dalam pemetaan kebutuhan dalam sistem.
Activity Diagram Menggambarkan aktivitas secara sekuensial dan parallel dalam sistem.
Class Diagram Menggambarkan hubungan class, interfacedalam sistem.
Sequence Diagram Menggambarkan interaksi antar objek dimana urutan setiap objek dan interaksinya sangat penting.
2. ISI PENLITIAN 2.1 Analisis Masalah
Berikut adalah beberapa permasalahan yang muncul pada penelitian ini yaitu:
1. Sulitnya donatur untuk merekomendasikan anak kurang mampu karena terbatasnya pengetahuan mengenai informasi/cara untuk merekomendasikannya ke komunitas sosial atau lembaga amal.
2. Sulitnya donatur melakukan donasi pada anak kurang mampu/anak putus sekolah lainnya karena belum tersedianya penyajian data anak kurang mampu/anak putus sekolah yang lebih memberikan pilihan sesuai dengan keinginan donatur.
3. Sulitnya donatur untuk mengetahui perkembangan anak karena belum adanya layanan yang memudahkan donatur mendapatkan laporan perkembangan anak yang terdonasi.
4. Masyarakat umum terkadang kesulitan mendapatkan informasi tentang anak kurang mampu/anak putus sekolah dan tidak tahu bagaimana cara menbantu mereka.
Data penting dari Yayasan dan data donatur yang bersifat internal dan rahasia, sehingga perlu untuk menerapkan keamanan pada data tersebut.
2.2 Analisis Arsitektur Sistem
Arsitektur sistemfrontendSolidare dapat dilihat pada Gambar 0-1.
(27)
Gambaran arsitektur sistem secara umum terdiri dari dua buah subsistem. Pertama adalah web administrator dimana bagian ini administrator melakukan pengelolaanwebsiteyang telah di-hosting
dan tersimpan dalam webserver dengan layanancloud computing Microsoft Azure Web Service. Setelah tersimpan, di dalam web administrator ini disediakan pulaservicedalam bentuk API agar data lembaga amal dapat diakses oleh platform lain. Bentuk data hasil
encode dari PHP-nya adalah JSON. Kedua adalah perangkatmobile windows phonedimana data berupa JSON tersebut akan di-parsing dengan JSONParser
agar data dari web administrator dapat diterima oleh para donatur.
2.3 Analisis Algoritma Enkripsi AES
Pada analisis ini akan dijelaskan bagaimana algoritma kriptografi diimplementasikan kedalam sistem frontend Solidare. Algoritma kriptografi yang digunakan dalam frontend Solidare adalah algoritma kriptografi Advanced Encryption Standard 128 Bit (AES-128). Di dalam algoritma AES-128 terdapat dua proses yaitu proses enkripsi dan proses dekripsi.
2.4 Perancangan Arsitektural Menu
Berikut ini adalah perancangan arsitektural menu
frontendSolidare:
Gambar 0-2 Perancangan Arsitektural Menu
2.5 PerancanganPesan
Perancangan pesan yang akan dibahas yaitu perancangan pesan yang ada pada frontend Solidare. Berikut beberapa perancangan pesan pada frontend
Solidare.
Gambar 0-3P01-Informasi Required Inputan
Gambar 0-4 P02-InformasiRequired Internet Connection
Gambar 0-5P03-Alert Login
Gambar 0-6P04-Alert Upload Data
Gambar 0-7P05-Informasi Update Profile
Gambar 0-8P06-Alert Load Data
(28)
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
5Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
Gambar 0-10P08-Informasi Donasi
Gambar 0-11 Informasi Konfirmasi Transfer Donasi
2.6 Jaringan Semantik
Berikut adalah jaringan semantik dari
frontendSolidare.
Gambar 0-12 Jaringan Semantik Frontend Solidare
2.7 Implementasi Sistem
Implementasi sistem yang dilakukan pada penelitian ini adalah dengan mendeskripsikan lingkungan dimana sistem akan diimplementasikan/diinstal. Kemudian implementasi dari setiap perancangan antarmuka dimana didaftar antarmuka mana saja yang diimplementasikan kemudian jika ingin melihat screenshot-nya dapat melihat pada bagian lampiran
Lingkungan implementasi merupakan spesifikasihardware,softwaredimana sistem ini akan dipasang dan digunakan. Berikut adalah lingkungan implementasinya:
1. LingkunganHardware
Berikut adalah spesifikasi hardware dalam pembangunan perangkat lunak ini.
Tabel 0-2 Lingkungan ImplementasiHardware
PembangunFrontendAplikasi
No Item Spesifikasi
1 Processor Intel Core i7-4510U CPU @ 2.00 GHz 2.60 GHz 2 Harddisk 1 TB
3 Memory 4 GB 4 VGA 4 GB 5 Monitor 14 inch
6 Mouse Optical Microsoft Sculpt Touch
7 Keyboard QWERTY Creative 8 USB port 3 buah
9 Koneksi Internet
Ada 10 Windows
Phone 8.0
Phablet Lumia 1520 6 inch dan Lumia 520 4.5 inch Berikut adalah spesifikasi hardware untuk mengakses sistem:
Tabel 0-3 LingkunganHardware
No Item Spesifikasi
1 Processor @ Dual-Core 1 GB
2 SD Card 8 GB
3 Memory 512 GB
4 Koneksi Internet Ada 5 Windows Phone version 8.0
2. LingkunganSoftware
Perangkat lunak yang digunakan dalam pembangunanfrontendSolidare ini adalah:
1. Sistem Operasi Windows 8 Single Language 64 bit. 2. Bahasa pemrogramman C#.
3. Code editor menggunakan Microsoft Visual Studio Community 2013 Update 4.
4. Aplikasi windows phone dibangun menggunakan framework .NET 4.
5. Pertukaran data yang dilakukan menggunakan JSON.
Berikut adalah spesifikasi software untuk mengakses sistem:
Tabel 0-4 LingkunganSoftware
No Item Spesifikasi
1. Windows Phone version 8.0 (Lumia Denim)
IV.1.1 Implementasi Antarmuka
Bagian ini berisi implementasi antarmuka dari windows phone dimana implementasi
(29)
antarmukanya diwakili dengan nama antarmuka beserta nama file yang mewakilinya.
Tabel 0-5 Implementasi Antarmuka No Nama Antarmuka Nama File
1 Walkthrough Aplikasi
PageStart.xaml
2 Login PageLogin.xaml
3 Register PageRegister.xaml
4 Timeline News NewHomepage.xaml
5 Detail News PageDetailNews.xaml
6 Timeline Donation NewHomepage.xaml
7 Profile PageProfileDonatur.xaml
8 User Sponsored Children
PageProfileDonatur.xaml
9 Report Card PageRapotAnak.xaml
10 Detail Profile PageDetailDonatur.xaml 11 Setting Profile PageSetting.xaml
12 User Change
Password
PagePassword.xaml
13 Children Recommendation
PageRekomendasi.xaml
14 Detail Children PageDetailAnak.xaml PageProfileAnak.xaml DetailAnakAsuhNearby.xaml 15 Donation List PageKeranjangDonasi.xaml 16 Donation Detail DetailDonation.xaml 17 Confirmation PageKonfirmasi.xaml 18 Filter Children PageFilter.xaml 19 Nearby Location PageNearby.xaml
20 About PageAbout.xaml
21 Terms & Conditions PageTerms.xaml
Dari daftar tabel di atas, dapat disimpulkan bahwa seluruh antarmuka sudah diimplementasikan didalam class. Untuk antarmuka detail-nya dapat dilihat pada lampiran A.
2.8 Pengujian Sistem
Pengujian sistemfrontendini terdiri dari dua tahap yakni pengujian alpha dan pengujian beta. Metode yang digunakan dalam pengujian sistem
frontend ini adalah dengan menggunakan metode pengujian black box dimana pengujian ini berfokus pada persyaratan fungsional perangkat lunak.
Pada bagian skenario pengujian ini terbagi menjadi dua jenis, yaitu skenario pengujian fungsional dan skenario pengujianacceptance.
1. Skenario pengujian fungsional
Skenario pengujian fungsional yang dilakukan adalah dengan menguji 1 sistem frontend
yaitu windows phone. Skenario pengujian sistem
frontend windows phonedapat dilihat pada Tabel 0-6. Tabel 0-6 Skenario Pengujian Fungsional No Kelas Uji Poin Pengujian Jenis
Pengujian
1 Login Isi datalogin Equivalence
Partitioning
Validasifield login Equivalence Partitioning
2 Register Isi data register Equivalence
Partitioning
Validasifield register Equivalence Partitioning
3 Forgot
password
Memasukanemaildan nomor telepon
Equivalence Partitioning
Validasi field email
dannomor telepon
Equivalence Partitioning
4 Setting profile Isi dataprofile Equivalence Partitioning
5 Change
password
Memasukan current-password dan new-password
Equivalence Partitioning
Validasifield current-password dan new-password
Equivalence Partitioning
6 Donation Memililh anak yang akan didonasi Equivalence Partitioning 7 Confirmation transfer donasi
Isi dataconfirmation Equivalence Partitioning Validasi field confirmation Equivalence Partitioning 9 Rekomendasi anak
Isi data rekomendasi anak
Equivalence Partitioning
11 Filtering anak berdasarkan status anak
Memilih statusorphan, orphans, dan poor children.
Equivalence Partitioning
12 Filtering anak berdasarkan jenjang pendidikan anak
Memilih jenjang pendidikanelementary school, junior school,
danhigh school.
Equivalence Partitioning
13 Filtering anak berdasarkan jenis kelamin anak
Memilih jenis kelamin anak laki-laki dan perempuan.
Equivalence Partitioning
2. Skenario pengujian beta
Berikut adalah daftar pertanyaan kuesioner pengujian beta yang disebar kepada 30 masyarakat sabagai calon pengguna frontend aplikasi yang dibangun yang dapat dilihat pada Tabel 0-7.
Tabel 0-7 Daftar Pertanyaan Kuesioner N
O PERTANYAAN S
S S N T S T Metode Hasil Pengujia n
1 Apakah anda
setuju jika daftar anak kurang mampu/anak putus sekolah ditampilkan pada aplikasi ini?
Skala
Likert
2 Apakah anda
setuju aplikasi ini memberikan kemudahan untuk
merekomendasik an anak kurang mampu/anak putus sekolah?
3 Apakah anda
setuju aplikasi ini membantu dalam berdonasi?
(30)
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
7Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
N
O PERTANYAAN S
S S N T S T Metode Hasil Pengujia n
4 Apakah anda
setuju aplikasi ini memberikan kemudahan dalam melakukan konfirmasi transfer donasi?
5 Apakah anda
setuju aplikasi ini memberikan
feedback laporan perkembangan anak setiap semesternya?
6 Apakah anda
setuju tampilan aplikasi ini mudah
dipahami?
7 Apakah anda
setuju jika pada sebuah aplikasi
mobile hanya memiliki satu warna dominan?
8 Apakah anda
setuju jenis font
pada aplikasi ini mudah untuk dibaca?
9 Apakah anda
setuju ukuran
fontpada aplikasi ini sesuai untuk dibaca? 10 Apakah anda
setuju dengan adanya
keamanan data pada aplikasi ini?
Hasil pengujian merupakan hasil dari skenario pengujian yang telah disusun sebelumnya. Hasil pengujian yang dilakukan terdiri dari hasil pengujian fungsionalitas dan pengujian beta.
3. KESIMPULAN
Berdasarkan hasil pengujianfrontendaplikasi Solidare pada platform windows phone maka dapat diperoleh kesimpulan berikut:
1. Frontendaplikasi Solidare pada platform windows phone sebagian besar telah dapat mempermudah donatur dalam melakukan donasi kepada anak kurang mampu/anak putus sekolah.
2. Frontendaplikasi Solidare padaplatform windows phone sebagian besar telah dapat mempermudah donatur dalam melakukan rekomendasi anak
kurang mampu/anak putus sekolah yang berada di sekitar lingkungan pengguna.
3. Frontendaplikasi Solidare padaplatform windows phone sebagian besar telah dapat mempermudah donatur dalam mendapatkan laporan perkembangan anak yang telah terdonasi oleh pengguna.
4. Frontendaplikasi Solidare padaplatform windows phone sebagian besar telah dapat membantu masyarakat sebagai media informasi mengenai berita dari komunitas sosial/lembaga amal dan sebagai media berdonasi kepada anak kurang mampu/anak putus sekolah.
5. Frontendaplikasi Solidare padaplatform windows phonetelah menggunakan algoritma enkripsi AES-128 pada proses pertukaran data dengan web server. Sehingga data terenkrip dengan baik dan mengurangi kemungkinan terjadinya intimidasi data dari pihak luar yang tidak bertanggung jawab.
4. DAFTAR PUSATAKA
Bibliography
[1] Laporan Tahunan Indonesia, UNICEF, 2013.
[2] “Advanced Encryption Standard,” 25 November
[Online]. Ava
https://id.wikipedia.org/wiki/Advanced_Encryption_St [Diakses 5 July 2015].
[3] “Mobile App Developers: Start with Security,” Februar [Online]. Available: https://www.ftc.gov/tips-advice/bus center/guidance/mobile-app-developers-start-security. [Diakses 5 July 2015].
[4] Z. Habibi, “"Citizen Journalism": Ketika Berita Tidak Memiliki Satu Muka,”Jurnal Komunikasi,vol. 1, no. 2, 18, 2007.
[5] j. org, “json org,” [Online]. Available: http://json.org/j [Diakses 5 July 2015].
(31)
[6] I. Sommerville, Software Engineering, USA: Pearson Education, Inc., 2011.
[7] Ayushi, “Symmetric Key Cryptographic Algorithm,”
International Journal of Computer Applications, vol. 1, no. 1, pp. 1-4, 2010.
[8] C. Ireland, B. David, M. Newton dan K. Waugh, “Understanding Object-Relational Mapping: A Framework Based Approach,” International Journal on Advances in Software,,vol. 2 no. 2&3, pp. 202-216, 2009.
[9] P. Pramudya, Membuat Aplikasi untuk Windows Phone, Bandung: ANDI, 2011.
[10] J-LAB, “J-LAB Knight Community News Network,” Foundation, [Online]. Available: http://kcnn.org/le modules/principles-of-citizen-journalism/. [Diakses Agustus 2015].
[11]D. Selent, “Advanced Encryption Standard,” InSight:
(32)
✁ ✂✄☎✆ ✝✁ ✞
Computer Science and Informatics (KOMPUTA)
1
Page. .. Volume. .., Issue 20.. ISSN : 2089-9033
Development of Front-End And Implementation of AES Encryption
Algorithm on Solidare Mobile Apps
Muhammad Iqbal Tawaqal1
1Informatics Engineering–Universitas Komputer Indonesia
Dipatiukur street 112-114 Bandung Email : iqbal.tawakal@outlook.com1
ABSTRACT
An annual article 2013 UNICEF stated that there are approximately 2.3 million children age 7-15 years are Indonesian children who drop out from school. Rumah Zakat is charity organization whose purpose is to be a facilitator connecting donors donate to children who drop out from school. However, there are so many problems in implementation such as from the donor regarding the difficulty making children recommendation, selection of out of school children, and knowing the development of children that has been donated. And from society regarding the difficulty in obtaining information about out of school children and how to help them, and also regarding the confidentiality of data from charity organization/social communities. The solution can be applied to the problems is to build front-end Solidare mobile app.
The research methodology that used in development of front-end application is method applied research. The first step of development is analyzing all the problems, and then analyzing system architecture, further analyzing the encryption aes-128 algorithm that used for data security, and collect all the application needs to be used as material for the analyze of application functionality. After that perform system design frontend.
Solidare frontend application that has been designed and then implemented in the programming language C# on windows phone platform. And continued testing of the system by using black box method and beta testing. Results of the testing showed that the front-end system application has been easier for donors/societies in obtaining information about out of school children, making a donation, do a recommendation to out of school children, and applying the encryption AES-128 algorithm in order to maintain the confidentiality of the data on the system front-end applications.
Key words: Donation Application, Windows Phone, Children, Enryption Algorithm, AES.
1. PENDAHULUAN
Education and poverty are the two things are closely related to its influence in the center of social life. This can be seen in the annual article 2013 of UNICEF to Indonesia entitled "The Story Of Indonesia" can be the fact that there are approximately 2.3 million children aged 7-15 years or 42% of Indonesia's population are mostly school dropouts [1] , Economic factors are the main cause of school dropouts, reaching 36%. Overcome this, the charity has had the legality of legally present and answer these problems by helping the children out of school. Yayasan Rumah Zakat Indonesia come to give solution to children dropping out of school by providing assistance in the form of scholarships and some scholarships to the needs of school supplies and other scholarship programs. The goal is as a facilitator connecting donors donate to children who drop out of school.
Based on observations with part scholarships at the headquarters of the Foundation RZ obtained some of the facts which are the donors is difficult to get information on the activities / news of the latest social communities or of charity. The difficulty donors make donations to other foster care because of the unavailability of data presentation foster children even provide options to suit the wishes of donors. In addition, donors difficulty if you want to recommend the school dropouts who are in the surrounding environment and the general public still having trouble getting information about underprivileged kids / children dropping out of school and how to help them.In addition to some of the facts and problems, in a good mobile application development begins to consider what kind of data security that is used. In this study, the data security in mobile applications Solidare algorithm using Advanced Encryption System (AES) [2].Then the mobile device selection in this study is because mobile devices are expected to dominate the market up to 2.16 billion in the year 2016 with a growth rate of 12.6% from 2015 [3].
(33)
1.1 Metode Pembangunan Perangkat Lunak
Software development method used in the construction of Solidare frontend that waterfall models. The following process is the waterfall model [4]:
1. Requirements analysis and definitionCollection needs have been defined in full and then analyzed and defined needs that must be met by the program to be built.
2. System and software designDoing design software. Done after the completion requirements are collected in full.
3. Implementation and unit testingResults of the program design is translated into codes by using a programming language that has been determined. The program is built directly tested by its units. 4. Integration and system testingUnification of the
program units then tested the system as a whole. 5. Operation and maintenanceOperate the program in
their environment and perform maintenance, such as adjustment or change because adaptation to the actual situation.Here are the stages of software development with the waterfall model can be seen in Figure I 1 the following:
Figure I 1 Model Waterfall
1.2 Citizen Journalism
The basic concept of citizen journalism that is positioned in the audience as a news producer as well, not just passive consumers as long as it goes in the logic of traditional journalism work-based media. That is the position of the journalist as a search and news writer, speaker as a source of news, and the audience as consumers of news is not valid. Between producer and consumer news can no longer be identified in detail because anyone can play both. In essence, the citizen journalism that takes precedence is the active role undertaken by the community in the activities of collecting, reporting, analyzing and delivering information and news [5].
II.1 Advanced Encryption Standard
Advanced Encryption Standard is a symmetric cryptographic algorithm that can be used to secure the data. This is a standard encryption algorithm with a key-symmetrical. AES algorithm with a symmetric block cipher text can encrypt (encipher) and decryption (decipher) the information. This type of algorithm is divided into three, namely AES-128, AES-192 and AES-256. Each type of the AES algorithm can encrypt and decrypt data at block 128 bits, 128 bits block is a fixed size block cipher used in the AES algorithm. Block cipher has the following characteristics:
a. Plaintext is divided into blocks of bits with the same length, for example 128 bits.
b. An encryption key length = length of the block c. Encryption is done on the bit plaintext block using key bits.
d. Encryption algorithms produce ciphertext block length = block of plaintext.
1.3 JSON
JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. JSON sendiri memiliki struktur data yang terdiri dari json array dan json object. Json array adalah kumpulan nilai yang terurutkan dan memiliki bentuk kurung kotak ( [ ] ), sedangkan json object adalah kumpulan pasangan
stringdanvaluedan memiliki bentuk kurung kurawal ( { } ) [9].
1.4 Pemrogramman Berorientasi Objek
Object-oriented programming (PBO) is a continuation of the process of object-oriented analysis and design. In the object-oriented programming, component designed in the design process is implemented using object-oriented programming language. Here are some of the object-oriented programming concepts, namely:1. ObjectsIn the PBO, the object is a composition / framework in the form of data and procedures to operate the data.2. AbstractionAbstraction is representative of data or the same procedure to conceal an object if it is not connected and can be used in other cases if they relate.3. EncapsulationEncapsulation is a process that does not allow direct access to the data (data hidden). In order to access the data, it must first be connected to the object responsible for the data.4. PolymorphismPolymorphism is the ability of two different objects in response to the same request in its own way.5. InheritanceInheritance (inheritance) is used to classify objects in the program based on common characteristics.6. AggregationAggregation is the condition when an object is combined with part of another object, and then work together.
(34)
Journal of Computer Science and Informatics (KOMPUTA)
3
Page. .. Volume. .., Issue 20.. ISSN : 2089-9033
1.5Unified Modelling Language(UML)
Unified Modeling Language (UML) is a standard modeling language used in software development with object oriented approach. In designing the system, the model has an important role to manage complexity. Modeling can connect every important aspect of system design. A model is a representation of a real object. Models are built is the simplification of the system to be built. Model gives purpose and viability of the system to be understood and evaluated. And provide insight faster than should directly into the actual system. UML version 2.0 has a 13 diagram that can be used. However, in this study only 4 UML diagram that will be used. Table II 1 explains the diagram that will be used.
Table II 1 UML 2.0 diagrams are Used Nama Diagram Deskripsi
Use Case
Diagram
Describe the interaction between user and system to be built. Assist in mapping the needs of the system. Illustrates the sequential and parallel activity in the system. Describes the relationship classes, interfaces in the system. Describe interactions between objects in which the order of each object and its interaction is very important.
Activity Diagram Describe the interaction
between user and system to be built. Assist in mapping the needs of the system. Illustrates the sequential and parallel activity in the system.
Describes the
relationship classes, interfaces in the system. Describe interactions between objects in which the order of each object and its interaction is very important.
Class Diagram Describe the interaction
between user and system to be built. Assist in mapping the needs of the
Nama Diagram Deskripsi
system. Illustrates the sequential and parallel activity in the system.
Describes the
relationship classes, interfaces in the system. Describe interactions between objects in which the order of each object and its interaction is very important.
Sequence Diagram Describe the interaction
between user and system to be built. Assist in mapping the needs of the system. Illustrates the sequential and parallel activity in the system.
Describes the
relationship classes, interfaces in the system. Describe interactions between objects in which the order of each object and its interaction is very important. 2. ISI PENLITIAN
2.1 Problem Analysis
Here are some of the problems that arise in this study are:
1. The difficulty of donors to recommend underprivileged children because of the limited knowledge about the information / how to recommend to social communities or charities.
2. The difficulty of donors to donate to underprivileged children / other school dropouts due to the unavailability of data presentation underprivileged child / children out of school even gives the option accordance with the wishes of donors.
3. The difficulty of donors to determine a child's development because of the lack of services that allows donors to get reports of child development that terdonasi.
4. The general public is sometimes difficult to get information about underprivileged kids / children
(35)
dropping out of school and do not know how menbantu them.
Important data from the data foundation and donors who are internal and confidential, so it is necessary to implement security on the data.
2.2 Frontend System Architecture
Solidare frontend system architecture can be seen in
FigureIII 1.
Figure 0-1Solidare frontend system architecture
General overview of the system architecture consists of two subsystems. The first is where the web administrator is an administrator to manage the website that has been stored in the web server hosting and cloud computing services Microsoft Azure Web Service. Once saved, in this administrator also provided web service API in the form of charity so that data can be accessed by other platforms. Encode the data form the results of its PHP is JSON. The second is the windows phone mobile devices where the data will be in the form of JSON-parsing the JSON parser so that data from the web administrator can be accepted by donors.
2.3 Analyze of AES Encryption Agorithm
On this analysis will be explained how the cryptographic algorithm implemented into Solidare frontend systems. Cryptographic algorithms used in cryptographic algorithms frontend Solidare is 128 Bit Advanced Encryption Standard (AES-128). In the AES-128 algorithm, there are two processes, namely the processes of encryption and decryption process
2.4 Architecture Design Frontend
Here is the architectural design frontend menu Solidare:
Figure 0-2 design frontend menu Solidare
2.5 Design Of Message
The design of the message that will be discussed is the design of an existing message on frontend Solidare. Here are some messages on frontend design Solidare.
Figure 0-3P01-Required Input Data
Figure 0-4 P02-InformasiRequired Internet Connection
(36)
Journal of Computer Science and Informatics (KOMPUTA)
5
Page. .. Volume. .., Issue 20.. ISSN : 2089-9033
Figure 0-6P04-Alert Upload Data
Figure 0-7P05-Informasi Update Profile
Figure 0-8P06-Alert Load Data
Figure 0-9P07-Informasi Registrasi
Figure 0-10P08-Informasi Donasi
Figure 0-11 Informasi Konfirmasi Transfer Donasi
2.6 Semantic Network
Here is a semantic network of frontend Solidare.
Figure 0-12 semantic network of frontend Solidare
2.7 Implementasi Sistem
Implementation of the system is done in this study is to describe the environment in which the system will be implemented / installed. Then the implementation of any interface design where any registered interfaces that are implemented later if it wanted to see a screenshot of it can be seen in the appendix Implementation environment is the specification of hardware, software where the system will be installed and used. Here is the implementation environment:
1.Hardware Environment
Here are the hardware specifications in the development of this software.
Table IV 1 Frontend Builders Hardware Implementation Environment Applications
No Item Spesifications
1 Processor Intel Core i7-4510U CPU @ 2.00 GHz 2.60 GHz 2 Harddisk 1 TB
3 Memory 4 GB 4 VGA 4 GB 5 Monitor 14 inch
6 Mouse Optical Microsoft Sculpt Touch
7 Keyboard QWERTY Creative 8 USB port 3 port
9 Internet Connection
yes 10 Windows
Phone 8.0
Phablet Lumia 1520 6 inch dan Lumia 520 4.5 inch
(37)
Here is specification for hardware to access the system:
Tabel 0-1Hardware Environment
No Item Spesifikasi
1 Processor @ Dual-Core 1 GB
2 SD Card 8 GB
3 Memory 512 GB
4 Koneksi Internet Ada 5 Windows Phone version 8.0
1. Software Environment
The software used in the construction of this Solidare frontend is:
1. Operating System Windows 8 64-bit Single Language.
2. The programming language C #.
3. Code editor using Microsoft Visual Studio 2013 Community Update 4.
4. Windows phone applications built using the .NET Framework 4.
5. The exchange of data is done using JSON..
Here is specification for Software to access the system:
Table 0-2 Software Environment
No Item Spesifikasi
1. Windows Phone version 8.0 (Lumia Denim)
IV.1.1 Implementation of UI
This section contains the interface implementation of windows phone in which the implementation of the interface is represented by interface name along with the name of the file they represent.
Table 0-3 UI Implementation No Nama Antarmuka Nama File
1 Walkthrough Aplikasi
PageStart.xaml
2 Login PageLogin.xaml
3 Register PageRegister.xaml
4 Timeline News NewHomepage.xaml
5 Detail News PageDetailNews.xaml
6 Timeline Donation NewHomepage.xaml
7 Profile PageProfileDonatur.xaml
8 User Sponsored Children
PageProfileDonatur.xaml
9 Report Card PageRapotAnak.xaml
10 Detail Profile PageDetailDonatur.xaml 11 Setting Profile PageSetting.xaml
12 User Change
Password
PagePassword.xaml
13 Children Recommendation
PageRekomendasi.xaml
14 Detail Children PageDetailAnak.xaml PageProfileAnak.xaml DetailAnakAsuhNearby.xaml 15 Donation List PageKeranjangDonasi.xaml 16 Donation Detail DetailDonation.xaml 17 Confirmation PageKonfirmasi.xaml
No Nama Antarmuka Nama File
18 Filter Children PageFilter.xaml 19 Nearby Location PageNearby.xaml
20 About PageAbout.xaml
21 Terms & Conditions PageTerms.xaml
From the list above table, it can be concluded that the entire interface has been implemented in the class. For details of its interface can be found in appendix A.
2.8 System Testing
Testing the frontend system consists of two stages of testing alpha and beta testing. The method used in this frontend system testing method is to use black box testing where this test focuses on the functional requirements of the software. In the test scenario is divided into two types, namely functional test scenarios and test scenarios acceptance.
1. Scenario functional testing Scenario functional testing is done by testing one frontend system is windows phone. Scenario testing frontend windows phone system can be seen in Table IV 5.
Table 0-4 Functionall testing scenario No Kelas Uji Poin Pengujian Jenis
Pengujian
1 Login Isi datalogin Equivalence
Partitioning
Validasifield login Equivalence Partitioning
2 Register Isi data register Equivalence
Partitioning
Validasifield register Equivalence Partitioning
3 Forgot
password
Memasukanemaildan nomor telepon
Equivalence Partitioning
Validasi field email
dannomor telepon
Equivalence Partitioning
4 Setting profile Isi dataprofile Equivalence Partitioning
5 Change
password
Memasukan current-password dan new-password
Equivalence Partitioning
Validasifield current-password dan new-password
Equivalence Partitioning
6 Donation Memililh anak yang akan didonasi Equivalence Partitioning 7 Confirmation transfer donasi
Isi dataconfirmation Equivalence Partitioning Validasi field confirmation Equivalence Partitioning 9 Rekomendasi anak
Isi data rekomendasi anak
Equivalence Partitioning
11 Filtering anak berdasarkan status anak
Memilih statusorphan, orphans, dan poor children.
Equivalence Partitioning
12 Filtering anak berdasarkan jenjang pendidikan anak
Memilih jenjang pendidikanelementary school, junior school,
danhigh school.
Equivalence Partitioning
(38)
Journal of Computer Science and Informatics (KOMPUTA)
7
Page. .. Volume. .., Issue 20.. ISSN : 2089-9033
13 Filtering anak berdasarkan jenis kelamin anak
Memilih jenis kelamin anak laki-laki dan perempuan.
Equivalence Partitioning
1. Skenario pengujian beta
Berikut adalah daftar pertanyaan kuesioner pengujian beta yang disebar kepada 30 masyarakat sabagai calon pengguna frontend aplikasi yang dibangun yang dapat dilihat pada Tabel 0-5.
Tabel 0-5 Daftar Pertanyaan Kuesioner N
O PERTANYAAN S
S S N T S T Metode Hasil Pengujia n
1 Apakah anda
setuju jika daftar anak kurang mampu/anak putus sekolah ditampilkan pada aplikasi ini?
Skala
Likert
2 Apakah anda
setuju aplikasi ini memberikan kemudahan untuk
merekomendasik an anak kurang mampu/anak putus sekolah?
3 Apakah anda
setuju aplikasi ini membantu dalam berdonasi?
4 Apakah anda
setuju aplikasi ini memberikan kemudahan dalam melakukan konfirmasi transfer donasi?
5 Apakah anda
setuju aplikasi ini memberikan
feedback laporan perkembangan anak setiap semesternya?
6 Apakah anda
setuju tampilan aplikasi ini mudah
dipahami?
7 Apakah anda
setuju jika pada sebuah aplikasi
mobile hanya memiliki satu warna dominan?
8 Apakah anda
setuju jenis font
pada aplikasi ini
N
O PERTANYAAN S
S S N T S T Metode Hasil Pengujia n
mudah untuk dibaca?
9 Apakah anda
setuju ukuran
fontpada aplikasi ini sesuai untuk dibaca? 10 Apakah anda
setuju dengan adanya
keamanan data pada aplikasi ini?
The test results are the result of test scenarios that have been developed previously. Results of tests performed consisted of the results of the testing and beta testing functionality.
3. CONCLUSION
Based on test results Solidare frontend application on windows phone platform, it can be concluded the following
1. Frontend Solidare application on windows phone platform has largely been able to facilitate the donor in making donations to underprivileged children / school dropouts.
2. Frontend Solidare application on windows phone platform has largely been able to facilitate donors in making recommendations underprivileged child / children out of school are located around the user's environment.
3. Frontend Solidare application on windows phone platform has largely been able to facilitate donors in getting reports of child development that has terdonasi by the user.
4. Frontend Solidare application on windows phone platform has largely been able to help people as a medium of information about the news of the social community / charity and as a medium to donate to underprivileged child / children out of school. 5. Frontend Solidare application on windows phone
platform has been using AES-128 encryption algorithm in the process of exchanging data with the web server. So that data encrypted with both and reduce the possibility of data intimidation from outsiders who are not responsible.
(39)
[1] Laporan Tahunan Indonesia, UNICEF, 2013.
[2] “Advanced Encryption Standard,” 25 November 2014.
[Online]. Available:
https://id.wikipedia.org/wiki/Advanced_Encryption_Standard. [Diakses 5 July 2015].
[3] “Mobile App Developers: Start with Security,” February2013. [Online]. Available: https://www.ftc.gov/tips-advice/business-center/guidance/mobile-app-developers-start-security. [Diakses 5 July 2015].
[4] Z. Habibi, “"Citizen Journalism": Ketika Berita Tidak Hanya Memiliki Satu Muka,”Jurnal Komunikasi,vol. 1, no. 2, pp. 1-18, 2007.
[5] j. org, “json org,” [Online]. Available: http://json.org/json-id. [Diakses 5 July 2015].
[6] I. Sommerville, Software Engineering, USA: Pearson Education, Inc., 2011.
[7] Ayushi, “Symmetric Key Cryptographic Algorithm,” International Journal of Computer Applications,vol. 1, no. 1, pp. 1-4, 2010.
[8] C. Ireland, B. David, M. Newton dan K. Waugh,
“Understanding Object-Relational Mapping: A Framework
Based Approach,” International Journal on Advances in Software,,vol. 2 no. 2&3, pp. 202-216, 2009.
[9] P. Pramudya, Membuat Aplikasi untuk Windows Phone, Bandung: ANDI, 2011.
[10] J-LAB, “J-LAB Knight Community News Network,” Knight
Foundation, [Online]. Available: http://kcnn.org/learning-modules/principles-of-citizen-journalism/. [Diakses 10 Agustus 2015].
[11] D. Selent, “Advanced Encryption Standard,”InSight: RIVER ACADEMIC JOURNAL,vol. 6, no. 2, pp. 1-14, 2010.
(40)
iii
KATA PENGANTAR
Assalamu’alaikum Warahmatullahi Wabarakatuhu.
Puji dan syukur penulis panjatkan kehadirat Allah SWT, karena atas rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir dengan judul
“Pembangunan Frontend dan Penerapan Algoritma Enkripsi AES Pada Aplikasi Mobile Solidare Apps” 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 terima kasih yang sebesar-besarnya kepada:
1. Orang tua tercinta, Ibu Kokoy dan Bapak Dedi Kuswendi serta kedua adik tercinta Ikhsan dan Hanifa yang senantiasa memberikan do’a, biaya, semangat, nasihat,
motivasi dan kasih sayangnya seumur hidup kepada penulis.
2. Bapak Adam Mukharil Bachtiar, S.Kom., M.T. selaku dosen pembimbing yang telah membimbing, memotivasi, menasehati, memberikan perhatian lebih serta memberikan pengarahan baik selama kegiatan perkuliahan, skripsi, dan sampai mengikuti kompetisi perangkat lunak yang ada di tingkat nasional maupun internasional.
3. Ibu Kania Evita Dewi, S.Pd., M.Si. selaku dosen wali kelas IF-9 angkatan 2011 yang selalu membimbing dan mengarahkan kami ke jalan yang benar selama masa kuliah.
4. Alih Purwandi, Firdaus Akhmad Muttaqin, Irfan Irawan Sukirman, Adi Gumelar, Nizar Assegaf, Selamet Puji Ramadhan, Asep Ahadiaturrohman Nurroja, Taufik Hidayat Supratman, Salman Muhammad, dan Ridwan Ismail Qorib yang
(41)
iv
terakhir walaupun ada beberapa yang sedang menyusul dan untuk bisa tembus ke Yousei-Expo di Korea.
5. Argi Sugiyarsa, Renata Kurniawan, Dika Muhammad Fazar, Dimas Hamdani, Hilman Herlambang, Dzikry Pramanda, Wildan Abdul Gani, Muhammad Rinaldi sebagai pemilik saham Maha Sembilan F.C. alias kelas IF-9.
6. Bisma Abdurrahman Tauhid, Hermina Nur Karimah, Willy Ahmad Syafiq, Thoyib Hidayat, Rayi Ami, Giovani Chintya Chandra, Fakhmi Khaerul Fikri, Miftah Paris, Muhammad Faisal Hadi Putra, Yudha Taufik Nugraha, dan Samodra Adi Cipta yang berjuang bersama di kelas IF-9.
7. Teman-teman IF-9 angkatan 2011 yang telah berjuang bersama menikmati indahnya menjadi pejuang tangguh selama empat tahun ini.
8. Handika, Boby Indra Pratama, Henra Setia Nugraha, Agus Suhendra sebagai teman seangkatan di Divisi CodeLabs yang telah banyak membantu penulis, memberi semangat, memotivasi, menginspirasi penulis baik dalam kompetisi maupun skripsi ini.
9. Ricky Azhari, Riky Lutfi Hamzah, Dian Gunawan, Inti Intishar, Hengky Saputra, Handy Dannu Wijaya, dan Dodi Permana, para pejuang tangguh anak bimbingan bapak Adam yang telah berjuang bersama dalam menyelesaikan tugas akhir skripsi ini dengan baik dan benar.
10. Seluruh Dosen dan Staff pengajar jurusan Teknik Informatika Universitas Komputer Indonesia.
11. Rekan-rekan di Divisi CodeLabs yang selalu memberikan ilmu baru yang sangat bermanfaat bagi kehidupan penulis.
12. Rekan-rekan Mahasiswa Teknik Infomatika angkatan 2011 yang telah membantu dalam kegiatan perkuliahan, maupun dalam penyusunan skripsi ini.
13. Babeh Kurnia, Warteg “Aweu”, Warkop, Bapak Kasidi, Ibu Iim, Bapak Ulti, Ibu dan Bapak Iyus sebagai tukang warteg dan penjual nasi goreng yang selalu menemani di saat lapar dan dahaga selama empat tahun perkuliahan.
(42)
v
14. Keluarga Kosambi Bandung, Bi Tina, Mang Anto, Wa Agus, Mang Dani, Wa Nani, Meitha, Zulfi, Pras yang telah membimbing, menasehati, memotivasi, dan membantu penulis dengan baik selama berada di Bandung.
15. Keluarga Cibaduyut, Wa Lilis, Wa Anton, Aldi, Reza, yang telah membimbing, menasehati, memotivasi, dan membantu penulis dengan baik selama berada di Bandung.
16. Keluarga Cikampek, Mang Ivan, Bi Iis, Ira yang telah membimbing, menasehati, memotivasi, dan membantu penulis dengan baik sampai saat ini.
17. Keluarga Sukabumi, Bi Nunuy, Mang Uus, Hafizh Fiisabilillah, Chandra Purnama, Lafadh Fadhilah, Tazqia yang telah membimbing, menasehati, memotivasi, dan membantu penulis dengan baik sampai saat ini.
18. 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 perkembangan ke arah yang lebih baik. Akhir kata, semoga penulis tugas akhir ini dapat bermanfaat bagi para pembaca.
Bandung, 20 Agustus 2015
(43)
(44)
(45)
(1)
iii
KATA PENGANTAR
Assalamu’alaikum Warahmatullahi Wabarakatuhu.
Puji dan syukur penulis panjatkan kehadirat Allah SWT, karena atas rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir dengan judul “Pembangunan Frontend dan Penerapan Algoritma Enkripsi AES Pada Aplikasi Mobile Solidare Apps” 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 terima kasih yang sebesar-besarnya kepada:
1. Orang tua tercinta, Ibu Kokoy dan Bapak Dedi Kuswendi serta kedua adik tercinta Ikhsan dan Hanifa yang senantiasa memberikan do’a, biaya, semangat, nasihat, motivasi dan kasih sayangnya seumur hidup kepada penulis.
2. Bapak Adam Mukharil Bachtiar, S.Kom., M.T. selaku dosen pembimbing yang telah membimbing, memotivasi, menasehati, memberikan perhatian lebih serta memberikan pengarahan baik selama kegiatan perkuliahan, skripsi, dan sampai mengikuti kompetisi perangkat lunak yang ada di tingkat nasional maupun internasional.
3. Ibu Kania Evita Dewi, S.Pd., M.Si. selaku dosen wali kelas IF-9 angkatan 2011 yang selalu membimbing dan mengarahkan kami ke jalan yang benar selama masa kuliah.
4. Alih Purwandi, Firdaus Akhmad Muttaqin, Irfan Irawan Sukirman, Adi Gumelar, Nizar Assegaf, Selamet Puji Ramadhan, Asep Ahadiaturrohman Nurroja, Taufik Hidayat Supratman, Salman Muhammad, dan Ridwan Ismail Qorib yang tergabung dalam aliansi “bukan akatsuki” dan berjuangdari semester awal sampai
(2)
iv
terakhir walaupun ada beberapa yang sedang menyusul dan untuk bisa tembus ke Yousei-Expo di Korea.
5. Argi Sugiyarsa, Renata Kurniawan, Dika Muhammad Fazar, Dimas Hamdani, Hilman Herlambang, Dzikry Pramanda, Wildan Abdul Gani, Muhammad Rinaldi sebagai pemilik saham Maha Sembilan F.C. alias kelas IF-9.
6. Bisma Abdurrahman Tauhid, Hermina Nur Karimah, Willy Ahmad Syafiq, Thoyib Hidayat, Rayi Ami, Giovani Chintya Chandra, Fakhmi Khaerul Fikri, Miftah Paris, Muhammad Faisal Hadi Putra, Yudha Taufik Nugraha, dan Samodra Adi Cipta yang berjuang bersama di kelas IF-9.
7. Teman-teman IF-9 angkatan 2011 yang telah berjuang bersama menikmati indahnya menjadi pejuang tangguh selama empat tahun ini.
8. Handika, Boby Indra Pratama, Henra Setia Nugraha, Agus Suhendra sebagai teman seangkatan di Divisi CodeLabs yang telah banyak membantu penulis, memberi semangat, memotivasi, menginspirasi penulis baik dalam kompetisi maupun skripsi ini.
9. Ricky Azhari, Riky Lutfi Hamzah, Dian Gunawan, Inti Intishar, Hengky Saputra, Handy Dannu Wijaya, dan Dodi Permana, para pejuang tangguh anak bimbingan bapak Adam yang telah berjuang bersama dalam menyelesaikan tugas akhir skripsi ini dengan baik dan benar.
10. Seluruh Dosen dan Staff pengajar jurusan Teknik Informatika Universitas Komputer Indonesia.
11. Rekan-rekan di Divisi CodeLabs yang selalu memberikan ilmu baru yang sangat bermanfaat bagi kehidupan penulis.
12. Rekan-rekan Mahasiswa Teknik Infomatika angkatan 2011 yang telah membantu dalam kegiatan perkuliahan, maupun dalam penyusunan skripsi ini.
13. Babeh Kurnia, Warteg “Aweu”, Warkop, Bapak Kasidi, Ibu Iim, Bapak Ulti, Ibu dan Bapak Iyus sebagai tukang warteg dan penjual nasi goreng yang selalu menemani di saat lapar dan dahaga selama empat tahun perkuliahan.
(3)
v
14. Keluarga Kosambi Bandung, Bi Tina, Mang Anto, Wa Agus, Mang Dani, Wa Nani, Meitha, Zulfi, Pras yang telah membimbing, menasehati, memotivasi, dan membantu penulis dengan baik selama berada di Bandung.
15. Keluarga Cibaduyut, Wa Lilis, Wa Anton, Aldi, Reza, yang telah membimbing, menasehati, memotivasi, dan membantu penulis dengan baik selama berada di Bandung.
16. Keluarga Cikampek, Mang Ivan, Bi Iis, Ira yang telah membimbing, menasehati, memotivasi, dan membantu penulis dengan baik sampai saat ini.
17. Keluarga Sukabumi, Bi Nunuy, Mang Uus, Hafizh Fiisabilillah, Chandra Purnama, Lafadh Fadhilah, Tazqia yang telah membimbing, menasehati, memotivasi, dan membantu penulis dengan baik sampai saat ini.
18. 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 perkembangan ke arah yang lebih baik. Akhir kata, semoga penulis tugas akhir ini dapat bermanfaat bagi para pembaca.
Bandung, 20 Agustus 2015
(4)
(5)
(6)