Perancangan Sistem Autentikasi User Mikrotik Menggunakan Media Sosial Dengan Application Programming Interface (API).

(1)

PERANCANGAN S MENGGUNAKAN

PROG

I KET

PROGRAM

FAKULTAS MATEM U

SISTEM AUTENTIKASI USER MIKROTIK

N MEDIA SOSIAL DENGAN APPLICATION

GRAMMING INTERFACE (API)

SKRIPSI

ETUT DENI SATRIA RAHARJA NIM.1108605021

AM STUDI TEKNIK INFORMATIKA JURUSAN ILMU KOMPUTER

MATIKA DAN ILMU PENGETAHUAN AL UNIVERSITAS UDAYANA

BUKIT JIMBARAN 2016

TIK ION


(2)

ii

SURAT PERNYATAAN KEASLIAN KARYA ILMIAH

Yang bertanda tangan di bawah ini menyatakan bahwa naskah skripsi dengan judul:

“PERANCANGAN SISTEM AUTENTIKASI USER MIKROTIK

MENGGUNAKAN MEDIA SOSIAL DENGAN APPLICATION

PROGRAMMING INTERFACE (API)” Nama : I Ketut Deni Satria Raharja

NIM : 1108605021

Program Studi : Ilmu Komputer

E-mail : raharjaketut@yahoo.co.id

Nomor telp/HP : 087861646190

Alamat : Dusun Jabon, Desa Sampalan Tengah, Kecamatan Dawan, Kabupaten Klungkung.

Belum pernah dipublikasikan dalam dokumen skripsi, jurnal nasional maupun internasional atau dalam prosiding manapun, dan tidak sedang atau akan diajukan untuk publikasi di jurnal atau prosiding manapun. Apabila di kemudian hari terbukti terdapat pelanggaran kaidah-kaidah akademik pada karya ilmiah saya, maka saya bersedia menanggung sanksi-sanksi yang dijatuhkan karena kesalahan tersebut, sebagaimana diatur oleh Peraturan Menteri Pendidikan Nasional Nomor 17 Tahun 2010 tentang Pencegahan dan Penanggulangan Plagiat di Perguruan Tinggi.

Demikian Surat Pernyataan ini saya buat dengan sesungguhnya untuk dapat dipergunakan bilamana diperlukan.

Denpasar, 8 April 2016 Yang membuat pernyataan,

( I Ketut Deni Satria Raharja)


(3)

iii

LEMBAR PENGESAHAN TUGAS AKHIR

Judul Skripsi : Perancangan Sistem Autentikasi User Mikrotik Menggunakan Media Sosial Dengan Application Programming Interface (API)

Kompetensi : Jaringan Komputer

Nama : I Ketut Deni Satria Raharja

NIM : 1108605021

Tanggal Seminar : 8 April 2016 Disetujui oleh:

Pembimbing I Penguji I

I Komang Ari Mogi, S.Kom, M.Kom. Agus Muliantara, S.Kom, M.Kom.

19840924 2008011007 198006162005011001

Pembimbing II

Ida Bagus Made Mahendra, S.Kom, M.Kom. 198006212008121002

Penguji II

I Putu Gede Hendra Suputra, S.Kom, M.Kom. 198812282014041001

Penguji III

Made Agung Raharja, S.Si, M.Cs. 1985091920130122003

Mengetahui,

Jurusan Ilmu Komputer FMIPA UNUD Ketua,

Agus Muliantara, S.Kom, M.Kom 198006162005011001


(4)

iv

Judul : Perancangan Sistem Autentikasi User Mikrotik Menggunakan Media Sosial Dengan Application Programming Interface (API) Nama : I Ketut Deni Satria Raharja

NIM : 1108605021

Pembimbing I : I Komang Ari Mogi, S.Kom,M.Kom. Pembimbing II : Ida Bagus Made Mahendra S.Kom, M.Kom.

ABSTRAK

Hotspot adalah sistem yang digunakan untuk mengautentikasi user pada jaringan lokal. Autentikasi yang digunakan berdasarkan pada protokol HTTP atau HTTPS dan dapat diakses dengan menggunakan web browser. Secara default hotspot ini menggunakan autentikasi username dan password untuk autentikasinya. Namun untuk mendapatkan username dan password tersebut, pengguna harus meminta kepada penyedia hotspot tersebut agar dapat menggunakan internet melalui sistem hotspot. Selain itu, penyedia hotspot tersebut ingin memaksimalkan manfaat dari hotspot tersebut salah satunya untuk mempromosikan usahannya melalui pengunjung yang pernah berkunjung ke tempat tersebut.

Berdasarkan permasalahan tersebut dilakukan penelitian yang bertujuan menciptakan sistem autentikasi user mikrotik menggunakan media sosial dengan application programming interface (API). Sistem ini akan mengautentikasi user yang login dengan menggunakan media sosial, setelah terautentikasi user akan diminta untuk melakukan posting secara otomatis ke beranda dari media sosial yang digunakan. Setelah user berhasil melakukan posting maka akan diberikan akses internet oleh sistem. Penelitian menggunakan metode deskriftif dengan menganalisa data-data dan menggunakan data tersebut sebagai acuan pembangunan sistem. Sistem ini dikembangkan berbasis Web dengan memanfaatkan Bahasa Pemograman PHP, API PHP Class MikroTik, Facebook API, Twitter API, dan Database MySql.

Pengujian dilakukan pada proses autentikasi dengan media sosial, sistem posting user sehingga mendapatkan internet, dan pengujian pada panel admin. Manfaat yang diperoleh dari sistem ini adalah user dapat secara mandiri melakukan autentikasi ke dalam sistem. Selain itu mempermudah administrator dalam mengelola data user. Hasil penelitian diharapkan dapat menjadi solusi mengatasi permasalah pengelolaan layanan hotspot yang secara default menggunakan autentikasi username dan password.

Kata kunci: Hotspot, Mikrotik, Application Programming Interface (API),


(5)

v

Title : Mikrotik User Authentication System Design by Using Social Media With Application Programming Interface (API)

Name : I Ketut Deni Satria Raharja Registration : 1108605021

First Supervisor : I Komang Ari Mogi, S.Kom,M.Kom. Second Supervisor: Ida Bagus Made Mahendra S.Kom, M.Kom.

ABSTRACT

Hotspot is a system used to authenticate the user on the local network. Authentication used based on the HTTP or HTTPS protocol and can be accessed using a web browser. By default, this hotspot authentication using a username and password. But to get a username and password, users must request to the hotspot provider to use the Internet through the hotspot system. In addition, the hotspot provider wants to maximize the benefits of hotspot i.e. one of them is to promote their business through visitors who have been to the place.

Based on these problems, this research was conducted to create a MikroTik user authentication system by using social media with the application programming interface (API). This system will authenticate users who log in using social media, once authenticated, the user will be asked to do a post automatically to the homepage of social media used. After the users successfully make postings, then users will be given access to the internet by the system. The research uses descriptive method to analyze the data and use the data as a reference development system. Web-based system was developed by using PHP programming language, PHP Class Mikrotik API, Facebook API, Twitter API, and MySql Database.

Testing performed on the authentication process with social media, posting system so that the users get internet access, and testing in the admin panel. The benefit derived from this system is that the user can independently authenticate into the system. In addition, it enables administrators to manage user data. The results are expected to be a solution to overcome problems in hotspot service management which by default uses the username and password authentication.

Keywords: Hotspot, Mikrotik, Application Programming Interface (API), Facebook, Twitter


(6)

vi

KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat TuhanYang Maha Esa karena atas rahmat dan berkatnya, penulis dapat menyelesaikan Tugas Akhir dengan judul “Perancangan Sistem Autentikasi User Mikrotik Menggunakan Media Sosial

Dengan Application Programming Interface (API)dapat diselesaikan tepat

pada waktunya. Penyusunan tugas akhir ini bertujuan untuk memenuhi gelar Sarjana Komputer dalam program studi Teknik Informatika.

Penulis menyadari dalam penyusunan tugas akhir ini tidak lepas dari \adanya kerjasama dan bantuan dari berbagai pihak. Oleh karena itu, pada kesempatan ini perkenankanlah penulis mengucapkan terima kasih kepada :

1. Bapak Agus Muliantara, S.Kom, M.Kom selaku ketua jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Udayana.

2. Bapak I Komang Ari Mogi, S.Kom, M.Kom selaku Pembimbing I yang penuh kesabaran membimbing dan mengarahkan penulis dalam menyelesaikan penyusunan tugas akhir ini.

3. Bapak Ida Bagus Made Mahendra, S.Kom, M.Kom selaku Pembimbing II yang penuh kesabaran membimbing dan mengarahkan penulis dalam menyelesaikan penyusunan tugas akhir ini.

4. Komisi Tugas Akhir Jurusan Ilmu Komputer FMIPA UNUD, yang telah memberikan petunjuk dalam penyusunan tugas akhir ini.

5. Terima kasih sebesar-besarnya kepada keluarga tercinta, bapak I Ketut Riasa, Ibu Ni Wayan Sudarmi, kakak Ni Kadek Deshi Sudarmayanthi dan NI komang Dian Lestari dan adim Ni Putu Diva Damayanthi yang selalu memberikan motivasi dan support dalam pengerjaan tugas akhir ini.

6. Rekan-rekan mahasiswa di Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Udayana khususnya angkatan 2011 yang telah memberi dukungan, motivasi, semangat dan kerja sama dalam penelitian ini.


(7)

vii

7. Dan semua pihak yang telah membantu dalam menyelesaikan tugas akhir ini yang tidak bisa penulis sebutkan satu persatu.

Penulis menyadari bahwa dalam penyusunan laporan ini masih terdapat kekurangan dan masih belum sempurna. Oleh karena itu, penulis mengharapkan masukan, kritik, dan saran yang bersifat membangun kearah perbaikan dan penyempurnaan tugas akhir ini. Akhir kata penulis berharap semoga tugas akhir ini dapat bermanfaat bagi semua pihak.

