4
Perintah open merupakan perintah dari API dan bukan perintah yang langsung dimengerti oleh kernel sistem operasi. Oleh karena itu, agar keinginan user dapat
dimengerti oleh sistem operasi, maka perintah open tadi diterjemahkan ke dalam bentuk system call oleh system call interface. Implementasi perintah open bisa
bermacam-macam, tergantung dari sistem operasi yang digunakan [5].
Twitter API
Pada awalnya perusahaan Summize yang menyediakan fasilitas mencari data di Twitter. Kemudian perusahaan Summize ini diakuisisi dan diganti merek
menjadi Twitter Search sehingga Search API terpisah sebagai entitas sendiri. Twitter API terdiri dari 3 tiga bagian yaitu [6] : 1 Search API. Search API
dirancang untuk memudahkan user dalam mengelola query search di konten Twitter. User dapat menggunakannya untuk mencari tweet berdasarkan keyword
khusus atau mencari tweet lebih spesifik berdasarkan username Twitter. Search APIjuga menyediakan akses pada data Trending Topic; 2 Representational
State Transfer REST API. REST API memperbolehkan developer untuk mengakses inti dari Twitter seperti timeline, status update dan informasi user.
REST API digunakan dalam membangun sebuah aplikasi Twitter yang kompleks yang memerlukan inti dari Twitter; dan 3 Streaming API. Streaming API
digunakan developer untuk kebutuhan yang lebih intensif seperti melakukan penelitian dan analisis data. Streaming API dapat menghasilkan aplikasi yang
dapat mengetahui statistik status update, follower dan lain sebagainya. Dalam penelitian ini, bagian Twitter API yang digunakan adalah REST API.
Library dan API Resources
Dalam perancangan sistem ini digunakan library tmtOAuth. Library tmhOAuth adalah sebuah OAuth 1.0A library yang ditulis dalam bahasa
pemrograman PHP oleh themattharris. Library ini dikhususkan dalam penggunaan Twitter API. OAuth merupakan protokol otentikasi yang
memungkinkan user menyetujui sistem untuk bertindak atas user, tanpa harus berbagi password user. Library ini dapat berjalan dengan baik pada PHP versi 5.3
ke atas [7]. Beberapa API Resources yang digunakan dalam perancangan sistem ini yaitu [8] :
1. POST statusesupdate
http:api.twitter.com1statusesupdate.format Resource ini digunakan untuk melakukan update status oleh user. Setiap
melakukan update status, akan dilakukan pengecekan terhadap tweet sebelumnya, jika terjadi update tweet yang sama, maka akan terjadi error
request denied. Jadi user tidak bisa melakukan update status yang sama secara beruntun. Jika user melakukan update status lebih dari 140 karakter
dalam satu status, maka akan terjadi error yang sama.
2. GET direct_messages
https:api.twitter.com1direct_messages.format Resource GET direct_messages digunakan untuk mendapatkan direct
messages DM terbaru dari user sebanyak 20 DMs. Method ini memerlukan akses token read, write dan direct message RWD.
3. POST direct_messagesnew
https:api.twitter.com1direct_messagesnew.format Resource ini digunakan untuk mengirim direct message baru dari satu user
ke satu user lainnya.
5
4. GET statusesmentions
http:api.twitter.com1statusesmentions.format Resource ini digunakan untuk mendapatkan mention terbaru dari seorang
user sebanyak 20 mentions.
NetDesain
NetDesain adalah perusahaan pengembang website. Perusahaan ini didirikan pada tahun 1999. Penawaran jasa dan produk NetDesain meliputi
software product, mobile system, workflow dan enterprise system. Selain sebagai developer, NetDesain sendiri berdedikasi untuk membantu klien dalam memenuhi
kebutuhan akan website termasuk konsultasi, desain, pengembangan, testing, implementasi, training dan maintenance.
X-Phones.com
X-Phones.com adalah salah satu website yang dibangun oleh NetDesain yang menawarkan berbagai hal terkait komunitas handphone di Indonesia, dan
akan memberikan informasi terlengkap dan terpercaya seputar dunia handphone. Pada website X-phones.com, para pengguna handphone dapat memperoleh
beragam informasi mengenai spesifikasi handphone dari yang terlama sampai yang terbaru, harga handphone, baik handphone baru maupun bekas, selain itu
website X-Phones.com juga menyediakan informasi terbaru mengenai berita, artikel, informasi mengenai operator, baik GSM maupun non-GSM. Website X-
Phones.com juga menyediakan blog dan artikel tentang handphone dan perkembangannya, yang berguna bagi pengguna handphone maupun calon
pengguna. Website X-Phones.com mempunyai akun Twitter dengan username adalah x_phones. Selama ini, akun x_phones digunakan untuk melakukan
promosi website X-Phones.com kepada Client di Twitter. Akun ini seringkali mendapat mention Client mengenai harga, spesifikasi dan info seputar gadget
khususnya handphone. Akun x_phones selalu membalas setiap mention Client yang berhubungan dengan hal tersebut, dan kebanyakan mention Client berisi
beberapa pertanyaan yang sama. Oleh karena itu, admin X-Phones.com membutuhkan aplikasi yang dapat membalas mention Client secara otomatis, agar
admin X-Phones.com tidak membuang waktu untuk membalas pertanyaan yang sama. Pada penelitian ini, akan dibuat akun Twitter dengan username yaitu
art_xphones. Akun art_xphones digunakan untuk pengujian sistem dalam penelitian ini.
Metode dan Perancangan Sistem
Metode Pengembangan Sistem
Metode pengembangan sistem yang digunakan adalah Prototype Model. Prototype Model adalah salah satu metode pengembangan perangkat lunak yang
dibuat dengan pendekatan aspek desain, fungsi dan user-interface. Penentuan tujuan umum dilakukan oleh developer dan user untuk mengetahui gambaran dan
kebutuhan pada perangkat lunak yang akan dibangun. Bagan mengenai prototype model dapat dilihat pada Gambar 1.
6
Gambar 1. Bagan Prototype Model [9]
Tahap-tahap dalam Protoype Model adalah sebagai berikut : 1.
Listen to Costumer; Analisis kebutuhan dilakukan dengan melakukan wawancara kepada Bapak Mico Wendy selaku pimpinan perusahaan
NetDesain, mengenai kebutuhan sistem Auto Reply Twitter. Berdasarkan wawancara yang dilakukan, sistem yang akan dibangun, diharapkan dapat
memenuhi kebutuhan perusahaan, yaitu sebagai berikut: 1 Sistem melakukan reply secara otomatis terhadap tweet pengguna Twitter, tanpa
campur tangan manusia; 2 Sistem melakukan reply terhadap mentionDM yang masuk ke akun Twitter administrator; 3 Sistem
melakukan reply harga handphone, dengan referensi website x- phones.com; 4 Sistem melakukan reply harga handphone, sesuai merek
handphone yang ada pada mentionDM.
2. Build; Setelah analisis kebutuhan dan informasi mengenai sistem Auto
Reply Twitter menggunakan Twitter API, maka tahap selanjutnya adalah melakukan perancangan mengenai aplikasi yang akan dibuat nantinya.
3. Customer Test; Pada tahap ini dilakukan pengujian sistem dan
mengevaluasi apakah sistem yang dibangun sesuai dengan yang diharapkan, yaitu mengadakan pengujian sistem dengan melakukan proses
auto reply tweeter, terhadap tweet dari client.
Arsitektur Sistem
Gambar 2. Arsitektur Sistem
Gambar 2 merupakan arsitektur sistem Auto Reply Twitter. Sender dan Reader yang terhubung pada database sudah termasuk di dalam sistem yang
berjalan pada web server. Sistem akan melakukan request ke API Twitter dan database Twitter melalui jaringan internet, dan Twitter akan mengirim kembali ke
sistem melalui internet.
Perancangan Sistem
Perancangan sistem menggunakan Unified Modelling Languange UML.
7
Gambar 3. Use Case Diagram
Use case diagram pada Gambar 3, seorang administrator harus melakukan login terlebih dahulu ke dalam sistem, di mana login akan menentukan hak akses
dari seorang administrator, yaitu melihat DM, melihat mention, startstop proses auto reply, dan melihat daftar handphone dan harga.
Gambar 4. Class Diagram Sistem
Class Diagram sistem ditunjukkan pada Gambar 4, di mana class diagram tersebut terdiri dari 3 tiga bagian utama yaitu entity, controller dan boundry.
Pada class diagram yang sistem Gambar 7, terdapat 5 lima entity yaitu entity requestreply, barang, twitteraccount, webaccount dan setting. Entity requestreply
terdiri dari 10 sepuluh field yaitu id, id_str, jenis, screen_name, profile_image, request, waktu_request, terkirim, reply dan waktu_reply. Entity barang terdiri dari
6 enam field yaitu idharga, merk, title, hargabaru, hargabekas dan timestamp. Pada Entity twitteraccount terdapat 5 lima field yaitu twitter_username,
costumer_key,
customer_secret, access_token
dan access_token_secret.
Sedangkan pada Entity setting terdapat 2 dua field yaitu Key dan Value. Pada class diagram sistem juga terdapat 2 dua controller yaitu tweetSender dan
tweetReader. Pada controller tersebut terdapat prosedur yang berfungsi untuk membaca dan mengirim data.
Gambar 5 merupakan deployment diagram dari sistem, yang menunjukkan bahwa terdapat 4 empat processor dan satu client dalam proses deployment, yaitu
Sender, Reader, Database, Twitter API dan AutoReplyUI sebagai client.
8
Gambar 5. Deployment Diagram Sistem
Seperti yang terlihat pada Gambar 5, proses mengirim dan membaca data dilakukan dalam sistem sebagai server yang terhubung dengan Twitter API.
AutoReplyUI sebagai client hanya dapat melihat hasil proses sistem.
Proses Baca Mention DM
.Langkah-langkah yang dikerjakan dalam proses baca MentionDM, adalah sebagai berikut : 1 Proses dimulai dengan sistem menyesuaikan setting
OAuth dan token access yaitu, consumer key, consumer secret, user token dan user token secret pada database; 2 Sistem akan mengambil data MentionDM
dari Twitter; 3 Sistem melakukan pengecekan. Apabila MentionDM tidak
mengandung kata “RT” atau “art_xphones” ignorecase, maka proses dilanjutkan ke langkah berikutnya. Jika ya, maka proses selesai; 4 Setelah itu, sistem akan
melakukan pengecekan. Jika MentionDM mengandung kata “berapa harga” dan
hashtag “artxphones” maka proses akan dilanjutkan ke langkah berikutnya. Jika
tidak, maka proses selesai; 5 Selanjutnya akan dilakukan pengecekan, apabila proses ambil data MentionDM berhasil, maka akan dilanjutkan ke langkah
menyimpan MentionDM ke database, jika tidak berhasil, proses selesai; dan 6 Selanjutnya MentionDM akan disimpan di database. Proses baca MentionDM
dari Twitter dalam bentuk flowchart, ditunjukkan pada Gambar 6.
Mulai Consumer
Key Consumer
Secret User Token
User Token Secret
Get Direct Message
Kode Respon = 200 Tidak Mengandung Kata RT,
Retweet dan art_xphones ignorecase
Mengandung kata “berapa harga” dan
artxphones Simpan ke DB
Selesai Ya
Ya Ya
Tidak Tidak
Gambar 6. Flowchart Proses Baca MentionDM
9
Proses Mengirim MentionDM
Langkah-langkah yang dikerjakan dalam proses mengirim MentionDM, adalah sebagai berikut : 1 Proses dimulai dengan sistem menyesuaikan setting
OAuth dan token access yaitu, consumer key, consumer secret, user token dan user token secret pada database; 2 Kemudian sistem akan membaca record data
MentionDM yang akan dikirim; 3 Selanjutnya sistem akan menyusun balasan; 4 Setelah itu, MentionDM akan disimpan di database; 5 Kemudian
MentionDM dikirim ke Twitter; 6 Apabila sistem membaca terdapat record data MentionDM yang lain, maka akan dilakukan perulangan untuk menyusun balasan
dan mengirim ke Twitter. Jika tidak ada, maka proses mengirim data MentionDM selesai. Proses mengirim MentionDM ke Twitter dalam bentuk flowchart,
ditunjukkan pada Gambar 7.
Mulai Consumer
Key Consumer
Secret User Token
User Token Secret
Data Antrian Reply
Baca Satu Record Data
Susun Balasan Simpan ke DB
Post DMMention
Record Habis Selesai
Ya Tidak
Gambar 7. Flowchart Proses Mengirim MentionDM
Proses Membalas MentionDM
Langkah-langkah yang dikerjakan dalam proses membalas MentionDM, adalah sebagai berikut : 1 Proses dimulai dengan sistem mengambil record data
MentionDM pada database; 2 Tahap selanjutnya, sistem akan menghapus tanda baca yang ada di dalam MentionDM; 3 Kemudian, sistem melakukan potong
10
String di antara kata “berapa harga” dan hashtag “artxphones”; 4 Jika
MentionDM mengandung kata bekas, maka sistem akan membaca harga bekas. Jika MentionDM tidak mengandung kata bekas, maka sistem membaca harga
baru; 5 Jika data harga bekas pada database bernilai “0”, maka akan
menggunakan harga baru. Jika harga bekas tidak bernilai “0”, maka sistem akan menyusun kalimat balasan dengan harga bekas; 6
Jika harga baru bernilai “0” pada database, maka sistem menggunakan harga bekas. Jika harga baru tidak
bernilai “0”, maka sistem akan menyusun kalimat balasan dengan harga baru; 7 Selanjutnya, susunan kalimat balasan akan dikirim ke Twitter. Gambar 8
menunjukkan flowchart proses membalas MentionDM ke Twitter.
Mulai Data
Request Hapus Tanda
Baca Merk Tipe Handphone =
Potong String diantara “berapa harga” dan
artxphones ?
“Bekas” Read Data Harga
Bekas Harga Bekas = 0
Pakai Harga Bekas
Read Data Harga Baru
Susun Kalimat ?
Harga Baru=0 Susun Kalimat
Pakai Harga Baru Kirim Balasan
Selesai Tidak
Ya Tidak
Ya Tidak
Ya
Gambar 8. Flowchart Proses Membalas MentionDM
Hasil dan Pembahasan
Gambar 9. Halaman Login
Halaman Login berfungsi untuk konfirmasi hak akses sebelum masuk ke dalam sistem seperti ditunjukkan pada Gambar 9. Pada halaman Login terdapat
textbox untuk input username serta password. Pada halaman Mention, seorang administrator dapat melihat daftar
mention yang sudah dibalas maupun mention yang masuk ke database. Halaman Mention dapat dilihat pada Gambar 10.
11
Gambar 10. Halaman Mention
Gambar 11 menunjukkan halaman Direct Messages DM, seorang administrator dapat melihat daftar DM yang sudah dibalas maupun DM yang
masuk ke database.
Gambar 11. Halaman Direct Messages DM
Gambar 12 menunjukkan halaman Setting, di mana seorang administrator dapat menjalankan dan menghentikan proses auto reply mentionDM. Button Stop
untuk menghentikan proses auto reply dan button Start untuk menjalankan proses auto reply.
Gambar 12. Halaman Setting
Gambar 13 menunjukkan halaman Handphone, seorang administrator dapat melihat daftar merek, tipe, harga baru dan harga bekas handphone.
12
Gambar 13 Halaman Handphone
Pembahasan
Kode Program 1 Perintah Cek Login
Kode Program 1 menunjukkan perintah untuk mengecek kombinasi username dan password, saat seorang administrator login ke dalam sistem.
Peerintah pada baris 3-5, merupakan perintah sebuah link untuk mengakses file- file php yang menyimpan fungsi yang dibutuhkan. Perintah pada baris 8-9
merupakan sebuah perintah untuk mendapatkan username dan password, yang dimasukkan oleh administrator pada saat login. Perintah pada baris 7-23
merupakan proses pengecekan kombinasi username dan password. Apabila kombinasi username dan password benar, dan username adalah admin, maka
halaman akan berpindah ke mention.php, dengan perintah baris 13-15 pada Kode Program 1. Sedangkan apabila kombinasi username dan password salah, maka
akan muncul pesan error pada halaman yang sama, dengan perintah baris 16-18 pada Kode Program 1.
1. ?php
2. session_start;
3. require_once daDBSetting.php;
4. require_once entityWebAccount.php;
5. require_once daWebAccountDA.php;
6. errorMessage = ;
7. if isset_REQUEST[submit] {
8. uid = _REQUEST[username];
9. pwd = _REQUEST[password];
10. 11. da = new WebAccountDA;
12. user = da-findUseruid; 13. if user-password == pwd {
14. _SESSION[user] = uid; 15. headerLocation: mention.php;
16. } else { 17. errorMessage = Login Failed;
18. } 19. } else {
20. _SESSION[user] = null; 21. session_destroy;
22. } 23. ?
13
Kode Program 2. Perintah Tampil Mention
Kode Program 2 menunjukkan kode program untuk menampilkan mention baik yang sudah terkirim maupun mention yang masuk. Perintah pada baris 2-6
merupakan sebuah link untuk mengakses file-file php, yang menyimpan fungsi yang dibutuhkan. Perintah pada baris 8-9 merupakan perintah untuk menampilkan
50 mention terbaru di halaman mention, sedangkan perintah pada baris 11, adalah perintah untuk judul halaman Mention.
Kode Program 3 Perintah untuk Menampilkan DM
Kode Program 3 menunjukkan kode program untuk menampilkan DM baik yang sudah terkirim maupun DM yang masuk. Perintah pada baris 2-6
merupakan sebuah link untuk mengakses file-file php yang menyimpan fungsi yang dibutuhkan. Perintah pada baris 8-9 merupakan perintah untuk menampilkan
50 DM terbaru di halaman DM, sedangkan perintah pada baris 9 adalah perintah untuk judul halaman DM.
Kode Program 4. Perintah Setting Proses Auto Reply
Kode Program 4 menunjukkan kode program yang memberikan hak akses kepada administrator untuk menjalankan atau menghentikan proses auto reply
sistem. Perintah pada baris 2-4 merupakan sebuah link untuk mengakses file-file
1. ?php 2. require_once daDBSetting.php;
3. require_once entityBarang.php; 4. require_once daBarangDA.php;
5. 6. da = new Setting;
7. ifisset_REQUEST[stop]{ 8. da-setValuesender, 0;
9. } 10. ifisset_REQUEST[start]{
11. da-setValuesender, 1; 12. }
13. running = da-getValuesender; 14. halaman = Setting;
15. ? 1. ?php
2. require_once tmhoauthtmhOAuth.php; 3. require_once tmhoauthtmhUtilities.php;
4. require_once daDBSetting.php; 5. require_once entityRequestReply.php;
6. require_once daRequestReplyDA.php; 7.
8. da = new RequestReplyDA; 9. mentions = da-selectTop10, dm;
10. 11. halaman = Direct Message;
12. ? 1. ?php
2. require_once tmhoauthtmhOAuth.php; 3. require_once tmhoauthtmhUtilities.php;
4. require_once daDBSetting.php; 5. require_once entityRequestReply.php;
6. require_once daRequestReplyDA.php; 7.
8. da = new RequestReplyDA; 9. mentions = da-selectTop50, mention;
10. 11. halaman = Mention;
12. ?
14
php yang menyimpan fungsi yang dibutuhkan. Apabila administrator memilih Stop maka nilai sender
adalah “0”, ini berarti proses akan terhenti. Jika administrator memilih Start, maka nilai sender
adalah “1”, ini berarti proses akan berjalan. Sedangkan perintah pada baris 11 adalah perintah untuk judul halaman
Setting.
Kode Program 5
Perintah Tampil Data Handphone
Kode Program 5 menunjukkan kode program untuk melihat daftar handphone dan harga handphone. Perintah pada baris 2-4 merupakan sebuah link
untuk mengakses file-file php yang menyimpan fungsi yang dibutuhkan. Perintah pada baris 6-7 merupakan fungsi untuk menarik semua data dalam entity barang.
Sedangkan perintah pada baris 9 adalah perintah untuk judul halaman Handphone.
Kode Program 6. Fungsi Baca DM
1. ?php 2. require_once daDBSetting.php;
3. require_once entityBarang.php; 4. require_once daBarangDA.php;
5. 6. da = new BarangDA;
7. list = da-getAll; 8. echo countlist;
9. halaman = Handphone; 10. ?
15
Kode Program 6 menunjukkan kode program untuk membaca MentionDM dari Twitter ke dalam sistem. Perintah pada baris 2 merupakan
perintah untuk memasukkan username akun Twitter. Perintah pada baris 4 merupakan perintah untuk mengambil nilai sender pada fungsi dbSetting. Perintah
pada baris 5-13 merupakan perintah untuk melakukan pengecekan terhadap nilai sender. Jika nilai sender
sama dengan “1”, maka fungsi akan berjalan. Nilai-nilai consumer key, consumer secret, token access dan token access secret, akan
dimasukkan ke dalam fungsi tmhOAuth, dilakukan dengan perintah pada baris 9- 14. Perintah pada baris 15 merupakan perintah untuk mengambil data DM dari
Twitter API. Jika error code bernilai 200 maka proses request DM berhasil. Error Code 200 merupakan HTTP status code Twitter API yang berarti request yang
dilakukan berhasil. Data DM yang diambil dari Twitter API, merupakan data dalam format JSON. Key-value Text merupakan isi dari DM maupun mention
dalam file JSON tersebut. Key-value yang diambil dari data DM dalam format JSON yaitu, id_str, sender_screen_name, text, profile_image_url dan created_at,
seperti perintah yang ditunjukkan pada baris 28-34. Key-value ini yang akan disimpan di dalam database, seperti perintah yang ditunjukkan pada baris 35.
Perintah pada baris 22-23 merupakan perintah untuk melakukan pengecekan
1. function readDM {
2. twitterUser = art_xphones;
3. dbSetting = new Setting;
4. isRunning = dbSetting-getValuesender;
5. if isRunning == 1 {
6. da = new TwitterAccountDA;
7. rrDA = new RequestReplyDA;
8. keys = da-findSettingtwitterUser;
9. tmhOAuth = new tmhOAutharray
10. consumer_key = keys-customerKey, 11. consumer_secret = keys-
customerSecret, 12. user_token = keys-accessToken,
13. user_secret = keys- accessTokenSecret,
14. ; 15. code = tmhOAuth-requestGET, tmhOAuth-
url1direct_messages, json, arraycount = 200; 16. counter = 0;
17. if code == 200 { 18. headerContent-Type: applicationrss+xml;
charset=utf-8; 19. json = json_decodetmhOAuth-
response[response], true; 20. foreach json as x {
21. teks = x[text]; 22. if x[sender_screen_name] == twitterUser
23. continue; 24.
25. printteks br ; 26. printisValidteks . br ;
27. if isValidteks { 28. rr = new RequestReply;
29. rr-idStr = x[id_str]; 30. rr-screenName =
x[sender_screen_name]; 31. rr-request = x[text];
32. rr-jenis = dm; 33. rr-profileImage =
x[sender][profile_image_url]; 34. rr-waktuRequest =
parseTimestampx[created_at]; 35. counter += rrDA-insertRequestrr;
36. } 37. }
38. } else { 39. tmhUtilities::prhtmlentitiestmhOAuth-
response[response];}
16
terhadap sender_screen_name. Jika sender_screen_name bernilai sama dengan twitteruser art_xphones, maka DM tersebut akan diabaikan sistem.
Kode Program 7. Fungsi Request Mention
Perbedaan fungsi dalam melakukan request mention dan DM terletak pada perintah baris 15 pada Kode Program 6. Jika Fungsi Request DM seperti baris 15
Kode Program 6, maka fungsi untuk melakukan request Mention adalah dengan perintah seperti ditunjukkan pada baris 1 dari Kode Program 7.
Kode Program 8. Fungsi Valid Request
Kode Program 8 menunjukkan kode program untuk melakukan pengecekan terhadap isi MentionDM. MentionDM yang tidak mengandung kata
”rt “ dan atau ” rt”, dan “retweet ” dan atau “ retweet” dinyatakan valid. Jika Mention
DM mengandung kata “berapa harga” dan hashtag “artxphones” dinyatakan valid, dengan perintah seperti ditunjukkan pada baris 5-14. Jika
MentionDM tidak memenuhi syarat tersebut, maka MentionDM akan diabaikan.
Kode Program 9. Fungsi Kirim Mention
Perbedaan fungsi dalam melakukan request mention dan DM terletak pada perintah baris 21-23 dari Kode Program 9. Jika Fungsi Request Mention
1. function sendMention {
2. dbSetting = new Setting;
3. isRunning = dbSetting-getValuesender;
4. if isRunning == 1 {
5. da = new TwitterAccountDA;
6. rrDA = new RequestReplyDA;
7. keys = da-findSettingart_xphones;
8. tmhOAuth = new tmhOAutharray
9. consumer_key = keys-customerKey,
10. consumer_secret = keys-customerSecret, 11. user_token = keys-accessToken,
12. user_secret = keys-accessTokenSecret, 13. ;
14. 15. list = rrDA-selectAntrimention;
16. foreach list as rr { 17. balasan = getReplyrr-screenName, rr-request;
18. rr-reply = balasan; 19. rr-waktuReply = dateY-m-d H:i:s;
20. rrDA-updateReplyrr; 21. code = tmhOAuth-requestPOST, tmhOAuth-
22. url1statusesupdate, array 23. status = balasan;
24. } 25. }
26. }
1. function isValidmention {
2. twitterUser = art_xphones;
3. mention = str_ireplace . twitterUser, ,
4. mention;
5. if stristrmention, rt || stristrmention,
6. rt {
7. return false;
8. } else if stristrmention, retweet ||
9. stristrmention, retweet {
10. return false; 11. } else {
12. if stristrmention, berapa harga 13. stristrmention, artxphone {
14. return true;}} 15. return false;}
1. code = tmhOAuth-requestGET, tmhOAuth-url1statusesmentions, json, arraycount = 20;
17
menggunakan perintah seperti pada baris 21-23 dari Kode Program 9, maka fungsi untuk melakukan request Mention menggunakan perintah seperti ditunjukkan
pada baris 1-4 dari Kode Program 10.
Kode Program 10. Fungsi Kirim DM
Kode Program 11. Fungsi Mendapatkan Merek dan Tipe Handphone
Kode Program 11 menunjukkan fungsi untuk mendapatkan merek dan tipe handphone di dalam MentionDM dengan memotong String pada MentionDM.
Perintah pada baris 2-6 merupakan perintah untuk mencari posisi index dari frase “berapa harga” ditambahkan dengan panjang frase “berapa harga”. Setelah itu
mencari posisi index dari frase “artxphone” kemudian memotong string antara
frase “berapa harga: dan “artxphone”. Kode Program 12 menunjukkan fungsi untuk membuat balasan
MentionDM. Jika MentionDM tidak mengandung kata baru maupun bekas, maka MentionDM akan dibaca sebagai baru, dengan perintah seperti ditunjukkan
pada baris 5- 8. Kata “bekas” dan “baru” di dalam MentionDM akan dihilangkan
agar dapat menjalankan fungsi membaca merek dan tipe handphone, dengan perintah seperti ditunjukkan pada baris 9-10. Begitu pula dengan tanda baca yang
ada pada mentionDM akan dihilangkan seperti pada baris 14-15. Setelah menemukan merek dan tipe handphone, kemudian merek dan tipe handphone
tersebut akan disesuaikan dengan harga yang ada di data handphone di database. Merek handphone akan dipecah menjadi beberapa kata seperti ditunjukkan pada
baris 16. Perintah pada baris 20-23 mempunyai fungsi membagi merek dan tipe handphone dimulai dari index 1. Kemudian, perulangan akan dilakukan untuk
menggabungkan kata-kata tersebut menjadi satu frase yaitu tipe handphone. Jika harga handphone bekas tidak bernilai nol, maka mentionDM balasan berisi harga
handphone bekas. Jika nilai nol, maka balasan berisi harga handphone baru, dengan perintah seperti ditunjukkan pada baris 34-47. Jika merek dan tipe
handphone tidak ditemukan maka balasan akan berisi pesan sesuai dengan perintah seperti ditunjukkan pada baris 48.
Kode Program 12. Fungsi MentionDM Balasan
1. function getMerkTitlestr { 2. strBerapa = striposstr, berapa harga +
3. strlenberapa harga; 4. strHash = striposstr, artxphone;
5. strSub = substrstr, strBerapa, strHash –
6. strBerapa; 7. return strSub;
8. } 1. code = tmhOAuth-requestPOST, tmhOAuth-
2. url1direct_messagesnew, json, array 3. screen_name = rr-screenName,
4. text = balasan
18
Evaluasi
Prototype
Setelah prototype pertama selesai, maka dilakukan evaluasi prototype. Evaluasi ini dilakukan dengan pengujian sistem oleh Bapak Mico Wendy, selaku
pimpinan NetDesain yang menginginkan sistem ini dibuat. Pada evaluasi pertama diperoleh hasil sebagai berikut: 1 Sistem tidak boleh melakukan balasan
terhadap akun art_xphones; dan 2 Sistem tidak boleh melakukan balasan pada
yang mengandung kata“RT” dan “retweet” Pengujian Sistem
Pengujian aplikasi dilakukan oleh developer, di mana developer akan memasukkan input kemudian akan dilihat output yang diperoleh. Pengujian
aplikasi juga dilakukan oleh user untuk mencoba dan melakukan pengecekan pada
1. function getReplyuser, request, jenis = mention {
2. twitterUser = art_xphones;
3. request = str_ireplace . twitterUser, , request;
4. 5.
kondisi = baru; 6.
if stristrrequest, bekas { 7.
kondisi = bekas; 8.
} 9.
request = str_ireplacebekas, , request; 10. request = str_ireplacebaru, , request;
11. 12. merkTitle = getMerkTitlerequest;
13. tandabaca = array., ,, , ?; 14. merkTitle = trimstr_replacetandabaca, , merkTitle;
15. 16. split = explode , strtouppermerkTitle;
17. if countsplit = 2 { 18.
19. title = ; 20. for i = 1; i countsplit; i++ {
21. title = title . . split[i]; 22. }
23. title = trimtitle; 24. barangDA = new BarangDA;
25. barang = new Barang; 26. merk = split[0];
27. list = barangDA-findByTitlemerk, title; 28. if countlist 0 {
29. barang = list[0]; 30. if kondisi == bekas {
31. if barang-hargaBekas = 0 { 32. return Hi user, harga barang-merk barang-
title 33. kondisi Rp. barang-hargaBekas;
34. } else { 35. return Hi user, harga barang-merk barang-
title 36. baru Rp. barang-hargaBaru;
37. } 38. } else {
39. if barang-hargaBaru = 0 { 40. return Hi user, harga barang-merk barang-
title 41. kondisi Rp. barang-hargaBaru;
42. } else { 43. return Hi user, harga barang-merk barang-
title 44.
bekas Rp. barang-hargaBekas; 45. }
46. } 47. } else {
48. return Hi user, data yang Anda minta tidak ditemukan;
49. } 50. } else {
51. return user Format Request Harga Handphone Salah; 52. }
53. }
19
setiap fungsi yang ada untuk mengetahui apakah ada bug dan apakah sudah sesuai dengan requirement sistem.
Halaman Login
Pengujian dilakukan dengan melakukan input username dan password pada halaman Login. Gambar 14 menunjukkan peringatan login gagal, apabila
kombinasi input username dan password pada halaman login adalah salah.
Gambar 14. Peringatan Login Gagal
Halaman MentionDM
Gambar 15 menunjukkan halaman mention yang masuk ke database dan mention yang telah dikirim ke Twitter.
Gambar 15. Halaman MentionDM
Pengujian dilakukan dengan mencoba mengirimkan beberapa format penulisan ke username art_xphones. Gambar 16 merupakan format penulisan
yang benar sehingga aplikasi dapat membalas yang masuk.
Gambar 16. Format Penulisan Yang Benar
Gambar 17 menunjukkan beberapa format penulisan yang salah sehingga sistem tidak menyimpan dan melakukan proses auto reply. Mention pertama tidak
terdapat kata “berapa”, mention kedua tidak terdapat kata “berapa harga”, dan mention ketiga tidak terdapat hashtag
“artxphones”. Beberapa kata yang tidak terdapat dalam format penulisan mentionDM yang dikirim ke sistem ini akan
membuat sistem tidak membaca mentionDM tersebut.
20
Gambar 17. Format Penulisan Yang Salah
Format penulisan DM sama dengan mention sehingga format penulisan DM yang salah pun membuat sistem tidak melakukan proses auto reply.
Gambar 18. Waktu Membaca dan Mengirim DM
Selisih waktu mentionDM yang masuk ke database dan mentionDM yang dikirim ke Twitter melalui pengujian ini didapat 120 detik dikarenakan
untuk proses membaca mentionDM dilakukan selama 60 detik dan juga proses yang dibutuhkan untuk melakukan proses mengirim mentionDM juga 60 detik
seperti yang ditunjukkan pada Gambar 18.
Halaman Setting
Gambar 19. Process Start
Gambar 19 menunjukkan bahwa proses membaca mention DM dan proses mengirim mention DM sedang berjalan. Ketika proses membaca mention DM
dan proses mengirim mention DM dihentikan, maka akan ada pesan seperti ditunjukkan pada Gambar 20.
Gambar 20. Process Stop
Analisis
Melalui sistem ini, admin X-Phones.com art_xphones tidak perlu membalas satu per satu mentionDM Client. Sistem ini akan membalas
mentionDM Client yang masuk secara otomatis, dengan begitu akan menghemat waktu kerja admin X-Phones.com. Sistem ini pun membalas mentionDM Client
dengan tepat dan sesuai dengan merek dan tipe handphone, dan menyesuaikan format penulisan sehingga menghindari kesalahan dalam membalas mentionDM
Client.
5. Simpulan