• Tidak ada hasil yang ditemukan

T1 672008056 Full text

N/A
N/A
Protected

Academic year: 2017

Membagikan "T1 672008056 Full text"

Copied!
21
0
0

Teks penuh

(1)

0

1. Pendahuluan

Teknologi Informasi adalah suatu teknologi yang digunakan untuk mengolah data, termasuk memproses, mendapatkan, menyusun, menyimpan, memanipulasi data dalam berbagai cara untuk menghasilkan informasi yang berkualitas [1].Informasi yang relevan, akurat dan tepat waktu, yang digunakan untuk keperluan pribadi, pendidikan, bisnis, dan pemerintahan.Teknologi informasi dan komunikasi (TIK) merupakan suatu hal yang tidak asing lagi bagi kalangan masyarakat.

Salah satu faktor penunjang perkembangan teknologi informasi dan komunikasi adalah perkembangan teknologi perangkat mobile. Perangkat mobile

yang sebelumnya hanya digunakan untuk proses komunikasi sekarang memiliki banyak fungsi (multifungsi). Smartphone merupakan sebutan bagi perangkat

mobile yang dapat menyajikan berbagai macam fitur yang membantu kehidupan manusia. Dengan bantuan akses internet maka pengguna perangkat mobile dapat melakukan pekerjaan dimana saja dan kapan saja. Internet membantu pengguna dalam menyelesaikan pekerjaan, sebagai contoh: pengelolahan data perusahaan, proses pembelajaran akademik, proses jual beli dan lain sebagainya.

Sebagai contoh bentuk pemanfaatan teknologi mobile adalah aplikasi jual beli online. Aplikasi jenis ini membantu pengguna dalam melakukan proses transaksi jual beli secara real time. Dahulu proses jual beli yang tergantung pada proses tatap muka antar pembeli dan penjual kini dapat dilakukan dengan lebih mudah dan cepat. Penjual hanya perlu mengelola data produk yang dijual melalui web atau perangkat mobile, lalu pembeli dapat mengakses katalog tersebut melalui web atau perangkat mobile pula. Oleh karena transaksi dilakukan secara

online maka diperlukan suatu pesan singkat(notification) untuk memberi informasi kepada pelanggan bahwa pesanan sudah diproses.

Google Cloud Messaging (GCM) merupakan proyek yang dikembangkan oleh Google Inc. GCM sendiri berfungsi untuk menyampaikan informasi berupa pesan(notification message) ke perangkat mobile Android[2]. GCM memberikan kemudahan dalam menyampaikan pesan secara gratis tidak terikat besarnya suatu pesan. GCM servis akan mengatur setiap pesan yang dikirimkan agar sesuai dengan perangkat mobile tujuan pesan (receiver).

Berdasarkan latar belakang yang telah dijelaskan, maka dalam penelitian ini akan dibangun aplikasi jual beli yang melibatkan pemanfaaatan Google Cloud Messaging(GCM). Pemanfaatan GCM dalam penelitian ini memiliki peranan untuk menyampaikan notification message dari penjual kepada pembeli.

(2)

1

2. Kajian Pustaka

Penelitian sebelumnya dengan judul Desain dan Implementasi Aplikasi Servis dan Katalog Motor Menggunakan HTTP Request Pada Mobile Android Platform, mengemukakan bahwa perkembangan teknologi saat ini telah memberi banyak pengaruh dalam berbagai aspek kehidupan manusia.Berbagai perusahaan kini mulai mengunakan teknologi dalam usaha meningkatkan kinerja perusahaan.Pemanfaatan teknologi tersebut bisa dalam bentuk media promosi, media informasi, sistem pengelolaan data, dan lain sebagainya.Perusahaan ingin memberikan pelayanan yang semakin baik kepada customer.Salah satu pemanfaatan teknologi informasi yang digunakan oleh perusahaan dalam usaha meningkatkan kepuasan pelanggan adalah sistem aplikasi servis dan katalog yang dibangun pada penelitian ini. Penelitian ini berfokus pada pemanfaatan HTTP request pada mobile Android[3].

Penelitian yang telah dilakukan oleh Jonathan, dengan judul

Pengembangan Framework untuk Pembangunan Aplikasi Mobile Commerce, menyatakan bahwa teknologi informasi sekarang sudah mampu memfasilitasi transaksi jual beli barang, jasa, maupun informasi dengan lebih cepat dan mudah dibandingkan dengan transaksi secara tradisional atau konvensional. Dengan semakin pesatnya perkembangan teknologi informasi, akses ke internet pun sudah dapat dilakukan dimana saja dan kapan saja dengan menggunakan mobile device.Akses atas informasi jual beli seharusnya bisa diperoleh lebih cepat, lebih mudah, dan secara personal dengan menggunakan akses mobile device. Berdasarkan latar belakang tersebut dalam penelitian ini dibangun aplikasi mobile commerce pada perangkat mobile Android untuk membantu dalam proses penjualan dan pembelian barang[4].

Google Cloud Messaging (GCM) merupakan proyek yang dikembangkan oleh Google Inc. GCM sendiri berfungsi untuk menyampaikan informasi berupa pesan(notification message) ke perangkat mobile Android[2]. GCM memberikan kemudahan dalam menyampaikan pesan secara gratis tidak terikat besarnya suatu pesan. GCM servis akan mengatur setiap pesan yang dikirimkan agar sesuai dengan perangkat mobile tujuan pesan (receiver).

Beberapa karakteristik GCM : 1) Mengijinkan 3rd-party application servers

(3)

2

Terdapat 2 kunci utama atau konsep pada GCM, yaitu: component dan