Denpasar, April 2016


(8)

x

DAFTAR ISI

SURAT PERNYATAAN KEASLIAN KARYA ILMIAH ... ii

LEMBAR PENGESAHAN TUGAS AKHIR ... iii

ABSTRAK ... iv

ABSTRACT ... v

KATA PENGANTAR ... vi

DAFTAR ISI ... x

DAFTAR TABEL ... xi

DAFTAR GAMBAR ... xiii

BAB I ... 1

PENDAHULUAN ... 1

1.1 Latar belakang ... 1

1.2 Rumusan masalah ... 3

1.3 Tujuan ... 3

1.4 Manfaat ... 3

1.5 Batasan masalah ... 3

1.6 Metodelogi Penelitian ... 4

1.6.1 Metodelogi Penelitian ... 4

1.6.2 Metode Pengembangan Sistem ... 6

BAB II ... 8

TINJAUAN PUSTAKA ... 8

2.1. Tinjauan Empiris ... 8

2.2. Tinjauan Teoritis ... 11

2.2.1. Jaringan komputer ... 11

2.2.2. Mikrotik ... 12

2.2.3. API (Application Programming Interface) ... 20

2.2.4. Facebook ... 23

2.2.5. Twiter ... 29

BAB III ... 37


(9)

3.1 Analisis Kebutuhan Sistem... 37

3.1.1 Spesifikasi Perangkat Lunak ... 37

3.1.2 Spesifikasi Perangkat Keras ... 37

3.2 Analisis Kebutuhan Fungsional ... 38

3.2.1 Perancangan Topologi Sistem ... 38

3.2.2 Perancangan Use Case Sistem ... 39

3.2.3 Perancangan Diagram Actvity ... 57

3.2.4 Perancangan Flowchart ... 67

3.2.5 Perancangan Interface ... 72

BAB IV ... 76

HASIL DAN PEMBAHASAN ... 76

4.1 Implementasi Sistem ... 76

4.1.1. Implementasi Perangkat Keras ... 76

4.1.2. Implementasi Perangkat Lunak ... 77

4.1.3. Implementasi Database ... 77

4.1.4. Implementasi Login Facebook ... 78

4.1.5. Implementasi Login Twitter ... 84

4.1.6. Implementasi Control Admin ... 89

4.1.7. Implementasi User Interface Sistem ... 94

4.2. Pengujiaan Dan Analisis Sistem ... 103

4.2.1. Pengujian Black Box Testing ... 103

4.2.2. Pengujian Response Time ... 109

4.2.3. Pengujian Stress Test ... 113

BAB V ... 117

KESIMPULAN DAN SARAN ... 117

5.1. Kesimpulan ... 117

5.2. Saran ... 118


(10)

xi

DAFTAR TABEL

Tabel 2. 1 API Words ... 18

Tabel 2. 2 Kategori API ... 23

Tabel 3. 1 Skenario Use Case Login User ... 40

Tabel 3. 2 Skenario Use Case Login Via Fcebook ... 40

Tabel 3. 4 Skenario Use Case Posting ... 42

Tabel 3. 5 Skenario Use Case Login Status ... 43

Tabel 3. 6 Skenario Use Case Get Connection ... 44

Tabel 3. 7Skenario Use Cse Posting Via Facebook ... 44

Tabel 3. 8 Skenario Use Case Posting Via Twitter ... 45

Tabel 3. 9 Skenario Use Case Login Admin ... 47

Tabel 3. 10 Skenario Use Case Logout Admin ... 48

Tabel 3. 11 Skenario Use Case Manajemen User Hotspot ... 49

Tabel 3. 12 Skenario Use Case Manajemen User Info ... 49

Tabel 3. 13 Skenario Use Case Hapus User Hotspot ... 50

Tabel 3. 14 Skenario Use Case Lihat User Hotspot ... 50

Tabel 3. 15 Skenario Use Case Enable User Hotspot ... 51

Tabel 3. 16 Skenario Use Case Disable User Hotspot ... 52

Tabel 3. 17 Skenario Use Case Lihat User Info ... 53

Tabel 3. 18 Skenario Use Case Hapus User Info ... 53

Tabel 3. 19 Skenario Use Case Cari user Info ... 54

Tabel 3. 20 Skenario Use Case Sorting User Info ... 55

Tabel 3. 21 Skenario Use Case Setting ... 56

Tabel 3. 22 Skenario Use Case Setting Facebook ... 56

Tabel 3. 23 Skenario Use Case Setting Twitter ... 57

Tabel 4. 1 Perangkat Keras Server ... 76

Tabel 4. 2 Perangkat Keras Client ... 76

Tabel 4. 3 Implementasi Perangkat Lunak Pada Server ... 77

Tabel 4. 4 Implementasi Perangkat Lunak Pada Client ... 77


(11)

xii

Tabel 4. 6 Script Login Facebook ... 78

Tabel 4. 7 Script Login Facebook ... 79

Tabel 4. 8 Script Get User Info 2 ... 80

Tabel 4. 9 Script Post to Wall Facebook ... 80

Tabel 4. 10 Script Mengirim Data Facebook Ke Web Server ... 81

Tabel 4. 11 Script Mengirim Data Dari Web Server Ke Database Mysql ... 81

Tabel 4. 12 Script Mengirim Data Dari Web Server Ke Mikrotik ... 82

Tabel 4. 13 Script Login Twitter ... 84

Tabel 4. 14 Script Mendapatkan Data User Twitter ... 85

Tabel 4. 15 Script Tweet To Twitter ... 86

Tabel 4. 16 Script Mengirimkan Data Dari Twitter Ke Web Server ... 87

Tabel 4. 17 Script Mengirimkan Data Ke Database Mysql ... 87

Tabel 4. 18 Script Mengirimkan Data Dari Web Server Ke Mikrotik ... 88

Tabel 4. 19 Script Menampilkan User ... 89

Tabel 4. 20 Script Remove User ... 91

Tabel 4. 21 Script Enable User ... 92

Tabel 4. 22 Script Disable User ... 93

Tabel 4. 23 Tabel Pengujian User ... 103

Tabel 4. 24 Pengujian Login Admin ... 104

Tabel 4. 25 Pengujian Register Admin ... 106

Tabel 4. 26 Pengujian Halaman Utama Admin ... 106

Tabel 4. 27 Pengujian Halaman User Manager Admin ... 107

Tabel 4. 28 Pengujian User Info Admin ... 108

Tabel 4. 29 Pengujian Response Time Via Facebook ... 109

Tabel 4. 30 Rata-rata Response Time Dengan Media Sosial Facebook ... 110

Tabel 4. 31 Pengujian Response Time Media Sosial Twitter ... 111

Tabel 4. 32 Rata-rata Response Time User Dengan Metode Twitter ... 112

Tabel 4. 33 Penggujian Stress Test ... 114


(12)

xiii

DAFTAR GAMBAR

Gambar 1. 1 Langkah-Langkah Penelitian ... 4

Gambar 1. 2 Proses Model Prototipe ... 7

Gambar 2. 1 Skema API ... 21

Gambar 2. 2 Arsitektur Web Standar ... 25

Gambar 2. 3 Arsitektur Facebook ... 26

Gambar 2. 4 Autentikasi Facebook ... 28

Gambar 2. 5 Request Token Twitter ... 33

Gambar 2. 6 Redirect User Twitter ... 34

Gambar 2. 7 Status Sign In Twitter... 35

Gambar 2. 8 Access Token Twitter ... 36

Gambar 2. 9 3-Legged Autorozation ... 36

Gambar 3. 1 Topologi Sistem ... 38

Gambar 3. 2 Use Case User ... 39

Gambar 3. 3 Use Case Admin ... 47

Gambar 3. 4 Diagram Activity User Login Via Facebook ... 58

Gambar 3. 5 Diagram Activity User Login Via Twitter ... 58

Gambar 3. 6 Diagram activity user login ... 59

Gambar 3. 7 Diagram Activity Posting Via Facebook ... 59

Gambar 3. 8 Diagram Activity Posting Via Twitter ... 60

Gambar 3. 9 Diagram Activity Admin Login ... 60

Gambar 3. 10 Diagram Activity Admin Logout ... 61

Gambar 3. 11 Diagram Activity Manajemen User Hotspot ... 61

Gambar 3. 12 Diagram Activity Admin Manajemen User Info ... 62

Gambar 3. 13 Diagram Activity Admin Hapus User Hotspot ... 62

Gambar 3. 14 Diagram Activity Admin Lihat User Hotspot ... 63

Gambar 3. 15 Diagram Activity Admin Enable User Hotspot ... 63

Gambar 3. 16 Diagram Activity Admin Disable User ... 64

Gambar 3. 17 Diagram Activity Admin Lihat User Info ... 64


(13)

xiv

Gambar 3. 19 Diagram Activity Admin Cari User Info ... 65

Gambar 3. 20 Diagram Activity Admin Sorting User Info ... 66

Gambar 3. 21Diagram Actifity Setting ... 66

Gambar 3. 22 flowchart user ... 67

Gambar 3. 23 Flowchart Login Admin ... 68

Gambar 3. 24 Flowchart Register Admin ... 69

Gambar 3. 25 Flowchart Halamana Utama Admin... 70

Gambar 3. 26 Flowchart Menu Data User Mysql ... 70

Gambar 3. 27 Flowchart Data User Mikrotik ... 71

Gambar 3. 28 Halaman Awal User ... 72

Gambar 3. 29 Halaman Login Admin ... 73

Gambar 3. 30 Register Admin ... 73

Gambar 3. 31 Halaman Utama Admin ... 74

Gambar 3. 32 menu data user mikrotik ... 74

Gambar 3. 33 Halaman Data User Mysql ... 75

Gambar 3. 34 Halaman Setting Facebook ... 75

Gambar 4. 1 Halaman User Interface User ... 94

Gambar 4. 2 halaman user interface login facebook ... 95

Gambar 4. 3 Halaman User Interface Posting Twitter ... 95

