Perancangan dan Implementasi Finite Automata...Pesan ini akan diterima pembeli melalui perangkat ....

21
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. Notification Message dapat berisi informasi mengenai transaksi yang dilakukan pembeli, maupun pesan lainnya yang perlu disampaikan penjual kepada pembeli. Pesan ini akan diterima pembeli melalui perangkat mobile Android. Fokus dari penelitian ini adalah penerapan GCM pada aplikasi jual beli, serta tidak membahas mengenai proses jual beli lebih lanjut.

Transcript of Perancangan dan Implementasi Finite Automata...Pesan ini akan diterima pembeli melalui perangkat ....

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

    Notification Message dapat berisi informasi mengenai transaksi yang dilakukan

    pembeli, maupun pesan lainnya yang perlu disampaikan penjual kepada pembeli.

    Pesan ini akan diterima pembeli melalui perangkat mobile Android. Fokus dari

    penelitian ini adalah penerapan GCM pada aplikasi jual beli, serta tidak

    membahas mengenai proses jual beli lebih lanjut.

  • 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

    untuk mengirim ke Aplikasi android yang dituju. 2) Dengan menggunakan GCM,

    pengguna dapat mengirimkan upstream messages. 3) Aplikasi Android dan

    perangkat Android tidak perlu dalam keadaan running untuk bisa menerima

    pesan. Sistem akan melakukan wake up aplikasi android ketika pesan masuk

    dengan cara intent broadcast, selama terdapat permission pada aplikasi. 4) Dalam

    penggunaannya tidak diperlukan user interface khusus untuk menangani pesan

    yang diterima. GCM mengirimkan raw message ke aplikasi android beserta

    dengan kontrol notifikasinya. 5) Perangkat android hanya memerlukan minimal

    platform Android 2.2 (bisa jalan pada versi diatasnya) dan terdapat Google Play

    Store. 6) Untuk perangkat android diatas 3.0, ini mengharuskan pengguna untuk

    mengatur akun Google mereka pada perangkat mobile mereka. Akun Google

    bukan persyaratan pada perangkat yang menjalankan Android 4.0.4 atau lebih

    tinggi.

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

    transfer file , game , dan layanan jejaring sosial . Tidak seperti kebanyakan

    protokol instant messaging , XMPP didefinisikan dalam standar terbuka dan

  • 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

    Dalam penelitian ini, dilakukan beberapa tahapan yang dilakukan oleh

    peneliti. Secara garis besar penelitian yang terbagi dalam lima tahapan, yaitu: (1)

    Analisis kebutuhan dan pengumpulan data yang diperlukan, (2) Perancangan

    sistem, (3) Perancangan aplikasi/program, (4) Implementasi dan pengujian sistem,

    serta analisis hasil pengujian, (5) Penulisan laporan hasil penelitian.Tahapan-

    tahapan yang dilakukan dalam penelitian inidapat dilihat pada Gambar 2.

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

    Dalam tahap ini dilakukan perancangan sistem dan perangkat lunak untuk

    menggambarkan prosedur dan proses kerja dari sistem aplikasi tersebut.Proses

  • 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

    UserMelihat Daftar Katalog

    Melihat Spesifikasi Produk

    Mengirim Notifikasi Pesan

    Admin

    Mendaftarkan User Baru

    GCM

  • 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

    DatabaseGCMSistem Aplikasi Serv er (Web)User

  • 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

    merupakan hasil generate dari Google APIs Console yang dapat dilihat pada url

    project.

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

    Userakan menginputkan username dan password untuk login ke aplikasi mobile.

    Terdapat 2 tombol pada antarmuka ini yaitu tombol login dan tombol register.

    Jika user belum memiliki akun, maka user bisa melakukan proses registrasi

    terlebih dahulu untuk mendapatkan akun.

  • 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

    com.google.android.gcm.GCMRegistrar. Class GCMRegistrar berfungsi untuk

    melakukan pengecekan apakah device sudah terdaftar pada GCM service atau

    tidak dan melakukan proses register device ke GCM service. Berikut ini adalah

    penggalan kode perintah untuk register device ke GCM service.

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

    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() { 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. }}; 33. mRegisterTask.execute(null, null, null);}}

  • 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); 11. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 12. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    https://android.googleapis.com/gcm/send

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

    Gambar 15 Antarmuka Detail Product

  • 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 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) { 18. editor.putString("pembelian" + i, product); 19. i++; } }

  • 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

    generate dari GCM service yang dikirimkan oleh aplikasi mobile. Atribut

  • 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

    notification dapat dilihat pada Kode Program 5.

    https://android.googleapis.com/gcm/send

  • 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. } 28. // Close connection 29. curl_close($ch); 30. echo $result;

  • 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

    SharedPreferences yang berisi

    akun user

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

    Pengujian GCM dilakukan untuk mengetahui apakah proses yang terjadi

    ketika pengiriman dan penerimaan pesan dapat berjalan dengan baik atau tidak.

    Jika terdapat kesalahan dalam penerapan pemanfaatan GCM service maka akan

    dilakukan perbaikan sehingga proses dapat berjalan dengan baik. Pengujian ini

    dilakukan dengan dengan cara menguji setiap tahapan lifecycle flow GCM.

    Terdapat 3 tahapan utama dalam lifecycle flow GCM, yaitu :enable GCM, send

    message dan receive message. Setiap tahapan diuji untuk mengetahui

    pemanfaatan GCM pada sistem yang dibangun sudah berjalan dengan baik.

    Pengujian yang dilakukan yaitu : mengaktifkan GCM service, melakukan register

    menggunakan beberapa perangkat mobile, pengiriman pesan ke beberapa

    perangkat mobile., dan pengujian lifecycle flow dari GCM. Hasil dari pengujian

    GCM dapat dilihat pada Tabel 2.

  • 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

    bertugas untuk menangani setiap transaksi yang terjadi.4)Secara sederhana proses

    penyampaian pesan melalui GCM adalah sebagai berikut : Pertama android akan

  • 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

    serverakan mengirimkan pesan dari aplikasi server ke perangkat android dengan

    menggunakan registration id yang telah didapatkan pada proses registrasi.4)

    Hasil pengujian manfaat yang dilakukan dengan penujian kuisioner menyatakan

    bahwa fitur penyampaian pesan melalui push notification dengan bantuan Google

    Cloud Messaging berguna dalam penyampaian informasi.

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

    [10] Wikipedia. 2013. Extensible Messaging dan Presence

    Protocol.http://en.wikipedia.org/wiki/XMPP (diakses tanggal 16 Desember

    2013).

    http://developer.android.com/google/gcm/index.htmlhttp://developer.android.com/google/gcm/gcm.html