credentials. Component adalah entitas utama yang memegang peranan utama dalam GCM.Credentials adalah ID dan token dari setiap perangkat mobile

Android yang digunakan GCM sebagai autentikasi dan alamat pengiriman pesan.

Dalam implementasi Google Cloud Messaging (GCM) terdapat beberapa bagian yang terlibat yaitu :Google-provided connection server, 3rd-party app server dan Client App. Arsitektur GCM dapat dilihat pada Gambar 1.

Gambar 1 Arsitektur Google Cloud Messaging[5]

Google menyediakan GCM Connection Server yang berfungsi untuk menerima pesan dari 3rd-party application server.GCM kemudian melakukan pengiriman pesan ke appclient. Koneksi yang dilakukan melalui HTTP dan XMPP. Hypertext Transfer Protocol (HTTP) adalah protokol komunikasi yang digunakan oleh web server dan web browser (Anonymous, 2013). HTTP digunakan web client untuk mengirimkan request ke web server, yang nantinya

web server akan melemparkan kembali response berupa web content (web page)

kembali ke client. Pengertian lain dari HTTP adalah protokol program yang digunakan untuk berkomunikasi antar World Wide Web (WWW) (Gourley, 2002).

Web browser, web server dan semua web based application berkomunikasi menggunakan HTTP. HTTP merupakan reliable data-transmission protocols, yang artinya HTTP menjamin data yang dikirimkan tidak rusak meskipun dalam jarak pengiriman yang jauh. Setiap web content berada pada web server. Web Server berkomunikasi menggunakan HTTP sebagai protokol, maka sering disebut sebagai HTTP server. Proses pengiriman data dimulai dari HTTP client yang mengirimkan HTTP request ke server. HTTP request tersebut akan diterima dan diolah oleh server, kemudian server akan mengirimkan kembali HTTP response

kepada client. HTTP client dan HTTP server merupakan komponen yang membentuk World Wide Web (WWW). GCM Cloud Server Connection (CCS) adalah koneksi server berbasis XMPP. CCS memungkinkan 3rd-party application server untuk berkomunikasi dengan perangkat Android dengan membentuk koneksi TCP persisten dengan server Google menggunakan protokol XMPP. Extensible Messaging dan Presence Protocol ( XMPP ) adalah protokol komunikasi untuk middleware pesan berorientasi berdasarkan XML ( Extensible Markup Language ). Protokol ini awalnya bernama Jabber , dan dikembangkan oleh komunitas open-source Jabber di 1999 untuk real -time , instant messaging ( IM ) , informasi keberadaan , dan Pemeliharaan daftar kontak. Dirancang untuk menjadi extensible , protokol juga digunakan untuk sinyal untuk VoIP , video,

(4)

3

menggunakan pendekatan sistem terbuka pengembangan dan aplikasi, dimana siapa saja dapat mengimplementasikan layanan XMPP dan beroperasi dengan implementasi organisasi lain ' . Karena XMPP adalah sebuah protokol terbuka, implementasi dapat dikembangkan menggunakan lisensi perangkat lunak, walaupun implementasi banyak server, client , dan perpustakaan didistribusikan bebas dan perangkat lunak open-source , banyak implementasi perangkat lunak

freeware dan komersial juga ada[10]. 3rd-party Application Server adalah aplikasi server dimana kita melakukan implementasi GCM service.Aplikasi server

mengirimkan pesan ke GCM server.Client app adalah aplikasi pada perangkat

mobile Android yang akan menerima pesan dari GCM. Agar dapat menerima pesan aplikasi harus terdaftar pada GCM dan mendapatkan registration ID. Setiap pesan yang dikirim di GCM memiliki karakteristik sebagai berikut: 1) User penerima pesan dengan GCM service maksimal 1000. 2) Secara default, pesan disimpan oleh GCM selama 4 minggu.

JavaScript Object Notation (JSON) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer [6]. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data. JSON menggunakan JavaScript syntax

untuk menggambarkan data objects.

JSON tersusun dari 2 struktur: 1) Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list). 2) Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).

Android adalah sebuah sistem operasi yang dibuat oleh Google dan merupakan sebuah opensource [7]. Definisi lainnya, Android adalah kumpulan perangkat lunak yang ditujukan bagi perangkat bergerak mencakup sistem operasi, middleware, dan aplikasi kunci [8].Android merupakan sistem operasi yang dikembangkan dengan memanfaatkan linux kernel untuk smartphone yang dibuat oleh Google corporation. Platform pada Android terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak.

3. Metode Penelitian

(5)

4

Gambar 2 Tahapan Penelitian [9]

Berdasarkan bagan pada Gambar 2 dapat dijelaskan bahwa tahapan penelitian yang dilakukan adalah sebagai berikut:

Tahap pertama: analisis kebutuhan dan pengumpulan data, yaitu melakukan analisis kebutuhan apa saja yang dibutuhkan dalam penerapan GCM Service pada aplikasi penjualan batik. Pada tahap ini dikumpulkan data produk batik yang menjadi sample aplikasi, proses jual beli yang terjadi, acuan tentang Google Cloud Messaging dan informasi tambahan lainnya.Acuan penerapan GCM diambil dari beberapa sumber internet maupun buku.Kebutuhan data inilah yang nantinya menjadi menentukan dalam perancangan sistem.

Tahap kedua: perancangan sistem yang meliputi perancangan proses menggunakan diagramUnified Modelling Language (UML) misalnya perancangan use case diagram, sequence diagram, class diagram, component diagram, dan deployment diagram.Pada tahap ini dilakukan pula perancangan arsitektur sistem yang dibangun dan perancangan antarmuka (interface) aplikasi.