Gambar 4. 4 Hasil Posting Otomatis Facebook ... 96

Gambar 4. 5 Hasil Insert Ke Database Mysql ... 96

Gambar 4. 6 Hasil Insert Data Ke Mikrotik ... 97

Gambar 4. 7 Halaman Status Login User Hotspot ... 97

Gambar 4. 8 Hasil Postingan Ke Twitter ... 98

Gambar 4. 9 Hasil Insert Ke Database Mysql ... 98

Gambar 4. 10 Hasil Insert ke Mikrotik ... 99

Gambar 4. 11 Halaman Status User Login ... 99

Gambar 4. 12 Form Login Admin ... 100

Gambar 4. 13 Form Pendaftaran Admin ... 100

Gambar 4. 14 Halaman Utama Admin ... 101


(14)

xv

Gambar 4. 16 Halaman User Manager Mikrotik ... 102

Gambar 4. 17 Halaman Setting ... 103

Gambar 4. 18 Diagram Response Time Dengan Metode Facebook ... 110

Gambar 4. 19 Diagram Rata-rata Response Time User Facebook ... 111

Gambar 4. 20 Diagram Response Time User Metode Twitter ... 112

Gambar 4. 21Diagram Response Time Rata-rata User Dengan Metode Twitter 113 Gambar 4. 22Diagram Response Time Stress Test User ... 114


(15)

1 BAB I PENDAHULUAN

1.1Latar belakang

Peningkatan jumlah pengguna internet dewasa ini berdampak positif pada media konektifitas internet. Tuntutan mobilitas yang tinggi membuat banyak orang beralih menggunakan media pengaksesan internet berbasis wireless daripada wired. Salah satu terobosan media wireless saat ini adalah pengembangan layanan akses internet berbasis hotspot.

Hotspot adalah sistem yang digunakan untuk mengautentikasi user pada jaringan lokal. Autentikasi yang digunakan berdasarkan pada protokol HTTP atau HTTPS dan dapat diakses dengan menggunakan web browser . Hotspot ini biasa digunakan ketika kita akan mengakses internet pada areal publik, seperti hotel, restoran, taman, mall, dan lain-lain. Secara default hotspot ini menggunakan autentikasi username dan password untuk autentikasinya. Namun untuk mendapatkan username dan password tersebut, pengguna harus meminta kepada penyedia hotspot tersebut agar dapat menggunakan internet melalui sistem hotspot. Sehingga pada saat pengguna hotspot ini meningkat, maka administrator akan sibuk untuk menangani permintaan username dan password untuk proses autentikasi. Oleh karena itu perlu adanya pengembangan sistem hotspot tersebut agar pengguna dapat secara mandiri melakukan autentikasi tanpa harus menghubungi pihak administrator.

Sebuah survei yang dilakukan oleh Blue Research terhadap 600 pengguna internet pada tahun 2011 bahwasannya 75% penggunna bosan dengan permintaan registrasi di berbagai situs internet. Sejumlah 54% menyatakan mungkin akan meninggalkan situs dan tidak akan kembali lagi. Sejumlah 17% menyatakan akan pergi ke situs lain jika mungkin. Sejumlah 4% menyatakan akan meninggalkan atau menghindari situs tersebut. Hanya 25% yang menyatakan akan mengisi form registrasi dengan lengkap. Survey juga mengungkapkan temuan bahwa jika pengguna lupa dengan data akun login, maka 45% akan meninggalkan situs daripada mengatur ulang password atau menjawab pertanyaan keamanan untuk memperoleh password.


(16)

2

Masih dalam survey yang sama, 66% pengguna menginginkan adanya login dengan media sosial pada suatu situs, sedangkan 34% tidak. Pengguna juga lebih suka menggunakan login dengan media sosial sebanyak 41% daripada membuat akun baru pada suatu situs sebanyak 24% atau menggunakan akun tamu sebanyak 35%.

Berdasarkan hasil survei tersebut, maka sistem autentikasi ini akan dikembangkan menggunakan sistem autentikasi menggunakan login media sosial yang nantinya akan mempermudah user untuk melakukan autentikasi ke sistem hotspot tanpa perlu meminta username dan password kepada administrator. Selain itu, penggunaan media sosial sebagai metode login pada hotspot juga dapat dimaksimalkan pemanfaatannya. Salah satunya untuk kegiatan promosi dari penyedia hotspot tersebut. Promosi ini melibatkan pengguna yang login pada sistem hotspot untuk melakukan posting pada media sosial. Pengguna yang telah melakukan posting nantinya akan diberikan akses internet secara gratis dari penyedia hotspot.

Media sosial yang digunakan pada penelitian ini mencakup media sosial Facebook dan Twitter. Media sosial ini dipilih bedasarkan data yang diperoleh dari situs www.kominfo.go.id, disebutkan bahwasannya pengguna internet di Indonesia saat ini mencapai 63 juta orang. Dari angka tersebut, 95 persennya menggunakan internet untuk mengakses jejaring sosial. Menurut Direktur Pelayanan Informasi Internasional Ditjen Informasi dan Komunikasi Publik (IKP), Selamatta Sembiring, situs jejaring sosial yang paling banyak diakses adalah Facebook dan Twitter. Pengguna Twitter, berdasarkan data PT Bakrie Telecom, memiliki 19,5 juta pengguna di Indonesia dari total 500 juta pengguna global. Selain Twitter, jejaring sosial lain yang dikenal di Indonesia adalah Path dengan jumlah pengguna 700.000 di Indonesia. Line sebesar 10 juta pengguna, Google+ 3,4 juta pengguna dan Linkedlin 1 juta pengguna.

Sistem yang dibangun nantinya akan mengautentikasi pengguna yang login melalui akses point yang digunakan yaitu mikrotik. Autentikasi tersebut mengandalkan penggunaan API yang bersumber pada media sosial yang menyediakan API. API merupakan suatu metode yang menggunakan sebuah


(17)

3

aplikasi program untuk mengakses sistem operasi dari komputer. API memungkinkan kita untuk memprogram antarmuka pre-constructed sebagai pengganti memprogram device atau bagian dari perangkat lunak secara langsung. Setelah user terautentikasi, user akan dialihan ke halalam media sosial perusahaan tersebut untuk memposting secara otomatis. Setelah melakukan posting, user akan diberikan hak akses internet secara gratis.

1.2 Rumusan masalah

Rumusan masalah yang diambil dari latar belakang tersebut adalah “bagaimana membangun sistem autentikasi user hotspot mikrotik menggunakan media sosial dengan application programming interface?”

1.3Tujuan

Adapun tujuan dari penelitian ini adalah sebgai berikut:

1. Menghasilkan sistem autentikasi user mikrotik menggunakan media sosial dengan application programming interface (API).

2. Mengukur response time masing – masing media sosial yang digunakan pada sistem autentikasi user mikrotik.

3. Mengukur ketangguhan sistem autentikasi jika diberikan beban tertentu menggunakan pengujian stress test.

1.4Manfaat

Manfaat dari penelitian ini adalah dengan dilakukannya penelitian ini, proses autentikasi pada layanan hotspot dapat dilakukan secara mandiri tanpa perlu menanyakan username dan passwordnya kepada administrator. Selain itu, administrator juga tidak kerepotan dalam mendistribusikan username dan password. Dan juga membantu penyedia hotspot dalam mempromosikan usahanya.

1.5Batasan masalah


(18)

4

1.6Metodelogi Penelitian

1.6.1 Metodelogi Penelitian


(19)

5

1.6.1.1Tahap Analisis

a. Observasi

Dengan melakukan pengamatan dan observasi secara langsung ke beberapa tempat penyedia hotspot mikrotik seperti restoran dan villa di seputaran Badung selatan yang tujuannya adalah untuk memporeh informasi mengenai penggunaan hotspot mikrotik serta kendala-kendala dalam mengimplementasikan sistem hotspot mikrotik tersebut. Observasi merupakan metode pengumpulan data melalui pengamatan langsung atau peninjauan secara cermat dan secara langsung di lapangan.

b. Studi Pustaka

Metode studi kepustakaan dilakukan dengan mengumpulkan data maupun informasi melalui data atau informasi dari buku, jurnal penelitian, majalah, dan sumber bacaan elektronik yang berada di internet yang berkaitan dengan masalah otentikasi hotspot mikrotik, penggunaan media media sosial di Indonesia serta masalah untuk mengimplementasikan media sosial tersebut ke dalam sistem mikrotik hotspot.

1.6.1.2 Tahap Perancangan

Pada tahap ini akan dilakukan perancangan model sistem login hotspot mikrotik baik secara fisik atau topologi maupun perancangan secara konseptual. Selain itu juga membahas tentang perancangan antarmuka untuk admin sistem tersebut. Perancangan ini nantinya menggunakan menggunakan diagram flowchart dalam perancangannya


(20)

6

1.6.1.3 Tahap Implementasi

Tahap ini merupakan tahap untuk mengimplementasikan sistem berdasarkan tahap analis perangkat keras dan perangkat lunak dan juga tahap perancangan sistem. Tahap ini mengimplementasikan topologi sistem login hotspot mikrotik berbasis media sosial dan juga implementasi secara logika menggunakan tools. Tahap ini juga untuk mengimplementasikan antarmuka sistem login dan antarmuka untuk admin

1.6.1.4 Tahap Pengujian

Tahap pengujian ini bertujuan untuk Metode yang digunakan adalah black box testing untuk membantu dalam mengungkap kesalahan pada sistem perangkat lunak agar sistem dapat berjalan sesuai dengan kebutuhan. Selain itu juga pengujian response time dilakukan untuk menghitung waktu respon dari sistem yang dibangun. Pengujian stress tes juga dilakukan untuk mengetahui kekuatan sistem kita bila diakses oleh banyak user sekaligus

1.6.2 Metode Pengembangan Sistem

