proposal sms kriptografi
DESCRIPTION
contoh proposal pengajuanTRANSCRIPT
-
1
BAB I
PENDAHULUAN
1.1. Latar Belakang Permasalahan
Perangkat mobile seperti ponsel saat ini sudah biasa
dimiliki oleh setiap orang dari berbagai umur dan kalangan,
penggunaan ya pun beragam tidak lagi hanya seputar SMS dan
telepon tetapi sebagai media hiburan seperti untuk memainkan
games atau sebagai alat untuk mengakses internet.
Android saat ini menjadi salah satu OS mobile yang saat
ini banyak digunakan oleh pengguna ponsel di seluruh dunia
(dikutip dari Net Applications pada bulan September 2014
sebanyak 47% pengguna android di dunia), sebagai OS open
source yang digagas oleh Google inc. android menjadi salah satu
OS mobile yang bersaing ketat dengan iOS (OS mobile milik
Apple) baik dari segi fitur dan dukungan aplikasi, tentu nya dari
segi keamanan, Android dapat diandalkan apalagi dengan fitur
android device manager yang baru-baru ini diluncurkan oleh
Android.
Akan tetapi dengan tingginya tingkat keamanan ini bukan
berarti semua layanan yang ada di Android aman dari aktifitas
pembajakan, salah satu nya adalah layanan pesan singkat atau
SMS (Short Message Service), secara default pada perangkat
android sama sekali tidak memiliki metode pengamanan.
-
2
Sehingga dibutuhkan software aplikasi pihak ketiga dalam
mengamankan service SMS tersebut.
Keamanan dalam layanan SMS juga sangat perlu
diperhatikan, karena SMS saat ini masih sering digunakan dan
juga memiliki celah keamanan yang besar yang memungkinkan
data dari SMS tersebut diambil oleh pihak lain, seperti pihak
operator memang terkadang menjanjikan kepada pelanggan
bahwa keamanan akan dijamin dan tidak akan terjadi
penyadapan data oleh pihak yang tidak berhak, namun pada
kenyataannya data yang dikirimkan melalui service SMS bisa
saja akan ter-sadap atau diketahui dengan gampang saat data
SMS tersimpan pada data center sebuah provider.
Oleh karena itu sebaiknya user terlebih dahulu
menggunakan aplikasi yang bisa membuat data ter-enkripsi
sebelum dikirimkan melalui service SMS sehingga provider hanya
akan meneruskan pesan yang dikirimkan tanpa bisa dibaca
terlebih dahulu.
1.2. Identifikasi Masalah
Berdasarkan latar belakang maka dapat dirumuskan
masalah yang akan diselesaikan adalah :
1. Bagaimana merancang dan membangun aplikasi enkripsi
menggunakan Algoritma Blowfish pada Android ?
-
3
2. Bagaimana menerapkan enkripsi tersebut ke dalam Layanan
SMS pada Android ?
1.3. Batasan Permasalahan
Adapun batasan masalah agar pembahasan pada skripsi
ini sesuai dengan masalah yang akan diteliti adalah sebagai
berikut :
1. Pembuatan aplikasi pengiriman pesan enkripsi
menggunakan Algoritma Blowfish
2. Pada aplikasi ini, data yang di enkripsi adalah karakter teks
pada SMS
3. Aplikasi ini dikembangkan untuk sistem operasi Android
4. Tidak membahas kelemahan dan kelebihan pada algoritma
Blowfish
5. Kunci keamanan yang digunakan adalah alfanumerik antara
3 sampai 10 karakter
6. Aplikasi ini berjalan pada sistem operasi Android minimal
versi 4.0.3 (Ice Cream Sandwich)
7. Tidak membahas bagaimana cara penyampaian kunci
-
4
1.4. Maksud Dan Tujuan Penelitian
1.4.1. Maksud Penelitian
Adapun maksud penelitian ini adalah untuk memperbaiki
kekurangan dalam layanan SMS yang sudah ada agar lebih
aman dan bebas dari pembajakan data oleh pihak ketiga.
1.4.2. Tujuan Penelitian
Adapun yang menjadi tujuan dari penelitian ini
berdasarkan dari identifikasi masalah adalah :
1. Merancang dan membangun aplikasi enkripsi menggunakan
Algoritma Blowfish pada Android
2. Menerapkan enkripsi tersebut pada layanan SMS pada
Android
1.5. Kegunaan Penelitian
1.5.1. Kegunaan Teoritis
Kegunaan teoritis dari penelitian ini adalah sebagai
realisasi konsep keamanan data selain untuk menambah
wawasan bagi penulis dan mengaplikasikan ilmu yang didapat
selama di bangku kuliah. Dengan adanya program ini diharapkan
dapat dijadikan sebagai bahan referensi bagi pihak yang ingin
meneliti lebih lanjut dan membandingkan nya dengan apa yang
sudah diperoleh sebelumnya.
-
5
1.5.2. Kegunaan Praktis
Kegunaan praktis dalam penelitian ini ditujukan agar
penulis dapat :
1. Membuat pengguna layanan SMS merasa lebih aman dalam
mengirim dan menerima SMS.
2. Mengatasi kelemahan keamanan dan Kerahasiaan dari
layanan SMS yang ada di OS Android.
-
6
BAB II
TINJAUAN PUSTAKA
2.1. Penelitian Terkait
Beberapa penelitian terkait dengan penelitian ini
diantaranya adalah oleh (Prasetyo, 2010) yang meneliti Aplikasi
Enkripsi SMS Menggunakan Metode Blowfish, aplikasi SMS
enkripsi ini diterapkan pada perangkat mobile berbasis J2ME,
penelitian ini berhasil mengamankan pesan singkat (SMS)
dengan kecepatan rata-rata enkripsi/deskripsi adalah 33,25 ms,
penelitian ini memiliki kelemahan yaitu jumlah karakter yang ter-
enkripsi lebih besar daripada plaintext (teks sebelum dienkripsi).
Penelitian terkait kedua oleh (Nugroho, 2010) yang
berjudul Aplikasi Enkripsi SMS Pada Telepon Seluler Berbasis
J2ME Dengan Metode Vigenere Cipher, penelitian ini berhasil
menerapkan algoritma Vigenere untuk mengamankan dan
menyembunyikan informasi pada SMS menggunakan ponsel
Java (J2ME), algoritma Vigenere adalah algoritma substitusi
klasik yang sangat mudah di-crack oleh cryptanalysis, penulis
merubah plaintext ke-dalam bentuk kode ASCII sebelum dirubah
ke-dalam bentuk cipher text, kelemahan dalam penelitian ini
adalah belum adanya basis data sebagai tempat penyimpanan
SMS yang sudah di-terima dan keamanan data tidak terlalu kuat
(Vigenere Cipher) dan bisa cepat di pecahkan oleh cryptanalyst.
-
7
Penelitian selanjutnya oleh (Sudarminto, 2014) yang
berjudul Rancang Bangun Aplikasi Enkripsi Short Message
Service (SMS) Menggunakan Algoritma Caesar Cipher Dan
Algoritma RC4 Berbasis Android, penelitian ini menerapkan 2
algoritma kriptografi (Caesar Cipher dan Algoritma RC4) untuk
mengamankan SMS yang dikirim atau diterima pada ponsel
Android, kelemahan dan saran pengembangan dari penelitian ini
tidak adanya penyimpanan Kata kunci karena kemungkinan tiap
SMS yang diterima menggunakan kata kunci yang berbeda.
Adapun penelitian terkait dalam penelitian ini dapat dilihat
pada tabel berikut ini :
Tabel 2.1. Penelitian Terkait
No. Peneliti Judul
Penelitian/Tahun Hasil Kekurangan
1. (Prasetyo,
2010)
Aplikasi Enkripsi
SMS
Menggunakan
Metode Blowfish
Aplikasi SMS
di terapkan
pada ponsel
J2ME, proses
enkripsi lebih
cepat karena
menggunakan
algoritma
Blowfish
Belum
menggunakan
basis data,
sehingga
SMS yang ter
enkripsi tidak
bisa di
simpan di
aplikasi SMS
enkripsi
2. (Nugroho,
2010)
Aplikasi Enkripsi
SMS Pada
Telepon Seluler
SMS enkripsi
diterapkan
pada ponsel
Keamanan
masih kecil
karena
-
8
Berbasis J2ME
Dengan Metode
Vigenere Cipher
J2ME,
sebelum di
ubah ke
dalam cipher
text SMS
diubah ke
dalam kode
ASCII terlebih
dahulu.
Vigenere
adalah
algoritma
substitusi
klasik yang
masih cukup
cepat di
pecahkan
oleh
cryptanalyst
3. (Sudarminto,
2014)
Rancang Bangun
Aplikasi Enkripsi
Short Message
Service (SMS)
Menggunakan
Algoritma Caesar
Cipher Dan
Algoritma RC4
Berbasis Android
Aplikasi SMS
enkripsi
diterapkan
pada android,
algoritma
RC4 lebih
aman dan
kuat
Proses
enkripsi
menggunakan
RC4 cukup
lama jika
dibandingkan
dengan
Algoritma
Blowfish,
belum ada
basis data
2.2. Landasan Teori
2.2.1. Aplikasi Mobile
Aplikasi adalah suatu subkelas perangkat lunak komputer
yang memanfaatkan kemampuan komputer langsung untuk
melakukan suatu tugas yang diinginkan pengguna. Biasanya
dibandingkan dengan perangkat lunak sistem yang
mengintegrasikan berbagai kemampuan komputer, tapi tidak
-
9
secara langsung menerapkan kemampuan tersebut untuk
mengerjakan suatu tugas yang menguntungkan bagi pengguna 1.
Mobile dapat diartikan sebagai perpindahan yang mudah
dari satu tempat ke tempat yang lain, misalkan telepon mobile
berarti bahwa terminal telepon yang dapat berpindah dengan
mudah dari satu tempat ke tempat lain tanpa terjadi pemutusan
atau terputus nya komunikasi. 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. Pemanfaatan aplikasi mobile
untuk hiburan paling banyak digemari oleh hampir 70% pengguna
telepon seluler, karena dengan memanfaatkan adanya fitur game,
music player, sampai video player membuat kita menjadi semakin
mudah menikmati hiburan kapan saja dan dimanapun.
2.2.2. SMS (Short Message Service)
Short Message Service (SMS) adalah suatu fasilitas
untuk mengirim dan menerima suatu pesan singkat berupa teks
melalui perangkat nirkabel, yaitu perangkat komunikasi telepon
seluler, dalam hal ini perangkat nirkabel yang digunakan adalah
1 Safaat H. Nazruddin. 2011. Pemrograman Aplikasi Mobile Smartphone dan Tablet PC
Berbasis Android. Informatika Bandung. Bandung.
-
10
telepon seluler. Salah satu kelebihan dari SMS adalah biaya yang
murah 2.
Selain itu SMS merupakan metode store dan forward
sehingga keuntungan yang didapat adalah pada saat telepon
seluler penerima tidak dapat dijangkau, dalam arti tidak aktif atau
di luar service area, penerima tetap dapat menerima SMS-nya
apabila telepon seluler tersebut sudah aktif kembali.
2.2.3. Kriptografi
Kriptografi (cryptography) berasal dari bahasa Yunani yaitu
cryptos artinya rahasia (secret) dan graphein artinya tulisan
(writing). Jadi kriptografi berarti tulisan rahasia (secret writing).
Secara istilah kriptografi didefinisikan sebagai ilmu sekaligus seni
untuk menjaga kerahasiaan pesan (data atau informasi) yang
mempunyai arti atau nilai, dengan cara menyamarkan nya
(mengacak) menjadi bentuk yang tidak dapat dimengerti
menggunakan suatu algoritma tertentu. Suatu pesan yang akan
dirahasiakan atau disandi kan dalam ilmu kriptografi disebut
plaintext, sedangkan pesan yang telah disandi kan sehingga tidak
memiliki nilai dan arti lagi dengan tujuan agar pesan tidak dapat
dibaca oleh pihak yang tidak berhak disebut chipertext.
Dalam ilmu kriptografi juga terdapat istilah enkripsi dan
dekripsi. Enkripsi merupakan proses menyandikan
plaintext menjadi chipertext dengan menggunakan algoritma
2 Wahidin. 2010. Aplikasi SMS dengan PHP Untuk Orang Awam, Maxikom. Palembang
-
11
tertentu. Sedangkan proses mengembalikan chipertext menjadi
plaintext disebut dekripsi. Berikut ini skema umum sebuah
penyandian dalam kriptografi. 3
2.2.4. Algoritma
2.2.4.1. Pengertian Algoritma
Algoritma adalah suatu prosedur yang jelas untuk
menyelesaikan suatu persoalan dengan menggunakan langkah-
langkah tertentu dan terbatas jumlahnya, dimana susunan
langkah nya pasti dan apabila di-ikuti maka akan
mentransformasi data input menjadi output yang berupa
informasi.4
Menurut Donald E. Knuth, menyatakan ada beberapa
ciri dari algoritma diantaranya :
1. Algoritma mempunyai awal dan akhir, suatu algoritma harus
berhenti setelah mengerjakan serangkaian tugas. Dengan
kata lain, suatu algoritma memiliki langkah yang terbatas.
2. Setiap langkah harus didefinisikan dengan tepat sehingga
tidak memiliki arti ganda, tidak membingungkan (not
ambiguous).
3. Memiliki masukan (input) atau kondisi awal.
3 Kurniawan, Yusuf, Ir. Kriptografi Keamanan Internet dan Jaringan Komunikasi. Bandung:
Informatika Bandung, 2004. 4 Suarga, 2012. Algoritma dan Pemrograman. Yogyakarta: ANDI Publisher (halaman 1-2)
Gambar 2.1. Sistem Kriptografi
-
12
4. Memiliki keluaran (output) atau kondisi akhir.
5. Algoritma harus efektif, bila diikuti benar-benar maka akan
menyelesaikan penelitian.
2.2.4.2. Algoritma Kriptografi
Perkembangan algoritma kriptografi dapat kita bagi menjadi dua,
yaitu :
1. Kriptografi klasik
Pada algoritma klasik, diterapkan teknik enkripsi konvensional
(simetris). Algoritma ini merupakan algoritma kriptografi yang
biasa digunakan orang sejak berabad-abad yang lalu.
2. Kriptografi Modern
Kriptografi modern lebih menitikberatkan pada kerahasiaan kunci
yang digunakan pada algoritma tersebut (oleh pemakai nya)
sehingga algoritma tersebut dapat saja disebarkan tanpa takut
kehilangan kerahasiaan bagi para pemakai nya.
Secara umum berdasarkan kesamaan kunci nya, algoritma sandi
dibedakan menjadi:
a. Algoritma Simetris (symmetric algorithm) adalah suatu
algoritma yang menggunakan kunci enkripsi sama dengan
kunci dekripsi sehingga algoritma ini disebut juga sebagai
single-key algorithm. Beberapa algoritma kriptografi simetris
antara lain DES, Blowfish, IDEA, RC4, RC5, RC6,AES atau
Rijandel, Serpent dan Twofish, algoritma kriptografi simetris
-
13
dibagi menjadi 2 kategori yaitu algoritma aliran (Stream
Ciphers) dan algoritma blok (Block Ciphers). Pada algoritma
aliran, proses penyandian nya berorientasi satu bit atau satu
byte data. Sedang pada algoritma blok, proses penyandian
nya berorientasi pada sekumpulan bit atau byte data (per
blok).
b. Algoritma Asimetrik (asymmetric algorithm) adalah suatu
algoritma yang menggunakan kunci enkripsi tidak sama
dengan kunci dekripsi. Algoritma ini menggunakan dua kunci
yakni kunci public (public key) dan kunci privat (private key).
Beberapa algoritma kunci public antara lain adalah RSA,
Rabin dan ElGamal. pada algoritma public key ini, semua
orang dapat mengenkripsi data dengan memakai public key
penerima yang telah diketahui secara umum. Akan tetapi
data yang telah ter-enkripsi tersebut hanya dapat di-dekripsi
dengan menggunakan private key yang hanya diketahui oleh
penerima. 5
2.2.4.3. Algoritma Blowfish
Blowfish adalah algoritma kunci simetri, yang berarti
menggunakan kunci yang sama untuk melakukan enkripsi dan
dekripsi file. Blowfish juga merupakan cipher blok, yang berarti
selama proses enkripsi dan dekripsi, Blowfish akan membagi
5 Ariyus, Dony. 2005. Computer Security. Yogyakarta : Andi.
-
14
pesan menjadi blok-blok dengan ukuran yang sama panjang.
Panjang blok untuk algoritma Blowfish adalah 64-bit. 6
Pesan yang bukan merupakan kelipatan delapan byte
akan ditambahkan bit-bit tambahan (padding) sehingga ukuran
untuk tiap blok sama.
Algoritma dalam Blowfish terbagi menjadi dua bagian,
yaitu key expansion dan data encryption.
Proses key expansion akan melakukan konversi sebuah
kunci mulai dari 56 byte sampai beberapa array sub kunci dengan
total mencapai 4168 byte.
Proses data encryption terjadi pada jaringan feistel,
mengandung fungsi pengulangan sederhana sebanyak enam
belas kali. Setiap iterasi, terdiri dari sebuah permutasi yang tidak
bergantung pada kunci dan sebuah substitusi yang tidak
bergantung pada data dan kunci.
Semua operasi merupakan penambahan dan XOR pada
word 32-bit. Operasi penambahan yang dilakukan hanya
merupakan empat indeks array data lookup pada setiap iterasi.
Pada algoritma Blowfish, digunakan banyak sub key.
Kunci-kunci ini harus dihitung atau dibangkitkan terlebih dahulu
sebelum dilakukan enkripsi atau dekripsi data.
6 Schneier, Bruce. (1994) Description of a New Variable-Length Key, 64-Bit Block Cipher
(Blowfish). Cambridge Security Workshop Proceedings.
-
15
Kunci- kunci yang digunakan antara lain terdiri dari, 18
buah 32-bit subkey yang tergabung dalam P-array (P1, P2, ...,
P18).
Selain itu, ada pula empat 32-bit S-box yang masing-
masing nya memiliki 256 entri :
S1,0,
S1,1,..., S1,255; S2,0, S2,1,..,, S2,255; S3,0,
S3,1,..., S3,255; S4,0, S4,1,..,, S4,255.
Pada jaringan feistel, Blowfish memiliki 16 iterasi, masukan nya
adalah 64-bit elemen data, X. Untuk melakukan proses enkripsi :
1. Bagi X menjadi dua bagian yang masing-masing terdiri dari
32-bit: XL, XR.
2. Kemudian lakukan
3. Setelah iterasi ke-enam belas, tukar XL dan XR lagi untuk
melakukan undo pertukaran terakhir.
4. Lalu lakukan
-
16
5. Terakhir, gabungkan kembali XL dan XR untuk mendapatkan
cipher text
2.2.5. Android
2.2.5.1. Sejarah Android
Android adalah sebuah sistem operasi untuk perangkat
mobile berbasis Linux yang mencakup sistem operasi,
middleware dan aplikasi. Awalnya, Google Inc. membeli Android
Inc. yang merupakan pendatang baru dalam pembuatan peranti
lunak untuk ponsel/Smartphone. Kemudian untuk
mengembangkan Android, dibentuk lah Open Handset Alliance,
konsorsium dari tiga puluh empat perusahaan piranti lunak, dan
telekomunikasi, termasuk Google, HTC, Intel, Motorola,
Qualcomm, T-Mobile, dan Nvidia7.
Pada saat rilis perdana Android, 5 November 2007,
Android bersama Open Handset Alliance menyatakan
mendukung pengembangan open source pada perangkat mobile.
Di lain pihak, Google merilis kode-kode Android di bawah lisensi
Apache, sebuah lisensi perangkat lunak dan open platform
perangkat seluler. Pada masa ini kebanyakan vendor-vendor
telah memproduksi Smartphone dan tablet berbasis Android,
vendor-vendor itu antara lain HTC, Samsung, LG, Sony Ericsson,
7 Safaat.Nazarudin, 2011. Android Pemrograman Aplikasi Mobile Smart Phone dan Tablet
PC Berbasis Android.
-
17
Nexian dan masih banyak lagi vendor di dunia yang memproduksi
Smartphone maupun perangkat tablet berbasis Android. Hal ini
dikarenakan Android adalah sistem operasi yang open source
sehingga bebas didistribusikan dan bisa digunakan oleh vendor
manapun .8
2.2.5.2. Dalvik Virtual Machine (DVM)
Salah satu elemen kunci dari android adalah Dalvik
Virtual Machine (DVM). Android berjalan di dalam Dalvik Virtual
Machine (DVM) bukan di Java Virtual Machine (JVM). Dalvik
Virtual Machine (DVM) adalah "register bases", sementara Java
Virtual Machine (JVM) adalah "stack based", DVM didesain dan
ditulis oleh Dan Bornsten dan beberapa engineer Google lainnya.
Dalvik Virtual Machine menggunakan kernel Linux untuk
menangani fungsionalitas tingkat rendah termasuk keamanan,
threading, proses serta manajemen memori. Ini memungkinkan
kita untuk menulis aplikasi C/C++ sama hal nya seperti OS Linux
kebanyakan . 9
2.2.5.3. Android SDK (Software Development Toolkit)
Android SDK adalah tools API (Application
Programming Interface) yang diperlukan untuk memulai
mengembangkan aplikasi pada platform android menggunakan
bahasa pemrograman Java. Android merupakan subset
8 Safaat.Nazarudin, 2011. Android Pemrograman Aplikasi Mobile Smart Phone dan Tablet
PC Berbasis Android. 9 Safaat.Nazarudin, 2011. Android Pemrograman Aplikasi Mobile Smart Phone dan Tablet
PC Berbasis Android.
-
18
perangkat lunak untuk ponsel yang meliputi sistem operasi,
middleware dan aplikasi kunci yang di release oleh Google. 10
.
Android OS (Operating System) adalah Sistem operasi
yang berbasis Linux untuk telepon seluler seperti telepon pintar
dan komputer tablet11
. Android menyediakan platform terbuka
bagi para pengembang untuk menciptakan aplikasi mereka
sendiri untuk digunakan oleh bermacam peranti bergerak. Versi
android terbaru yang diluncurkan Google adalah Lollypop 5.0
pada 15 Oktober 2014.
2.2.6. Java
Java menurut definisi dari Sun adalah nama untuk
sekumpulan teknologi untuk membuat dan menjalankan
perangkat lunak pada komputer standalone ataupun pada
lingkungan jaringan12
.
Java2 adalah generasi kedua dari java platform (generasi
awalnya adalah Java Development Kit). Java berdiri di atas
sebuah mesin interpreter yang diberi nama java virtual machine
(JVM). JVM akan membaca byte code dalam file .class dari suatu
program sebagai representasi langsung program yang berisi
bahasa mesin. JVM inilah yang membuat java dikenal sebagai
bahasa pemrograman portable (berjalan di berbagai sistem
operasi asal terdapat JVM).
10
Safaat.Nazarudin, 2011. Android Pemrograman Aplikasi Mobile Smart Phone dan Tablet PC Berbasis Android. 11
Android OS Wikipedia bahasa Indonesia, ensiklopedia bebas, http://id.wikipedia.org/wiki/Android_(sistem_operasi), Tanggal akses:13 Maret 2015 12
M. Shalahuddin, Rosa A.S, Pemrograman J2ME, Bandung: Informatika, 2009, hlm. 1.
-
19
JLS (Java Language Specification) adalah define teknis
bahasa pemrograman java, yang di dalamnya terdapat aturan
penulisan sintaks dan semantic java.
API (Application Programming Interface) adalah sebuah
layer yang berisi class class yang sudah didefinisikan dan
antarmuka pemrograman yang akan membantu dalam
perancangan sebuah aplikasi.
JDK (Java Development Kit) merupakan perangkat lunak
yang digunakan untuk me-manajemen dan membangun berbagai
aplikasi Java. JDK merupakan superset dari JRE (Java Runtime
Environment), berisikan segala sesuatu yang ada di JRE
ditambahkan compiler dan debugger yang diperlukan untuk
mengembangkan applet dan aplikasi.
IDE (Integrated Development Environment) adalah
sebuah tool yang digunakan untuk membuat dan
mengembangkan sebuah perangkat lunak.
1. Java 2 Standard Edition (J2SE)
The Java 2 platform, Standard Edition (J2SE) menyediakan
lingkungan perkembangan yang kaya fitur, stabil, aman, dan
cross platform. Edisi ini mendukung konektifitas basis data,
rancangan antarmuka pemakai, masukan/keluaran, dan
pemrograman jaringan.
2. Java 2 Enterprise Edition (J2EE)
The Java 2 Enterprise Edition menyediakan kakas untuk
membangun dan menjalankan multitier enterprise application.
J2EE berisi paket-paket di J2SE ditambah paket-paket untuk
-
20
mendukung pengembangan Enterprise JavaBeans, Java
Servlets, Java Server pages, XML, dan kendali transaksi yang
fleksibel.
3. Java 2 Micro Edition (J2ME)
Java 2 Micro Edition adalah edisi Java untuk beragam
consumer electronic product seperti pager, smart card, cell
phones, handhelds PDA dan set-top box. J2ME sembari
menyediakan bahasa Java yang sama juga unggul dalam
portabilitas, dimana dapat dijalankan di manapun dan safe
network delivery seperti J2SE dan J2EE. J2ME menggunakan
sekumpulan paket bahasa yang kecil. J2ME berisi subset paket
J2SE ditambah paket spesifik Micro Edition javax.microedition.io
Aplikasi J2ME dapat diskala agar juga dapat bekerja dengan
J2SE dan J2EE.
2.2.7. Eclipse
Eclipse adalah sebuah IDE (Integrated Development
Environment) untuk mengembangkan perangkat lunak dan dapat
dijalankan di semua platform (platform-independent)13
.
Sifat Sifat Eclipse :
- Multi Platform : Target system operasi Eclipse adalah
Microsoft Window, Linux, Solaris, AIX, HP-UX, dan MAC
OS X.
- Multi Language : Eclipse dikembangkan dengan
bahasa pemrograman Java, akan tetapi Eclipse
13
M. Shalahuddin, Rosa A.S, Pemrograman J2ME, Bandung: Informatika, 2008, hlm. 4.
-
21
mendukung pengembangan aplikasi berbasis bahasa
pemrograman lainnya.
- Multi Role :Selain sebagai IDE untuk pengembangan
aplikasi, Eclipse pun bisa digunakan untuk aktivitas
dalam siklus pengembangan perangkat lunak, seperti
dokumentasi, test perangkat lunak, pengembangan web,
dan lain sebagainya.
2.2.8. Basis Data
2.8.1. Pengertian Basis Data
Basis data terdiri dari dua kata, yaitu Basis dan Data.
Basis kurang lebih dapat diartikan sebagai markas atau gudang,
tempat bersarang atau berkumpul, Sedangkan Data adalah
representasi fakta nyata yang mewakili suatu objek seperti
manusia, barang, konsep, keadaan dan sebagainya.
Basis data adalah kumpulan data, yang dapat
digambarkan sebagai aktifitas dari satu atau lebih organisasi
yang berelasi.14
Basis data (database) merupakan kumpulan dari data
yang saling berhubungan satu dengan yang lainnya, tersimpan di
simpanan luar komputer dan digunakan perangkat lunak tertentu
untuk memanipulasinya.15
Database adalah suatu kumpulan data terhubung
(interrelated data) yang disimpan secara bersama-sama pada
suatu media, tanpa mengatap satu sama lain atau tidak perlu
suatu kerangkapan data (controlled redundancy) dengan cara
14
Hartono, Jogiyanto. Sistem Teknologi Informasi.Penerbit andi Yogyakarta.2009 15
Hartono, Jogiyanto. Sistem Teknologi Informasi.Penerbit andi Yogyakarta.2009
-
22
tertentu sehingga mudah digunakan atau ditampilkan kembali
dapat digunakan oleh satu atau lebih program aplikasi secara
optimal, data disimpan tanpa mengalami ketergantungan pada
program yang akan menggunakannya, data disimpan sedemikian
rupa sehingga penambahan, pengambilan, dan modifikasi dapat
dilakukan dengan mudah dan terkontrol.16
2.8.2. Database Manajemen Sistem (DBMS)
Database Management System (DBMS) adalah
perangkat lunak yang memberi fasilitas (yang tersedia dan dapat
digunakan) untuk melakukan fungsi pengaturan, pengawasan,
pengendalian/kontrol, pengolahan, dan koordinasi terhadap
semua proses/operasi yang terjadi pada system database.17
Untuk mengelola basis data diperlukan perangkat lunak
yang disebut DBMS. DBMS adalah perangkat lunak yang
didesain untuk membantu dalam hal pemeliharaan dan utilitas
kumpulan data dalam jumlah besar.18
DBMS adalah kumpulan file yang saling berkaitan
bersama dengan program untuk pengelolanya.19
2.8.3. Kegunaan dan Syarat Database
1. Redudansi dan Inkonsistensi Data
Penyimpanan data yang sama disebut sebagai redudansi dan
mengakibatkan pemborosan ruang penyimpanan dan juga
16
Sutabri, Tata, Konsep Sistem Informasi. Jakarta : Andi. 2009, 17
Sutabri, Tata, Konsep Sistem Informasi. Jakarta : Andi. 2009, Hal: 74 18
Hartono, Jogiyanto.Sistem Teknologi Informasi.Yogyakarta : Andi Hal 3 19
Hartono, Jogiyanto. Sistem Teknologi Informasi.Yogyakarta : Andi,Hal:4
-
23
biaya untuk mengakses jadi lebih tinggi. Penyimpanan data
yang sama berulang-ulang pada beberapa file dapat
mengakibatkan juga inkonsistensi (tidak konsisten).
2. Kesulitan pengaksesan data
3. Isolasi data untuk standarisasi
Jika data tersebar beberapa file dalam bentuk format yang
tidak sama, maka ini menyulitkan dalam menulis program
aplikasi untuk mengambil dan menyimpan data. Maka
haruslah data dalam satu database dibuat satu format
sehingga mudah dibuat program aplikasinya.
4. Banyak pemakai (Multiple User)
Basis data digunakan oleh banyak pemakai dalam waktu yang
berbeda, di akses oleh program yang sama tapi berbeda
orang dan waktu.
5. Masalah keamanan (Security)
Tidak setiap pemakai sistem database diperbolehkan untuk
mengakses semua data.
6. Masalah kesatuan (Integritas)
Database berisi file - file yang saling berkaitan, secara teknis
maka ada field kunci yang mengaitkan file-file tersebut.
7. Masalah kebebasan data (Data Independence)
Program yang telah dibuat tidak bebas terhadap database
yang ada.
Dibandingkan dengan sistem yang berbasis kertas,
DBMS memiliki 4 keunggulan yaitu :
1. Kepraktisan : sistem yang berbasis kertas akan menggunakan
kertas yang sangat banyak untuk menyimpan informasi,
-
24
sedangkan DBMS menggunakan media penyimpanan
sekunder yang berukuran kecil tetapi padat informasi.
2. Kecepatan dan kemudahan pemanfaatan basis data
memungkinkan kita untuk dapat menyimpan data atau
melakukan perubahan/manipulasi terhadap data atau
menampilkan kembali data tersebut dengan lebih cepat dan
mudah.
3. Efisiensi ruang penyimpanan dengan basis data,
efisiensi/optimalisasi penggunaan ruang penyimpanan dapat
dilakukan, karena kita dapat melakukan penekanan jumlah
redudansi data, baik dengan menerapkan sejumlah
pengkodean atau dengan membuat relasi relasi (dalam
bentuk file) antar kelompok data yang saling berhubungan.
4. Kekinian informasi yang tersedia pada DBMS akan bersifat
mutakhir dan akurat setiap saat.
2.8.4. Komponen Utama DBMS
Komponen-komponen Utama DBMS adalah sebagai
berikut :
1. Perangkat Keras
Perangkat keras komputer seperti prosesor, memori, dan
harddisk yang melakukan pemrosesan dan juga menyimpan
basis data.
2. Data
Data di dalam basis data mempunyai sifat terpadu (integreted)
dan berbagi (shared).
-
25
a. Terpadu berarti bahwa berkas - berkas data yang ada pada
basis data saling terkait, tetapi kemubajiran data tidak akan
terjadi atau hanya terjadi sedikit sekali.
b. Berbagi Data berarti bahwa data dapat dipakai oleh sejumlah
penguna. Lebih tegas lagi, sesuatu data dapat diakses oleh
sejumlah pengguna dalam waktu bersama-sama. Sifat ini
bisa terdapat pada sistem multiuser (kebalikan dari sistem
yaitu sistem single-user , yakni sistem yang hanya
memungkinkan satu orang yang bisa mengakses suatu data
pada suatu waktu)
c. Perangkat Lunak
Perangkat lunak, dalam hal ini DBMS, berkedudukan antara
basis data (data yang tersimpan dalam harddisk ) dan
pengguna. Perangkat lunak inilah yang berperan melayani
permintaan permintaan pengguna.
d. Pengguna
Pengguna dapat diklasifikasikan menjadi tiga ketegori :
1. Pengguna akhir
Pengguna akhir dapat dibagi menjadi 2 macam :
a. Pengguna aplikasi adalah orang yang mengoperasikan
program aplikasi yang dibuat oleh pemrogram aplikasi.
b. Pengguna interaktif adalah orang yang dapat
memberikan perintah-perintah beraras tinggi pada
antarmuka basis data yang tersedia (misalnya dengan
menggunakan perintah SELECT, INSERT dan
sebagainya) atau melakukan perintah-perintah melalui
antarmuka berbasis menu.
-
26
2. Pemrograman Aplikasi
Pemrograman Aplikasi adalah orang yang membuat
program aplikasi menggunakan basis data.
3. Administrator Basis Data
Administrator Basis Data (DBA/Database Administrator)
adalah orang yang bertanggung jawab terhadap
pengelolaan basis data.
2.9. SQLite
SQLite adalah perpustakaan dalam proses yang
mengimplementasikan mandiri, serverless, nol-konfigurasi, mesin
database SQL transaksional. Kode untuk SQLite berada dalam
domain publik dan dengan demikian bebas untuk digunakan
untuk tujuan apapun, komersial atau swasta. SQLite saat ini
ditemukan dalam aplikasi lebih dari yang kita bisa menghitung,
termasuk beberapa proyek high-profile.
SQLite adalah mesin database SQL embedded. Tidak
seperti kebanyakan database SQL lainnya, SQLite tidak memiliki
proses server yang terpisah. SQLite membaca dan menulis
secara langsung ke file disk biasa. Sebuah database SQL
lengkap dengan beberapa tabel, indeks, pemicu, dan pandangan,
yang terkandung dalam sebuah file disk tunggal. Format file
database adalah cross-platform - Anda dapat dengan bebas
menyalin database antara 32-bit dan 64-bit atau antara arsitektur
big-endian dan little-endian. Fitur-fitur ini membuat SQLite
menjadi pilihan populer sebagai Format file Application. Pikirkan
-
27
SQLite bukan sebagai pengganti untuk Oracle tetapi sebagai
pengganti fopen ()
SQLite adalah perpustakaan kompak. Dengan semua
fitur diaktifkan, ukuran perpustakaan bisa kurang dari 500KiB,
tergantung pada platform target dan pengaturan optimasi
compiler. (Kode 64-bit lebih besar. Dan beberapa optimasi
kompilator seperti fungsi agresif inlining dan loop membuka
gulungan dapat menyebabkan kode objek untuk menjadi jauh
lebih besar.) Jika beberapa fitur opsional dihilangkan, ukuran
perpustakaan SQLite dapat dikurangi di bawah 300KiB. SQLite
juga bisa dibuat untuk berjalan dalam minimal ruang stack (4KiB)
dan sangat sedikit tumpukan (100KiB), membuat SQLite
database engine pilihan populer pada memori dibatasi gadget
seperti ponsel, PDA, dan MP3 player. Ada tradeoff antara
penggunaan memori dan kecepatan. SQLite umumnya berjalan
lebih cepat semakin banyak memori yang Anda berikan. Namun
demikian, kinerja biasanya cukup baik bahkan dalam lingkungan
rendah memori.
SQLite sangat hati-hati diuji sebelum setiap rilis dan
memiliki reputasi untuk menjadi sangat handal. Sebagian besar
dari kode sumber SQLite dikhususkan murni untuk pengujian dan
verifikasi. Sebuah suite tes otomatis berjalan jutaan dan jutaan
kasus uji yang melibatkan ratusan juta pernyataan SQL individu
dan mencapai cakupan tes cabang 100%. SQLite merespon
anggun kegagalan alokasi memori dan disk I / O error. Transaksi
ACID bahkan jika terganggu oleh sistem crash atau gangguan
listrik. Semua ini diverifikasi oleh tes otomatis menggunakan
-
28
memanfaatkan tes khusus yang mensimulasikan kegagalan
sistem. Tentu saja, bahkan dengan semua pengujian ini, masih
ada bug. Tapi tidak seperti beberapa proyek serupa (pesaing
terutama komersial) SQLite terbuka dan jujur tentang semua bug
dan menyediakan daftar bug termasuk daftar bug kritis dan menit-
demi-menit kronologi laporan bug dan perubahan kode.
Kode SQLite dasar didukung oleh sebuah tim
internasional dari pengembang yang bekerja pada SQLite penuh
waktu. Para pengembang terus memperluas kemampuan SQLite
dan meningkatkan kehandalan dan kinerja sambil
mempertahankan kompatibilitas mundur dengan antarmuka
spesifikasi diterbitkan, sintaks SQL, dan format file basis data.
Kode sumber benar-benar gratis untuk siapa saja yang
menginginkan nya, tetapi dukungan profesional juga tersedia.
2.10. UML (Unified Modeling Language)
UML (Unified Modeling Language) adalah metode
pemodelan secara visual sebagai sarana untuk merancang dan
atau membuat software berorientasi objek. Karena UML ini
merupakan bahasa visual untuk pemodelan bahasa berorientasi
objek, maka semua elemen dan diagram berbasiskan pada
paradigma object oriented. UML adalah salah satu tool / model
untuk merancang pengembangan software yang berbasis object
oriented. UML sendiri juga memberikan standar penulisan sebuah
sistem blue print, yang meliputi konsep bisnis proses, penulisan
kelas-kelas dalam bahasa program yang spesifik, skema
database, dan komponen-komponen yang diperlukan dalam
-
29
sistem software. UML sebagai sebuah bahasa yang memberikan
vocabulary dan tatanan penulisan kata-kata dalam MS Word
untuk kegunaan komunikasi. Sebuah bahasa model adalah
sebuah bahasa yang mempunyai vocabulary dan konsep tatanan
/ aturan penulisan serta secara fisik mempresentasikan dari
sebuah sistem. UML adalah sebuah bahasa standar untuk
pengembangan sebuah software yang dapat menyampaikan
bagaimana membuat dan membentuk model-model, tetapi tidak
menyampaikan apa dan kapan model yang seharusnya dibuat
yang merupakan salah satu proses implementasi pengembangan
software. UML tidak hanya merupakan sebuah bahasa
pemograman visual saja, namun juga dapat secara langsung
dihubungkan ke berbagai bahasa pemograman, seperti JAVA,
C++, Visual Basic, atau bahkan dihubungkan secara langsung ke
dalam sebuah object-oriented database. Begitu juga mengenai
pendokumentasian dapat dilakukan seperti; requirements,
arsitektur, design, source code, project plan, tests, dan
prototypes.
2.10.1. UML System Architecture Diagrams (Diagram
Arsitektur Sistem UML)
Untuk menggambarkan suatu bentuk sistem, maka
penulis menggunakan metode dalam UML untuk memetakan
gambaran sistem dengan menggunakan Deployment Diagram,
Data Context Diagram dan Conceptual Overview Diagram.
Berikut penjelasannya :
-
30
1. Logical Deployment Diagram
Deployment Diagram menunjukan tata letak sebuah
sistem secara fisik, menampakan bagian-bagian software yang
berjalan pada bagian-bagian hardware yang digunakan untuk
mengimplementasikan sebuah sistem dan keterhubungan antara
komponen-komponen hardware tersebut. Deployment Diagram
dapat digunakan pada bagian-bagian awal proses perancangan
sistem untuk mendokumentasikan arsitektur fisik sebuah sistem.
2. Data Context Diagram (Communication
Diagram/Collaboration Diagram v1.x)
Diagram kolaborasi menunjukkan informasi yang sama
persis dengan diagram sekuensial, tetapi dalam bentuk dan
tujuan yang berbeda. Sebagaimana diagram sekuensial, diagram
kolaborasi digunakan untuk menampilkan aliran skenario tertentu
di dalam use case. Jika diagram sekuensial disusun berdasarkan
urutan waktu, diagram kolaborasi lebih berkonsentrasi pada
hubungan antar obyek-obyek.
3. Conceptual Overview Diagram
Sebuah jenis activity Diagram yang memperlihatkan alur
control dalam system atau business process. Setiap node/activity
di dalam diagram mewakili interaction diagram yang lain
Interaction Overview Diagram menggunakan notasi yang dipakai
pada Activity diagram dan Sequence Diagram Interaction,
dilambangkan dengan gambar di bawah ini.
-
31
2.10.2. Usecase Diagram
2.10.2.1. Diagram Use Case
Diagram Use Case adalah diagram yang menunjukan
fungsionalitas suatu system atau kelas dan bagaimana system
tersebut berinteraksi dengan dunia luar dan menjelaskan system
secara fungsional yang terlihat user.20
Biasanya dibuat pada
awal pengembangan. Use case diagram menggambarkan
fungsionalitas yang diharapkan dari sebuah sistem. Yang
ditekankan adalah apa yang diperbuat system, dan bukan
bagaimana. Sebuah use case mempresentasikan sebuah
interaksi antara aktor dengan sistem.
Berikut adalah beberapa simbol yang ada pada diagram
use case:
Tabel 2.1 Simbol- simbol Diagram Use Case
20
Pilone,Dan , Phitman,Neil UML 2.0 IN A NUTSHELL 2005
Simbol Deskripsi
Use case
fungsionalitas yang disediakan
sistem sebagai unit-unit yang
saling bertukar pesan antar unit
atau aktor; biasanya
dinyatakan dengan
menggunakan kata kerja di
awal frase nama use case
Aktor / Actor
orang, proses, atau sistem lain
yang berinteraksi dengan
sistem informasi yang akan
-
32
dibuat di luar sistem informasi
yang akan dibuat itu sendiri,
jadi walaupun simbol dari aktor
adalah gambar orang, tapi
aktor belum tentu merupakan
orang biasanya dinyatakan
menggunakan kata benda di
awal frase nama aktor
Asosiasi
komunikasi antara aktor dan
use case yang berpartisipasi
pada use case atau use case
memiliki interaksi dengan aktor
dimana fungsi yang satu
adalah fungsi yang lebih umum
dari lainnya, misalnya:
arah panah mengarah pada
Ubah data
Mengelola data
Hapus data
-
33
2.10.2.2. Diagram Activity
Diagram aktivitas atau activity diagram menggambarkan
workflow (aliran kerja) atau aktivitas dari sebuah sistem atau
proses bisnis. Yang perlu diperhatikan disini adalah bahwa
diagram aktivitas menggambarkan aktivitas sistem bukan apa
yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh
sistem. Diagram aktivitas mendukung perilaku paralel.
Berikut adalah beberapa simbol yang ada pada diagram
aktivitas:
Tabel 2.3 Simbol- simbol Diagram Use Case
Simbol Deskripsi
Status awal Status awal aktivitas sistem,
sebuah diagram aktivitas
memiliki sebuah status awal
Aktivitas aktivitas yang dilakukan
sistem, aktivitas biasanya
diawali dengan kata kerja
Percabangan
asosiasi percabangan dimana
jika ada pilihan aktivitas lebih
dari satu
use case yang menjadi
generalisasi nya (umum)
-
34
Status Akhir
status akhir yang dilakukan
sistem, sebuah diagram
aktivitas memiliki sebuah
status akhir
2.10.2.3. Diagram Class
Diagram class adalah diagram UML yang
menggambarkan kelas-kelas dalam sebuah sistem dan hubungan
nya antara yang satu dengan yang lain serta dimasukkan pula
atribut dan operasi.
Berikut adalah simbol-simbol yang ada pada diagram
class:
Tabel 2.4 Simbol-simbol Diagram Kelas
Simbol Arti
Package merupakan sebuah
bungkusan satu atau lebih
kelas
Nama_kelas
+atribut
+operasi()
Kelas pada struktur sistem
Antarmuka/interface
Sama dengan konsep
interface dalam pemrograman
package
-
35
2.10.2.4. Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek
di dalam dan di sekitar sistem (termasuk pengguna, display)
berupa message yang digambarkan terhadap waktu. Sequence
diagram terdiri atas dimensi vertikal (waktu) dan dimensi
horizontal (objek objek yang terkait).
nama_interface berorientasi objek
Asosiasi
Relasi antar kelas dengan
makna umum, asosiasi
biasanya juga disertai dengan
multiplicity
Asosiasi berarah
relasi antar kelas dengan
makna kelas yang satu
digunakan oleh kelas yang
lain, asosiasi biasanya juga
disertai dengan multiplicity
Kebergantungan/dependency
Agregasi/agregation
Kebergantungan antar kelas
Relasi antar kelas dengan
makna semua bagian
-
36
Sequence diagram biasa digunakan menggunakan untuk
menggambarkan skenario atau rangkaian langkah langkah
yang dilakukan sebagai respon dari sebuah event untuk
menghasilkan output tertentu.
-
37
BAB III
METODOLOGI PENELITIAN
3.1. Metode Penelitian Yang Digunakan
Metode penelitian yang digunakan oleh penulis dalam
penelitian ini adalah metode Research and Development (R&D),
metode Research and Development adalah metode penelitian
yang bertujuan untuk menghasilkan produk tertentu serta menguji
efektifitas produk tersebut. Agar dapat menghasilkan produk
tertentu, kita menggunakan penelitian yang bersifat analisis
kebutuhan dan untuk menguji efektifitas produk tersebut. Jadi,
penelitian dan pengembangan ini bersifat longitudinal (penelitian
dilakukan secara terus menerus dan berulang).21
Metode Research and Development bisa di
diimplementasikan pada penelitian yang bertujuan untuk
membuat sebuah produk baru atau pengembangan produk yang
telah ada, Dalam hal ini penulis membuat sebuah aplikasi SMS
dengan penambahan fitur keamanan untuk menyembunyikan
data yang terdapat pada SMS.
21
Guritno, Suryo. Sudaryono. Rahardja, Untung. Theory and application of IT Research. Yogyakarta, ANDI Yogyakarta, 2011, hlm: 28
-
38
3.2. Data Yang Diperlukan
Prosedur pengambilan data dalam penelitian ini
menggunakan dua jenis data, yang dapat digolongkan sebagai
berikut :
3.2.1. Data Primer
Data primer merupakan data yang berkaitan langsung
dengan objek penelitian, dalam hal ini data primer yang diperoleh
adalah antara lain :
6. Java security API (Blowfish Cipher)
7. Source code SMS android
3.2.2. Data Sekunder
Data sekunder merupakan data yang diperoleh secara
tidak langsung dari obyek penelitian. Data ini bersifat mendukung
data primer atau ada pula yang menyebut nya sama dengan data
derivatif. Data derivatif yaitu data yang diperoleh dari kutipan hasil
penelitian sebelumnya .
Data derivatif ini berupa literatur-literatur yang berhubungan
dengan SMS enkripsi pada android yang akan di kembangkan
dan di update..
-
39
3.3. Metode Pengumpulan Data
Metoda pengumpulan data yang dilakukan dalam penelitian ini
adalah :
1. Observasi
Pengumpulan data dengan melakukan pengamatan secara
langsung terhadap objek penelitian, dengan mencatat hal-hal
penting yang berhubungan dengan judul Skripsi, sehingga
diperoleh data yang lengkap dan akurat.
2. Studi Pustaka
Pengumpulan data dengan menggunakan atau mengumpulkan
sumber-sumber tertulis seperti buku, makalah, jurnal dan artikel-
artikel pada situs internet yang dapat digunakan untuk membantu
proses pembuatan aplikasi dan penulisan skripsi.
3.4. Metode Rekayasa Perangkat Lunak
Rekayasa atau teknik adalah penerapan ilmu dan
teknologi untuk menyelesaikan permasalahan manusia.22
Rekayasa perangkat lunak (RPL atau Software
Engineering adalah satu bidang profesi yang mendalami cara-
cara pengembangan perangkat lunak termasuk pembuatan,
22 Simarmata, Janner,Rekayasa Perangkat Lunak(Yogyakarta:ANDI2010) hal:10
-
40
pemeliharaan, manajemen, organisasi pengembangan
perangkat lunak, dan sebagainya23
Model pengembangan rekayasa perangkat lunak yang
digunakan adalah model pengembangan air terjun (waterfall
model). Model air terjun adalah perangkat lunak yang membantu
mengatasi kerumitan yang terjadi akibat proyek pengembangan
perangkat lunak. Model air terjun memacu tim pengembang
untuk memerinci apa yang seharusnya perangkat lunak lakukan
(Mengumumkan dan menentukan kebutuhan sistem) sebelum
sistem tersebut di kembangkan.
Gambar 3.1. model perancangan air terjun
Secara garis besar metode waterfall mempunyai langkah-langkah
sebagai berikut : Analisa, Design, Code dan Testing, Penerapan dan
Pemeliharaan.
23
Simarmata, Janner,Rekayasa Perangkat Lunak(Yogyakarta:ANDI2010) hal:10
-
41
1. Analisa
Langkah ini merupakan analisa terhadap kebutuhan sistem.
Pengumpulan data dalam tahap ini bisa melakukan sebuah penelitian,
wawancara atau study literatur. Seorang sistem analis akan menggali
informasi sebanyak-banyaknya dari user sehingga akan tercipta sebuah
sistem komputer yang bisa melakukan tugas-tugas yang diinginkan oleh
user tersebut. Tahapan ini akan menghasilkan dokumen user
requirement atau bisa dikatakan sebagai data yang berhubungan
dengan keinginan user dalam pembuatan sistem. Dokumen ini lah yang
akan menjadi acuan sistem analis untuk menterjemahkan ke dalam
bahasa pemrograman.
2. Design
Proses desain akan menerjemahkan syarat kebutuhan ke
sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum
dibuat coding. Proses ini berfokus pada : struktur data, arsitektur
perangkat lunak, representasi interface, dan detail (algoritma)
prosedural. Tahapan ini akan menghasilkan dokumen yang disebut
software requirement. Dokumen inilah yang akan digunakan programmer
untuk melakukan aktivitas pembuatan sistem nya.
3. Coding & Testing
Coding merupakan penerjemahan design dalam bahasa yang
bisa dikenali oleh komputer. Dilakukan oleh programmer yang akan
menterjemahkan transaksi yang diminta oleh user. Tahapan ini lah yang
merupakan tahapan secara nyata dalam mengerjakan suatu sistem.
Dalam artian penggunaan komputer akan dimaksimalkan dalam tahapan
ini. Setelah pengkodean selesai maka akan dilakukan testing terhadap
sistem yang telah dibuat tadi. Tujuan testing adalah menemukan
-
42
kesalahan-kesalahan terhadap sistem tersebut dan kemudian bisa
diperbaiki.
4. Penerapan
Tahapan ini bisa dikatakan final dalam pembuatan sebuah sistem.
Setelah melakukan analisa, design dan pengkodean maka sistem yang
sudah jadi akan digunakan oleh user.
5. Pemeliharaan
Perangkat lunak yang sudah disampaikan kepada pelanggan pasti akan
mengalami perubahan. Perubahan tersebut bisa karena mengalami
kesalahan karena perangkat lunak harus menyesuaikan dengan
lingkungan (periperal atau sistem operasi baru) baru, atau karena
pelanggan membutuhkan perkembangan fungsional.
3.5. Teknik Analisis Sistem
3.5.1. OOAD (Object Oriented Analysis and Design)
Analisis dan Desain Berorientasi Objek
Analisis berorientasi objek / Object Oriented Analysis
(OOA) adalah pendekatan yang digunakan untuk mempelajari
objek yang sudah ada untuk mengetahui apakah mereka dapat
digunakan kembali atau diadaptasi untuk pemakaian baru, atau
menentukan satu objek baru atau yang dimodifikasi yang akan
digabung dengan objek yang sudah ada ke dalam suatu aplikasi
komputasi bisnis yang sangat berharga.
3.5.2. Desain Aplikasi Berorientasi Objek
-
43
Pemodelan sistem atau desain sistem dengan UML yang
digunakan dihasilkan dari Analisis Berorientasi Objek (OOA) akan
terdiri dari :
1. Collaboration Diagram
2. Conceptual Diagram
3. Class Diagram
4. Deployment Diagram
5. Sequence Diagram
Sebuah model objek menangkap struktur statis dari sistem
dengan menggambarkan objek dalam system. Model berorientasi
objek lebih mendekati keadaan nyata, dan dilengkapi dengan
penyajian grafis dari sistem yang sangat bermanfaat untuk
komunikasi dengan user dan pembuatan dokumentasi struktur
dari sistem.
3.6. Rencana Jadwal Penelitian
No Kegiatan
Bulan
Maret 2015
Minggu ke-
April 2015
Minggu ke-
1 2 3 4 1 2 3 4
1 Pemahaman dan Observasi Sistem
-
44
2 Perancangan Sistem
3 Analisis data
4 Pembuatan laporan
5 Pembuatan Program
6 Evaluasi
-
45
DAFTAR PUSTAKA
Ariyus, D. (2005). Computer Security. Yogyakarta: ANDI
Publisher.
Guritno, S. S., & Rahardja, U. (2011). Theory and application of IT
Research. Yogyakarta: ANDI Publisher.
Hartono, J. (2009). Sistem Teknologi Informasi. Yogyakarta: ANDI
Publisher.
Kurniawan, i. Y. (2004). Kriptografi Keamanan Internet dan
Jaringan Komunikasi. Bandung: Informatika Bandung.
Nugroho, B. K. (2010). Aplikasi Enkripsi SMS Pada Telepon Seluler
Berbasis J2ME Dengan Metode Vigenere Cipher. Semarang:
Universitas Diponegoro Semarang.
Prasetyo, G. W. (2010). Aplikasi Enkripsi SMS Menggunakan
Metode Blowfish. Surabaya: Institut Teknologi Sepuluh
November Surabaya.
Safaat H, N. (2011). Pemrograman Aplikasi Mobile Smartphone
dan Tablet PC Berbasis Android. Bandung: Informatika Bandung.
-
46
Schneier, B. (1994). Description of a New Variable-Length Key,
64-Bit Block Cipher (Blowfish). Cambridge Security Workshop
Proceedings.
Shalahuddin, M., & R. A. (2008). Pemrograman J2ME. Bandung:
Informatika.
Simarmata, J. (2010). Rekayasa Perangkat Lunak. Yogyakarta:
ANDI Publisher.
Suarga. (2012). Algoritma dan Pemrograman. Yogyakarta: ANDI
Publisher.
Sudarminto, C. J. (2014). Rancang Bangun Aplikasi Enkripsi Short
Message Service (SMS) Menggunakan Algoritma Caesar Cipher
Dan Algoritma RC4 Berbasis Android. Yogyakarta: Universitas
Islam Negeri Sunan Kalijaga Yogyakarta.
(2009). Konsep Sistem Informasi. In T. Sutabri. Jakarta: ANDI
Publisher.
Wahidin. (2010). Aplikasi SMS dengan PHP Untuk Orang Awam.
Bandung: Maxicom.