Tahap ketiga, perancangan aplikasi atau program yaitu merancang aplikasi atau program sesuai kebutuhan yang telah diperoleh pada tahap pengumpulan kebutuhan data sebelumnya.

Tahap keempat: implementasi dan pengujian sistem, serta analisis hasil pengujian. Pada tahap ini dilakukan proses pembangunan sistem atau aplikasi berdasarkan rancangan yang telah dibuat. Kemudian dilakukan pengujian untuk mengetahui apakah aplikasi penjualan batik sudah berjalan sesuai dengan kebutuhan dan Google Cloud Messaging sudah bisa digunakan atau tidak. Akhir dari tahap ini adalah analisis hasil pengujian.

Tahap kelima: penulisan laporan hasil penelitian, yaitu mendokumentasikan setiap proses yang dilakukan dalam penelitian yang telah dilakukan dalam bentuk laporan tertulis. Laporan inilah yang nantinya menjadi laporan hasil penelitian.

Unified Modeling Language (UML)

(6)

5

perancangan proses sistem dalam penelitian ini menggunakan UML(Unified Modeling Language) dengan beberapa proses, dijelaskan sebagai berikut.

Use case diagram, terdapat dua aktor dalam sistem ini terdapat 2 aktor utama, yaitu Admin dan User. Dalam use case diagram tersebut digambarkan semua fungsi yang dimiliki oleh tiap aktor. Terdapat pula entitas GCM yang merupakan entitas dalam sistem yang menyediakan layanan servis Google Cloud Messaging. Aktor User memiliki fungsi untuk mendaftarkan diri sebagai member (registration), melihat daftar katalog produk, melihat spesifikasi produk, dan mengirimkan pemesanan. Fungsi yang berhubungan dengan proses kerja Google Cloud Messaging (GCM) adalah fungsi pendaftaran member baru. Ketika User

melakukan proses resgistrasi maka data member akan tercatat melalui service GCM ke database. Sedangkan aktor Admin memiliki fungsi untuk melakukan pengiriman notifikasi pesan, mendaftarkan user baru, melihat daftar katalog produk dan melihat spesifikasi detail suatu produk.Gambar Use Case Diagram

Sistem dapat dilihat pada Gambar 4.

Gambar 4 Use Case Diagram Sistem

Activity diagram, Diagram aktifitas atau activity diagram memberikan visualisasi aliran tindakan dalam sistem yang dibuat, percabangan tindakan yang terjadi, bagaimana tindakan awal sistem dan bagaimana tindakan akhir yang terjadi pada sistem.Dalam sistem yang dibangun pada penelitian ini terdapat beberapa aktivitas yang terjadi, salah satunya adalah aktivitas registrasi.Aktivitas ini melibatkan user, sistem, GCM dan database. Proses registrasi diawali dengan pemilihan menu register oleh user. Setelah itu akan ditampilkan data form yang bias diisi oleh user. Data tersebut akan dikirimkan ke sistem, lalu sistem akan menyimpan sementara data tersebut ke dalam variable. Sistem akan membuat

request ke GCM untuk mendaftarkan id device yang digunakan saat proses pendaftaran. Setelah proses registrasi GCM berhasil maka proses selanjutnya adalah penginputan data member baru ke database. Ketika proses penginputan berhasil maka GCM akan mengirimkan notifikasi ke sistem dan sistem melanjutkannya ke user.

Mendaftar Sebagai Member

Mengirim Pemesanan

User

Melihat Daftar Katalog

Melihat Spesifikasi Produk

Mengirim Notifikasi Pesan

Admin

Mendaftarkan User Baru

(7)

6

Gambar 5 Activity Diagram Resgistrasi Member Baru

Class diagram merupakan diagram yang digunakan untuk menampilkan beberapa kelas yang ada dalam sistem/perangkat lunak yang sedang dikembangkan. Class diagram memberikan gambaran mengenai sistem dan relasi yang ada di dalamnya (user interface, atribut, controller).Class diagram sistem dapat dilihat pada Gambar 6.

Gambar 6 Class Diagram Sistem

Sistem memiliki 6 rancangan class utama, yaitu Profile, GCM_User, Cart, Category, Product dan Etalase.Kelas Profile memiliki atribut UID yang bertipe String sebagai primary key. UID merupakan hasil dari proses generate oleh sistem

mobile. Kelas ini berfungsi untuk menyimpan informasi mengenai setiap user yang sudah terdaftar pada sistem. Kelas ini juga menangani beberapa operasi yang berhubungan dalam pengaturan data user, contohnya proses authentication user /

login. Kelas GCM_User merupakan kelas yang berfungsi untuk menyimpan data START

Memilih Menu Register

Mengirimkan Data Member Baru

Menerima Notifikasi

END

Menyimpan Data Member Baru

Membuat Request Penambahan User

Menampilkan Notifikasi dari GCM

Mengirimkan Notifikasi Register Device

Baru

Input Data User Baru

Database GCM

(8)

7

dari device. Atribut gcm_regid merupakan hasil generate dari Google Cloud Messaging Server. Kelas Product berfungsi untuk mengelola data produk yang ada dalam penelitian ini yaitu batik. Kelas ini berelasi dengan Kelas Category. Kelas Category berfungsi untuk mengatur kategori barang. Sedangkan Kelas Etalase merupakan kelas yang mengatur proses penampilan data produk tiap kategori tertentu. Kelas Cart berfungsi untuk menyimpan data setiap produk yang akan dibeli oleh user.

4. Implementasi dan Pembahasan