Metode pengembangan sistem yang digunakan adalah dengan menggunakan metode prototipe. Model pendekatan prototyping digunakan jika pemakai hanya mendefinisikan objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya, sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi sistem operasi, atau bentuk interaksi manusia-mesin yang harus diambil.


(21)

7

Gambar 1. 2 Proses Model Prototipe

Prototipe dimulai dengan mengidentifikasi kebutuhan pemakai. Berfungsi sebagai mekanisme pendefinisian kebutuhan Pertama, developer menggali semua kebutuhan user secara cepat kemudian mengembangkan prototipe sesuai dengan yang diinginkan dengan cepat pula dan ditunjukkan ke user, jika user menerima prototipe baru dibuat sistem yang sesungguhnya berdasarkan keinginan user terhadap prototipe. Jika tidak developer kembali menggali kebutuhan user dari awal dan kemudian mengembangkan kembali prototipe yang diinginkan oleh user.


(22)

8 BAB II

TINJAUAN PUSTAKA 2.1.Tinjauan Empiris

Ada beberapa penelitian terkait yang pernah dilakukan mengenai sistem mikrotik hotspot yaitu:

a. Sistem Pendaftaran Hotspot Berbasis Web Pada Hotspot

Mikrotik Stimik U’budiyah Menggunakan Mikrotik Aplication

Programing Interface (Api), Php, Mysql (Zuhar

Musliyana.2014)

Implementasi Sistem Hotspot pada Kampus STMIK U’Budiyah menggunakan MikroTik Router, salah satu sistem operasi yang menyediakan aplikasi layanan berbasis Hotspot. Dengan sistem ini di harapkan dapat menangani kebutuhan layanan akses internet wireless bagi seluruh mahasiswa dan civitas akademika. Secara default penambahan user pada sistem RADIUS MikroTik hanya dapat dilakukan melalui panel administration menggunakan account tertentu yang telah di beri hak autoritas. Hal ini menyebabkan tidak tersentralisasinya data, tidak efisiensinya waktu dan menambah beban kerja pihak pengelola Hotspot kampus seiring dengan jumlah pengguna yang semakin bertambah. Berdasarkan permasalahan tersebut dilakukan penelitian yang bertujuan menciptakan sistem pendaftaran berbasis web secara realtime dan manajemen pengguna hotspot yang tersentralisasi. Penelitian menggunakan metode deskriftif dengan menganalisa data-data dan menggunakan data tersebut sebagai acuan pembangunan sistem. Aplikasi ini dikembangkan berbasis Web dengan memanfaatkan Bahasa Pemograman PHP, API PHP Class MikroTik, dan Database MySQL untuk pendaftaraan, pengelolalaan, dan verifikasidata pengguna. Pengujian dilakukan pada proses pendaftaran pengguna hotspot yang di


(23)

9

interintegrasikan dengan database sentral kampus, sistem notifikasi, dan verifikasi data pendaftar oleh pengelola hotspot. Manfaat yang diperoleh dari penelitian ini adalah kelancaran pengguna layanan hotspot, tersentralisasinya data dan autorisasi account dengan penerapan username dan password untuk tiap pengguna.

b. Memaksimalkan Potensi Bisnis Internet Pada Jaringan

Nirkabel (Studi Kasus: Pengembangan Jaringan Lan Di Pondok Pesantren Terpadu Al Mumtaz) (Yuki Syambudi Setiadi, dkk.2014)

Teknologi nirkabel atau wireless, kini semakin merebak di seantero penjuru negeri. Dengan memanfaatkan gelombang radio, teknologi nirkabel pada jaringan komputer semakin menunjukkan eksistensinya dibandingkan dengan jaringan konvensional (dengan kabel / wired). Keberadaan teknologi yang semakin murah juga turut menunjang eksistensi dari teknologi nirkabel ini . Kini, area dengan jaringan nirkabel atau lebih familiar dengan istilah hotspot semakin mudah untuk ditemui. Perangkat pembangun jaringan hotspot yang relatif murah membuat sebagian orang bersikukuh untuk memanfaatkan peluang bisnis pada jaringan nirkabel. Berbagai trik pun dilancarkan oleh para pelaku bisnis, mulai dari kewajiban membeli barang terlebih dahulu sebelum menggunakan fasilitas hotspot, hingga warung internet (warnet). Namun, penggunaan kartu prabayar atau voucher merupakan strategi bisnis yang paling prospektif. Hal ini dikarenakan kemudahan untuk memanajemen pada sisi pelaku bisnis dan kemudahahan penggunaan pada sisi pelanggan. Meninjau pada target PT. Telkom yang terobsesi untuk menjadikan Indonesia negara dengan jumlah WiFi terbesar di Asia (Yandi, 2012), yakni 10 juta WiFi pada 2015, sudah tentu bisnis hotspot merupakan bisnis yang sangat


(24)

10

menjanjikan di masa depan. Namun demikian, bisnis hotspot juga harus dikendalikan agar tidak menyalahi aturan hukum dan norma, apalagi jika bisnis dijalankan di lingkungan Pondok Pesantren. Dengan sedikit sinkronisasi antara sistem dengan ideologi kepesantrenan yang ada, maka bisnis hotspot ini pun akan menjadi bermanfaat bagi Pondok Pesantren

c. Peran Sosial Media Untuk Manajemen Hubungan Dengan

Pelanggan Pada Layanan E-Commerce. (Bambang Supradono, Ayu Noviani Hanum.2011)

Euforia penggunaan sosial media (facebook, twitter, google dan lain-lain) melalui internet sudah menjadi trend di masyarakat, tentunya hal mempengaruhi perubahan perilaku dimasyarakat dalam berinteaksi dan berkomunikasi. Kondisi ini didorong oleh 2 hal yang mendasar yakni perilaku baru orang kota dan revolusi teknologi. Pertumbuhan pengguna sosial media tentunya harus dimanfaatkan perusahaan dalam meraih konsumen dengan cara melakukan inovasi dalam melakukan bisnis, pemasaran dan berkomunikasi secara online lewat layanan e-commerce mereka. Paper ini mencoba mensurvey cara-cara terbaik bagi perusahaan besar di Indonesia dalam mengembangkan layanan sosial media untuk manajemen hubungan dengan pelanggan (customer relationship management) pengguna sosial media melalui layanan sosial media yang mereka miliki. Dengan demikian dapat menjadi acuan/benchmark bagi perusahaan-perusahaan lainnya dalam melakukan terobosan terobosan baru cara berkomunikasi dan berbisnis lewat layanan sosial media.

d. Otentikasi Dan Manajemen Pengguna Hotspot Router

Mikrotik Menggunakan Radius Dan Php-Mysql (David Cesar Pramudita, Eko Sakti Pramukantoro, Aryo Pinandito)

Router Mikrotik telah menyediakan sistem manajemen terhadap user hotspot melalui paket program yang terpisah


(25)

11

bernama User Manager. Permasalahan utama adalah integrasi aplikasi user manager kedalam perangkat keras router mikrotik dinilai kurang efektif dan fleksibel, karena untuk melakukan proses manajemen terhadap user hotspot harus dilakukan pada tiap-tiap router yang berada pada area hotspot yang tentunya akan membutuhkan waktu yang relatif lama. Dari permasalahan tersebut maka dibuatlah sistem baru dengan memanfaatkan eksternal RADIUS server sebagai pusat dari proses otentikasi maupun manajemen terhadap user hotspot mikrotik. Dari hasil pengujian sistem yang telah dilakukan, proses otentikasi pada sistem internal RADIUS terbukti 13 % lebih cepat dibandingkan dengan sisten dengan eksternal RADIUS. Sedangkan dari sisi proses manajemen sistem manajemen terpusat melalui eksternal RADIUS terbukti dapat meminimalkan waktu ¾ lebih cepat dibanding sistem internal RADIUS.

2.2.Tinjauan Teoritis

2.2.1. Jaringan komputer

Jaringan komputer adalah sebuah kumpulan komputer, printer dan peralatan lainnya yang terhubung dalam satu kesatuan. Informasi dan data bergerak melalui kabel-kabel atau tanpa kabel sehingga memungkinkan pengguna jaringan komputer dapat saling bertukar dokumen dan data, mencetak pada printer yang sama dan bersama-sama menggunakan hardware/software yang terhubung dengan jaringan. Setiap komputer, printer atau periferal yang terhubung dengan jaringan disebut node. Sebuah jaringan komputer dapat memiliki dua, puluhan, ribuan atau bahkan jutaan node.

Klasifikasi Jaringan Komputer :

a. LAN (Local Area Network) : Jaringan komputer yang saling terhubung ke suatu komputer server dengan menggunakan


(26)

12

topologi tertentu, biasanya digunakan dalam kawasan satu gedung atau kawasan yang jaraknya tidak lebih dari 1 km. b. MAN (Metropolitan Area Network) : Jaringan komputer

yang saling terkoneksi dalam satu kawasan kota yang jaraknya bisa lebih dari 1 km. Pilihan untuk membangun jaringan komputer antar kantor dalam suatu kota, kampus dalam satu kota.

c. WAN (Wide Area Network) : Jaringan komputer yang menghubungkan banyak LAN ke dalam suatu jaringan terpadu, antara satu jaringan dengan jaringan lain dapat berjarak ribuan kilometer atau terpisahkan letak geografi dengan menggunakan metode komunikasi tertentu.

2.2.2. Mikrotik

MikroTik RouterOS, merupakan sistem operasi Linux base yang diperuntukkan sebagai network router. Didesain untuk memberikan kemudahan bagi penggunanya. Administrasinya bisa dilakukan melalui Windows Application (WinBox). Selain itu instalasi dapat dilakukan pada Standard komputer PC (Personal Computer). PC yang akan dijadikan router mikrotik pun tidak memerlukan resource yang cukup besar untuk penggunaan standard, misalnya hanya sebagai gateway. Untuk keperluan beban yang besar (network yang kompleks, routing yang rumit) disarankan untuk mempertimbangkan pemilihan resource PC yang memadai.

2.2.2.1. Sejarah MikroTik RouterOS

