SKRIPSI
Diajukan Oleh : Akhmad Taufik Hidayat
NPM : 0834110015
J URUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI
i
APLIKASI BILLING HOSTING BERBASIS ANDROID PADA SEMBILANMEDIA.COM
Penyusun : Akhmad Taufik Hidayat Pembimbing I : Ir. R. Purnomo Edi Sasongko Pembimbing II: Syurfah Ayu Ithhriah, S.Kom
ABSTRAK
Meningkatnya popularitas internet dan World Wide Web pada tahun 1990-an, telah membawa era baru dalam penyampaian informasi, dimana internet telah menjadi media publikasi yang sangat populer. Seseorang dapat dengan mudahnya mempublikasikan atau mengakses suatu informasi dalam kurun waktu yang tidak terbatas. Untuk bisa mengunggah layanan informasi kita ke dunia internet diperlukan adanya domain dan hosting. Penyedia jasa domain dan hosting dinegara kita sudah sangat menjamur. Sebuah perusahaan hosting provider menggunakan berbagai macam perangkat lunak untuk mempermudah control mereka terhadap jasa yang akan diberikan. Namun dalam prakteknya seseorang yang akan menyewa jasa domain dan hosting harus melakukan order melalui website online secara langsung baik melalui warung internet maupun melalui laptop atau komputer rumah. Dengan tujuan untuk mempermudah penulis membuat sebuah aplikasi billing untuk membantu proses order yang berjalan pada
hanheld atau smarthphone android. Pembuatan aplikasi ini telah dilakukan beberapa langkah yaitu merancang system informasi dengan menyusun table-tabel dan merancang konsep program serta desain sesuai dengan kebutuhan menggunakan sistem operasi Android. Sehingga mampu terkoneksi dengan baik dengan system billing yang sudah ada menggunakan system API. Aplikasi billing ini dapat memberikan kemudahan dalam proses pembelian domain dan hosting sehingga menjadi lebih praktis. Dalam hasil uji coba system yang telah selesai dan berhasil dibuat, Aplikasi ini mampu terintegrasi dengan baik dengan billing yang digunakan sebelumnya dan telah di implementeasikan pada smartphone Android 2.3.
ii
Puji syukur kita panjatkan kehadirat Allah SWT, Tuhan Yang Maha Esa yang telah memberikan rahmat serta hidayah-Nya sehingga penyusunan laporan ini dapat diselesaikan.
Laporan ini disusun untuk Tugas Akhir saya, dengan judul “ APLIKASI
BILLING HOSTING DOHOSE BERBASIS ANDROID PADA
SEMBILANEDIA.COM ”
Ucapan terima kasih saya sampaikan juga ke berbagai pihak yang turut membantu memperlancar penyelesaian Tugas Akhir ini, yaitu kepada:
1. Prof.Dr.Ir. Teguh Sudarto, MP Selaku Rektor Universitas Pembangunan Nasional “Veteran” Jawa Timur.
2. Bapak Ir. Sutiyono, MT Selaku Dekan Fakultas Teknologi Industri UPN “Veteran” Jawa Timur
3. Ibu Dr.Ir. Ni Ketut Sari, MT Selaku Kepala Jurusan Teknik Informatika. FTI, UPN “Veteran” Jawa Timur.
4. IR R Purnomo Edi Sasongko dan Syurfah Ayu Ithhriah S.kom selaku pembimbing, yang telah sabar dan arif dalam membimbing dan memberikan nasehat kepada kami.
5. Firza Prima Aditiawan, S.Kom selaku PIA Jurusan Teknik Informatika yang telah membantu saya.
6. Kedua orang tua saya masing-masing, ibu yang banyak memberikan Doa, Kasih Sayang, Cinta, Kesabaran sejak kami dalam kandungan serta bimbingan, dan semangat sampai saya menjadi sekarang ini, terima kasih banyak untuk semuanya dan terima kasih karena selalu menjadi orang tua dan teman yang baik buat saya. Kepada Ayah yang selalu men-support saya agar selalu bersemangat dan meraih cita-cita.. terima kasih Ayah semangatmu akan membuahkan hasil untuk masa depan saya.
iii
9. Buat bapak Muhammad Faizal S.kom sekeluarga yang telah berkenan memfasilitasi dalam pelaksanan skripsi saya ini
10.Buat Teman – teman KoLU yang menyediakan resource tiada henti, sapi, luhur, bli jovi, faizal, fajar, zulfi, arda, rendy dll yang tidak bisa saya sebutkan satu persatu semangat dan hiburan, keep open source guys.
Selesainya Tugas Akhir ini merupakan kebahagiaan tersendiri bagi penulis. Penulis menyadari bahwa dalam penyusunan Tugas Akhir ini masih banyak terdapat kekurangan yang harus diperbarui. Untuk itu penulis mengharapkan saran dan kritik demi kesempurnaan Tugas Akhir ini.
Demikianlah laporan ini disusun semoga bermanfaat, sekian dan terima kasih.
Surabaya, 15 Juni 2012
iv
ABSTRAK . ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... iv
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... x
BAB I : PENDAHULUAN 1.1 Latar Belakang ... 1
1.2 Perumusan Masalah ... 3
1.3. Batasan Masalah ... 3
1.4 Tujuan ... 4
1.5 Manfaat ... 4
1.6 Metodologi Penelitian ... 5
1.7 Sistematika Penulisan ... 6
BAB II : TINJAUAN PUSTAKA 2.1. Profile sembilanmedia.com ... 8
2.2. Profil Android ... 9
2.2.1 Sejarah Sistem Operasi Android ... 9
v
2.3 Eclipse ... 13
2.4 Android Development Dengan Eclipse ... 15
2.5 Unified Modelling Language (UML) ... 22
2.6 PHP ... 23
2.7 Domain Dan Hosting ... 24
2.7.1 Domain ... 24
2.7.2 Hosting ... 25
2.8 WHMCS ... 25
BAB III : ANALISIS DAN PERANCANGAN 3.1 Analisis dan Konsep Perancangan Program ... 27
3.2 Analisis Kebutuhan ... 28
3.2.1 Identifikasi Kebutuhan pendukung ... 28
3.2.2 Kebutuhan Data ... 29
3.3 Model Waterfall ... 30
3.4 Perancangan Aplikasi Dalam UML ... 35
3.4.1 Use Case Diagram ... 35
3.4.2 Activity Diagram ... 37
vi
4.1 Lingkungan Implementasi ... 42
4.2 Implementasi Data ... 43
4.3 Implementasi Antar Muka ... 43
4.3.1 Menu Utama Aplikasi Dohose ... 44
4.3.2 Halaman Domain Order ... 44
4.3.3 Halaman Contact Form ... 45
4.3.4 Menu Hosting Order ... 46
4.3.5 Form Confirmation ... 47
4.3.6 Halaman Check Refund ... 48
4.3.7 Form Pricing Dohose ... 49
BAB V : UJICOBA DAN EVALUASI 5.1 Lingkungan Uji Coba ... 50
5.2 Skenario Ujicoba ... 50
5.3 Pelaksanaan Uji Coba ... 51
5.3.1 Uji Coba Instalasi ... 51
5.3.2 Uji Coba Masuk Menu ... 52
5.3.3 Uji Coba Proses Order Domain ... 52
vii
5.4 Evaluasi ... 56
BAB VI : PENUTUP
6.1 Kesimpulan ... 57
6.2 Saran ... 57
1 1.1. Latar Belakang
Perkembangan ilmu pengetahuan khususnya teknologi informasi yang begitu
pesat dewasa ini, telah memberikan dampak yang cukup signifikan dalam
aspek-aspek kehidupan manusia. Meningkatnya popularitas internet dan World Wide Web
pada tahun 1990-an, telah membawa era baru dalam penyampaian informasi, dimana
internet telah menjadi media publikasi yang sangat populer. Seseorang dapat dengan
mudahnya mempublikasikan atau mengakses suatu informasi dalam kurun waktu
yang tidak terbatas.
Untuk bisa mengunggah layanan informasi kita ke dunia internet diperlukan
adanya domain dan hosting. Penyedia jasa domain dan hosting dinegara kita sudah
sangat menjamur. Sebuah perusahaan hosting provider menggunakan berbagai
macam perangkat lunak untuk mempermudah control mereka terhadap jasa yang akan
diberikan.
Salah satu teknologi yang saat ini sedang berkembang pesat dan dapat
mempermudah kegiatan tersebut adalah munculnya teknologi smartphone Android.
Sistem Operasi Android sendiri mencakup banyak lingkup misalkan Android 1.5
(Cup Cake) SDK, Android 1.6 (Donut) SDK, Android 2.0/2.1 (Eclair) SDK, Android
Android adalah sistem operasi untuk telepon seluler yang berbasis Linux.
Android menyediakan platform terbuka bagi para pengembang buat menciptakan
aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya,
Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak
untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset
Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan
telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan
Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android bersama
Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada
perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi
Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Di
dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang
mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua.
adalah yang benar–benar bebas distribusinya tanpa dukungan langsung Google atau
dikenal sebagai Open Handset Distribution (OHD).
Dengan berpegang pada fakta diatas maka akan dilakukan pengembangan dan
mulai serius dalam mengoptimalkan sistem operasi Android dalam manajemen
penjualan domain dan hosting pada situs sembilanmedia.com. Dan akan membangun
suatu aplikasi yang dirancang untuk menambah aplikasi sistem pada smartphone
Android.
Harapan yang ada adalah aplikasi tersebut dapat diimplentasikan dan dapat
memudahkan semua kegiatan penjualan domain dan hosting pada situs
reseller untuk meningkatkan penjualan. Dan dapat memberikan keuntungan tersendiri
baik bagi reseller maupun penyedia jasa layanan tersebut.
1.2. Perumusan Masalah
Secara umum dalam melakukan pembelian domain dan hosting para
pelanggan harus membuka situs penyedia jasa tersebut dan melakukan pendaftaran
serta melakukan order baik domain maupun hostingnya pada form yang telah
disediakan.
Berdasarkan masalah tersebut maka dapat dirumuskan suatu masalah yang
akan dibahas dalam Tugas Akhir ini adalah :
“Bagaimana mengimplementasikan sistem pembelian domain dan hosting
(billing) menggunakan Sistem Operasi Android”
1.3. Batasan Masalah
Batasan permasalahan dalam pelaksanaan Tugas Akhir ini adalah sebagai
berikut :
1) aplikasi yang dibangun adalah aplikasi billing (DOHOSE) menggunakan
Sistem Operasi Android,
2) aplikasi akan dibangun menggunakan eclipse dan diuji pada hanheld
Android,
3) hanya digunakan oleh satu user,
1.4. Tujuan
Tujuan yang akan dicapai dari Tugas Akhir ini adalah :
“Membuat aplikasi pembelian domain dan hosting (billing) menggunakan
Sistem Operasi Android”
1.5. Manfaat
Aplikasi ini diharapkan akan dapat dimanfaatkan untuk:
1) Memberikan kemudahan dalam melakukan pembelian domain dan hosting
melalui layanan mobile, sehingga dapat diakses dimana saja dan kapan
saja.
2) Mempermudah member dalam melakukan promosi domain dan hosting
dengan pembelian secara langsung dan mampu melihat hasil perolehan
komisi atas pembelian yang telah dilakukan.
3) Meningkatkan publikasi serta tingkat penjualan.
1.6. Metodologi Penelitian
Metode adalah suatu cara atau teknik yang sistematik untuk mengerjakan atau
menyelesaikan sesuatu. Adapun metodologi penelitian yang digunakan untuk
menyelesaikan berbagai permasalahan yang ditemukan adalah :
1) Studi Kepustakaan
Merupakan jenis metode yang dilakukan dengan mengumpulkan data yang
cara membaca buku-buku, makalah, bahan kuliah dan membaca
bahan-bahan sumber referensi lainnya.
2) Studi Lapangan
Merupakan metode yang dilakukan secara langsung dengan cara survey ke
lapangan yang merupakan sumber untuk memperoleh data sesuai dengan
kebutuhan.
3) Studi Literatur
Merupakan metode yang dilakukan dengan mengunjungi dan mempelajari
sistem operasi android atau situs-situs yang berhubungan dengan Tugas
Akhir dengan mengunjungi website-website yang menyediakan tutorial
mengenai bahasa pemrograman yang akan digunakan.
4) Wawancara,
Merupakan proses tanya jawab langsung kepada pengguna Smartphone
Android. Tujuannya agar sistem yang dibuat ini sedapat mungkin memenuhi
harapan yang diinginkan.
5) Uji Coba dan Evaluasi Hasil
Pada tahap ini dilakukan uji coba dan analisis serta dilakukan evaluasi
kelebihan dan kekurangan terhadap perangkat lunak yang telah di buat.
6) Dokumentasi
Pada tahap terakhir ini disusun buku sebagai dokumentasi dari pelaksanaan
tugas akhir yang berisi konsep penunjang, perancangan perangkat lunak,
pembuatan perangkat lunak, dokumentasi dari uji coba dan pada bagian
1.7. Sistematika Penulisan
Untuk mempermudah penulisan tugas akgir ini, dapat dibuat suatu sistematika
penulisan yang terdiri dari :
BAB I PENDAHULUAN
Pada bab ini diuraikan secara ringkas pembahasan tentang latar belakang, rumusan masalah, batasan masalah, tujuan dan manfaat, metodologi penelitian skripsi, dan sistematika penulisan.
BAB II TINJAUAN PUSTAKA
Bab ini berisikan tentang teoritis mengenai pengertian-pengertian metode penyusunan data serta mengenai bahasa pemrograman yang digunakan.
BAB III ANALISIS DAN PERANCANGAN APLIKASI
Pada bab ini, akan dibahas mengenai system yang akan di analisa dan yang akan dirancang antara lain analisa permasalahan, perancangan system, serta rancangan antarmuka system yang akan dibuat.
BAB IV IMPLEMENTASI SISTEM
BAB V UJI COBA DAN EVALUASI
Pada bab kelima berisi penjelasan lingkungan uji coba aplikasi, pelaksanaan uji coba dan evaluasi dari hasil uji coba yang telah dilakukan untuk kelayakan pemakaian aplikasi
BAB VI KESIMPULAN DAN SARAN
Pada bab keenam berisi kesimpulan dan saran untuk pengembangan aplikasi lebih lanjut dalam upaya memperbaiki kelemahan pada aplikasi guna untuk mendapatkan hasil kinerja aplikasi yang lebih baik.
LAMPIRAN
8
TINJ AUAN PUSTAKA
2.1. Pr ofil Sembilanmedia.com
Sembilan Media Nusantara (SMN) didirikan pada awal tahun 2010
merupakan usaha yang bergerak dalam bidang pengembang software dan
menyediakan Solusi berbasis IT yang inovatif dan terintegrasi. SMN - The Best
Choice For Your IT Solution ditangani oleh tenaga - tenaga ahli profesional muda
yang sudah berpengalaman didalam pembuatan berbagai macam software baik secara
dekstop aplikasi maupun website aplikasi.
Sembilan Media Nusantara memberikan layanan jasa dalam bidang
networking pula yang berupa network instalation, infrastruktur dan juga network
maintenance untuk memonitoring system kerja dalam network atau jaringan dalam
perusahaan anda.
Sembilan Media Nusantara juga menghadirkan solusi untuk web hosting
dengan berbagai macam pilihan paket anda dapat mengatur strategi untuk menyimpan
data file website, Sembilan Media Nusantara juga menghadirkan solusi untuk
registrasi domain, transfer domain dan memberikan hak akses penuh terhadap control
domain anda untuk memanage domain anda (melakukan perubahan nameserver,
registrasi nameservice, merubah detil kontak, mengatur url frame atau redirect, dll)..
Berbagai macam product dan service yang di hadirkan dapat mempermudah dan
2.2. Pr ofil Android
Android adalah sistem operasi untuk telepon seluler yang berbasis Linux.
Android menyediakan platform terbuka bagi para pengembang buat menciptakan
aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya,
Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak
untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset
Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan
telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan
Nvidia.
2.2.1. Sejarah Sistem Operasi Andr oid
Pada saat perilisan perdana Android, 5 November 2007, Android bersama
Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada
perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi
Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Di
dunia ini terdapat dua jenis distributor sistem operasi Android.
Pertama yang mendapat dukungan penuh dari Google atau Google Mail
Services (GMS) dan kedua adalah yang benar–benar bebas distribusinya tanpa
dukungan langsung Google atau dikenal sebagai Open Handset Distribution
(OHD).(Arif Nurhadi,2010)
2.2.3. Struktur Android
Awalnya Android dibuat oleh perusahaan perangkat lunak Android, Inc yang
lantas dibeli oleh Google. Android kemudian diadopsi oleh Open Handset Alliance
menggunakan versi modifikasi dari kernel Linux versi 2.6. Sistem Android
memungkinkan developer membangan aplikasi sendiri dengan menggunakan bahasa
pemrograman Java. Disamping itu Android juga menyediakan tools dan APIs yang
dibutuhkan selama pembuatan program. Android juga dapat mengontrol peralatan
bergerak seperti ponsel yang menjalankan aplikasi tersebut melalui Java libraries
yang dikembangkan oleh Google.
Sebagai bagian dari upaya mendorong terciptanya standar terbuka (open
standards) untuk teknologi perangkat bergerak, Google merilis sebagian besar dari
kode-kode program Android dibawah Apache License, sebuah model lisensi untuk
open source. Dengan lisensi Apache, vendor yang menggunakan platform Android
(misalnya perusahaan pembuat ponsel) dapat menambahkan ekstensi atau program
tambahan yang bersifat proprietary tanpa perlu mendaftarkan ekstensi tersebut ke
komunitas open source.
Distribusi Android dimulai pada 5 November 2007, ditandai dengan pendirian
Open Handset Alliance, sebuah aliansi bersama atau konsorsium yang terdiri atas 65
perusahaan pembuat perangkat keras, software, dan telekomunikasi seperti Broadcom
Corporation, Google, HTC, Intel.
Pada 9 Desember 2008 aliansi tersebut mengumumkan tambahan 14 anggota
baru untuk mendukung proyek Android, yakni ARM Holdings, Atheros
Communications, Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson,
Toshiba, dan Vodafone Group Plc. Dengan menyediakan open development platform,
Android menawarkan kepada para pengembang untuk membuat aplikasi-aplikasi
juga digunakan oleh aplikasi inti. Selain itu mereka juga bebas untuk megoptimalkan
penggunaan hardware, megakses informasi lokasi, menjalankan layanan sendiri,
mengatur alarm, dan fungsi-fungsi lain yang tak terhitung banyaknya. (Arif
Nurhadi,2010).
2.2.4. Fitur Android
Sebagai platform terpadu, Android memiliki fitur-fitur teknis yang dibutuhkan
untuk menyusun sebuah sistem operasi bergerak (mobile OS), meliputi:
a) Application framework: memungkinkan reuse dan replacement of
components
b) Dalvik virtual machine: dioptimalkan untuk mobile devices
c) Integrated browser: menggunakan open source WebKit engine
d) Optimized graphics: menggunakan custom 2D graphics library; 3D graphics
berdasar pada spesifikasi OpenGL ES 1.0 (akselerasi hardware bersifat
optional)
e) SQLite: untuk mengelola database/structured data storage
f) Media support: untuk audio, video, dan still image formats (MPEG4, H.264,
MP3, AAC, AMR, JPG, PNG, GIF)
g) GSM Telephony (hardware dependent)
h) Bluetooth, EDGE, 3G, dan WiFi (hardware dependent)
i) Camera, GPS, compass, dan accelerometer (hardware dependent)
j) Rich development environment, meliputi device emulator, tools untuk
Selain fitur diatas, Android dibundel lengkap dengan satu set core
applications (aplikasi inti) yang meliputi email client, SMS program, kalender, peta
(maps), browser, kontak, dan sebagainya. Semua aplikasi tersebut ditulis dalam
bahasa pemrograman Java (Nazruddin, 2010).
2.2.5. Ver si Andr oid
Sejak rilis pertamanya, Android telah mengalami beberapa kali mengalami
updating. Berikut adalah versi awal hingga versi terakhir (stabil) dari Android:
a) Android 1.5 (Cup Cake) SDK
Berbasis pada Linux Kernel 2.6.27. Diluncurkan pada 30 April 2009. Cup Cake
antara lain mendukung fungsi-fungsi seperti merekam dan melihat video pada
camcorder mode, mengupload video ke YouTube dan foto ke Picasa langsung dari
ponsel, dan Bluetooth A2DP support.
b) Android 1.6 (Donut) SDK
Pada 15 September dengan berbasis Linux Kernel 2.6.29, Donut menambah
kemampuan Android seperti support untuk resolusi layar WVGA, antarmuka kamera,
camcorder, dan gallery yang terintegrasi, dukungan untuk CDMA/EVDO. 802.1x
(WiFi), VPN, Gestures, dan Text-to-speech engine, serta peningkatan kecepatan
untuk kamera dan pencarian.
c) Android 2.0/2.1 (Eclair) SDK
Android 2.0 Eclair dirilis pada 26 Oktober 2009. Update dari versi sebelumnya
meliputi peningkatan hardware speed, dukungan untuk lebih banyak ukuran dan
resolusi layar, tampilan browser yang baru dan dukungan untuk HTML5, Google
Exchange, Blutooth 2.1, Live Wallpapers, dan pengayaan virtual keyboard. Android
2.1 diluncurkan pada 3 Desember 2009 dengan tetap menggunakan codename Eclair.
Keduanya menggnuakan Linux Kernel 2.6.29 (Nazruddin, 2010).
2.3. Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform (
platform-independent). Berikut ini adalah sifat dari Eclipse:
a) Multi-platfor m: Target sistem operasi Eclipse adalah Microsoft Windows,
Linux, Solaris, AIX, HP-UX dan Mac OS X.
b) Multi-language: Eclipse dikembangkan dengan bahasa pemrograman Java,
akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa
pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain
sebagainya.
c) 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.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan
open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat
lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah
kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang
dinamakan plug-in. Eclipse awalnya dikembangkan oleh IBM untuk menggantikan
tanggal 5 November 2001, yang menginvestasikan sebanyak US$ 40 juta untuk
pengembangannya. Semenjak itu konsursium Eclipse Foundation mengambil alih
untuk pengembangan Eclipse lebih lanjut dan pengaturan organisasinya.
Eclipse menggunakan EPL (Eclipse Public License), yaitu lisensi yang
memungkinkan organisasi untuk menjadikan Eclipse sebagai produk komersialnya,
dan pada saat yang sama meminta orang yang melakukan perubahan untuk
mengkontribusikan hasilnya kembali kepada komunitas. (Mindit,2011).
Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel, yang
mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah
fungsi dari plug-in yang sudah diinstal. Ini merupakan basis dari Eclipse yang
dinamakan Rich Client Platform (RCP). Berikut ini adalah komponen yang
membentuk RCP:
1) Core platform
2) OSGi
3) SWT (Standard Widget Toolkit)
4) JFace
5) Eclipse Workbench
Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development
Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program
Java, dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in
baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman
Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas (extensible)
untuk apa saja, dan tidak untuk sesuatu yang spesifik. Jadi, Eclipse tidak saja untuk
mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam
keperluan, cukup dengan menginstal plug-in yang dibutuhkan. Apabila ingin
mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development Tools).
Selain itu, pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse,
plug-in UML2 tersedia untuk membuat diagram UML. Dengan menggunakan PDE
setiap orang bisa membuat plug-in sesuai dengan keinginannya. Salah satu situs yang
menawarkan plug-in secara gratis seperti Eclipse downloads by project.
Sejak tahun 2006, Eclipse Foundation mengkoordinasikan peluncuran Eclipse
secara rutin dan simultan yang dikenal dengan nama Simultaneous Release. Setiap
versi peluncuran terdiri dari Eclipse Platform dan juga sejumlah proyek yang terlibat
dalam proyek Eclipse. Tujuan dari sistem ini adalah untuk menyediakan distribusi
Eclipse dengan fitur-fitur dan versi yang terstandarisasi. Hal ini juga dimaksudkan
untuk mempermudah deployment dan maintenance untuk sistem enterprise, serta
untuk kenyamanan (Herry Finley,2012).
2.4. Android Development dengan Eclipse
Perkembangan teknologi mobile termasuk yang paling cepat, ditambah dengan
prospek bisnis dan lifestyle menjadikan aplikasi berbasis mobile sangat menarik
untuk dikembangkan oleh setiap developer. Semakin maraknya teknologi
smartphone yang dipelopori oleh boomingnya Blackberry, Iphone, dan terakhir
diwarnai dengan adanya Google Android menjadikan mobile application sesuatu
menjadi raja di dunia mobile programming (karena mayoritas device yang telah
support) timbul banyak permasalahan yang dialami oleh para mobile developer
karena terbatasnya resource dan kemampuan yang dimiliki, Namun teknologi
smartphone memberikan fleksibilitas yang sangat tinggi bagi developer untuk
memaksimalkan resource yang dimiliki oleh device.
Diantara teknologi smartphone yang populer saat ini, android menjadi salah
satu pemain serius di masa depan karena sifatnya yang open source sehingga
mendapat dukungan dari komunitas. Android memanfaatkan teknologi bahasa
pemrograman Java sebagai core dalam pengembangan aplikasi, sehingga tampaknya
Java menjadi prerequisites bagi programmer yang ingin bermain-main dengan
Android. Untungnya android juga memberikan support kepada 2 IDE (integrated
development environment) yang paling populer di dunia Java, yaitu eclipse dan
netbeans. Cara setup development menggunakan netbeans pastikan sudah memiliki
SDK android, yang bisa didapat di http://developer.android.com/sdk/index.html .
Untuk dapat memulai lengkapi langkah yang diperlukan untuk melakukan instalasi
SDK tersebut, hal ini terutama karena SDK tersebut belum berisi semua repository
file yang diperlukan, diantaranya untuk menambahkan android platform dan
komponen lain yang diperlukan. Pada windows, hal ini dapat dilakukan dengan
Instalasi dan Setting Android SDK, J DK, dan Eclipse
Beberapa persiapan sebelum kita develop aplikasi android. Unduh aplikasi
Eclipse pada www.eclipse.org lalu ekstrak kedalam C:\eclipse. Kemudian untuk
mendapatkan Android SDK versi terakhir dapat mengunduh langsung dari website
resmi Android.
Setelah mengunduh, ekstrak berkas Android yang di unduh tadi ke :
C:\eclipse\android-sdk-windows
Eclipse tidak membutuhkan instalasi, namun sebelum dapat menggunakan
pastikan pastikan komputer Anda telah terinstal Java SE Development Kit (JDK)
yang bisa diunduh di alamat http://www.oracle.com/technetwork/java/javase/
downloads/index.html. Ukuran file installer JDK tersebut kurang lebih 78 MB.
Selanjutnya yaitu melakukan instalasi plugin ADT Eclipse. Jalankan eclipse.exe
pastikan komputer telah terkoneksi dengan internet. Klik menu Help -> Install New
Software. Klik Add pada sudut kanan atas dialog. Pada dialog Add repository,
masukkan name "ADT Plugin", lalu masukkan URL
https://dl-ssl.google.com/android/eclipse/. Klik OK
Untuk melakukan update library Android eksekusi file SDKManager.exe,
kemudian klik button Update All untuk melakukan update library secara otomatis
hingga selesai. Proses ini akan memakan waktu lama apabila kita ingin memasang
semua library untuk berbagai jenis tipe Android OS, karena jika semuanya terinstal
kurang lebih akan memakan 2GB harddrive. Selanjutnya adalah menghubungkan
eclipse dengan Android SDK. Buka Eclipse, kemudian masuk ke menu Window ->
Preferences, lalu klik Tab Android Pada dialog tersebut klik button Browse,
kemudian arahkan ke path/lokasi folder android-sdk-windows. Klik Apply, maka akan
muncul beberapa macam library yang siap digunakan, seperti tampak pada gambar
berikut.
Emulator
Selesai memasang paket yang dibutuhkan, sudah bisa membuat emulator di
menu “Window->AVD Manager”. Disini kita akan membuat “Android Virtual
Device” atau singkatnya “AVD”,
Gambar 2.3 Membuat AVD baru
Kemudian klik New untuk membuat AVD baru.
Gambar 2.4 Field Membuat AVD
Untuk mencoba AVD di emulator yang baru saja dibuat, pilih pada nama
AVD yang telah kita buat lalu klik Start kemudian launch
Gambar 2.5 Emulator Android
ECLIPSE
Untuk membuat aplikasi Android menggunakan Eclipse Anda perlu
menyatukan library Android di Eclipse, seperti yang telah dijelaskan sebelumnya
kemudian kita bias memulai dengan memilih menu File->New->Other->Android
Project.
Isi dengan nama project yang diinginkan kemudian klik Next.
Selanjutnya kita akan diminta untuk memilih platform Android yang akan kita
gunakan.
Gambar 2.7 pilih platform
Kemudian pilih Next, dan mulai mengisi detail project kita
Dan tekan tombol “Finish”. Setelah itu sudah bisa membuat aplikasi untuk
Android.(Ivan Michael Siregar, 2011)
2.5. Unified Modelling Language
Unified Modelling Language (UML) adalah sebuah "bahasa" yang telah
menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan
sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model
sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua
jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras,
sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun
(Dharwiyanti, 2003).
UML menyediakan diagram – diagram yang sangat kaya dan dapat diperluas
sesuai kebutuhan kita. Diagram adalah representasi secara grafis dari elemen-elemen
tertentu beserta hubungan-hubungannya. Diagram menjadi sangat penting, karena
diagram menyediakan representasi secara grafis dari sistem (atau bagiannya) dan
representasi grafis sangat mempermudah pemahaman terhadap sistem (Hariyanto,
2004).
Use CaseDiagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari
sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan
“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor
dengan sistem. Diagram ini sangat penting untuk mengorganisasi dan memodelkan
Tabel 2.1 Deskripsi Use Case (Nugroho, 2005) Deskripsi Use Case
Actor Aktor adalah pengguna sistem dan digambarkan seperti di samping. Peran pengguna tertulis di bawah
ikon. Pelaku tidak terbatas pada manusia. Jika suatu sistem berkomunikasi dengan aplikasi lain, dan akan memberikan masukan atau keluaran, maka aplikasi tersebut juga dapat dianggap sebagai actor.
Actor Name
Use Case Use Case (misalnya Daftar Mobil, Hapus Pengguna). adalah fungsi yang disediakan oleh sistem, Use Case digambarkan dengan elips. Nama use case
ditulis di bawah elips. Use Case Name
Association Asosiasi digunakan untuk menghubungkan Aktor dengan Use Case, dan menunjukkan bahwa sebuah actor berpartisipasi di dalam beberapa form use case. Asosiasi yang digambarkan oleh tanda panah menghubungkan aktor dan use case.
2.6. PHP
Menurut Rudyanto (2005), Jika kita ingin menggunakan bahasa pemrograman
web yang gratis, PHP adalah jawaban yang tepat. Setelah itu dijelaskan, “PHP (dulu
Personal Home Page, sekarang PHP: Hypertext Preprocessor) merupakan program
yang dikembangkan secara bersama oleh para programmer dari seluruh dunia yang
menekuni dunia open-source”.
Berbeda dengan bahasa pemrograman Web seperti ASP (Active Server Page)
yang merupakan scripting yang dikembangkan oleh Microsoft, dimana sekarang telah
berkembang menjadi ASP.Net. tetapi sama seperti produk Microsoft yang lainnya
yang berorientasi komersialdan harus membayar lisensi untuk menggunakan bahasa
Rudyanto (2005) melanjutkan, Sebagai sebuah bahasa pemrograman
server-side, PHP juga memiliki keunggulan seperti :
a. Source atau script tidak dapat dilihat dengan menggunakan view HTML
source, yang ada pada web browser.
b. Dapat memanfaatkan sumber-sumber aplikasi yang dimiliki oleh server,
seperti misalnya untuk keperluan database connection.
c. Dapat melakukan semua aplikasi program CGI, seperti mengambil nilai form,
menghasilkan halaman web yang dinamis, mengirim dan menerima cookie.
d. Dapat dikenal oleh web browser apapun, karena tidak membutuhkan
kompatibilitas web browser tertentu.
2.7. Domain dan Hosting
Domain dan hosting merupakan satu kesatuan dalam pembangunan sebuah
website. Dengan adanya domain dan hosting website yang merupakan halaman
informasi yang disediakan melalui jalur internet bisa diakses di seluruh dunia selama
terkoneksi dengan jaringan internet.
2.7.1. Domain
Nama domain (domain name) adalah nama unik yang diberikan untuk
mengidentifikasi nama server komputer seperti web server atau email server di
jaringan komputer ataupun internet. Nama domain berfungsi untuk mempermudah
pengguna di internet pada saat melakukan akses ke server, selain juga dipakai untuk
mengingat nama server yang dikunjungi tanpa harus mengenal deretan angka yang
kesatuan dari sebuah situs web seperti contohnya "wikipedia.org". Nama domain
kadang-kadang disebut pula dengan istilah URL, atau alamat website.(Astrid, 2006)
2.7.2. Hosting
Pengertian hosting dapat berarti layanan internet untuk penempatan
informasi-informasi baik untuk halaman-halaman web, penyimpanan email, database, dll. Untuk
sederhananya, layanan ini sebagai solusi untuk menempatkan halaman-halaman web
anda agar selalu online. Dengan demikian, kita tidak perlu menyediakan satu
komputer khusus yang selalu online di kantor atau di rumah anda, melainkan cukup
dengan bekerjasama dengan penyedia jasa hosting ini.
Atau layanan untuk penempatan halaman-halaman web di internet di mesin
komputer yang selalu terhubung dengan internet, umumnya layanan ini disediakan
oleh penyelenggara jasa internet atau Internet Presence Provider.
Hosting atau biasa disebut sebagai web hosting adalah layanan penyewaan
ruang simpan data (space) yang digunakan untuk menyimpan data - data website agar
halaman website tersebut bisa diakses dari mana saja. Data web tersebut meliputi file
- file html, php script, cgi script, css, image, database, dan file lain yang dibutuhkan
untuk menampilkan halaman web. (Astrid, 2006)
2.8. WHMCS (Web Hosting Manager Complete Solution)
WHMCS adalah sebuah all-in-one client management system yaitu sebuah
aplikasi berbasis web untuk pengelolaan member dan juga transaksi dalam sebuah
automation system yang memberikan kendali penuh dalam bisnis persewaan domain
dan hosting. WHMCS juga sudah terintegrasi dengan berbagai macam modul API
yang telah banyak dipakai oleh para developer baik itu dari sistem pembayaran
ataupun pengelolaan server berbasis cpanel dan sebagainya. WHMCS membantu
meringankan kinerja para pengelola server sehingga tidak terlalu dipusingkan dengan
perintah-perintah dasar pada suatu sistem operasi. Kemudian WHMCS juga sudah
melakukan otomatisasi pada sistem pembayaran dan pengelolan dukungan (support)
sehingga client tidak perlu bingung dalam melakukan pembelian domain dan
27
3.1 Analisis dan Konsep Per ancangan Progr am
Analisis adalah penguraian dari suatu masalah atau objek yang akhirnya menghasilkan suatu kesimpulan, hal ini dimaksudkan untuk mengidentifikasi dan mengevaluasi masalah-masalah atau objek.
Analisis terhadap pembuatan program aplikasi ini dimaksudkan untuk mengetahui proses pembuatan program aplikasi sistem pembelian domain dan hosting sehingga siap dipublikasikan ke smartphone. Maka dari diberikan teknik dasar dalam perancangan program aplikasi billing (DOHOSE) secara umum, yaitu :
a) Mengetahui tools yang digunakan dalam sistem penjualan domain dan hosting
b) Menentukan bahasa pemrograman aplikasi yang akan digunakan.
c) Menentukan fasilitas tambahan yang akan diberikan pada aplikasi sistem penjualan domain dan hosting.
d) Jika fasilitas tambahan membutuhkan database, maka tentukan database
yang akan digunakan, sesuaikan dengan pemrograman aplikasi yang akan digunakan.
3.2 Analisis Kebutuhan
Mencakup hal-hal yang dubutuhkan yang kesemuanya meliputi kebutuhan-kebutuhan pendukung pada pembuatan sistem hingga selesai yaitu berfokus pada alat yang dibutuhkan baik perangkat keras maupun lunak dan kebutuhan data yang meliputi data-data yang dibutuhkan yang berhubungan dengan pengguna sistem.
3.2.1 Identifikasi Kebutuhan Pendukung
Kebutuhan disini meliputi alat-alat yang dapat mendukung dalam merancang dan pembuatan aplikasi billing tersebut.
Software dan Hardware yang dibutuhkan antara lain : a) Rational Rose (untuk merancang UML) b) MySQL (database)
c) Processor minimum 200 MHz (sebaiknya lebih) d) RAM minimum 2GB atau lebih
e) Cache memory 512 KB atau lebih f) Harddisk 360 GB.
3.2.2 Kebutuhan Data
Dari hasil surfey yang dilakukan penulis maka dapat didefinisikan beberapa kebutuhan data atau requirement yang diperlukan dalam pembuatan aplikasi ini dan itu meliputi :
Tabel 3.1. Data Requirement
DATA KAMUS DATA
User = Orang yang melakukan order. Input Domain = Nama domain yang akan di order.
Input Kontak = Data pemilik domain atau account pemilik.
Input Hosting = Memilih paket hosting yang tersedia sesuai dengan kebutuhan
Refund = Laporan hasil affiliasi atau bonus dari penjualan bulan lalu.
Kesemua data-data tersebut ( lihat tabel data requirement) tersimpan dalam tabel-tabel yang terangkum dalam software WHMCS, jadi setiap data yang dimasukkan oleh user tersebut secara otomatis akan tersimpan pada database pusat WHMCS.
3.3 Model Water fall
Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam
Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement. Secara umum tahapan pada model waterfall dapat dilihat pada gambar berikut :
Gambar 3.1 Model Water fall
Berikut adalah penjelasan dari tahap-tahap yang dilakukan di dalam model ini menurut Pressman.
1) System / Information Engineering and Modeling
Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition.
2) Software Requirements Analysis
Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.
3) Design
4) Coding
Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.
5) Testing / Verification
Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.
6) Maintenance
Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.
dapat berjalan dengan baik dan tanpa masalah. Meskipun seringkali kebutuhan sistem tidak dapat didefinisikan seeksplisit yang diinginkan, tetapi paling tidak, problem pada kebutuhan sistem di awal project lebih ekonomis dalam hal uang (lebih murah), usaha, dan waktu yang terbuang lebih sedikit jika dibandingkan problem yang muncul pada tahap-tahap selanjutnya.
Meskipun demikian, karena model ini melakukan pendekatan secara urut / sequential, maka ketika suatu tahap terhambat, tahap selanjutnya tidak dapat dikerjakan dengan baik dan itu menjadi salah satu kekurangan dari model ini. Selain itu, ada beberapa kekurangan pengaplikasian model ini, antara lain adalah sebagai berikut:
Ketika problem muncul, maka proses berhenti, karena tidak dapat menuju ke tahapan selanjutnya. Bahkan jika kemungkinan problem tersebut muncul akibat kesalahan dari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar problem ini tidak muncul. Hal-hal seperti ini yang dapat membuang waktu pengerjaan SE.
Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasil dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinya bagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya. Oleh karena itu, seringkali model ini berlangsung lama pengerjaannya.
model proses ini dibutuhkan seseorang yang “multi-skilled”, sehingga minimal dapat membantu pengerjaan untuk tahapan berikutnya.
Menurut saya, tahapan-tahapan model ini sudah cukup baik dalam artian minimal untuk melakukan SE, maka harus ada tahapan-tahapan ini. Tahapan-tahapan ini jugalah yang digunakan oleh model-model yang lain pada umumnya. Ada filosofi yang mengatakan sesuatu yang sukses diciptakan pertama kali, maka akan terus dipakai di dalam pengembangannya. Hal ini juga berlaku pada waterfall model ini. Mungkin dapat dikatakan bahwa inilah standar untuk melakukan SE.
Akan tetapi, yang mungkin menjadi banyak pertimbangan mengenai penggunaan dari model ini adalah metode sequential-nya. Mungkin untuk awal-awal software diciptakan, hal ini tidak menjadi masalah, karena dengan berjalan secara berurutan, maka model ini menjadi mudah dilakukan. Sesuatu yang mudah biasanya hasilnya bagus. Oleh karena itu model ini sangat populer. Akan tetapi, seiring perkembangan software, model ini tentu tidak bisa mengikutinya. Yang menjadi kelemahan adalah pada pengerjaan secara berurutan tadi, seperti yang sudah saya utarakan sebelumnya. Kelemahan-kelemahan yang lain juga sudah saya utarakan di atas, atau bahkan masih ada yang lainnya.
mengarah kecil bisa menggunakan model ini. Akan tetapi kalau sudah project besar, tampaknya kesulitan jika menggunakan model ini.
3.4 Per ancangan Aplikasi Dalam UML
Perancangan sistem aplikasi billing (DOHOSE) ini dibuat rancangan dengan memnggunakan Unified Modeling Language perancangan UML dibagi menjadi beberapa tahapan sebagai berikut :
a) Use Case Diagram
Berfungsi menggambarkan fungsionalitas yang diharapkan sebuah sistem. Ditunjukkan dengan interaksi antara aktor (entitas manusia/mesin) dan proses yang terjadi dalam system
b) Activity Diagaram
Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision
yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram
juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi
di-trigger oleh selesainya state sebelumnya (internal processing). 3.4.1 Use Ca se Diagr am
Domain order
Hosting order
Confirmation
Check refund User
Pricing
diagram dapat digunakan selama proses analis untuk menangkap requirements system. Dan selama tahap design, use case diagram menetapkan perilaku system saat di implementasikan. Penggambaran Use Case Diagram tersebut mempresentasikan perancangan sistem pada aplikasi secara umum yaitu sebuah interaksi antar aktor dan antar sistem pada pengguna aplikasi seperti pada Gambar 3.3.
Gambar 3.2. Pembuatan Use Case Diagram
Seorang aktor merupakan entitas manusia atau mesin yang berinteraksi dengan sistem sehingga dapat mencapai apa yang diharapkan oleh sistem. Aktor tersebut adalah pengguna, beberapa proses sistem yang disebut disini adalah
Domain Order (melakukan pembelian domain oleh pengguna), Hosting Order
(melakukan pembelian hosting oleh pengguna). Aktor dan sistem dihubungkan menurut kebutuhan masing-masing (lihat gambar 3.3).
dijelaskan secara koprehensif pada tahap UML selanjutnya dalam activity diagram.
3.4.2 Activity Diagram
Tatanan alur beberapa aktivitas dari setiap proses yang ada pada system sehingga hubungan pemakaian antara user dan system terjalin dengan baik (pemrosesan dalam system seperti yang diinginkan), adalah activity diagram ini yang dapat menjelaskan hubungan tersebut. Oleh karena user pemakai system hanya satu user, yaitu hanyalah pengguna saja maka activity diagram yang ada adalah sebagai berikut :
Gambar 3.3 menunjukkan proses berjalannya aplikasi mulai dari menu utama aplikasi kemudian memilih menu pilihan yang ada yaitu domain order, hosting order, confirmation, check refund, sampai dengan menu pricing
3.5 Rancangan Sistem Menu
Dalam merancang program aplikasi dibuat agar terkesan sederhana dan memudahkan user untuk menggunakan, maka penulis membuat sistem menu 1) Membuka Aplikasi
Proses ini dilakukan untuk memulai aplikasi, terdapat 5 menu yaitu Domain Order, Hosting Order, Confirmation, Check Refund, Pricing. Pada proses yang dilakukan terdapat tiga aktivitas yang menyangkut segala kegiatan user (pengguna) yang ada dan ada hubunganya dengan system, yaitu domain order, hosting order dan check refund. Adapun rancangannya adalah sebagai berikut.
Gambar 3.4 Rancangan Menu Utama 2) Domain Or der
Adalah bagaimana seorang pengguna untuk melakukan pembelian domain. Proses yang tejadi mulai dari memasukkan nama domain yang diinginkan dan kemudian data pembeli sampai dengan pemilihan paket hosting yang diinginkan. Adapun rancangannya adalah sebagai berikut.
Dohose
Gambar 3.5 Rancangan Menu Domain Order 3) Hosting Order
Adalah bagaimana seorang pengguna untuk melakukan pembelian hosting saja tanpa melakukan pembelian domain. Proses yang terjadi adalah pengisian data pembeli sampai dengan pemilihan paket hosting dan lama sewa hosting. Adapun rancanganya adalah sebagai berikut
Gambar 3.6 Rancangan menu hosting order 4) Confirmation
Adalah bagaimana seorang pengguna untuk melakukan konfirmasi pembayaran terhadap order yang telah dilakukan. Proses yang terjadi adalah
Dohose
domain .com
Check Domain
Ekstensi domain Nama
Domain
Hosting Order
Nama domain
Choose package
Choose cycle Namadomain.com
wado
Monthly
pengisian data transfer dan no invoice (tagihan). Adapun rancanganya adalah sebagai berikut
Gambar 3.7 Rancangan menu confirmation
5) Check Refund
Adalah bagaimana seorang pengguna untuk melakukan pengecekan terhadap hasil perolehan penjualan yang telah dilakukan. Adapaun rancangannya adalah sebagai berikut.
Gambar 3.8 Rancangan menu check refund
Confirmation Name
Invoice id
Account Bank Name
Destination
Amount
BCA
Send Confirmation
Check Refund For Last Month
6) Pr icing
Adalah bagaimana seorang pengguna untuk melihat harga yang ada. Adapun rancangannya adalah sebagai berikut dan berbentuk seperti tabel
TLD Min. years Price
.com 1 Rp. 95.000
.net 1 Rp. 95.000
.org 1 Rp. 95.000
.biz 1 Rp. 100.000 .info 1 Rp. 95.000
.us 1 Rp. 105.000
.tv 1 Rp. 320.000
42
IMPLEMENTASI SISTEM
Pada bab IV ini akan dibahas mengenai implementasi dari rancangan sistem yang telah dibuat pada bab III. Bagian implementasi sistem kali ini meliputi: lingkungan implementasi, implementasi proses, dan implementasi antarmuka.
4.1 Lingkungan Implementa si
Pada bagian ini akan dijelaskan mengenai perangkat keras dan perangkat lunak yang digunakan pada implementasi sistem ini.
Per angkat Ker as :
a) Notebook dengan prosessor Intel Core i5 b) Memori 2 GB
c) Harddisk 500 GB Per angkat Lunak
a) Sistem Operasi Windows 7 b) Dreamweaver CS5
c) Android SDK
d) Java Development Kid (JDK) e) Eclipse
f) Rational Rose
4.2 Implementasi Data
Pada tahap ini akan dibahas mengenai implementasi data dari perancangan data yang telah dibahas sebelumnya. Dari hasil requiremen data didapat script untuk memanggil dan menginputkan data pada system billing WHMCS yang sudah ada dengan memanfaatkan system API yang dibuat menggunakan php untuk menerima inputan dari user android dan meneruskan ke dalam system billing WHMCS.
4.3 Implementasi Antar Muka
Pada tahap ini akan dijabarkan tentang implementasi antar muka dari aplikasi yang telah dibuat berdasarkan perancangan yang telah dibahas pada Bab III. System ini berfungsi untuk mempermudah pengguna dalam mengelola system pada aplikasi Dohose. Pada system ini terdapat beberapa sub menuutama yaitu :
1) Halaman Utama 2) Menu Utama :
a) Form Domain Order b) Form Hosting Order c) Form Confirmation d) Check Refund e) Pricing
4.3.1 Menu Utama Aplikasi Dohose
Gambar 4.1 ini merupakan sebuah proses awal masuk ke dalam menu utama.
Gambar 4.1 Form Menu Dohose
Gambar 4.1 menunjukkan tampilan atau halaman utama pada aplikasi Dohose yang meliputi Domain Order, Hosting Order, Confirmation, Check Refund, dan Pricing. User dapat memilih menu sesuai yang diinginkan.
Adapun script untuk menampilkan menu tersebut adalah sebagai berikut :
package org.smn.dohose;
import android.app.AlertDialog; import android.app.ListActivity;
import android.content.DialogInterface; import android.content.Intent;
import android.content.DialogInterface.OnClickListener; import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuItem; import android.view.View;
import android.widget.ListView;
public class Main extends ListActivity {
/** Called when the activity is first created. */ public void onCreate(Bundle icicle) {
super.onCreate(icicle);
String[] listItems = new String[] { "Domain Order", "Hosting Order", "Confirmation", "Check Refund" , "Pricing" }; MyArrayAdapter adapter = new MyArrayAdapter(this, listItems);
setListAdapter(adapter); }
@Override
public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.layout.menu, menu);
menu.findItem(R.id.menu_about).setIcon(android.R.drawable.ic_menu_
public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) {
public void onDialogAbout() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
public void onBackPressed() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure you want to exit?") .setCancelable(false)
DialogInterface.OnCli
AlertDialog alert = builder.create(); alert.show();
public void goSendEmail(String email) {
Intent i = new Intent(Intent.ACTION_SEND); i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_EMAIL, new String[] { email.trim() });
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id); // Get the item that was clicked
Object o = this.getListAdapter().getItem(position); String pilihan = o.toString();
4.3.2 Halaman Domain Order
Gambar 4.2 ini merupakan tampilan menu domain order yang keluar setelah pengguna menjalankan aplikasi Dohose dan memilih menu Domain Order. Pada halaman ini terdapat satu form untuk nama domain dan pilihan ekstensi domain.
Gambar 4.2. Halaman Domain Order
Adapun script untuk menampilkan menu tersebut adalah sebagai berikut :
public class ViewOrderDomain extends Activity { static final int DIALOG_LOADING_ID = 0; private EditText txtDomainName;
private Button btnNext; private String url =
"http://api.sembilanmedia.com/whois.php"; private String status,suffix;
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.domainlayout); txtDomainName = (EditText)
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
//@Override
public void onItemSelected(AdapterView<?>
parentView, View selectedItemView, int position, long id) {
Object item =
parentView.getItemAtPosition(position);
suffix = item.toString();
//@Override public void
onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub }
@SuppressWarnings( { "unchecked" }) public void postRequest() {
Log.d("getRequest", url);
HttpClient client = new DefaultHttpClient(); HttpPost request = new HttpPost(url);
try {
@SuppressWarnings("rawtypes") List post = new ArrayList(1);
post.add(new
AlertDialog domainStatus = new AlertDialog.Builder(ViewOrderDomain.this).create(); onClick(DialogInterface dialog, int which) {
domainStatus.setMessage("Domain\n"+txtDomainName.getTe xt().toString()+suffix+"\nIs Not Available");
domainStatus.setButton("OK",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
btnNext.setVisibility(View.INVISIBLE); return ; }
}); }
domainStatus.show(); }
} catch (Exception ex) {
Log.d("HTTPRequest", ex.toString()); }
} }
4.3.3. Halaman Contact Form
Gambar 4.3 ini merupakan tampilan contact form dohose yang keluar setelah pengguna menjalankan aplikasi dohose. Pada halaman ini terdapat beberapa form diantaranya adalah first name, last name, company, email, address country, postal code, city, province, phone, password.
Menu ini akan tampil ketika pengguna melakukan order domain dan hosting maupun hanya melakukan order hosting saja, fungsinya adalah data pelanggan untuk digunakan sebagai catatan juga digunakan sebagai domain
profile atau lebih sering disebut whois domain.
Adapun script untuk menampilkan menu tersebut adalah sebagai berikut :
package org.smn.dohose;
public class ViewOrderForm extends Activity { private String url =
"http://api.sembilanmedia.com/addclient.php";
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.orderform);
Bundle extras = getIntent().getExtras();
findViewById(R.orf.ed
txtEmail = (EditText) findViewById(R.orf.editEmail); txtAlamat = (EditText) findViewById(R.orf.editAlamat); txtKota = (EditText) findViewById(R.orf.editKota); txtPropinsi = (EditText)
findViewById(R.orf.editPropinsi);
txtKodePos = (EditText) findViewById(R.orf.editKodepos); //txtNegara = (EditText) findViewById(R.orf.editNegara); txtPhone = (EditText) findViewById(R.orf.editTelepon); txtPassword = (EditText)
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
//@Override
public void onItemSelected(AdapterView<?>
parentView, View selectedItemView, int position, long id) {
Object item =
// TODO Auto-generated method stub public void nextStep(View view) {
postRequest(); }
@SuppressWarnings( { "unchecked" }) public void postRequest() {
Log.d("getRequest", url);
HttpClient client = new DefaultHttpClient(); HttpPost request = new HttpPost(url);
try {
@SuppressWarnings("rawtypes") AlertDialog txtResponse = new AlertDialog.Builder(ViewOrderForm.this).create();
//post.add(new BasicNameValuePair("uid", jresult = new JSONObject(result);
if(jresult.getString("result").equals("error")){ onClick(DialogInterface dialog, int which) {
return ; Completed\n Your Client Id =
"+jresult.getString("clientid"));
public void onClick(DialogInterface dialog, int which) {
Intent i = new Intent(ViewOrderForm.this, pickPackage.class);
i.putExtra("domainOrder", domainOrder);
i.putExtra("clientID", clientID);
startActivity(i); txtResponse.show();
} catch (Exception ex) {
Log.d("HTTPRequest", ex.toString()); }
4.3.4. Menu Hosting Or der
Gambar 4.4 merupakan tampilan dari menu hosting order yang keluar setelah pengguna menjalankan aplikasi dohose. Pada halaman ini terdapat beberapa form diantaranya adalah nama domain, pilihan paket hosting, dan termin
atau jangka waktu penyewaan hosting.
Dalam menu hosting order ini pengguna akan memilih pilhan paket hosting yang diinginkannya adapun diantaranya adalah paket wado, kitetsu, yubashiri, meitou, shuusui dimana setiap paket mempunyai feature yang berbeda dari segi bandwidth dan space.
Adapun untuk pilihan termin atau jangka waktu pembayaran yaitu mulai dari monthly (bulanan), quarterly (3 bulanan), semi-annually (6 bulanan), dan
annually (1 tahunan). Yang dimaksudkan untuk lama penyewaan hingga melakukan pembaharuan atau renewal. Kemudian ketika order selesai dilakukan maka pengguna akan mendapatkan nomer invoice atau tagihan untuk sebagai catatan dan detail dari pemesanan akan langsung dikirimkan ke email pengguna. Adapun script untuk menampilkan menu tersebut adalah sebagai berikut :
package org.smn.dohose;
public class ViewOrderHosting extends Activity { static final int DIALOG_LOADING_ID = 0; private EditText txtDomainName;
private Button BtnSend; private String url =
"http://api.sembilanmedia.com/addorderhosting.php"; private String
hasil,paket,termin,InvoiceID,clientID,uid; private JSONObject jhasil;
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.orderhosting); txtDomainName = (EditText)
findViewById(R.orh.editDomain);
uid =
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?>
parentView, View selectedItemView, int position, long id) {
Object item =
// TODO Auto-generated method stub
ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(
spinner2.setOnItemSelectedListener(new OnItemSelectedListener(){
//@Override
public void onItemSelected(AdapterView<?>
parentView, View selectedItemView, int position, long id) {
Object item =
}
@SuppressWarnings( { "unchecked" }) public void postRequest() {
Log.d("getRequest", url);
HttpClient client = new DefaultHttpClient(); HttpPost request = new HttpPost(url);
try {
@SuppressWarnings("rawtypes") AlertDialog txtResponse = new AlertDialog.Builder(ViewOrderHosting.this).create();
List post = new ArrayList(1);
post.add(new BasicNameValuePair("uid",
hasil = HTTPRequest.request(response); Log.d("HTTPRequest", hasil.toString());
jhasil = new JSONObject(hasil);
if(jhasil.getString("result").equals("error")){ onClick(DialogInterface dialog, int which) {
BtnSend.setVisibility(View.INVISIBLE); Completed\n Your Invoice id : "+InvoiceID+"\n Note Your Invoice ID for confirmation");
txtResponse.setButton("OK",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
4.3.5 For m Confirmation
Gambar 4.5 merupakan halaman confirmation. Dimana dalam form terdapat Nama, invoice id, nama pemilik akun, dan bank tujuan yang berfungsi untuk konfirmasi pembayaran setelah melakukan transfer. Dan ditujukan kepada billing department dalam hal ini form akan langsung merubah kedalam bentuk format email yang siap dikirim.
Gambar 4.5. Halaman Confirmation
package org.smn.dohose;
import android.app.Activity; import android.view.View;
import android.widget.EditText; import android.widget.Spinner; import android.os.Bundle; import android.content.Intent;
public class Confirmation extends Activity { @Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.confirmation); }
public void sendEmail(View button) { final EditText nameField = (EditText) findViewById(R.conf.editNama);
String nama = nameField.getText().toString(); final EditText invoiceField = (EditText)
Strin
g invoice =
invoiceField.getText().toString();
final Spinner ListBank = (Spinner) findViewById(R.conf.PilihBank);
String pilihbank =
ListBank.getSelectedItem().toString();
final EditText namaRekField = (EditText) findViewById(R.conf.editNamaRek);
String namarek = namaRekField.getText().toString();
final EditText emailField = (EditText) findViewById(R.conf.editEmail);
String email = emailField.getText().toString(); final EditText jumlahTransField = (EditText) findViewById(R.conf.editJumlahTransfer);
String jumlahTransfer = jumlahTransField.getText().toString();
String message = formatMessage(nama, invoice, pilihbank, namarek, email, jumlahTransfer);
SendisiMessage (message); }
protected String formatMessage(String nama, String invoice, String pilihbank, String namarek, String email,
String jumlahTransfer){ String strMessage =
getResources().getString(R.string.messagebody_format);
String mailMsg = String.format(strMessage, nama, invoice, pilihbank, namarek, email,
jumlahTransfer);
return mailMsg; }
public void SendisiMessage(String message) {
Intent messageIntent = new Intent(android.content.Intent.ACTION_SEND);