Luqman Affandi1 , Putra Prima Arhandi2 , Dimas Wahyu Wibowo3
Program Studi Teknik Informatika, Jurusan Teknologi Informasi, Politeknik Negeri Malang email : laffandi@yahoo.com, putraprima@gmail.com, dimaswahyuwibowoester@gmail.com
Information technology is developing very rapidly, especially in the field of message
delivery, this is marked by the development of many applications on smartphones that serve communication via the internet, one of which is Whatsapp, which makes it easier for users to send text messages and video and audio in real time using internet data packages. From these developments can be used for services and teaching and learning processes on campus. One process and service for teaching and learning that is still often hampered is a notification or notification of warning letters to students and parents of students. There are often delays in notifications because sending these letters still uses mail delivery. This delay has a negative effect on the teaching and learning process where the DPA (Academic Development Lecturers) often get protests and complaints from parents because this notice is too slow to convey.
Keywords: WhatsApp, Gateway, Machine touring
1. PENDAHULUAN komplain dari orang tua karena dinilai pemberitahuan ini terlalu lambat Pada akhir-akhir ini teknologi tersampaikan. komunikasi berkembang pesat, jika pada Untuk mengatasi masalah tersebut tahun tahun sebelumnya komunikasi di maka dilakukan riset mengenai dominasi oleh media sms dan telepon Whatsapp Message Gateway yang dapat melalui sinyal radio. Pada saat ini dan mengatasi batasan yang dimiliki seperti kedepannya sudah mulai bergerser ke SMS Gateway, dimana pada riset ini komunikasi via internet. Perkembangan penyampaian informasi kepada ini ditandai dengan berkembangnya mahasiswa dan orang tua khususnya banyak aplikasi pada smartphone yang mengenai Surat Peringatan dari kampus melayani komunikasi melalui internet dapat dikirim melalui aplikasi Whatsapp. salah satunya Whatsapp yang Kendala yang dihadapi untuk mempermudah pengguna untuk berkirim menerapkan teknologi ini adalah pesan text maupun video dan audio bagaimana menghubungkan antara data secara real time menggunakan paket data yang akan dikirim ke Whatsapp karena internet. sifat aplikasi tersebut yang bersifat Perkembangan teknologi ini tertutup. Oleh karena itu dibutuhkan dimanfaatkan oleh Politeknik Negeri metode, salah satunya adalah Mesin Malang, salah satunya dengan Turing dan teknologi Rest. pemberitahuan surat peringatan kepada mahasiswa dan orang tua mahasiswa. Sering terjadi keterlambatan dalam 2. LANDASAN TEORI pemberitahuan karena pengiriman surat 2.1. Mesin Turing dengan menggunakan pengiriman Mesin Turing adalah model yang melalui pos. Keterlambatan ini berefek sangat sederhana dari komputer. Secara negatif kepada proses belajar mengajar esensial, mesin Turing adalah sebuah dimana para Dosen Pembina Akademik finite automaton yang miliki sebuah tape (DPA) sering mendapatkan protes dan
Jurnal Dinamika Dotcom | ISSN 2086-2652 | Volume 10 Nomor 1 | Januari 2019 49
tunggal dengan panjang tak terhingga Resource dapat dikatan sebagai segala yang dapat membaca dan menulis data. sesuatu yang dapat diidentifikasi, Mesin Turing menggunakan notasi dinamakan, atau di handle dengan cara seperti ID-ID. apapun melalui sebuah url. Pada Stack pada PDA memiliki RESTfull web service sebuah request keterbatasan akses. Pada Mesin Turing, dapat dibuat melalui sebuah URL yang memori akan berupa suatu tape yang memiliki respon baik dalam format pada dasarnya merupakan array dari sel- XML, HTML, JSON ataupun dalam sel penyimpanan. Terdapat sebuah tape format lain. Respon yang diberikan dapat head yang selalu ditempatkan pada salah berupa sebuah konfirmasi berupa status satu dari sel-sel tape. Mesin turing code, atau bisa jadi berupa sebuah link dikatakan men-scan sel tersebut. Tape yang menunjuk ke resource lain yang head berada pada sel paling kiri yang dapat diakses melalui protocol http. menampung input. Sebuah pergerakan RESTfull web service biasanya mesin Turing adalah sebuah ungsi dari menggunakan protocol http sebagai state dari finite control dan tape symbol perantaranya, dimana protocol http yang di-scan. Dalam satu pergerakan, mempunyai beberapa HTTP verb antara mesin Turing akan : lain : Merubah state. 1. GET Next state dapat sama dengan 2. POST current state. 3. PUT Menulis sebuah tape symbol 4. DELETE dalam sel yang di-scan. Dengan memanfaatkan http verb yang Tape symbol ini mengganti sudah ada pada sistem sebelumnya REST symbol apapun yang ada dalam dapat meningkatkan reliability dan sel tersebut. Secara opsional, mempermudah pengembangan sistem simbol yang dituliskan dapat tanpa mengganti sistem yang sudah ada. sama dengan simbol yang sekarang ada dalam tape. 3. HASIL DAN PEMBAHASAN Memindahkan tape head ke kiri Metode penelitian yang atau ke kanan. digunakan dalam penelitian ini adalah menggunakan metode siklus hidup 2.2 REST sistem/ system development life cycle REST (Representational State (SDLC). Metode siklus hidup sistem Transfer) atau RESTfull adalah salah adalah tahap pendekatan dalam satu cara yang dapat digunakan untuk membangun suatu sistem yang membagi menyediakan service yang dapat pengembangan sistem ke dalam taraf atau memberikan kemudahan komunikasi tingkat yang ada. Metode SDLC dikenal antara sistem computer melalui internet. juga dengan metode waterfall karena Dengan adanya RESTfull web setiap tahapan akan menghasilkan service ini kita dapat melakukan request keluaran yang digunakan dalam tahapan dan manipulasi terhadap resource yang berikutnya. dimiliki oleh sebuah Web Resource Tahapan-tahapan SDLC terlihat bada menggunakan perintah perintah stateless gambar.1 berikut : operation yang disediakan oleh web service tersebut. Pengertian sebuah Web Resource adalah sebuah dokumen atau file yang dapat dibedakan sesuai url yang dimilikinya, namun demikian dengan perkembangan teknologi sebuah Web
Jurnal Dinamika Dotcom | ISSN 2086-2652 | Volume 10 Nomor 1 | Januari 2019 50
rumah orang tua dari kampus. Masalah Gambar 1. System Development Life ini sudah diatasi oleh kampus dengan Cycle (SDLC) melakukan sosialisasi ke DPA untuk menelepon langsung orang tua untuk 3.1 REQUIREMENT menanyakan apakah surat peringatan Tahapan ini merupakan tahap sudah sampai dan memberitahukan status dimana pengembang perangkat lunak mahasiswa yang bersangkutan. mengidentifikasi masalah yang terjadi Di sisi lain, saat ini sudah banyak dan melakukan pengumpulan data. pengguna Smart Phone menggunakan Dalam penelitian ini tahap requirement aplikasi WhatsApp untuk sarana dilakukan berdasarkan masalah yang komunikasi baik berupa teks, suara, terjadi di program studi Teknik gambar, berkas, mapun video secara Informatika Politeknik Ngeri Malang, realtime. Teknologi ini dapat khususnya tentang pemberitahuan dimanfaatkan untuk pengiriman pesan informasi tentang status mahasiswa yang selama ini dilakukan secara manual kepada wali mahasiswa. oleh kampus ke wali mahasiswa. Yang Terdapat empat status mahasiswa menjadi permasalahan adalah jika yang perlu dilaporkan kepad wali pengiriman informasi tersebut dilakukan mahasiswa, yaitu Surat Peringatan 1 (SP satu persatu, maka hal ini akan tidak 1), Surat Peringatan 2 (SP 2), Surat efektif karena banyaknya data mahasiswa Peringatan 3 (SP 3), dan status Putus yang diolah. Dari permasalah tersebut Studi (PS). Status-status tersebut harus diperlukan sebuah aplikasi yang segera dilaporkan karena rentang waktu menghubungkan antara data status antara status satu dengan yang lain sangat mahasiswa dan aplikasi WhatsApp. pendek jika mahasiswa melakukan Aplikasi tersebut dapat menggunakan pelanggaran khususnya ketidakhadiran. Bahasa Pemrograman Java. Dari status tersebut, untuk melakukan pembangunan sebuah aplikasi 3.3 Pengumpulan data dibutuhkan data meliputi: 3.3.1 Wawancara Mahasiswa Untuk menggali informasi dan Orang Tua menterjemahkan keinginan dari program Status Mahasiswa studi Teknik Informatika, maka dilakukan wawancara kepada admin 3.2 ANALISIS SISTEM program studi berkaitan status mahasiswa Analisis sistem adalah penguraian dan data yang diperlukan. Dari dari suatu sistem informasi yang utuh ke wawancara tersebut didapatkan data dalam bagian-bagian komponennya pendukung aplikasi meliputi data dengan maksud untuk mahasiswa, orang tua, dan status mengidentifikasikan dan mengevaluasi mahasiswa. permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan yang 3.3.2 Studi Literatur diharapkan sehingga dapat diusulkan Studi literatur digunakan untuk perbaikan. mencari teknik terkini untuk pengolahan data yang diperoleh. Selain itu, tahap ini 3.2.1 Identifikasi Masalah diperlukan untuk mencari cara bagaimana Selama ini status mahasiswa menghubungkan antara aplikasi yang diinfokan melalui pengiriman berkas dibangun agar dapat dikirim melalui surat secara fisik, dan proses ini aplikasi WhatsApp. memerlukan waktu dua sampai satu minggu tergantung jauh dekatnya jarak
Jurnal Dinamika Dotcom | ISSN 2086-2652 | Volume 10 Nomor 1 | Januari 2019 51
3.5 Desain Sistem 3.4 Analisis Masalah Desain sistem dibuat mengikuti desain topologi yang dibuat sebelumnya, Setelah melakukan pengumpulan berdasarkan desain tersebut dibutuhkan data yang berasal dari wawancara dan beberapa alat dan pengembangan studi literatur, maka langkah berikutnya perangkat lunak. Untuk alat dibutuhkan adalah melakukan analisis terhadap data sebuah smart phone yang memiliki yang diperoleh. Beberapa point yang di aplikasi whatsapp, kemudian dibutuhkan dapat dari kegiatan tersebut adalah : sebuah komputer yang dapat membuka 1. Data yang diperlukan aplikasi dapat aplikasi web whatsapp. diperoleh dati admin program studi Teknik Informatika. Pada penelitian ini khusus untuk 2. Aplikasi WhatsApp bersifat tertutup, smart phone android dibutuhkan artinya tidak ada fasilitas API untuk spesifikasi khusus pada smart phone menirim pesan melalui aplkasi lain tersebut yaitu memiliki kontak orang tua seperti Telegram dan lainnya. yang sudah disimpan ke data kontak WhatsApp hanya memiliki API untuk smart phone. Kontak ini harus unik untuk mengirimkan pesan melalui aplikasi masing masing mahasiswa dan tidak WhatsApp itu sendiri. boleh menggunakan karakter khusus 3. Aplikasi WhatsApp perlu di-remote hanya boleh menggunakan karakter huruf ke komputer karena aplikasi berbasis atau angka. desktop mengunakan Java. Untuk dapat melakukan hal tersebut dapat Untuk komputer yang digunakan menggunakan browser dan membuka wajib memiliki resolusi yang tetap tidak laman http://web.whatsapp.com. boleh berubah karena whatsapp gateway 4. Diperlukan pendeteksian data yang yang akan di implementasikan sangat akan dikirim dan selanjutnya akan tergantung pada resolusi layar komputer. dikirim ke web WhatsApp Selanjutnya ada beberapa mengunakan Mesin Turing. Untuk perangkat lunak yang dibutuhkan antara mengakses data ke aplikasi dapat lain adalah Whatsapp gateway yang akan menggunakan teknologi REST. dibangun menggunakan bahasa Agar dapat menjelaskan secara pemrograman java yang detail proses kerja WhatsApp Gateway, mengimplementasikan kelas Robot pada gambar 2 berikut merupakan rancangan java AWT. Selain itu juga dibutuhkan topologi yang dibangun : sebuah REST Server yang dibuat menggunakan node js dan database mongodb. Sedangkan untuk admin agar bisa menginputkan data ke REST server untuk menyederhanakan proses digunakan perangkat lunak bernama insomnia. Desain sistem REST Server dibuat menggunakan Nodejs dan Mongodb, server rest akan di hosting melalui hosting cloud di heroku.com dan database disediakan melalui cloud Gambar 2. Topologi WhatsApp Gateway database provider mongolab.
Jurnal Dinamika Dotcom | ISSN 2086-2652 | Volume 10 Nomor 1 | Januari 2019 52
Berikut ini desain endpoint dan Dari hasil pengamatan dan model database pada REST Server : percobaan, didapat bahwa WhatsApp memiliki API untuk mengirim pesan, namaMahasiswa: String, tetapi sayangnya API tersebut hanya nim: String, dapat berjalan di perangkat smart phone namaOrangTua: String, Android, sedangkan di komputer, API ini nomorTelponMahasiswa: String, tidak dapat berjalan kecuali ditulis di nomorTelponOrangTua: String, statusMahasiswa: String, dalam aplikasi web WhatsApp. API statusKirimMessage: Boolean WhatsApp dapat dilihat pada laman Database di desain menggunakan https://faq.whatsapp.com/id/android/2600 mongodb dengan beberapa field yang ada 0030/ dengan format sebagai berikut: pada collection mahasiswa, antara lain https://wa.me/<number> nama Mahasiswa, nim, nama OrangTua, nomor Telpon Mahsiswa, nomor Telpon atau https://wa.me/?text=teksberkodeurl Orang Tua, status Mahasiswa dan status Kirim Message. Semua data ini didapat Contoh dari penggunaan API tersebut dari administrator program studi dimana seperti contoh di bawah ini: administrator program studi akan https://wa.me/628561333111 bertanggungjawab memasukkan data ini ke REST Server menggunakan insomnia. atau Setelah melakukan desain https://wa.me?text=Saya%20memiliki%2 database selanjutnya dilakukan desain 0pertanyaan%20mengenai%20apartment endpont pada REST Server, endpoint %20yang%20disewakan yang didesain melingkupi endpont pada data mahasiswa, berikut ini tabel Untuk dapat menyambungkan endpoint dan response yang diberikan : antara data dengan API tersebut, maka diperlukan sebuah aplikasi Java yang Tabel 1. endpoint dan response berfunsi sebagai pengganti pemakai WhatsApp dengan menggunakan perintah Runtime, perintah ini mampu memindah dan melakukan action pada kursor mouse. Perintah ini hanya dapat digunakan pada aplikasi Desktop, sehingga WhatsApp yang digunakan harus berbasis web yaitu web whatsapp. Agar alur kerja Java dapat Selanjutnya dilakukan desain berjalan seperti yang diharapkan, maka Whatsapp Gateway pada desktop perlu dilakukan observasi tentang web menggunakan Java dengan metode mesin whatsapp dan di dapat alur sebagai Turing. Pada bagian ini akan berikut : digambarkan alur kerja mulai dari data sampai pesan dikirim melalui aplikasi 1. Lakukan pencarian nomer mahasiswa WhatsApp. Sebelum melakukan desain, atau orang tuapada kolom search. maka diperlukan sebuah analisis tentang aplikasi WhatsApp, sejauh mana aplikasi 2. Kemudian Klik bar di bawahnya. ini memiliki fitur yang dapat diakses 3. Klik isin pesan. melalui aplikasi lain. 4. Masukkan isi pesan.
Jurnal Dinamika Dotcom | ISSN 2086-2652 | Volume 10 Nomor 1 | Januari 2019 53
5. Klik tombol send. P : Pesan yang dikirim 6. Pesan terkirim. O : nomer whatsapp orang tua Alur tersebut digunakan oleh mesin M : nomer whatsapp mahasiswa turing untuk menggerakkan head ke kiri atau ke kanan setelah menerima data dari Pergerakan : R (right) mongodb. Tugas dari Java adalah sebagai 4. HASIL DAN PEMBHASAN media implementasi hasil pembacaan head terhadap pita data, untuk : Berdasarkan desain sistem whatsapp gateway yang dibuat 1. Mengambil data dari database membutuhkan alat sebagai berikut : menggunakan REST API. 1. Smartphone Android yang sudah memiliki daftar contact orang yang ingin di 2. Menggerakkan mouse beserta kirimkan pesan. action click sesuai dengan 2. Sebuah komputer dengan resolusi yang tahapan-tahapan seperti di atas. tetap dan memiliki browser yang dapat membuka url web.whatsapp.com 3. Menuliskan API WhatsApp web 3. Software Rest Client yang terinstall pada dan pesan yang akan dikirim. komputer Admin (pada penelitian ini digunakan software insomnia). Untuk mempermudah pembuatan alur program, maka diperlukan teknik Selain alat-alat tersebut juga Mesin Turing agar data yang diperoleh dibutuhkan implementasi Sistem REST dapat diproses dan pergerakan mouse Server dan Whatsaap Gateway. Seperti beserta actionnya dapat dijalankan yang sudah dijelaskan tentang Sistem dengan benar. Gambar 3 menunjukkan REST Server sistem ini menggunakan graph aplikasi: sebuah server dengan sistem operasi linux yang dihosting di cloud platform heroku. Sistem ini juga menggunakan database berbasis cloud yang dimiliki oleh mlab, selain itu sistem ini dibangun menggunakan bahasa pemrograman nodejs. Gambar 3 Mesin Turing Untuk membuat aplikasi REST Server yang dibutuhkan dibuat sebuah Keterangan : project nodejs dengan dependency package.json sebagai berikut : State : S, A, B, C, D { "name": "whatsapserver", State Awal : S "version": "1.0.0", "description": "", State Penerima : D "main": "index.js", "scripts": { String Input : "start": "node index.js", $ : string hampa "test": "echo \"Error: no test specified\" && exit 1" T : data kiriman status mahasiswa }, "author": "", A : API whatsapp "license": "ISC", "dependencies": {
Jurnal Dinamika Dotcom | ISSN 2086-2652 | Volume 10 Nomor 1 | Januari 2019 54
"body-parser": while (true) "^1.18.3", { "cors": "^2.8.4", PointerInfo a = "express": "^4.16.4", MouseInfo.getPointerInfo(); "mongoose": "^5.3.3" Point b = } a.getLocation(); } int x = (int) b.getX(); int y = (int) Berdasarkan package.json ini b.getY(); terlihat bahwa server menggunakan System.out.println(x beberapa library antara lain body-parser, + ":" + y); cors, express dan mongoose. try Selanjutnya yang harus { diimplementasikan adalah endpoint dan Thread.sleep(1000); response yang akan diberikan oleh } server. Untuk mendesain endpoint catch dibutuhkan sebuah routes untuk itu pada (InterruptedException e) { project nodejs ini dibuat sebuah file routes yang menyambungkan antara e.printStackTrace(); endpoint dengan controller yang akan } menentukan response dari server. } File routes ini terlihat route yang } } dibuat sudah sesuai dengan desain dan sudah terhubung dengan controller yang akan bertanggungjawab memberikan Dengan mendapatkan posisi response pada endpoint yang diminta. mouse dari layar selanjutnya adalah Selanjutnya dilanjutkan melakukan implementasi robot untuk implementasi controller mahasiswa pada melakukan clik dan mengisi data pada file ini diisikan logika untuk mengambil, web.whatsapp.com agar dapat mengirim menyimpan dan menghapus data data. mahasiswa yang mendapat Surat Setelah proses implementasi Peringatan. selesai dilakukan akan dilanjutkan Proses selanjutnya adalah dengan melakukan pengujian apakah implementasi robot pada whatsapp sistem dapat berjalan dengan baik. gateway dimana robot ini berjalan Untuk menguji apakah aplikasi menggunakan bahasa pemrograman java dan rancangan yang dibuat sudah sesuai dan memanfaatkan class AWT Robot. dengan harapan, maka diperlukan Langkah yang diperlukan pada pengujian Aplha terhadap sistem yang implementasi ini adalah mencari dibangun. Teknik yang digunakan untuk koordinat yang akan di klik dan di isi pengujian menggunakan Black Box oleh robot, oleh karena itu pada Testing, yaitu pengujian berdasarkan penelitian ini diimplementasikan sebuah masukan dan keluaran yang diinginkan. mouse position detector untuk mencari Pengujian pertama dilakukan dengan nilai posisi mouse pada layar. Berikut ini menguji REST Server apakah sudah implementasi mouse position detector. memberikan response yang sesuai import java.awt.*; dengan kebutuhan yang diperlukan oleh public class GetMouse Whatsapp Gateway. Pengujian dilakukan { dengan cara memberikan input pada public static void endpoint dan membandingkan response main(String[] args) yang dikeluarkan. Hasil pengujian dapat { dilihat pada Tabel.Dari hasil pengujian
Jurnal Dinamika Dotcom | ISSN 2086-2652 | Volume 10 Nomor 1 | Januari 2019 55
terhadap output endpoint ini dapat 6. KESIMPULAN dipastikan endpoint pada REST Server berjalan dengan baik dan berhasil Dari hasil analisis, pengujian dan memberikan output yang sesuai dengan hasil, dapat disimplukan bahwa : harapan. 1. Aplikasi WhatsApp gateway dapat Pengujian selanjutnya adalah berjalan sesuai dengan tujuan. melakukan pengiriman pesan kepada 2. Metode Mesin turing dan REST dapat orang tua mahasiswa menggunakan digunakan untuk mendeteksi pesan whatsapp gateway yang sudah status mahasiswa yang selanjutnya diimplementasikan sebelumnya. Pada dikirim pemberitahuan ke orang tua pengujian ini digunakan data dummy dan mahasiswa. yang diinputkan pada REST server. 3. Masih memerlukan waktu 6000 ms Langkah pertama pada pengujian untuk mengirim 1 pesan. ini adalah membuka website Masih banyak yang dapat web.whatsapp.com kemudian menunggu dikembangkan dari penelitian ini antara web tersebut dibuka dengan sempurna, lain : setelah web terbuka dengan sempurna dilanjutkan dengan menjalakan program 1. Membuat user interface administrator whatsapp gateway. agar proses input data mahasiswa yang terkena Surat Peringatan menjadi lebih mudah.
2. Diperlukan metode pengiriman pesan
yang lebih flexibel tanpa harus memasukkan nomor handphone orang tua ke dalam smartphone android.
Gambar 4. WhatsApp Gateway 6. REFERENSI
J. Webber, S. Parastatidis, and I. Pada gambar 4 dapat dilihat halaman Robinson, REST in practice: web.whatsapp.com sudah berhasil Hypermedia and systems dibuka, langkah selanjutnya adalah architecture. United States: menjalankan program dan memastikan O’Reilly Media, Inc, USA, 2010. hasil chat sudah terkirim dengan baik. Robot mampu mengetikkan nama orang Mark, David Clement, 2012, Node Js tua dummy yang akan dikirimkan pesan. Cookbook, Packt Publishing Ltd. Selanjutnya bot akan mengklik data Livery Place 35 Livery Street pertama yang paling sesuai pada kolom Birmingham B3 2PB, UK. pencarian. Setelah berhasil mengklik nama orang tua robot akan mengklik dan …., Database Engine Ranking- mengetikkan pesan pada kolom input Popularity ranking of database message di web.whatsapp.com. management system, http://db- Selanjutnya robot akan memindah engines.com/en/ranking (diakses posisi mouse dan mengklik tombol send. tanggal 20 Februari 2016). Untuk mengirim satu pesan rata rata 6000 ms. Chodorow, Kristina, 2013, MongoDB- The Definitive Guide, 2nd Edition ,O’Reilly Media, Inc., 1005
Jurnal Dinamika Dotcom | ISSN 2086-2652 | Volume 10 Nomor 1 | Januari 2019 56
Gravenstein Highway North, Sebastopol, CA 95472.
Banker, Kyle, 2012, Mongo Db in
Action, Manning Publications Co. 20 Baldwin Road New York.
Jurnal Dinamika Dotcom | ISSN 2086-2652 | Volume 10 Nomor 1 | Januari 2019 57
Jurnal Dinamika Dotcom | ISSN 2086-2652 | Volume 10 Nomor 1 | Januari 2019 58
Pendekatan sederhana untuk komunikasi profesional: Panduan praktis untuk komunikasi profesional dan strategi komunikasi bisnis tertulis dan interpersonal terbaik