MikroTik adalah sebuah perusahaan kecil berkantor pusat di Latvia, bersebelahan dengan Rusia. Pembentukannya diprakarsai oleh John Trully dan Arnis Riekstins. John Trully adalah seorang berkewarganegaraan Amerika yang berimigrasi ke Latvia. Di Latvia ia bejumpa dengan Arnis, Seorang darjana Fisika dan Mekanik sekitar tahun 1995.


(27)

13

John dan Arnis mulai me-routing dunia pada tahun 1996 (misi MikroTik adalah merouting seluruh dunia). Mulai dengan sistem Linux dan MS-DOS yang dikombinasikan dengan teknologi Wireless-LAN (WWireless-LAN) Aeronet berkecepatan 2 Mbps di Moldova, negara tetangga Latvia, baru kemudian melayani lima pelanggannya di Latvia.

Prinsip dasar mereka bukan membuat Wireless ISP (W-ISP), tetapi membuat program router yang handal dan dapat dijalankan diseluruh dunia. Latvia hanya merupakan tempat eksperimen John dan Arnis, karena saat ini mereka sudah membantu negara-negara lain termasuk Srilanka yang melayani sekitar 400 pengguna.

Linux yang pertama kali digunakan adalah Kernel 2.2 yang dikembangkan secara bersama-sama denag bantuan 5-15 orang staff Research and Development (R&D) MikroTik yang sekarang menguasai dunia routing di negara-negara berkembang. Menurut Arnis, selain staf di lingkungan MikroTik, mereka juga merekrut tenega-tenaga lepas dan pihak ketiga yang dengan intensif mengembangkan MikroTik secara marathon.

2.2.2.2. Jenis-Jenis Mikrotik

a. MikroTik RouterOS yang berbentuk software dapat diinstal pada kompuetr rumahan (PC).

b. BUILT-IN Hardware MikroTik dalam bentuk perangkat keras yang khusus dikemas dalam board router yang didalamnya sudah terinstal MikroTik RouterOS.

2.2.2.3.Fitur-Fitur Mikrotik

a) Address List : Pengelompokan IP Address berdasarkan nama b) Asynchronous: Mendukung serial PPP dial-in / dial-out, dengan

otentikasi CHAP, PAP, MSCHAPv1 dan MSCHAPv2, Radius, dial on demand, modem pool hingga 128 ports.

c) Bonding: Mendukung dalam pengkombinasian beberapa antarmuka ethernet ke dalam 1 pipa pada koneksi cepat.


(28)

14

d) Bridge: Mendukung fungsi bridge spinning tree, multiple bridge interface, bridging, firewalling.

e) Data Rate Management : QoS berbasis HTB dengan penggunaan burst, PCQ, RED, SFQ, FIFO queue, CIR, MIR, limit antar peer to peer

f) DHCP: Mendukung DHCP tiap antarmuka; DHCP Relay; DHCP Client, multiple network DHCP; static and dynamic DHCP leases. g) Firewall dan NAT : Mendukung pemfilteran koneksi peer to peer,

source NAT dan destination NAT. Mampu memfilter berdasarkan MAC, IP address, range port, protokol IP, pemilihan opsi protokol seperti ICMP, TCP Flags dan MSS.

h) Hotspot: Hotspot gateway dengan otentikasi RADIUS. Mendukung limit data rate, SSL, HTTPS.

i) IPSec : Protokol AH dan ESP untuk IPSec; MODP Diffie-Hellmann groups 1, 2, 5; MD5 dan algoritma SHA1 hashing; algoritma enkirpsi menggunakan DES, 3DES, AES-128, AES-192, AES-256; Perfect Forwarding Secresy (PFS) MODP groups 1, 2,5 j) ISDN: mendukung ISDN dial-in/dial-out. Dengan otentikasi PAP,

CHAP, MSCHAPv1 dan MSCHAPv2, Radius. Mendukung 128K bundle, Cisco HDLC, x751, x75ui, x75bui line protokol.

k) M3P: MikroTik Protokol Paket Packer untuk wireless links dan ethernet.

l) MNDP: MikroTik Discovery Neighbour Protokol, juga mendukung Cisco Discovery Protokol (CDP).

m) Monitoring / Accounting : Laporan Traffic IP, log, statistik graph yang dapat diakses melalui HTTP.

n) NTP: Network Time Protokol untuk server dan clients; sinkronisasi menggunakan sistem GPS.

o) Poin to Point Tunneling Protocol : PPTP, PPPoE dan L2TP Access Consentrator; protokol otentikasi menggunakan PAP, CHAP,


(29)

15

MSCHAPv1, MSCHAPv2; otentikasi dan laporan Radius; enkripsi MPPE; kompresi untuk PPoE; limit data rate.

p) Proxy: Cache untuk FTP dan HTTP proxy server, HTTPS proxy; transparent proxy untuk DNS dan HTTP; mendukung protokol SOCKS; mendukung parent proxy; static DNS.

q) Routing: Routing statik dan dinamik; RIP v1/v2, OSPF v2, BGP v4.

r) SDSL: Mendukung Single Line DSL; mode pemutusan jalur koneksi dan jaringan.

s) Simple Tunnel: Tunnel IPIP dan EoIP (Ethernet over IP).

t) SNMP: Simple Network Monitoring Protocol mode akses read-only.

u) Synchronous : V.35, V.24, E1/T1, X21, DS3 (T3) media ttypes; sync-PPP, Cisco HDLC; Frame Relay line protokol; ANSI-617d (ANDI atau annex D) dan Q933a (CCITT atau annex A); Frame Relay jenis LMI.

v) Tool: Ping, Traceroute; bandwidth test; ping flood; telnet; SSH; packet sniffer; Dinamik DNS update.

w) UPnP: Mendukung antarmuka Universal Plug and Play.

x) VLAN: Mendukung Virtual LAN IEEE 802.1q untuk jaringan ethernet dan wireless; multiple VLAN; VLAN bridging.

y) VoIP: Mendukung aplikasi voice over IP.

z) VRRP: Mendukung Virtual Router Redudant Protocol.

2.2.2.4. Mikrotik Hotspot

Penggunaaan mikrotik hotspot memungkinkan untuk mengatur ketetapan pengaksesan terhadap jaringan publik untuk pengguna yang menggunakan baik jaringan kabel maupun nirkabel, dengan fitur-fitur:

a. Menggunakan server DHCP untuk memberikan alamat ip sementara kepada client untuk proses otentikasi


(30)

16

b. Otentikasi client menggunakan database lokal atau server Radius.

c. Pemberian IP tetap setelah proses otentikasi berhasil.

Gateway mikrotik hotspot minimal harus memiliki dua buah antar muka jaringan, yaitu antarmuka mikrotik hotspot yang digunakan untuk terhubung ke client dan antarmuka LAN/WAN yang digunakan untuk mengakses sumber daya jaringan seperti server Radius. Untuk antar muka mikrotik hotspot harus memiliki dua alamat IP, satu sebagai gateway untuk alamat sementara sebelum otentikasi dan satu lagi sebagai gateway untuk alamat IP tetap setelah proses otentikasi.

Untuk proses otentikasi pertama kali komputer klien akan menerima alamat IP sementara dari server DHCP, yaitu mikrotik hotspot. Pada saat ini ketika pengguna melakukan browsing, maka akan secara otomatis dialihkan ke halaman pengesahan yang akan meminta username dan password. Mikrotik hotspot bisa melakukan otentikasi dengan mengacu kepada database lokal maupun server radius.

Setelah proses otentikasi berhasil maka mikrotik hotspot akan memberikan alamat IP yang tetap. Untuk permintaan DHCP berikutnya, alamat IP yang baru akan diberikan kepadan klien. Waktu yang dibutuhkan untuk mengubah alamat IP klien tergantung dari waktu yang ditentukan di pengaturan mikrotik hotspot, biasanya sekitar 14 detik. Setelah proses perubahan alamat IP selesai, halaman web akan langsung dialihkan ke alamat tujuan yang sebenarnya atau halaman status jika pengguna belum memasukkn alamat tujuan.

2.2.2.5.Mikrotik API

Application Programmable Interface (API) mengijinkan user untuk mebuat solusi software secara custom untuk berkomunikasi dengan RouterOS untuk mengumpulkan informasi, mengatur


(31)

17

konfigurasi, dan mengelola router. API mengikuti sintak dari command line interface (CLI). Hal ini dapat digunakan untuk membuat terjemahan atau alat konfigurasi secara custom untuk membantu pengguna dalam menjalankan dan mengelola router dengan RouterOS.

Protokol

Komunikasi dengan router dilakukan dengan mengirimkan kalimat ke router dan menerima satu atau lebih kalimat balasan. Kaliamat adalah urutan kata-kata diakhiri dengan nol panjang kata. Kata adalah bagian dari kalimat yang di encode dengan cara tertentu (panjang encode dan data). Komunikasi terjadi dengan mengirimkan kalimat ke router dan menerima balasan untuk kalimat dikirim. Setiap kalimat yang dikirim ke router menggunakan API harus berisi perintah sebagai kata pertama diikuti oleh kata-kata dalam urutan tertentu, akhir kalimat ditandai dengan nol panjang kata. Ketika router menerima kalimat penuh (kata perintah, tidak ada kata-kata atau atribut lebih dan nol panjang kata) itu dievaluasi dan dieksekusi, kemudian dibentuk dan dikembalikan.

API Words

Words adalah bagian dari kalimat. Setiap kata harus dikodekan dalam cara tertentu - panjang kata diikuti dengan konten kata. Panjang kata harus diberikan sebagai hitungan byte yang akan dikirim.

Panjang kata dikodekan sebagai berikut:

Value of length # of bytes Encoding 0 <= len <= 0x7F 1 len,lowest byte 0x80 <= len <=

0x3FFF

2 len | 0x8000, two lower bytes


(32)

18

0x1FFFFF lower bytes

0x200000 <= len <= 0xFFFFFFF