Pada bagian akan dijelaskan hasil dan pembahasan yang meliputi implementasi dari rancangan yang dibuat telah dibuat, dan pengujian sistem.

Arsitektur Aplikasi

Sistem yang dibangun untuk memanfaatkan Google Cloud Messaging

sebagai pengiriman pesan dalam aplikasi batik ini, dibangun menggunakan arsitektur yang dapat dilihat pada Gambar 7.

Gambar 7 Arsitektur Aplikasi

Pada Gambar 7 dapat dijelaskan bahwa sistem yang dibangun ada 2, yaitu aplikasi

mobile dan aplikasi server. Dalam pemanfaatannya, aplikasi mobile, aplikasi

server dan GCM saling berhubungan. Aplikasi mobile akan digunakan user untuk mendaftar sebagai member baru, melihat daftar barang, memasukkan pesanan dalanm keranjang belanja, dan melihat detail spesifikasi barang. Aplikasi server

bertugas untuk menangani setiap transaksi yang terjadi. Setiap request yang dikirimkan oleh aplikasi mobile akan dijalankan oleh aplikasi server, termasuk penanganan GCM. Aplikasi server akan membantu dalam proses registrasi dan pengiriman pesan atau notification. Urutan proses yang terjadi ketika proses registrasi member baru adalah sebagai berikut :1) Pertama android akan mengirimkan sender id, application id ke GCM untuk didaftarkan pada sistem.

Sender id didapatkan dengan cara mendaftar di Google APIs Console .Sender id

(9)

8

Gambar 8 Tampilan Sender Id pada URL Google APIs Console

Sedangkan application id adalah APIs Key yang diperoleh ketika mendaftar pada

Google APIs Console. APIs Key ini digunakan setiap melakukan request ke

Google Cloud Messaging service.

Gambar 9 API Key yang Digunakan Sebagai Application Id

2) Setelah sukses proses registrasi GCM maka akan dikirimkan registration id ke perangkat android. Registration id inilah yang nantinya digunakan untuk kode identitas tiap akun member.3) Registration id yang didapatkan dari GCM pada langkah sebelumnya dikirimkan ke apikasi server untuk disimpan ke database.4) Aplikasi server akan menyimpan registration id pada database dengan mengeksekusi perintah SQL.Proses pengiriman pesan atau notification yang terjadi pada sistem dapat dijelaskan sebagai berikut :(A) Aplikasi server akan mengirimkan pesan yang berasal dari form. Data dari form pesan akan dikirimkan sebagai request message ke GCM. (B) GCM serverakan mengirimkan pesan dari aplikasi server ke perangkat android dengan menggunakan registration id yang telah didapatkan pada proses registrasi.

Hasil Penerapan Aplikasi Mobile

Aplikasi mobile digunakan user untuk melihat daftar barang, mendaftar sebagai member baru, mengirimkan pesanan, dan melihat detail spesifikasi barang. Aplikasi mobile ini terbagi menjadi 7 interface atau antarmuka, yaitu : antarmuka login, antarmuka register, antarmuka catalog, antarmuka etalase, antarmuka detail product, antarmuka cart, dan antarmuka account.

Antarmuka Login menyediakan form yang berisi username dan password.

(10)

9

Gambar 10 Antarmuka Login

Antarmuka Register menyediakan tampilan form yang berisi data-data yang harus diisi oleh user ketika mendaftar sebagai member baru. Data-data tersebut adalah sebagai berikut :username, password, name, identity number, gender, birthday, address, city, email, dan phone.

Gambar 11Antarmuka Register

Proses register diawali dengan pengambilan nilai dari setiap komponen

form. Setelah itu data-data form akan ditampung ke collection. Proses penyusunan

request ke server dimulai dengan penyusunan URL yang disertai parameter data-data collection. URL ini akan mengarah ke aplikasi server dan meminta sistem untuk mengeksekusi perintah PHP. Pendaftaran perangkat mobile juga dilakukan dengan memanfaatkan class GCMRegistrar yang disediakan oleh package

(11)

10

Kode Program 1 Perintah Register Device ke GCM Service

Pada class MainActivity terdapat fungsi untuk mengaktifkan device agar dapat menerima pesan atau notification yang masuk. Notification atau pesan dikirimkan melalui aplikasi server menggunakan GCM service. Untuk dapat menerima pesan atau notification digunakan BroadcastReceiver yang akan aktif ketika ada pesan masuk. Berikut ini adalah penggalan kode program fungsi BroadcastReceiver

untuk menerima pesan atau notification.

Kode Program 2 Fungsi BroadcastReceiver untuk Menerima Pesan atau Notification

