POST direct_messagesnew T1 672008116 Full Text

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