4 Len|0xE0000000

len >= 0x10000000 5 0xF0 and len as four bytes

Tabel 2. 1 API Words

· Setiap kata dikodekan sebagai panjang, diikuti oleh banyak byte konten

· Kata dikelompokkan ke dalam kalimat. Akhir kalimat diakhiri dengan nol panjang kata;

· Skema memungkinkan encoding panjang hingga 0x7FFFFFFFFF, hanya empat panjang byte didukung;

· Byte len dikirim paling signifikan pertama (urutan jaringan); · Jika byte pertama dari kata adalah> = 0xF8, maka itu adalah

control byte yang dipesan. Setelah menerima diketahui control byte API klien tidak dapat melanjutkan, karena tidak tahu bagaimana menafsirkan byte berikut;

· Saat ini control byte tidak digunakan; Command word

Kata pertama dalam kalimat harus perintah diikuti oleh kata-kata atribut dan nol panjang kata-kata atau mengakhiri kata-kata. Nama kata-kata perintah harus dimulai dengan “/”. Nama perintah erat mengikuti CLI, dengan spasi diganti dengan tanda “/”.

Contoh: /sistem/reboot

Attribute word

Setiap command word memiliki daftar attribute word tersendiri tergantung pada konten.

Struktur atribut word terdiri dari 5 bagian dalam urutan ini: · Panjang encode


(33)

19

· Nama atribut

· Memisahkan tanda sama dengan - =

· Nilai attribute jika ada satu, ada kemungkinan bahwa atrribut tidak memiliki nilai

Contoh: =disable-running-check=yes Query word

Kalimat dapat mengandung query parameter yang membantasi ruang lingkupnya.

Contoh:

/interface/print ?type=ether ?type=vlan ?#|!

Reply word

Replay word ini hanya dikirim dari router. Replay word hanya dikirim dalam menanggapi kalimat penuh yang dikrimkan oleh klien.

· Kata pertama dari balasan dimulai dengan '!'

· Setiap kalimat yang terkirim menghasilkan setidaknya satu replay (jika sambungan tidak terputus).

· Balasan terakhir untuk setiap kalimat adalah balasan yang memiliki kata pertama !done.

· Kesalahan dan kondisi yang luar biasa dimulai dengan !trap. · Balasan Data mulai dengan !re.

· Jika koneksi API ditutup, RouterOS mengirimkan !fatal dengan alasan sebagai balasan dan kemudian menutup koneksi!;

API sentences

API sentences adalah objek utama dari komunikasi mengguakan API.


(34)

20

· Kalimat kosong diabaikan.

· Kalimat diproses setelah menerima nol panjang kata.

· Ada batas pada jumlah dan ukuran kalimat klien dapat mengirim sebelum telah login.

· Urutan kata-kata atribut tidak boleh diandalkan. Sebagai ketertiban dan hitung diubah oleh atribut .proplist.

· Struktur kalimat adalah sebagai berikut: o Kata pertama harus berisi kata perintah;

o Harus berisi nol panjang kata untuk mengakhiri kalimat;

o Dapat berisi tidak ada atau beberapa kata atribut. Tidak ada urutan tertentu apa atribut kata harus dikirim dalam kalimat, agar tidak penting untuk kata-kata atribut; o Dapat berisi tidak ada atau beberapa kata query. Urutan

kata-kata permintaan dalam kalimat penting.

2.2.2.6.Mikrotik Walled Garden

Hotspot Walled Garden adalah sebuah sistem yang mengizinkan semua user yang tidak memiliki autentikasi untuk mengakses halaman website tertentu. tetapi ketika akan mengakses resource yang lain maka harus melakukan autentikasi. Sistem ini akan melakukan pengaturan pada level protokol HTTP and HTTPS. Cara kerja Walled garden pada HTTP level mirip dengan web-proxy.

2.2.3. API (Application Programming Interface)

API merupakan software interface yang terdiri atas kumpulan instruksi yang disimpan dalam bentuk library dan menjelaskan bagaimana agar suatu software dapat berinteraksi dengan software lain. Penjelasan ini dapat dicontohkan dengan analogi apabila akan dibangun suatu rumah. Dengan menyewa kontraktor yang dapat menangani bagian yang berbeda, pemilik rumah dapat memberikan tugas yang perlu dilakukan oleh kontraktor tanpa harus


(35)

21

mengetahui bagaimana cara kontraktor menyelesaikan pekerjaan tersebut. Dari analogi tersebut, rumah merupakan software yang akan dibuat, dan kontraktor merupakan API yang mengerjakan bagian tertentu dari software tersebut tanpa harus diketahui bagaimana prosedur dalam melakukan pekerjaan tersebut.

Interface pada software merupakan suatu entry points yang digunakan untuk mengakses seluruh resources yang terdapat di dalam software tersebut. Dengan adanya API, maka terdapat aturan bagaimana software dapat berinteraksi dengan software lain untuk mengakses resources melalui interface yang telah tersedia.

Gambar 2. 1 Skema API

Secara struktural, API merupakan spesifikasi dari suatu data structure, objects, functions, beserta parameter-parameter yang diperlukan untuk mengakses resource dari aplikasi tersebut. Seluruh spesifikasi tersebut membentuk suatu interface yang dimiliki oleh aplikasi untuk berkomunikasi dengan aplikasi lain, dan API dapat digunakan dengan berbagai bahasa programming, ataupun hanya dengan menggunakan URL (Uniform Resource Locator) yang telah disediakan oleh suatu website.

API dapat diklasifikasikan menjadi beberapa kategori, hal ini dilihat dari abstraksi apa yang dideskripsikan di dalam sistem. Kategori-kategori ini diantaranya:


(36)

22

Operating Sistem API yang digunakan untuk

fungsi dasar yang dapat dilakukan oleh komputer. Seperti proses I/O, eksekusi program.

API for MS Windows

Programming Languages

API yang digunakan untuk

memperluas kapabilitas dalam melakukan eksekusi

terhadap suatu bahasa pemrograman.

Java API

Application Services

API yang digunakan untuk

mengakses data dan layanan yang disediakan dari suatu aplikasi.

API for mySAP (BAPI/Business Application Programming Interface) Infrastructure Services Digunakan untuk mengakses infrastruktur dari suatu komputer. Infrastruktur disini adalah

komputer beserta

peripheral seperti storage,

aplikasi, dan lain-lain.

Amazon EC2 (Elastic

Compute Cloud) untuk

akses untuk virtual

computing dan Amazon S3 (Simple Storage Service)

untuk menyimpan data


(37)

23

dalam jumlah besar.

Web Services API yang digunakan untuk

mengakses content dan layanan yang disediakan oleh suatu web

application.

Facebook Graph APIyang

digunakan untuk mengakses informasi yang dapat dibagikan Tabel 2. 2 Kategori API

2.2.4. Facebook

Facebook merupakan layanan jejaring sosial untuk bertukar pesan, berbagi foto dan dengan pemberitahuan otomatis ketika suatu koneksi mengupdate profilnya. Facebook ini diluncurkan pada bulan Februari 2004 dan pada bulan Mei 2012 facebook telah memiliki lebih dari 900 juta pengguna aktif diantara klient berbasis web dan perangkat mobile.

Pengguna harus membuat profil, menambahkan pengguna lain sebagai teman dan kemudian mereka dapat menggunakan semua kemampuan dari aplikasi. Para pengguna dapat bergabung kepentingan bersama, membuat kelompok-kelompok pribadi atau umum, chatting dan mengatur semua koneksi dengan sekolah atau perguruan tinggi, keluarga atau karakteristik lainnya.

Facebook didirikan oleh Mark Zuckerberg bersama teman kuliahnya Eduardo Saverin, Dustin Moskovitz dan Chris Hughes. Pada awalnya terbatas untuk mahasiswa Harvard, tetapi diperluas ke perguruan tinggi lain di dekatnya. Pada bulan Oktober 2007 Microsoft telah membeli saham 1,6% dari Facebook untuk 240 juta dolar, apa berarti sebuah keberanian tersirat ke Facebook sekitar $ 15 miliar. Pada tahun 2010 itu menjadi perusahaan web terbesar ketiga di AS setelah Google dan Amazon.

Pengguna dapat berkomunikasi dengan teman dan pengguna lain melalui pesan pribadi atau umum atau bahkan menggunakan fitur chat.


(38)

24

Mereka dapat membuat dan bergabung dengan grup yang menarik dan "likes page" juga.

Facebook meluncurkan News Feed pada September 2006. Ini menunjukkan informasi baru atau perubahan, acara mendatang atau ulang tahun dari teman-teman pengguna. Pengguna dapat mencegah jenis pembaruan itu akan ditampilkan di News Feed, kiriman Dinding, perubahan profil dan teman-teman yang baru ditambahkan. Salah satu aplikasi yang paling sering digunakan dari Facebook adalah aplikasi Foto. Dengan aplikasi ini pengguna dapat meng-upload foto di album yang berbeda.

Salah satu aplikasi yang paling terkenal dari Facebook adalah “Wall”. Ini adalah profil asli di mana adalah konten user, ruang pada setiap profil user yang memungkinkan teman-teman untuk mengirim pesan bagi pengguna. Wall terlihat untuk semua orang yang bisa melihat profil lengkap user. Dari 2007, perusahaan memungkinkan pengguna untuk mengirim lampiran ke Wall, sejak sebelum Wall terbatas pada teks saja. Tapi seperti yang dikatakan sebelumnya, Wall juga menampilkan peristiwa yang terjadi pada pengguna (peristiwa, teman-teman baru yang ditambahkan, gambar perubahan profil dan sebagainya). Akhirnya Wall telah digantikan oleh Timeline, apa yang dimulai pada akhir tahun 2011.

