Bab 3 Metode dan Perancangan Sistem 3.1 Metode Pengembangan Sistem Pada bagian ini akan dijelaskan tentang metode penelitian yang digunakan dalam pengembangan sistem. Metode penelitian yang dipakai adalah metode Prototyping. 3.1.1 Pembahasan Metode Prototyping Metode penelitian yang digunakan pada pembuatan aplikasi ini yaitu model prototyping. Secara lengkap, alur model prototyping akan digambarkan seperti pada Gambar 3.1. Gambar 3.1 Prototyping Model Keuntungan dari model prototyping ini yaitu perulangan ketiga proses akan terus berlangsung hingga semua kebutuhan terpenuhi, sehingga mendapatkan hasil yang maksimal. Berikut ini merupakan tahapan metode Prototyping dalam penelitian ini: ­ Analisis Kebutuhan 21 22 Tahap analisis kebutuhan digunakan untuk mengetahui dan menerjemahkan semua permasalahan serta kebutuhan perangkat lunak dan kebutuhan sistem yang dibangun. Permasalahan yang muncul diidentifikasi dan dievaluasi, sehingga sistem dapat dibangun sesuai dengan kriteria yang diharapkan. Tahap melakukan analisis kebutuhan pada sistem ini yaitu mempelajari website Yahoo Finance mengenai fitur untuk konversi mata uang yang ada dalam kedua website tersebut. Analisis yang dilakukan pada penelitian ini terdiri dari analisis kebutuhan non fungsional, analisis kebutuhan fungsional, analisis input, analisis alur kerja sistem, analisis output. ­ Perancangan sistem Setelah melakukan analisis kebutuhan, tahap kedua adalah melakukan perancangan sistem yang akan dibangun. Perancangan sistem dibutuhkan untuk membantu proses pengembangan dan untuk dokumentasi perangkat lunak sistem. Perancangan sistem dibuat dengan menggunakan diagram-diagram UML yang terdiri dari use case diagram, activity diagram, sequence diagram, dan class diagram. ­ Pengujian prototipe Tahap ketiga adalah pembuatan prototipe berdasarkan rancangan sistem untuk selanjutnya dilakukan pengujian, apakah benar-benar memberikan manfaat dalam segi efisiensi dan efektifitas serta memudahkan pengguna dalam pemakaiannya sehingga bisa menciptakan sebuah sistem yang terkomputerisasi dengan baik. Aplikasi Android ini dibangun dengan menggunakan bahasa pemrograman Java. Menerapkan SQLite, http connection, proses fetching, dan MVC pada aplikasi. Melakukan pengujian aplikasi 23 pada emulator Android versi 2.1 Eclair. Membandingkan hasil konversi aplikasi dengan hasil konversi Yahoo Finance. Di implementasikan pada Android device dengan versi Android yang berbeda. Meminta user (beberapa masyarakat) untuk menjalankan/testing aplikasi tersebut. Pada tahapan ini sistem akan dievaluasi, jika sistem masih perlu penyempurnaan maka proses akan diulangi dari tahap pertama sampai tahap ketiga. Pada tahap pertama, hasil evaluasi terakhir akan menjadi analisa data dan kebutuhan yang baru. 3.1.2 Analisis Kebutuhan Non Fungsional Analisis kebutuhan non fungsional merupakan analisis kebutuhan di luar fungsi daripada sistem, analisis ini terdiri dari analisis hardware (perangkat keras), analisis software (perangkat lunak), analisis web hosting, analisis user (pengguna). Dalam perancangan aplikasi konversi mata uang ini tentunya dibutuhkan hardware (perangkat keras) serta software (perangkat lunak) pendukung. Kebutuhan minimum untuk hardware (perangkat keras) serta software (perangkat lunak) tercantum pada Tabel 3.1 dan Tabel 3.2. Tabel 3.1 Kebutuhan Hardware Kebutuhan Processor RAM Harddisk Spesifikasi Intel Pentium 4 1 Gb 80 Gb 24 Tabel 3.2 Kebutuhan Software Kebutuhan Spesifikasi ECLIPSE GALILEO (3.5) ADT-0.9.4 SDK Android (Android 2.1) Notepad IDE Android Plugin Android Emulator Editor PHP Daftar software pada Tabel 3.2 dapat dijelaskan sebagai berikut. - IDE merupakan software yang digunakan untuk membuat program, IDE yang support untuk pembuatan program berbasis Android adalah Eclipse. Eclipse Galileo 3.5 merupakan versi minimum Eclipse yang mendukung Android plugin sampai versi ADT-14.0.0 yang merupakan versi terbaru saat tulisan ini dibuat. - Android plugin dibutuhkan agar suatu IDE dapat digunakan untuk membuat program berbasis Android, ADT-0.9.4 merupakan versi minimum Android plugin untuk Eclipse Galileo 3.5. - Android emulator merupakan software yang dibutuhkan oleh IDE untuk proses compile aplikasi Android dan untuk menjalankan aplikasi Android seolah – olah pada Android device. Versi minimum Android emulator yang digunakan adalah Android 2.1, karena aplikasi yang dibuat menggunakan versi 2.1 dapat dijalankan pada Android versi 2.1 ke atas. - Editor PHP merupakan software yang digunakan untuk membuat program berbasisi PHP, minimum software yang dapat digunakan sebagai editor PHP adalah notepad. 25 Dalam perancangan aplikasi konversi mata uang ini membutuhkan web hosting untuk menyimpanan file php yang berisi script untuk mengambil data kurs dari website Yahoo Finance. Web Hosting yang digunakan adalah 1FreeHosting, yang merupakan web hosting yang memiliki fitur ftp dan php yang dibutuhkan oleh sistem. Kemampuan umum yang dimiliki oleh pengguna yang akan menggunakan aplikasi konversi mata uang ini adalah kemampuan mengoperasikan sistem operasi Android menggunakan smartphone. 3.1.3 Analisis Kebutuhan Fungsional Fungsi yang disediakan oleh aplikasi konversi mata uang ini untuk user antara lain: - Pengelolaan data kurs, sehingga user dapat download data ( mengunduh data kurs dari Yahoo Finance ) untuk disimpan pada database kurs Android device dan update data ( memperbaharui data yang ada pada database kurs Android device dengan data kurs dari Yahoo Finance yang terbaru ). - Konversi mata uang, user dapat mengkonversi atau mengubaha nilai dari suatu jenis mata uang suatu jenis mata uang lainnya. - Melihat data kurs, user dapat melihat setiap nilai kurs dari berbagai jenis mata uang dalam rupiah. 3.1.4 Analisis Input Merupakan penentuan masukan yang diperlukan sistem yang dibuat. Dalam sistem yang dibuat diperlukan data kurs yang terdiri dari tanggal kurs dan nilai kurs dari setiap jenis mata uang dalam rupiah. Tanggal kurs berfungsi untuk mengetahui kapan nilai kurs 26 terakhir diperbaharui atau waktu berlakunya, sehingga dapat ditentukan apakah data kurs perlu untuk diperbaharui atau tidak. Nilai kurs berfungsi untuk proses perhitungan perubahan mata uang dari suatu jenis mata uang ke jenis mata uang lainnya. Semua nilai kurs dalam rupiah untuk mempermudah dalam proses perhitungan dan pemahaman user ketika melihat data nilai kurs. 3.1.5 Analisis Alur Kerja Sistem Berikut adalah alur kerja yang ditempuh dalam sistem yang dibuat: - Data kurs yang dibutuhkan diambil oleh aplikasi dari Yahoo Finance yang terdiri dari tanggal kurs dan nilai kurs beserta jenis mata uangnya akan disimpan dalam database local phone. - Data tanggal kurs pada database local phone akan dibandingkan dengan data tanggal kurs pada Yahoo Finance untuk proses penentuan apakah data kurs perlu diperbaharui atau tidak. - User dapat melihat nilai kurs rupiah dari berbagai jenis mata uang, data yang akan ditampilkan diakses dari database local phone. - Data nilai kurs dari jenis mata uang asal dan tujuan yang telah dipilih user, akan diakses dari database sehingga dapat dilakukan proses konversi berdasarkan nominal yang telah dimasukkan user. 3.1.6 Analisis Output Sistem ini menampilkan informasi mengenai nilai kurs dari beberapa jenis mata uang dan akan menampilkan hasil konversi dari 27 suatu jenis mata uang ke suatu jenis mata uang lainnya berdasarkan nominal yang telah dimasukkan user. 3.2 Perancangan Sistem Perancangan sistem dibuat dengan menggunakan diagramdiagram UML (Unified Modeling Language). 3.2.1 Use Case Diagram Use case diagram menggambarkan interaksi antara actor dengan sistem. Gambar 3.2 User Use Case Diagram Gambar 3.2 merupakan Use Case Diagram untuk user yang menjelaskan tentang fungsi-fungsi yang dapat dilakukan oleh seorang user. Adapun fungsi-fungsi tersebut antara lain : 28 1. Pengelolaan data kurs yang terdiri dari download data ( mengunduh data kurs dari Yahoo Finance ) untuk disimpan pada database kurs Android device dan update data ( memperbaharui data yang ada pada database kurs Android device dengan data kurs dari Yahoo Finance yang terbaru ). 2. Konversi mata uang yang terdiri dari melihat jenis mata uang apa saja yang tersedia dan menghitung perubahan dari suatu jenis mata uang ke mata uang lainnya berdasarkan nominal tertentu. 3. Melihat nilai kurs dari berbagai jenis mata uang yang tersedia dalam rupiah. 3.2.2 Activity Diagram Acitvity diagram menggambarkan alur proses kegiatan yang dilakukan suatu actor atau user. Aplikasi konversi mata uang yang akan dibangun terdiri dari satu tingkatan user, sehingga hanya akan ada satu acitvity diagram. 29 Gambar 3.3 User Activity Diagram Gambar 3.3 menggambarkan aktifitas-aktifitas yang dapat terjadi oleh seorang user. Sistem akan memeriksa database local phone apakah kosong atau tidak, jika kosong maka sistem akan mengunduh data kurs dari Yahoo Finance. Jika database tidak kosong atau proses download telah selesai maka user dapat melakukan update data kurs, konversi mata uang, dan melihat data kurs. 3.2.3 Sequence Diagram Sequence diagram menggambar-kan interaksi antar objek di dalam suatu sistem. Untuk aplikasi konversi mata uang ini akan dibuat empat buah sequence diagram yaitu untuk download data, update data, lihat nilai kurs, dan konversi mata uang. 30 Gambar 3.4 Download Data Sequence Diagram Gambar 3.4 merupakan sequence diagram untuk menggambarkan suatu interaksi yang terjadi antara user dengan sistem konversi mata uang dalam hal download data. Berikut ini merupakan penjelasan secara detail tentang interaksi tersebut : - Alert dialog untuk download akan muncul saat mengakses aplikasi untuk pertama kalinya setelah aplikasi diinstal atau database masih kosong, terdapat dua tombol yaitu OK dan CANCEL - Klik OK untuk memulai proses download data, data akan diambil dari website Yahoo Finance dengan cara fetching. - Proses fetching pada aplikasi dilakukan melalui file kurs.php yang ada di web hosing untuk mengakses website Yahoo Finance, file quotes.csv yang dihasilkan lalu diproses. File 31 quotes.csv berisi data kurs sesuai permintaan, permintaan dalam hal ini adalah nilai kurs suatu jenis mata uang terhadap rupiah (IDR). - Data dari Yahoo Finance tidak langsung dikirim ke aplikasi, karena data masih tercampur. Data akan dikirim ke aplikasi setelah dipisahkan menjadi data tanggal kurs, jenis mata uang dan nilai kursnya. - Data yang diterima selanjutnya disimpan dalam database local phone sesuai dengan tabel masing – masing. Jenis mata uang dan nilai kursnya disimpan dalam tabel kurs, sedangkan tanggal disimpan pada tabel tanggal. 32 Gambar 3.5 Update Data Sequence Diagram Gambar 3.5 merupakan sequence diagram untuk menggambarkan suatu interaksi yang terjadi antara user dengan sistem konversi mata uang dalam hal update data. Berikut ini merupakan penjelasan secara detail tentang interaksi tersebut: 33 - User memilih tombol update pada tampilan utama atau tampilan datakurs, sehingga proses update akan dimulai. - Proses update pertama kali adalah membandingkan tanggal pada database yaitu pada tabel tanggal dengan tanggal pada Yahoo Finance yang diambil melalui proses fetching. - Jika tanggal dari database sama dengan tanggal dari Yahoo Finance, maka proses update akan berhenti karena belum tersedia kurs terbaru. Jika tanggal dari database sebelum tanggal dari Yahoo Finance, maka proses update akan berlanjut. - Data kurs yang terdiri dari tanggal kurs, jenis mata uang dan nilai kursnya akan diambil dari website Yahoo Finance melalui proses fetching. - Data pada database akan diperbaharui sesuai dengan data yang diambil dari website Yahoo Finance. 34 Gambar 3.6 Lihat Nilai Kurs Sequence Diagram Gambar 3.6 merupakan sequence diagram untuk menggambarkan suatu interaksi yang terjadi antara user dengan sistem konversi mata uang dalam hal lihat nilai kurs. Berikut ini merupakan penjelasan secara detail tentang interaksi tersebut : - Aplikasi konversi akan memanggil semua jenis mata uang dan nilai kursnya dari tabel kurs dan tanggal kurs dari tabel tanggal, kemudian semua data yang dipanggil akan ditampilkan ke pada user. 35 Gambar 3.7 Konversi Mata Uang Sequence Diagram Gambar 3.7 merupakan sequence diagram untuk menggambarkan suatu interaksi yang terjadi antara user dengan sistem konversi mata uang dalam hal konversi mata uang. Berikut ini merupakan penjelasan secara detail tentang interaksi tersebut : 36 - Semua data jenis mata uang pada tabel kurs akan dipanggil sehingga dapat ditampilkan pada daftar jenis mata uang asal dan tujuan yang ada di tampilan kalkulator. - User memilih jenis mata uang asal, mata uang tujuan, dan nominal yang akan dikonversi. - Tombol konversi untuk memulai proses perhitungan konversi dengan mencari nilai kurs jenis mata uang asal dan tujuan dari tabel kurs, kemudian mulai proses perhitungan dengan rumus (d/e)*c dengan keterangan sebagai berikut: d = nilai kurs dari jenis mata uang asal e = nilai kurs dari jenis mata uang tujuan c = nilai nominal Hasil dari perhitungan akan ditampilkan ke pada user. 3.2.4 Class Diagram Aplikasi yang dibuat memiliki class diagram seperti yang terlihat pada Gambar 3.8. 37 Gambar 3.8 Class Diagram Sistem Tabel tanggal menyimpan informasi tentang data tanggal kurs yang telah diunduh dari Yahoo Finance. Tabel kurs menyimpan informasi tentang data nilai kurs sesuai dengan jenis mata uang yang telah diunduh dari Yahoo Finance. 3.3 Perancangan Arsitektur MVC Pada bagian ini akan dilakukan perancangan untuk Model View Controller yang dibuat. Arsitektur MVC dibuat dengan memilah bagian aplikasi yang tergolong komponen Model, View dan Controller. Dalam sebuah aplikasi, perubahan pada suatu komponen mungkin saja terjadi. Perubahan pada satu bagian memiliki potensi keterkaitan dengan keseluruhan aplikasi. Namun dengan digunakannya arsitektur MVC, salah satu bagian dapat diubah tanpa harus mengubah bagian yang lain. Masing-masing komponen yang sudah memiliki fungsi sendiri dan saling terhubung, dapat mengurangi penulisan kode program. 38 3.3.1 Perancangan Model Model merupakan tempat penyimpanan data sementara yang berasal dari controller atau view. Data yang ada di dalam model dapat diakses oleh controller untuk diproses dan view untuk ditampilkan pada user. Model dalam aplikasi ini direpresentasikan dalam class data, yang berisi beberapa variabel sebagai berikut: - Variabel string jenis {get;set;} : untuk data jenis mata uang. - Variabel double nilai {get;set;} : untuk data nilai kurs dari jenis mata uang. - Variabel integer id {get;set;} : untuk data id tanggal database local phone. - Variabel string tanggal {get;set;} : untuk data tanggal dari database local phone. - Variabel string pupi {get;set;} : untuk data tanggal dari Yahoo Finance. - Variabel string semua {get;set;} : untuk data jenis mata uang beserta nilai kursnya yang berasal dari database local phone. - Variabel string a1 {get;set;} : untuk data jenis mata uang asal yang sudah dipilih user. - Variabel string a2 {get;set;} : untuk data jenis mata uang tujuan yang sudah dipilih user. - Variabel double h3 {get;set;} : untuk data nominal yang diinput user. - Variabel string akhir {get;set;} : untuk data hasil perhitungan proses konversi. 39 3.3.2 Perancangan View View merupakan bagian yang menangani presentation logic. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini memiliki akses langsung terhadap bagian Model yang berhubungan dengna data. Pada aplikasi ini bagian View berisi user interface. Desain yang dilakukan pada bagian View dikelompokkan dalam class-class untuk lebih memudahkan lagi dalam pengembangan, yaitu: - Class dataKursUI: user interface data kurs yang merupakan tampilan awal dari aplikasi. Rancangan user interface data kurs terlihat pada Gambar 3.9. Gambar 3.9 Rancangan User Interface Data Kurs - Class konversiUI: user interface konversi yang berfungsi untuk konversi mata uang. Rancangan user interface konversi terlihat pada Gambar 3.10. 40 Gambar 3.10 Rancangan User Interface Konversi - Class melihatKursUI: user interface melihat kurs yang berfungsi untuk menampilkan nilai kurs sesuai jenis mata uangnya. Rancangan user interface melihat kurs terlihat pada Gambar 3.11. 41 Gambar 3.11 Rancangan User Interface Melihat Kurs 3.3.3 Perancangan Controller Controller merupakan bagian yang mengatur hubungan antara bagian model dan bagian view. Controller berfungsi untuk menerima request dari user kemudian menentukan apa yang akan diproses oleh aplikasi. Class controller yang dibuat dalam aplikasi ini yaitu : - PengelolaanDataKursController, berfungsi untuk mengatur proses download dan update data kurs. - KonversiController, berfungsi untuk menampilkan seluruh jenis mata uang dan menangani proses konversi. - MelihatKursController, berfungsi untuk menampilkan nilai kurs rupiah pada berbagai jenis mata uang. 3.4 Metode Pengujian Sistem Dalam penelitian ini, pengujian sistem dilakukan dengan metode black box testing. Sistem dapat diidentifikasi berdasarkan 42 output yang dihasilkan apakah sesuai dengan input atau tidak, sehingga dapat diketahui apakah sistem berfungsi dengan benar atau tidak. Black box testing akan menguji aplikasi untuk mengidentifikasi kesalahan-kesalahan antara lain sebagai berikut: - Fungsi-fungsi yang salah atau hilang. - Kesalahan interface. - Kesalahan dalam struktur data atau akses database eksternal.