PEMBUATAN APLIKASI DIREKTORI OLEH-OLEH KHAS YOGYAKARTA BERBASIS ANDROID
Naskah Publikasi
disusun oleh
Lian Aga Aditya 09.01.2519
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2012
MAKING YOGYAKARTA GIFT DIRECTORY APPLICATION BASED ON ANDROID PEMBUATAN APLIKASI DIREKTORI OLEH-OLEH KHAS YOGYAKARTA BERBASIS ANDROID Lian Aga Aditya Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT
Technology and information is an unity which related one to another. The development of technology which increased rapidly either hardware or software because of the need of information and exchange of data quickly, easily and also can be done anywhere and anytime. Tourism is one of economic sector which can contribute substantial income for the country. Talking about the tourism is can not be separated from gift or souvenir which become characteristic from each tourism destination, especially Yogyakarta. By looking at the business potential which could be developed, making us to try to create a Yogyakarta gift directory application. This application build so can be useful for people in generally and especially for tourist who visiting Yogyakarta. The application developed by using Android technology so can be use anywhere and anytime by using Android smartphone. Keywords : Android, Gift, Application, Tourism.
1. PENDAHULUAN 1.1. Latar Belakang Teknologi informasi saat ini merupakan hal yang erat kaitannya dengan segala aspek kehidupan manusia, mulai dari pendidikan, kesehatan, ekonomi dan lain sebagainya. Hampir semua kegiatan manusia membutuhkan teknologi dan informasi untuk memudahkan dalam menjalankan aktifitas sehari-hari. Kebutuhan informasi masyarakat terus meningkat seiring dengan perkembangan teknologi yang pesat. Perkembangan teknologi akhir-akhir ini cenderung mengarah kepada teknologi mobile seperti Android yang saat ini merupakan sistem operasi smartphone yang cukup populer dikalangan masyarakat umum maupun developer. Industri pariwisata merupakan salah satu sektor ekonomi yang memiliki potensi besar bila dikembangkan dan kelola dengan baik. Bicara tentang pariwisata tentu saja tak bisa lepas dengan cinderamata atau oleh-oleh. Setiap daerah tujuan wisata selalu memiliki oleh-oleh yang menjadi sebuah ciri khas, misalnya saja kota Yogyakarta dengan gudeg dan bakpianya. Tetapi, tidak semua orang tahu apa saja dan di mana dapat memperoleh oleh-oleh tersebut di Yogyakarta. Salah satu masalah yang menjadi kendala adalah kurangnya informasi yang tersedia, misalnya saja peta pariwisata. Dengan memanfaatkan teknologi Android dan Google Maps API diharapkan dapat menjadi sebuah alternatif untuk membantu para wisatawan dalam mendapatkan informasi tentang oleh-oleh khas Yogyakarta hanya dengan melalui smartphone Android. Berdasarkan pada latar belakang diatas penulis berusaha untuk merancang sebuah aplikasi yang mampu menampilkan dan menyajikan informasi tentang berbagai macam oleh-oleh khas kota Yogyakarta menggunakan teknologi Android dengan mengangkat judul “Aplikasi Direktori Oleh-Oleh Khas Yogyakarta Berbasis Android”. 1.2. Metode Penelitian 1. Studi Literatur Pembahasan secara teoritis dengan memanfaatkan literatur-literatur yang terdapat di perpustakaan STMIK AMIKOM Yogyakarta, dan beberapa buku lainnya sebagai acuan dalam menyelesaikan masalah yang teliti, serta memanfaatkan media internet dalam mencari informasi yang terkait. 2. Site Survey Mencangkup observasi dan wawancara secara langsung ke lokasi dimana proyek tugas akhir ini akan dilaksanakan dengan tujuan untuk memperoleh data yang lebih akurat tentang kondisi saat ini. Dalam proses site survey
penulis akan mendokumentasikan hal-hal penting yang kaitannya dengan aplikasi direktori oleh-oleh khas Yogyakarta.
2. LANDASAN TEORI 2.1. Sistem Operasi Sistem merupakan kumpulan elemen yang saling berhubungan satu sama lain yang berbentuk satu kesatuan dalam usaha mencapai suatu tujuan. Sedangkan sistem operasi merupakan suatu sistem yang mengelola seluruh sumber daya yang terdapat pada mesin (komputer) secara efisien, sehingga mesin dapat bekerja sesuai dengan yang diinginkan. Fungsi mesin adalah mengerjakan sesuatu (perintah) untuk menghasilkan sesuatu yang dapat dimanfaatkan oleh manusia. Agar sebuah mesin dapat berjalan, maka dibutuhkan suatu sistem pengoperasian. Sehingga fungsi utama suatu sistem operasi adalah sebagai media interaksi (penjembatan) manusia dengan mesin, yang berarti bagaimana manusia dapat memahami mesin dan sebaliknya.
1
2.1.1. Android A. Pengertian Android Android adalah sistem operasi yang menggunakan kernel Linux custom sebagai intinya, dirancang untuk perangkat mobile seperti smartphone dan PC tablet. Android dikembangkan oleh Android Inc. yang dipimpin oleh Andy Rubin, kemudian pada tahun 2005 diakuisisi oleh Google. Android merupakan sistem operasi terbuka di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka untuk perangkat seluler. Android juga didukung oleh Open Handset Alliance yakni sebuah konsorsium yang terdiri dari 34 perusahaan peranti keras, peranti lunak, dan juga telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Beberapa fitur yang ada di Android antara lain : 1. Dalvik Virtual Machine Dalvik adalah virtual machine berbasis register yang dioptimalisasi untuk perangkat mobile dengan memory RAM yang kecil, CPU yang lambat, dan juga OS yang tanpa memory swap. Dalvik menangani threading, memory
1
Abas Ali Pangera, Sistem Operasi, 2005:2
management dan process management secara efisien serta masih banyak fitur lain. 2. Optimized graphics Grapfik yang dioptimalisasi untuk 2D dan 3D dengan dukungan pustaka OpenGL. 3. Media Support Dapat memainkan beberapa macam tipe file audio, video, dan juga gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF). 4. Multi-touch 5. Multitasking 6. Tethering Menjadikan perangkat android sebagai Wifi hotspot. 7. Bluetooth, EDGE, 3G, dan WiFi 8. Camera, GPS, dan Accelerometer 9. External Storage 10. SQLite Database relasional yang ringan dan sudah built in dalam android. 11. Java support Dengan bantuan aplikasi pihak ketiga.
2.2. Eclipse IDE Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platformindependent). 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. Untuk dapat digunakan dalam pembuatan aplikasi android maka eclipse membutuhkan plugin yang disebut ADT, ADT adalah kepanjangan dari android development tools yang menjadi penghubung antara IDE Eclipse dengan Android Software Development Kit.
2.3 .3.. SQLit ite e SQLite adalah sistem manajemen database relasional (relational database management system, RDBMS) yang ringan untuk penyimpanan data dan bersifat open source. Pustaka SQLite mengimplementasikan hampir seluruh elemen-elemen standard yang berlaku pada SQL-92, termasuk transaksi yang bersifat atomic, konsistensi basis data, isolasi, dan durablitas, trigger, serta kueri-kueri yang kompleks. 2.4. Google Maps API Google Maps API (Application Programming Interface) adalah library yang disediakan oleh Google agar dapat menggunakan fasilitas dan fitur yang dimiliki Google Maps pada aplikasi atau web. Versi terbaru dari Google Maps API adalah versi 3 yang telah dioptimalisasi agar lebih cepat ketika digunakan daripada versi sebelumnya khususnya untuk browser ponsel. 2.5. Android SDK Android
SDK
(Software
Development
Kit)
merupakan
software
yang
menyediakan lingkungan untuk mengembangkan aplikasi Android. Berisikan Android API, debugger, libraries, emulator, serta menyediakan dokumentasi yang cukup lengkap beserta sample code dan tutorial. IDE (integrated development environment) yang secara resmi di-support untuk diintegrasi dengan Android SDK adalah IDE Eclipse, agar dapat menyediakan Android development environment pada IDE Eclipse dibutuhkan plugin ADT (Android Development Tools).
3. ANALISA DAN PERANCANGAN 3.1. Analisa Sistem Dalam pembuatan aplikasi direktori oleh-oleh ini digunakan analisis kebutuhan sistem yang meliputi input, proses, dan output :
Input berupa user memilih jenis oleh-oleh.
Proses berupa pencarian data oleh-oleh dan lokasi penjualnya
Output menampilkan informasi penjual oleh-oleh
3.2. Analisa Kebutuhan Fungsional Sistem Pada kebutuhan fungsional “Aplikasi Direktori Oleh-Oleh Berbasis Android” ini, terdapat beberapa fungsi yang harus dibuat yakni :
1. Dapat menampilkan kategori oleh-oleh dalam bentuk tab. 2. Dapat menampilkan daftar oleh-oleh pada setiap kategori dalam bentuk listview. 3. Dapat menampilkan detail informasi tentang oleh-oleh. 4. Dapat menampilkan daftar toko penjual oleh-oleh pada setiap item. 5. Dapat menampilkan lokasi toko kedalam maps. 3.3. Analisa Kebutuhan Non Fungsional Sistem Selain kebutuhan fungsional, dalam membangun aplikasi ini terdapat juga kebutuhan non fungsional sistem, Yakni : kebutuhan perangkat keras (hardware) dan kebutuhan perangkat lunak (software). 3.3.1.
Analisa Kebutuhan Perangkat Keras Berikut ini spesifikasi perangkat keras (hardware) yang digunakan dalam
mengembangkan aplikasi direktori oleh-oleh ini, yakni : 1. Netbook ASUS EeePC 1015B dengan spesifikasi :
Processor AMD Fusion APU C-50 1.0 GHz (dual core)
HDD 320 GB
RAM 2 GB
VGA AMD Radeon HD 6250 256 MB
2. Perangkat penguji/pengimplementasi :
Samsung Galaxy Mini GT-S5570 yang menggunakan sistem operasi Android 2.3.4 (Gingerbread).
Perangkat mobile lain yang menggunakan sistem operasi Android 2.3.4 (Gingerbread).
3.3.2.
Analisa Kebutuhan Perangkat Lunak Selain perangkat keras, dibutuhkan juga perangkat lunak (software) dalam
pengembangan aplikasi ini, antara lain : 1. Sistem operasi Windows 7 Professional 2. Eclipse Indigo 3. Java Development Kit versi 6 4. Android SDK 5. Plugin Android Development Tool (ADT)
3.4. Perancangan Sistem 3.4.1.
Perancangan Use Case Diagram 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 (user) dengan sistem. Adapun use case diagram aplikasi direktori oleh-oleh ini adalah sebagai berikut :
Gambar 3.1. Use Case Diagram 3.4.2.
Perancangan Activity Diagram Activity diagram ini menunjukkan alur atau aktifitas yang dilakukan user secara
prosedural. Diagram ini berguna untuk mendokumentasikan aktifitas yang dilakukan oleh user terhadap sistem.
Gambar 3.2. Activity Diagram 3.4.3.
Perancangan Class Diagram Class diagram mendeskripsikan struktur statis dari kelas–kelas dalam system
dan mengilustrasikan attribute, operations dan relationship antara satu kelas dengan kelas yang lain
Gambar 3.3 Class Diagram
3.4.4.
Perancangan Sequence Diagram Sequence
diagram
mendeskripsikan
bagaimana
entitas
dalam
system
berinteraksi, termasuk pesan yang digunakan saat interaksi. Semua pesan dideskripsikan
dalam urutan dari eksekusi. Sequence diagram berhubungan erat dengan Use Case diagram.
Gambar 3.4 Sequence diagram memilih kategori
Gambar 3.5 Sequence diagram memilih item
Gambar 3.6 Sequence diagram memilih toko
3.4.5.
Entity Relational Diagram (ERD)
Berikut merupakan perancangan ERD antar entitas yang terdapat pada aplikasi direktori oleh-oleh ini
Gambar 3.7 Entity Relational Diagram (ERD) 4. HASIL DAN IMPLEMENTASI 4.1. Implementasi Sistem Aplikasi direktori oleh-oleh berbasis android ini di kembangkan dengan menggunakan IDE Eclipse Indigo berdasarkan pada analisa dan perancangan yang terdapat pada bab sebelumnya. Sehingga, implementasi merupakan tahap dimana sistem siap digunakan pada keadaan yang sebenarnya. Pada implementasi sistem akan dijelaskan mengenai hasil implementasi dari aplikasi yang dikembangkan baik dan juga cuplikan kode program. 4.1.1. Splash Screen dan Menu Tab
Kelas SplashActivity.java merupakan kelas yang pertama kali di panggil ketika aplikasi dijalankan, kemudian setelah menampilkan gambar splash screen beberapa saat atau ketika layar disentuh maka akan memanggil atau membuka kelas KategoriTab.java dengan perintah intent. Berikut ini merupakan cuplikan source code dari splash screen. final SplashActivity mSplashScreen = this; splashTread = new Thread() { @Override public void run() { try { synchronized (this) { wait(mSplashTime); } } catch (InterruptedException e) { } finally { finish(); Intent i = new Intent(); i.setClass(mSplashScreen, KategoriTab.class); startActivity(i); } } }; splashTread.start(); TextView mKeterangan = (TextView) findViewById(R.id.keterangan); mKeterangan.setText("Aplikasi Direktori Oleh-Oleh \n Khas Yogyakarta \n"); } @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { synchronized (splashTread) { splashTread.notifyAll(); } } return true; }
Dengan perintah intent diatas, kita dapat memanggil kelas KategoriTab. Intent berguna untuk memanggil kelas atau memanggil satu activity ke activity yang lain yang masih dalam satu project, dalam hal ini adalah explicit intent. Berikut adalah cuplikan source code dari kelas KategoriTab.java. Resources res = getResources(); TabHost tabHost = getTabHost(); TabHost.TabSpec spec; Intent intent; intent = new Intent().setClass(this, MakananActivity.class); spec = tabHost.newTabSpec("makanan").setIndicator("Makanan", res.getDrawable(R.drawable.makanantab_icon)).setContent(intent); tabHost.addTab(spec);
intent = new Intent().setClass(this, KerajinanActivity.class); spec = tabHost.newTabSpec("kerajinan").setIndicator("Kerajinan", res.getDrawable(R.drawable.kerajinantab_icon)).setContent(intent); tabHost.addTab(spec); intent = new Intent().setClass(this, SouvenirActivity.class); spec = tabHost.newTabSpec("souvenir").setIndicator("Souvenir", res.getDrawable(R.drawable.souvenirtab_icon)).setContent(intent); tabHost.addTab(spec); }
KategoriTab berfungsi sebagai tampilan utama dari aplikasi yang berbentuk tab. Dalam kelas ini, terdapat tiga buah tab yang dapat diakses. Dimana setiap menu tab merupakan kategori oleh-oleh, yakni makanan, kerajinan dan souvenir. Untuk membuat tab ini pada kelas diharuskan meng-extends TabActivity dan pada layout menggunakan perintah TabHost. Kemudian ketiga tab akan mengakses kelas yang berbeda-beda : 1. Tab
1
:
merupakan
kategori
makanan
yang
akan
membuka
kelas
MakananActivity.java, tab ini mengakses layout drawable makanantab_icon.xml untuk icon tab. 2. Tab
2
:
merupakan
kategori
kerajinan
yang
akan
membuka
kelas
KerajinanActivity.java, tab ini mengakses layout drawable kerajinantab_icon.xml untuk icon tab. 3. Tab
3
:
merupakan
kategori
souvenir
yang
akan
membuka
kelas
SouvenirActivity.java, tab ini mengakses layout drawable souvenirtab_icon.xml untuk icon tab. Sedangkan
untuk
tampilannya,
kelas
KategoriTab
menggunakan
layout
jogjaunik_tab.xml. Setiap kelas yang dipanggil pada masing-masing tab akan menampilkan item dalam bentuk listview, dan menampilkan gambar icon setiap item disebelah kiri. Berikut cuplikan source code salah satu menu tab yakni menu kategori makanan dari kelas MakananActivity.
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listview); mInflater = (LayoutInflater) getSystemService(Activity.LAYOUT_INFLATER_SERVICE); data = new Vector
(); for(int i=0;i
rd = new RowData(i,nama[i],detail[i]); } catch (ParseException e) { e.printStackTrace();
} data.add(rd);
}
CustomAdapter adapter = new CustomAdapter(this, R.layout.jogjaunik_list, R.id.nama, data); setListAdapter(adapter); getListView().setTextFilterEnabled(true); }
4.1.2. Detail Item Ketika salah satu item oleh-oleh di klik oleh user, maka aplikasi akan menampilkan detail dari item tersebut yakni gambar beserta deskripsi apa dan bagaimana item tersebut. Kelas yang digunakan untuk menampilkan detail item adalah kelas DetailItem.java. Berikut cuplikan kode program dari kelas DetailMakanan.java.
ImageView imgContent = (ImageView) findViewById(R.id.imgContent); TextView txtContent = (TextView) findViewById(R.id.txtContent); AssetManager assetMngr = getAssets(); InputStream bitMap = null; InputStream assetItem = null; String pilihanku = getIntent().getStringExtra("pilihanku"); try {
assetItem = assetMngr.open("teks/"+pilihanku+".txt"); bitMap = assetMngr.open("gambar/"+pilihanku+".jpg"); Bitmap bit = BitmapFactory.decodeStream(bitMap); int size = assetItem.available(); byte[] buffer = new byte[size]; assetItem.read(buffer); assetItem.close(); bitMap.close(); String text = new String(buffer); txtContent.setText(text); imgContent.setImageBitmap(bit); } catch (IOException e) { // TODO: handle exception e.printStackTrace(); }
4.1.3. Daftar Toko Kelas DaftarToko.java merupakan kelas yang digunakan untuk menampilkan daftar toko yang disimpan dalam SQLite database dengan bantuan kelas DBHelper yang berfungsi untuk membuat database. Kelas ini meng-extends ListActivity, sehingga nanti query untuk menampilkan nama toko dan alamat toko oleh-oleh akan ditampilkan dalam bentuk listview dengan menggunakan layout toko_listview.xml. Berikut merupakan cuplikan kode program dari kelas DaftarToko.java. 4.2. Hasil Penelitian 4.2.1 Pengujian Program Pengujian aplikasi direktori oleh-oleh khas Yogyakarta berbasis Android akan dilakukan pada beberapa perangkat penguji dengan versi Android yang berbeda-beda. Beberapa device yang digunakan untuk menguji aplikasi adalah sebagai berikut : 1. Virtual device Android SDK dengan sistem operasi Android Froyo 2.2 dengan resolusi HVGA 320 x 480. 2. Samsung Galaxy Mini GT-S5570 dengan sistem operasi Android Gingerbread 2.3.4 dengan resolusi QVGA 240 x 320.
3. Samsung Galaxy Young GT-S5360 dengan sistem operasi Android Gingerbread 2.3.5 dengan resolusi QVGA 240 x 320. Sebelum pengujian aplikasi terhadap perangkat penguji, dilakukan penginstalan paket aplikasi jogjaunik.apk. Pada semua perangkat penguji, dapat dilakukan penginstalan paket aplikasi dan dapat menjalankan aplikasi dengan baik. Berikut merupakan screenshot aplikasi ketika dijalankan pada virtual device yang menggunakan Android 2.2.
Gambar 4.1 Aplikasi JogjaUnik pada App Drawer
Gambar 4.2 Tampilan Splash Screen
Gambar 4.3 Screenshot Aplikasi Pada Virtual Device 4.2.2. Analisa Program Aplikasi “JogjaUnik” ini dapat dijalankan dengan baik pada smartphone Android yang bersistem operasi Android Froyo 2.2 maupun Android Gingerbread 2.3. Pada pengujian aplikasi terhadap beberapa perangkat penguji yang berbeda, secara fungsional aplikasi JogjaUnik dapat berjalan dengan baik. Tetapi secara tampilan atau interface akan terlihat berbeda. Ini dikarenakan framework dan resolusi yang berbeda pada tiap device. Dari hasil pengujian dan implementasi diatas, dapat diketahui bahwa aplikasi JogjaUnik dapat berfungsi dengan cukup baik. 4.2.3. Distribusi Aplikasi Distribusi
aplikasi
JogjaUnik
dibutuhkan
agar
masyarakat
luas
dapat
menggunakan aplikasi ini untuk kebutuhan dalam mencari oleh-oleh ketika berkunjung ke kota Yogyakarta. Aplikasi dapat disebarkan melalui beberapa cara, antara lain : 1. Transfer paket aplikasi antar perangkat Android melalui Bluetooth. 2. Aplikasi dapat dipromosikan melalui web atau blog pribadi. Misal blog penulis http://maxilian.blogspot.com. 3. Aplikasi juga dapat dipasarkan melalui Google Play Store.
5. PENUTUP 5.1. Kesimpulan Dari implementasi dan pembahasan sistem aplikasi direktori oleh-oleh khas Yogyakarta berbasis Android, dapat ditarik kesimpulan sebagai berikut : 1. Aplikasi mampu menampilkan berbagai macam jenis oleh-oleh khas Yogyakarta beserta gambar dan informasi yang terkait tentang oleh-oleh tersebut sehingga dapat memudahkan user terutama para wisatawan untuk mengetahui ragam jenis oleh-oleh khas Yogyakarta. 2. Aplikasi mampu menampilkan daftar toko oleh-oleh dari jenis oleh-oleh yang dipilih user sehingga dapat membantu user untuk memilih toko yang terdekat dengan user. 3. Lokasi toko yang dipilih user dapat ditampilankan melalui Google Maps, sehingga dapat membantu user untuk mengetahui dimana lokasi toko tersebut. 4. Aplikasi mampu dijalankan pada berbagai macam smartphone Android dengan sistem operasi Android 2.2 ke atas. 5.2. Saran Aplikasi direktori oleh-oleh khas Yogyakarta ini sebaiknya dikembangkan untuk penambahan-penambahan fitur yang belum ada pada aplikasi seperti fitur penambahan data oleh-oleh dan toko penjualnya baik yang dilakukan oleh user ataupun melalui update otomatis melalui web service, sharing lokasi toko melalui media sosial dan mungkin juga ditambahkan fitur pemesanan oleh-oleh secara online melalui aplikasi.
DAFTAR PUSTAKA Ableson, W.F., Robi, S., King, C., 2011, Android in Action, Second Edition, Manning Publications Co., Stamford. Meier, Reto, 2009, Professional Android Application Development, Wiley Publishing, Inc., Indianapolis. Pangera, A.A., Ariyus, Doni, 2005, Sistem Operasi, Penerbit ANDI, Yogyakarta. Sunyoto, Andi, 2007, AJAX Membangun Web dengan Teknologi ASYNCHRONOUS JavaScript & XML, Penerbit ANDI, Yogyakarta.