Dampak dari Facebook di masyarakat cukup besar. Facebook telah mempengaruhi kehidupan sosial masyarakat dengan cara yang berbeda. Masalah utama adalah untuk menjadi terus menerus kontak dengan kerabat, teman, rekan kerja. Hal ini dapat menghubungkan orang-orang dengan minat yang sama atau "Like" kesamaan. Dengan ketersediaan pada perangkat mobile, kontak selalu hadir setiap kali pengguna memiliki akses ke Internet. Tapi ada juga kritik untuk cara komunikasi ini karena mereka mengatakan bahwa bahwa hal itu dapat menyebabkan kecenderungan antisosial karena orang tidak secara


(39)

25

langsung berkomunikasi dengan satu sama lain, hanya melalui komputer.

2.2.4.1. Arsitektur aplikasi facebook

Di bawah ini adalah arsitektut web standar:

Gambar 2. 2 Arsitektur Web Standar

Saat kita ingin membuka halaman web, kita mengirimkan HTTP Request ke server. Di server, aka nada proses yang melibatkan aplikasi dan database. Hasil prose tersebut, sebuah halaman HTML akan dikirim ke browser kita.

Berbeda dengan bagaimana facebook platform bekerja. Saat kita membuka sebuah aplikasi yang ada di facebook, kita mengirimkan HTTP Request ke facebook server. Permintaan kita akan diteruskan ke server pemilik aplikasi tersebut. Ada beberapa informasi (misalkan user id) yang akan diminta dari server aplikasi ke server facebook. Selanjutnya server facebook akan merespon dan mengirimkan data ke server aplikasi. Setelah diproses di server aplikasi, ia akan mengirimkan dokumen dalam format FBML yang dikirim ke server facebook. Oleh facebook, dokumen diproses dan menghasilkan dokumen HTML yang dikirim ke halaman kita.


(40)

26

Gambar 2. 3 Arsitektur Facebook

2.2.4.2.Facebook Framework Components

Dalam facebook flatform, terdapat komponen-komponen yang bisa kita libatkan dalam source code kita. Beriut ini adalah komponen-komponen dari facebook framework.

a. Facebook API

API singkatan dari Application Programming Interface. Facebook API adalah adalah jantung aplikasi kita. Facebook API adalah antarmuka pemrograman web services (web service programming interface) untuk mengakses layanan utama facebook (profile, friends, photo event). API ini berbasis arsitektur REST (Representational State Transfer).

b. FBML ( Facebook Markup Language)

Facebook Markup Language adalah bahasa seperti HTML Versi facebook untuk menampilkan halaman di kanvas facebook. Berikut ini tiga fakta tentang FBML:

· FBML berisi juga subset element-elemen HTML. Elemen-elemen umum seperti p, ul, dan h1 juga bagian dari FBML.


(41)

27

· FBML juga mendukung untuk elemen script dan style. Namun, beberapa kode javascript dapat didukung di facebook javascript. Elemen style tidak dapat kita gunakan untuk mengakses eksternal style sheets. Kita hanya dapat menggunakan untuk internal CSS.

· FBML menyediakan beberaapa ekstensi untuk user interface secara khusus

c. FQL ( Facebook Query Language)

Facebook Query Language (FBQL) adalah interface berbasis SQL ke data facebook. Melalui FBQL, kit adapt mengakses banyak tabel di database facebook seperti user, friend, group, group_member, event, event_member, photo, album, dan photo_tag. FBQL adalah bahasa query yang mirip dengan SQL standar, namun ada beberapa batasan:

· Pernyataan SELECT harus dalam satu tabel dalam satu waktu.

· Query join tidak diijinkan.

· Sebuah query haruslah dapat diindeks. d. Facebook Javascript

Seperti yang telah disebutkan di atas, facebook tidak mendukung javascript standar di dalam elemen scriptnya. Namun ada kode javascript (yang dalam jumlah sangat terbatas) yang dapat dijalankan di facebook melaui facebook javascript.

2.2.4.3.Autentikasi Facebook

Platform Facebook menggunakan OAuth 2.0 untuk otentikasi dan otorisasi. Di Web Desktop, untuk mengotentikasi


(42)

28

pengguna menggunakan aliran sisi server kita harus mengikuti langkah-langkah berikut:

a. mengarahkan pengguna ke dialog Oauth

b. Pengguna diminta untuk mengizinkan menggunakan aplikasi

c. Pengguna diarahkan kembali ke aplikasi d. Tukarkan kode untuk akses token pengguna

e. Pengguna dapat membuat permintaan ke graph API

Otentikasi yang berhasil nantinya akan memperoleh token akses pengguna yang dapat digunakan untuk membuat permintaan ke API Facebook. Ada beberapa arus otentikasi dan masing-masing berlaku untuk platform yang berbeda.

Ketika aplikasi memperoleh token akses dari Facebook, itu akan berlaku segera dan itu dapat digunakan dalam permintaan ke API untuk beberapa periode waktu yang ditetapkan oleh Facebook. Setelah periode itu berlalu, token akses dianggap telah berakhir dan pengguna akan perlu dikonfirmasi lagi agar aplikasi Anda untuk mendapatkan token akses baru. Durasi yang token akses yang diberikan berlaku tergantung pada bagaimana access token itu dihasilkan.


(43)

29

2.2.5. Twiter

Twitter adalah layanan jaringan sosial berdasarkan informasi real-time yang menghubungkan pengguna dengan terbaru cerita, ide, pendapat dan berita. layanan semacam ini disebut layanan microblogging, karena berbeda dari blog tradisional di bahwa isinya biasanya lebih kecil dalam ukuran file yang sebenarnya dan agregat. Twitter memungkinkan pengguna untuk bertukar elemen kecil dari konten seperti kalimat pendek, gambar individu atau link video. Ini diciptakan oleh Jack Dorsey dan diluncurkan pada bulan Juli 2006. Layanan ini cepat mendapatkan popularitas di seluruh dunia dengan lebih dari 140 juta pengguna aktif.

Penggunaan layanan jaringan sosial ini sangat sederhana. Pengguna harus membuat profil, menemukan akun yang menarik dan mengikuti percakapan. Pengguna juga dapat mengirim sesuatu ke net atau memperbarui. potongan-potongan informasi yang disebut "Tweet". Tweet memiliki bujur 140 karakter

Twitter adalah alat yang sangat berguna untuk bisnis. Keterampilan yang paling penting bahwa Twitter dapat menawarkan adalah kapasitas menghubungkan perusahaan dengan pelanggan secara real time. Perusahaan menggunakan Twitter untuk berbagi informasi dengan cepat dengan orang-orang yang tertarik pada produk mereka, membangun hubungan dengan pelanggan, mitra dan influencer.

2.2.5.1.Twitter API dan Library

Twitter memiliki tiga API yang berbeda: Search API, rest API dan API Streaming. Search API memungkinkan pengguna untuk query untuk konten Twitter. Mencari kata kunci tertentu dalam tweet, menemukan tweet referensi pengguna tertentu, atau mencari tweets dari pengguna tertentu. Dengan API ini pengguna dapat memiliki akses ke data di sekitar Trends. Tetapi jika


(44)

30

kebutuhan pengguna untuk query Search API pada kecepatan yang ekstrim, maka lebih baik menggunakan API Streaming.

REST API memungkinkan pengembang untuk mengakses beberapa primitif inti dari Twitter, seperti jadwal, update status atau informasi pengguna. Jika salah satu pengembang ingin membangun satu aplikasi dengan profil dari satu pengguna, nama, gambar, pengikut, tweet terakhir dan sebagainya ini adalah API yang tepat. Selain menawarkan program akses ke obyek garis waktu, status, dan user, API ini juga memungkinkan pengembang banyak peluang integrasi untuk berinteraksi dengan Twitter. Melalui API ini, pengguna dapat membuat dan mengirim kembali ke Twitter, membalas tweet, retweet dan sisanya dari fungsi yang ditawarkan oleh Twitter.

API Streaming adalah untuk pengembang yang memiliki kebutuhan data yang intensif. Jika aplikasi untuk membangun sesuatu yang terkait dengan penelitian analisis, API ini adalah yang benar. Pengguna bisa mendapatkan jumlah besar kata kunci yang akan ditentukan dan dilacak, mengambil tweet geo-tagged atau mendapatkan status publik dari pengguna. Langkah pertama harus bekerja dengan API pencarian pertama, dan jika aplikasi sedang tingkat-terbatas atau jelas bahwa aplikasi memiliki kebutuhan query sangat agresif, maka perlu untuk pindah API Streaming.

Sumber daya REST API dibagi sesuai dengan tujuan dari query: jadwal, tweet, pencarian, streaming, pesan langsung, teman & pengikut, pengguna, pengguna disarankan, favorit, daftar, account, tempat danlain lagi. Beberapa contoh adalah sebagai berikut:

a. Timelines:

· GET_statuses/home_timeline: Mengembalikan status terbaru, termasuk retweets jika ada, diposting oleh


(45)

31

pengguna otentikasi dan pengguna mereka ikuti. Ini adalah waktu yang sama dilihat oleh pengguna ketika mereka login ke twitter.com.

· GET_statuses/mentions: Mengembalikan 20 recent mentions (status yang berisi username) untuk pengguna otentikasi. Metode ini hanya bisa kembali sampai 800 status.

· GET_statuses/retweeted_by_me: Mengembalikan 20 tweet terbaru yang diposting oleh pengguna yang terotentikasi.

· GET_statuses/retweeted_to_me: Mengembalikan 20 tweet terbaru yang diposting oleh pengguna terotentikasi

· GET_statuses/user_timeline: Mengembalikan 20 status terbaru diposting oleh pengguna otentikasi. Hal ini juga memungkinkan untuk meminta waktu pengguna lain dengan menggunakan SCREEN_NAME atau parameter userid.

b. Friends & followers:

· GET followers/ids: Mengembalikan array ID numerik untuk setiap pengguna mengikuti pengguna tertentu. Metode ini ampuh bila digunakan bersama dengan pengguna / lookup. · GET friendships/show: Mengembalikan

informasi rinci tentang hubungan antara dua pengguna.

