Jaringan komputer API Application Programming Interface

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 hardwaresoftware 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 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. 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 WLAN 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 RD 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. 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-indial-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, 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 v1v2, 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, E1T1, 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 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 LANWAN 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 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 0x4000 = len = 3 len | 0xC00000, three 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 atau mengakhiri kata. Nama kata perintah harus dimulai dengan “”. Nama perintah erat mengikuti CLI, dengan spasi diganti dengan tanda “”. Contoh: sistemreboot 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 · Tanda prefix konten yang sama - = · 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: interfaceprint ?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. · 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 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: Kategori API Deskripsi Contoh Operating Sistem API yang digunakan untuk fungsi dasar yang dapat dilakukan oleh komputer. Seperti proses IO, 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 BAPIBusiness 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 dalam jumlah besar. Web Services API yang digunakan untuk mengakses content dan layanan yang disediakan oleh suatu web application . Facebook Graph