proposal sms kriptografi

46
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.

Upload: hadianalkani

Post on 26-Sep-2015

87 views

Category:

Documents


15 download

DESCRIPTION

contoh proposal pengajuan

TRANSCRIPT

  • 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.