1. private final BroadcastReceiver mHandleMessageReceiver = new BroadcastReceiver() {

2. @Override

3. public void onReceive(Context context, Intent intent) { 4. String newMessage =

intent.getExtras().getString(EXTRA_MESSAGE); 5. // Waking up mobile if it is sleeping 6. WakeLocker.acquire(getApplicationContext()); 7. // Showing received message

8. Toast.makeText(getApplicationContext(),"New Message: " + newMessage, Toast.LENGTH_LONG).show();

9. // Releasing wake lock 10. WakeLocker.release(); } }; 1. try {

2. newuser = (HashMap<String, String>) getIntent().getSerializableExtra( 3. "newuser");

4. } catch (Exception e) {} 5. if (newuser != null) {

6. cd = new ConnectionDetector(getApplicationContext()); 7. if (!cd.isConnectingToInternet()) {

8. alert.showAlertDialog(MainActivity.this,"Internet Connection Error",

9. "Please connect to working Internet connection", false); 10. return;}

11. GCMRegistrar.checkDevice(this); 12. GCMRegistrar.checkManifest(this);

13. registerReceiver(mHandleMessageReceiver, new IntentFilter(DISPLAY_MESSAGE_ACTION)); 14. // Get GCM registration id

15. final String regId = GCMRegistrar.getRegistrationId(this); 16. if (regId.equals("")) {

17. GCMRegistrar.register(this, SENDER_ID); 18. } else {

19. if (GCMRegistrar.isRegisteredOnServer(this)) { 20. } else {

21. final Context context = this;

22. mRegisterTask = new AsyncTask<Void, Void, Void>() { 23. @Override

24. protected Void doInBackground(Void... params) { 25. // Register on our server

26. ServerUtilities.register(context, newuser, regId); 27. return null;

28. }

29. @Override

30. protected void onPostExecute(Void result) { 31. mRegisterTask = null;

32. }};

(12)

11

Dalam proses pengiriman notifikasi atau pesan singkat Google Cloud Messaging

menggunakan protokol HTTP. Protokol ini yang akan membantu proses komunikasi antara server GCM dengan aplikasi mobile pada client. Pengaturan penggunaan protokol ini dilakukan pada sisi aplikasi web server. Terlebih dahulu dilakukan konfigurasi untuk memanfaatkan extensi php curl. URL yang digunakan pada konfigurasi ini adalah https://android.googleapis.com/gcm/send. Berikut ini adalah penggalan perintah yang digunakan untuk penggunaan HTTP pada sisi server aplikasi web GCM.

Kode Program 3 Perintah Konfigurasi HTTP Server Aplikasi Web GCM

Setiap notification yang masuk akan ditampilkan pada notification bar perangkat

mobile.

Gambar 12 Notification yang Dikirim Melalui GCM service

Setiap produk batik yang ditampilkan dikelompokkan berdasarkan kategori tertentu. Penggolongan ini bertujuan untuk mempermudah user ketika mencari suatu produk tertentu.Kategori ini ditampilkan kedalam List secara vertikal.

Gambar 13 Antarmuka Category

1. $url = 'https://android.googleapis.com/gcm/send'; 2. $fields = array(

3. 'registration_ids' => $registatoin_ids, 4. 'data' => $message,);

5. $headers = array(

6. 'Authorization: key=' . GOOGLE_API_KEY, 7. 'Content-Type: application/json'); 8. $ch = curl_init();

9. curl_setopt($ch, CURLOPT_URL, $url); 10. curl_setopt($ch, CURLOPT_POST, true);

(13)

12

Etalase merupakan menu yang menampilkan daftar produk pada kategori tertentu. Setiap produk diwakilkan oleh thumbnail yang berisi gambar produk, nama, harga dan ukuran. Daftar produk dalam kategori tertentu tersimpan dalam

database. Untuk dapat mengambil daftar produk pada kategori tertentu aplikasi mobile akan menyusun request dengan URL yang mengarah ke aplikasi server. Aplikasi server akan mengeksekusi SQL command yang menghasilkan tabel. Tabel ini akan diubah menjadi format JSON. JSON ini yang akan diterima aplikasi mobile dan ditampilkan ke dalam grid layout.

Gambar 14 Antarmuka Etalase

Detail produk akan ditampilkan pada antarmuka detail product. Data-data yang akan ditampilkan meliputi : nama, harga, ukuran, keterangan/deskripsi, dan gambar produk. Detail produk akan ditampilkan ketika user melakukan klik pada

thumbnailetalase produk. Pada antarmuka detail product, user dapat melakukan input jumlah yang ingin dibeli dan ukuran yang dipilih.

(14)

13

Detail produk yang ditampilkan pada antarmuka detail product merupakan hasil dari pengiriman intent oleh class Etalase. Intent ini berisi data detail produk dan akan ditampilkan ke dalam komponen-komponen antarmuka. Ketika user

melakukan klik pada tombol buy maka sistem akan menyimpan data pembelian

user sementara ke dalam SharedPreferences. Data pembelian ini yang nantinya akan digunakan untuk menucart. Kode Program 3 merupakan perintah untuk menampilkan intent ke dalam komponen antarmuka dan perintah untuk menyimpan data pembelian.

Kode Program 3 Perintah untuk Menampilkan Intent ke dalam Komponen Antarmuka dan Perintah untuk Menyimpan Data Pembelian

Setiap terjadi transaksi pembelian maka aplikasi mobileakan menyimpan data pembelian pada SharedPreferences. Pada antarmuka cart, data transaksi pembelian yang ditampilkan meliputi : nama produk, ukuran, jumlah yang dibeli dan harga total. Daftar belanja ini didapatkan dari penyimpanan data pembelian oleh class DetailProduct menggunakan SharedPreferences. SharedPreferences

yang telah dibuat dari class DetailProduct dibaca kembali dan ditampilkan ke dalam bentuk ListView.

Antarmuka account berisi informasi user atau customer yang aktif atau digunakan. Informasi tersebut meliputi : UID, username, password, name, identity number, gender, birthday, address, city, email, dan phone. UID adalah user identification number yang merupakan kode unik yang membedakan antara user

satu dengan user lainnya. UID dihasilkan dari proses auto generate sistem aplikasi mobile. Informasi dari user ditampilkan kedalam bentuk listview. Informasi dari account user didapatkan dari SharedPreferences yang dibuat ketika proses login. Jika user melakukan proses login atau bukan user baru, maka

1. SharedPreferences pref =

getApplicationContext().getSharedPreferences("USER_CART", MODE_PRIVATE);

2. numberItem = pref.getInt("jumlahitem", 0);

3. final SharedPreferences.Editor editor = pref.edit(); 4. Intent intent = getIntent();

5. ID = intent.getStringExtra(TabEtalase.ID);

6. ID_PRODUCT = intent.getStringExtra(TabEtalase.ID_PRODUCT); 7. ID_CATEGORY =

intent.getStringExtra(TabEtalase.ID_CATEGORY); 8. PRODUCT_NAME =

intent.getStringExtra(TabEtalase.PRODUCT_NAME); 9. ...

10. image_product = (ImageView)

findViewById(R.id.image_icon_product);

11. imageLoader.DisplayImage(IMAGE, image_product); 12. ...

13. private void saveData(Vector<String> list) { 14. SharedPreferences pref =

getApplicationContext().getSharedPreferences("USER_SESSION ", MODE_PRIVATE);

15. SharedPreferences.Editor editor = pref.edit(); 16. int i = 1;

17. for (String product : list) {

(15)

14

SharedPreferences akan menyimpan data yang berasal dari response aplikasi

server. Aplikasi mobile akan melakukan request untuk mendapatkan data lengkap

user. JSON yang dikirimkan sebagai response dari aplikasi server ke aplikasi

mobileakan dibaca dan disimpan ke SharedPreferences. Sedangkan jika user

merupakan user baru dan melakukan proses registrasi, maka data user didapatkan dari data form yang diisikan ketika proses registrasi.

Gambar 16 Antarmuka Account

Hasil Penerapan Aplikasi Server

Aplikasi server bertugas untuk menangani setiap transaksi yang terjadi. Setiap request yang dikirimkan oleh aplikasi mobile akan dijalankan oleh aplikasi

server, termasuk penanganan GCM. Aplikasi server akan membantu dalam proses registrasi dan pengiriman pesan atau notification. Fungsi yang ditangani oleh aplikasi server adalah sebagai berikut : fungsi authentication user, fungsi menampilkan daftar produk berdasarkan kategori, fungi menyimpan user baru, fungsi menampilkan daftar user, fungsi mengirim notification.

Fungsi authenticationuser merupakan fungsi yang dilakukan server ketika terjadi request dari aplikasi mobile. Proses ini terjadi ketika user melakukan login.

Username dan password dikirimkan melalui URL yang selanjutnya dicek, apakah

username dan password yang diinputkan ada di database dan cocok.Jika

username dan password valid, maka dilakukan eksekusi perintah SQL untuk menampilkan data user.Selanjutnya berdasarkan data tersebut dibentuklah JSON yang nantinya dikirimkan ke aplikasi mobile.

Fungsi untuk menampilkan produk berdasarkan kategori tertentu dilakukan aplikasi server ketika terjadi request dari aplikasi mobile. Aplikasi server akan mendapatkan kategori yang dipilih dari parameter URL yang diakses oleh aplikasi

mobile. Selanjutnya aplikasi serverakan melakukan perintah SQL untuk mendapatkan daftar produk. Daftar produk yang didapatkan kemudian ditulis kedalam format JSON yang nantinya dibaca oleh aplikasi mobile.

Fungsi untuk menyimpan user baru dilakukan aplikasi server ketika aplikasi

mobile melakukan proses registrasi. Data formuser baru akan dikirimkan melalui URL. Berdasarkan data tersebut akan dilakukan perintah SQL untuk menyimpan data user baru. Pada fungsi ini terdapat atribut gcm_regid yang merupakan hasil

(16)

15 1. $db = new DB_Functions();

2. $gcm = new GCM();

3. $res = $db->storeUser($name, $email, $gcm_regid); 4. $res =

$db->storeNewAccount($uid,$username,$password,$name,$identitynumbe r,$gender,$birthday,$address,$city,$email,$phone);

5. ...

6. $result = mysql_query("INSERT INTO gcm_users(name, email, gcm_regid, created_at) VALUES('$name', '$email', '$gcm_regid', NOW())");

7. if ($result) {

8. $id = mysql_insert_id(); // last inserted id 9. ...

10. $result = mysql_query("INSERT INTO tuser

VALUES('$uid','$username','$password','$name','$identitynumber ','$gender','$birthday','$address','$city','$email','$phone')" );

11. if ($result) {

12. $result = mysql_query("SELECT * FROM tuser WHERE uid = $uid") or die(mysql_error());

13. if (mysql_num_rows($result) > 0) { 14. return mysql_fetch_array($result); 15. ...

16. $registatoin_ids = array($gcm_regid); 17. $message = "Congratulation";

gcm_regid merupakan kode identifikasi dari perangkat yang nantinya digunakan saat pengiriman notifikasi.

Kode Program 4 Fungsi untuk Menyimpan User Baru

Fungsi untuk menampilkan daftar user dijalankan sebelum melakukan pengiriman notifikasi. Aplikasi serverakan menampilkan daftar user yang sudah terdaftar pada halaman index. Daftar user didapatkan dari proses eksekusi perintah SQL.

Fungsi pengiriman notification dijalankan oleh aplikasi server ketika ingin melakukan pengiriman pesan ke aplikasi mobile. Pesan didapatkan dari form yang diisi oleh admin untuk dikirimkan. Pesan tersebut akan dikirimkan melalui GCM

service. Pesan akan dilewatkan URL dari GCM service

(https://android.googleapis.com/gcm/send) yang nantinya akan menangani pengiriman pesan. Pengiriman pesan juga membutuhkan Google API Key yang didapatkan ketika pendaftaran Google APIs Console. Fungsi pengiriman

(17)

16

Kode Program 5 Fungsi untuk Pengiriman Notification

Pengujian Sistem

Pengujian aplikasi dilakukan untuk mengetahui apakah setiap fungsi dari aplikasi sudah berjalan dengan benar. Terdapat 2 hal yang diuji dalam tahap pengujian sistem , yaitu pengujian fungsi aplikasi dan pengujian GCM.

Pengujian fungsi aplikasi dilakukan untuk mengetahui apakah setiap fungsi yang sudah dibuat dapat berjalan dengan baik atau tidak. Setiap fungsi akan diberi

input dan dilihat apakah menghasilkan output yang sesuai dengan yang diinginkan. Jika terjadi kesalahan proses kerja maupun logika pengembangan maka akan dilakukan perbaikan pada fungsi. Hasil dari pengujian fungsi dapat dilihat pada Tabel 1.

Tabel 1 Hasil Pengujian Fungsi

No Fungsi Keterangan Input Output Hasil

1 Fungsi login Username dan password akan dicek apakah sesuai dengan data yang tersimpan pada databse

Username dan

password

Flag boolean: bernilai true

jika valid,

false jika invalid

Valid

2 Fungsi register

akun

Data akun baru akan dikirimkan melalui HTTP request ke aplikasi

server untuk disimpan di

database

username, password, name, identity number, gender, birthday, address, city, email, dan

phone.

Record tabel

user baru

Valid

3 Fungsi register

GCM

Aplikasi mobile akan mengirimkan sender id dan API

Sender id dan

API key

Registration id (unique id

Valid 1. // include config

2. include_once './config.php'; 3. // Set POST variables

4. $url = 'https://android.googleapis.com/gcm/send'; 5. $fields = array(

6. 'registration_ids' => $registatoin_ids, 7. 'data' => $message,

8. );

9. $headers = array(

10. 'Authorization: key=' . GOOGLE_API_KEY, 11. 'Content-Type: application/json' 12. );

13. // Open connection 14. $ch = curl_init();

15. // Set the url, number of POST vars, POST data 16. curl_setopt($ch, CURLOPT_URL, $url);

17. curl_setopt($ch, CURLOPT_POST, true);

18. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 19. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 20. // Disabling SSL Certificate support temporarly 21. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 22. curl_setopt($ch, CURLOPT_POSTFIELDS,

json_encode($fields)); 23. // Execute post

24. $result = curl_exec($ch); 25. if ($result === FALSE) {

26. die('Curl failed: ' . curl_error($ch)); 27. }

(18)

17

key untuk didaftarkan pada GCM

service

dari GCM

service) 4 Fungsi

pengiriman pesan GCM

Proses pengiriman pesan dilakukan pada aplikasi server ke aplikasi mobile. Pengujian dilakukan untuk mengethaui apakah pesan sudah terkirim atau tidak pada perangkat yang dituju.

Teks pesan yang dikirim melalui form

pada web

Notification

yang masuk ke perangkat android

Valid

5 Fungsi

penerimaan pesan GCM

Aplikasi mobile menggunakan

BroadcastReceiver yang akan aktif ketika ada pesan masuk

Intent message

yang diterima

dari GCM

service

Push notification

yang akan ditampilkan pada

notification bar

Valid

6 Fungsi daftar kategori

HTTP request akan dikirimkan ke aplikasi server untuk menjalankan perintah php dan SQL

URL untuk melihat daftar kategori

JSON daftar kategori

Valid

7 Fungsi daftar produk

HTTP request akan dikirimkan ke aplikasi server untuk menjalankan perintah php dan SQL

URL yang

berisi parameter kategori yang dipilih

JSON daftar produk berdasarkan kategori tertentu

Valid

8 Fungsi detail produk

Fungsi yang menampilkan data lengkap suatu produk

Kode produk Detail Produk Valid

9 Fungsi

cart/keranjang belanja

Pemanfaatan SharedPreferences

untuk menyimpan data pembelian temporari

SharedPreferen ces yang berisi transaksi pembelian

SharedPrefer ences yang akan dibaca dan

ditampilkan dalam

listview

Valid

10 Fungsi profile user

Pemanfaatan SharedPreferences

untuk menyimpan data akun user

temporari

SharedPreferen ces yang berisi akun user

SharedPrefer ences yang akan dibaca dan

ditampilkan dalam

listview

Valid

Dapat ditarik kesimpulan bahwa setiap fungsi yang dibangun sudah berjalan dengan baik. Setiap input dapat menghasilkan output yang sesuai dengan kebutuhan sistem. Fungsi yang berhubungan dangan GCM service, maupun fungsi yang memanfaatkan HTTP request dalam mengakses database dapat berjalan dengan baik.

(19)

18

Tabel 4.2 HasilPengujian Google Cloud Messaging Service

Pengujian Tujuan Keterangan/Cara Hasil

Pengaktifan GCM Service

Mengetahui apa

servis GCM sudah

dapat digunakan

pada sistem yang

dibangun atau

belum

Pengaturan Android

Manifest pada aplikasi

mobile. Selain itu juga

menggunakan method

register yang akan

dipanggil pada saat

proses registrasi akun.

Terdapat response berupa

registration id dari GCM.

Pengujian Register

Menguji apakah

perangkat mobile

dapat didaftarkan pada GCM service.

Beberapa perangkat

mobile melakukan proses registrasi user baru

dengan menggunakan

sender id dan API key.

Setiap perangkat dapat

terdaftar pada GCM

serivce selama

menggunakan koneksi

internet. Setiap perangkat mempunyai registration id

yang bersifat unique

(berbeda antar perangkat

mobile). Pengujian

pengiriman pesan

Menguji apakah

pesan yang

dikirimkan dari

aplikasi server

dapat diterima oleh perangkat mobile

Mengirimkan pesan dari

aplikasi server ke

beberapa perangkat

mobile yang sudah

terdaftar pada GCM

service

Pesan dapat diterima

perangkat mobile dalam bentuk push notification

yang muncul di

notification bar

Berdasarkan Tabel 2 dapat diambil kesimpulan bahwa setiap tahapan yang terjadi pada lifecycle flow pemanfaatan GCM dapat berjalan dengan baik. Selain itu pengujian juga dilakukan terhadap beberapa state atau keadaan perangkat

mobile ketika menerima pesan. Ketika perangkat mobile dalam keadaan idle

pesan akan tetap dapat sampai ke perangkat mobile. Jika perangkat mobile dalam keadaan tidak aktif, maka pesan akan disimpan sementara untuk dikirim kembali ketika perangkat mobile aktif. Secara default jangka waktu pesan dapat disimpan adalah 4 minggu. Jika pesan masih belum dapat diterima, maka akan dihapus oleh GCM service. Jika aplikasi sudah tidak terinstal maka pesan tidak akan dapat diterima oleh perangkat mobile.

5. Simpulan

Berdasarkan penelitian yang telah dilakukan maka terdapat beberapa kesimpulan sebagai berikut: 1)PenerapanGoogle Cloud Messaging dapat digunakan untuk menyampaikan notification message dari penjual kepada pembeli. 2)Dalam implementasi Google Cloud Messaging (GCM) terdapat beberapa bagian yang terlibat yaitu : Google-provided connection server, 3rd -party app server dan Client App. Dalam penelitian ini dibangun aplikasi server

yang berfungsi sebagai pengaturan GCM service (3rd-party app server) dan aplikasi mobile yang berfungsi sebagai client app. 3)Aplikasi mobile akan digunakan user untuk melihat daftar barang, mendaftar sebagai member baru, mengirimkan pesanan, dan melihat detail spesifikasi barang. Aplikasi server

(20)

19

mengirimkan sender id, application id ke GCM untuk didaftarkan pada sistem. Setelah sukses proses registrasi GCM maka akan dikirimkan registration id ke perangkat android.Registration id yang didapatkan dari GCM pada langkah sebelumnya dikirimkan ke aplikasi server untuk disimpan ke database. GCM

(21)

20

6. Daftar Pustaka

[1] Riwayadi, Purwo. 2013. Pemanfaatan Perkembangan Teknologi Informasi dan Komunikasi untuk Kemajuan Pendidikan di Indonesia.IMADIKLUS. [2] Google Inc. 2013. Google Cloud Messaging for

Android.http://developer.android.com/google/gcm/index.html (diakses tanggal 1 Agustus 2013).

[3] Hartono, Ayrin. 2013. Desain dan Implementasi Aplikasi Servis dan Katalog Motor Menggunakan HTTP Request Pada Mobile Android Platform. Salatiga: Universitas Kristen Satya Wacana.

[4] Pradana, Jonathan Ery, Dr. Ing. M. Sukrisno Mardiyanto. 2012.

Pengembangan Framework untuk Pembangunan Aplikasi Mobile Commerce. Bandung:Institut Teknologi Bandung.

[5] Google Inc. 2013. Google Cloud Messaging Overview.http://developer.android.com/google/gcm/gcm.html (diakses tanggal 1 Agustus 2013).

[6] Json.org. 2013. JavaScript Object Notation (JSON). http://www.json.org/json-id.html. Diakses tanggal 14 Maret 2013.

[7] Burnette, Ed. 2009. Hello, Android: Introducing Google's Mobile Development Platform 2nd. USA: Pragmatic Bookshelf.

[8] Nazruddin Safaat H. 2011. Pemograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android.Bandung : Informatika.

[9] Hasibuan, Zainal A. 2007.Metodologi Penelitian Pada Bidang Ilmu Komputer dan Teknologi Informasi : Konsep, Teknik, dan Aplikasi. Jakarta : Ilmu Komputer Universitas Indonesia.

Gambar

Gambar 2 Tahapan Penelitian [9]
Gambar 4 Use Case Diagram Sistem
Gambar 5 Activity Diagram Resgistrasi Member Baru
Gambar 7 Arsitektur Aplikasi
+7

Referensi

Dokumen terkait

(Oleh karena itu), apabila anda melihat seorang yang mencela manusia yang telah menyakitinya dan justru tidak mengoreksi diri dengan mencela dirinya sendiri dan beristighfar

 Snap To Center : Digunakan untuk mendapatkan titik pusat dari suatu lingkaran atau arSnap To Quadrant : Di gunakan untuk mendapatkan titik yang terlerak pada kuadran.. 

Melihat tingkat kepentingan sistem pengendalian manajemen dan pembelajaran organisasi pada perusahaan, serta adanya kesenjangan penelitian tentang konsekuensi dari variabel ini

[r]

Bagian dari buku pribadi siswa yang diisi oleh guru BK adalah tingkat kecerdasan siswa yang disi berdasarkan tes IQ awal masuk diterima di sekolah tersebut, hasil

Berdasarkan permasalahan yang terdapat di lapangan maka penelitian ini akan menganalisis work value dengan mengacu pada dimensi work value menurut Wollack serta

Minggu M iko sepenuhnya mengadopsi pendekatan produksi film indie atau film pendek dengan salah satu cirinya adalah kamera selalu bergerak mengikuti tokoh. Kamera aktif

Telah dirumuskan rapat entropi berdasarkan jalinan Weyl Scalar Invariant yang ditentukan berdasarkan persamaan (34) untuk kasus di mana konstanta integrasi,