· POST friendships/create: Memungkinkan pengguna otentikasi untuk mengikuti petunjuk yang ditentukan dalam parameter ID. Mengembalikan pengguna berteman dalam format yang diminta ketika sukses.


(46)

32

Mengembalikan string yang menjelaskan kondisi kegagalan ketika gagal.

2.2.5.2.Twitter Authentication a. Sign in with twitter

implementasi sign in dengan browser dan web mobile didasarkan pada protokol OAuth. Langkah berikutnya menunjukkan cara mendapatkan token akses untuk masuk aliran sehingga aplikasi dapat berinteraksi dengan baik dengan API Twitter.

1. Memperoleh request token

Hal pertama yang pengembang harus tahu adalah bahwa aplikasi tersebut harus mendapatkan request token dengan mengirimkan signed message "POST oauth / request token ". Hal ini diperlukan satu parameter yaitu oauth callback, yang merupakan Url-encode dari url dimana pengguna aplikasi akan diarahkan ke ketika mereka selesai pada proses selanjutnya.

Aplikasi harus memeriksa status HTTP respon. Nilai yang benar dari jawaban tersebut adalah 200, nilai lain menandakan dalam proses permintaan. Bagian body dari respon tersebut akan memuat oauth_token, oauth_token_secret, dan oauth_callback_confirmed. Hal ini diperlukan bahwa aplikasi memverifikasi oauth_callback adalah benar dan menyimpan dua nilai lainnya untuk langkah berikutnya.


(47)

33

Gambar 2. 5 Request Token Twitter

2. Me-redirect user

Dalam langkah ini mengarahkan pengguna ke twitter sehingga mereka dapat menyelesaikan aliran yang sesuai. Aliran ini berarti bahwa pengguna diminta untuk memungkinkan aplikasi dan memberikan izin sehingga aplikasi dapat tweet dan membuat tindakan lain atas nama pengguna. Kemudian Twitter akan mengarahkan kembali ke URL disahkan pada langkah sebelumnya.

Untuk mengarahkan pengguna, itu perlu menggunakan GET oauth/authenticate dan memuat request Token yang diperoleh pada langkah sebelumnya sebagai parameter oauth_token.


(48)

34

Gambar 2. 6 Redirect User Twitter

Status sign in akan berjalan di salah satu dari tiga cara tergantung pada status pengguna yaitu:

a) Signed and approved

Jika pengguna masuk di twitter.com dan telah menyetujui aplikasi, mereka akan segera diautentikasi dan kembali ke callback URL dengan permintaan OAuth Token yang masih berlaku.

b) Signed in but not approved

Jika pengguna masuk ke twitter.com namun belum menyetujui aplikasi, permintaan untuk berbagi akses dengan aplikasi akan ditampilkan. Setelah menerima permintaan otorisasi, pengguna akan diarahkan ke callback URL dengan OAuth token permintaan yang masih berlaku.


(49)

35

Jika pengguna tidak masuk di twitter.com, mereka akan diminta untuk memasukkan kredensial mereka dan memberikan akses untuk aplikasi untuk mengakses informasi mereka pada layar yang sama. Setelah masuk, pengguna akan dikembalikan ke URL callback dengan permintaan OAuth Token yang masih berlaku.

Gambar 2. 7 Status Sign In Twitter

Jika otentikasi berhasil, aplikasi akan menerima permintaan dengan parameter oauth_token dan oauth_verifier.

3. Mengubah request token ke access token

Untuk mengkonversi request token menjadi akses token yang dapat digunakan, aplikasi harus membuat permintaan untuk POST oauth / akses token, dengan parameter oauth_verifier.

Respon yang sukses berisi parameter oauth_token, oauth_token_secret, user id, dan screen_name. Hal ini diperlukan untuk menyimpan token dan token secret untuk diautentikasi permintaan di masa mendatang untuk API Twitter.


(50)

36

Gambar 2. 8 Access Token Twitter

b. 3-legged authorization

Alur OAuth 3-legged memungkinkan aplikasi untuk mendapatkan token akses dengan mengarahkan pengguna ke Twitter untuk mengotorisasi aplikasi. alur ini hampir identik dengan alur yang dijelaskan dalam Implementasi Masuk dengan Twitter, dengan dua pengecualian:

a) GET oauth/authorize endpoint digunakan sebagai pengganti /oauth/authenticate

b) Pengguna akan selalu diminta untuk mengotorisasi akses ke aplikasi tersebut, bahkan jika akses diberikan sebelumnya.


(1)

pengguna otentikasi dan pengguna mereka ikuti. Ini adalah waktu yang sama dilihat oleh pengguna ketika mereka login ke twitter.com.

· GET_statuses/mentions: Mengembalikan 20 recent mentions (status yang berisi username) untuk pengguna otentikasi. Metode ini hanya bisa kembali sampai 800 status.

· GET_statuses/retweeted_by_me: Mengembalikan 20 tweet terbaru yang diposting oleh pengguna yang terotentikasi.

· GET_statuses/retweeted_to_me: Mengembalikan 20 tweet terbaru yang diposting oleh pengguna terotentikasi

· GET_statuses/user_timeline: Mengembalikan 20

status terbaru diposting oleh pengguna otentikasi. Hal ini juga memungkinkan untuk meminta waktu pengguna lain dengan menggunakan SCREEN_NAME atau parameter userid.

b. Friends & followers:

· GET followers/ids: Mengembalikan array ID

numerik untuk setiap pengguna mengikuti pengguna tertentu. Metode ini ampuh bila digunakan bersama dengan pengguna / lookup.

· GET friendships/show: Mengembalikan

informasi rinci tentang hubungan antara dua pengguna.

· POST friendships/create: Memungkinkan

pengguna otentikasi untuk mengikuti petunjuk yang ditentukan dalam parameter ID. Mengembalikan pengguna berteman dalam format yang diminta ketika sukses.


(2)

Mengembalikan string yang menjelaskan kondisi kegagalan ketika gagal.

2.2.5.2.Twitter Authentication a. Sign in with twitter

implementasi sign in dengan browser dan web mobile didasarkan pada protokol OAuth. Langkah berikutnya menunjukkan cara mendapatkan token akses untuk masuk aliran sehingga aplikasi dapat berinteraksi dengan baik dengan API Twitter.

1. Memperoleh request token

Hal pertama yang pengembang harus tahu adalah bahwa aplikasi tersebut harus mendapatkan request token dengan mengirimkan signed message "POST oauth / request token ". Hal ini diperlukan satu parameter yaitu oauth callback, yang merupakan Url-encode dari url dimana pengguna aplikasi akan diarahkan ke ketika mereka selesai pada proses selanjutnya.

Aplikasi harus memeriksa status HTTP respon. Nilai yang benar dari jawaban tersebut adalah 200, nilai lain menandakan dalam proses permintaan. Bagian body dari respon tersebut akan memuat oauth_token, oauth_token_secret, dan

oauth_callback_confirmed. Hal ini diperlukan bahwa aplikasi

memverifikasi oauth_callback adalah benar dan menyimpan dua nilai lainnya untuk langkah berikutnya.


(3)

Gambar 2. 5 Request Token Twitter

2. Me-redirect user

Dalam langkah ini mengarahkan pengguna ke twitter sehingga mereka dapat menyelesaikan aliran yang sesuai. Aliran ini berarti bahwa pengguna diminta untuk memungkinkan aplikasi dan memberikan izin sehingga aplikasi dapat tweet dan membuat tindakan lain atas nama pengguna. Kemudian Twitter akan mengarahkan kembali ke URL disahkan pada langkah sebelumnya.

Untuk mengarahkan pengguna, itu perlu menggunakan

GET oauth/authenticate dan memuat request Token yang

diperoleh pada langkah sebelumnya sebagai parameter oauth_token.


(4)

Gambar 2. 6 Redirect User Twitter

Status sign in akan berjalan di salah satu dari tiga cara tergantung pada status pengguna yaitu:

a) Signed and approved

Jika pengguna masuk di twitter.com dan telah menyetujui aplikasi, mereka akan segera diautentikasi dan kembali ke callback URL dengan permintaan OAuth Token yang masih berlaku.

b) Signed in but not approved

Jika pengguna masuk ke twitter.com namun belum menyetujui aplikasi, permintaan untuk berbagi akses dengan aplikasi akan ditampilkan. Setelah menerima permintaan otorisasi, pengguna akan diarahkan ke

callback URL dengan OAuth token permintaan yang

masih berlaku.


(5)

Jika pengguna tidak masuk di twitter.com, mereka akan diminta untuk memasukkan kredensial mereka dan memberikan akses untuk aplikasi untuk mengakses informasi mereka pada layar yang sama. Setelah masuk, pengguna akan dikembalikan ke URL callback dengan permintaan OAuth Token yang masih berlaku.

Gambar 2. 7 Status Sign In Twitter

Jika otentikasi berhasil, aplikasi akan menerima permintaan dengan parameter oauth_token dan oauth_verifier.

3. Mengubah request token ke access token

Untuk mengkonversi request token menjadi akses token yang dapat digunakan, aplikasi harus membuat permintaan untuk POST oauth / akses token, dengan parameter oauth_verifier.

Respon yang sukses berisi parameter oauth_token, oauth_token_secret, user id, dan screen_name. Hal ini diperlukan untuk menyimpan token dan token secret untuk diautentikasi permintaan di masa mendatang untuk API Twitter.


(6)

Gambar 2. 8 Access Token Twitter

b. 3-legged authorization

Alur OAuth 3-legged memungkinkan aplikasi untuk mendapatkan token akses dengan mengarahkan pengguna ke Twitter untuk mengotorisasi aplikasi. alur ini hampir identik dengan alur yang dijelaskan dalam Implementasi Masuk dengan Twitter, dengan dua pengecualian:

a) GET oauth/authorize endpoint digunakan sebagai

pengganti /oauth/authenticate

b) Pengguna akan selalu diminta untuk mengotorisasi akses ke aplikasi tersebut, bahkan jika akses diberikan sebelumnya.