Sekilas Pengertian, Komponen, dan Engine SMS Gateway

May 09, 2016 Add Comment
Bismillahirrahmanirrahim. Assalamu'alaikum Wr. Wb.
Kali ini saya akan coba membahas secara sekilas mengenai Pengertian dan Komponen SMS Gateway, serta sedikit penjelasan mengenai Engine Gammu yang sering digunakan untuk membuat SMS Gateway.

Teknologi SMS

Short Message Service (SMS), merupakan layanan pengiriman pesan pendek berupa text melalui teknologi telekomunikasi. Dinamakan pesan pendek, karena berkisar 100 sampai 500 karakter, untuk tipe ponsel tertentu bisa mendukung hingga 1000 karakter.
SMS muncul pada tahun 1991 di Eropa seiring dengan dikembangkannya teknologi GSM. Dan seperti yang kita tahu, teknologi GSM digunakan pada Mobile Station (ponsel/HP, Modem). Teknologi seluler membutuhkan provider (penyedia layanan) agar pengirim dan penerima pesan bisa saling berkomunikasi, begitu juga dengan SMS yang membutuhkan operator (provider) sehingga pesan yang dikirim bisa sampai kepada penerima. Pada provider ini, terdapat SMS Center.
Short Message Service Center (SMSC), merupakan perangkat hardware dan software disisi operator seluler yang berfungsi untuk menampung pesan dan meneruskan pesan sesuai tujuan dan juga melakukan penentuan rute tujuan akhir dari pesan.
Keterangan :
  • BTS : Base Transceiver Station 
  • BSC : Base Station Controller
  • MSC : Mobile Switching Center
  • HLR : Home Location Register
  • SMSC : SMS Center

Short Message Service Center (SMSC) didesain untuk dapat berkomunikasi dengan media luar, seperti voice mail, email, controlling, serta SMS Gateway.

Cara Kerja Notifikasi SMS

Terdapat 2 jenis notifikasi SMS, diantaranya :
- Mobile Terminated
Saat pengiriman pesan berasal dari SMS Center dan diteruskan ke Mobile Station (MS) atau handphone. Adanya informasi pengiriman seperti delivery report, baik sms terkirim atau tidak karena penyebab tertentu, memungkinkan SMS Center mengirim ulang.
- Mobile Originated
Saat pengiriman pesan berasal Mobile Station (MS) atau handphone diteruskan ke SMS Center, saat pesan terkirim ada notifikasi “message sent” , jika gagal terlihat notifikasi “sending failed”.

SMS Gateway

Short Message Service Gateway (SMS Gateway), merupakan perangkat hardware dan software serta database , menawarkan layanan transit SMS untuk diproses sesuai keinginan sebelum diteruskan ke SMS Center. SMS Gateway berada diluar network operator dan dibuat oleh penyedia layanan konten, seperti quiz, game, wallpaper, musik, hingga web based SMS.
Layanan SMS Gateway antara lain :
  • SMS berupa text biasa
  • SMS Unicode; ringtone, musik, gambar
  • Charging (tarif SMS)
  • SMS Masking
  • Intergrasi database, dan lain-lain
3 elemen dasar SMS Gateway yaitu :
  • Perangkat Server yang menghubungkan dengan SMS Center
  • Database, yang menyimpan data (teks sms, no telepon, dll) dan dapat diakses oleh user.
  • Modem/Mobile Station yang dilengkapi dengan SIM Card

Aplikasi SMS Gateway

SMS Gateway dapat digunakan untuk berbagai macam hal, misalnya untuk mengiklankan suatu produk melalui broadcast SMS, menyediakan informasi/berita masal melalui SMS, atau menawarkan dan menampung suatu layanan SMS. 
Sebagai contoh, aplikasi SMS Iklan yang bisa berupa aplikasi SMS Gateway yang dapat digunakan untuk layanan beriklan, berkirim sms secara massal, menggunakan group iklan, fitur inbox dan outbox, dengan menggunakan interface web based sms.
Untuk membangun sebuah aplikasi SMS Gateway, dibutuhkan beberapa komponen, diantaranya :
  • Komputer sebagai SMS Gateway Server
  • Modem / Mobile Station (Bisa juga berupa HP yang difungsikan sebagai modem)
  • Web Service (Apache+PHP, IIS, dll)
  • Database (MySQL, SQL Server, dll)
  • SIM Card
  • SMS Gateway Engine (Gammu, kannel, dll)

Gammu Engine

Salah satu engine SMS Gateway yang sering digunakan yaitu Gammu. Gammu merupakan salah satu SMS Gateway Engine yang mendukung database MySQL. Interface Gammu sendiri berupa command line yang dapat mengatur banyak hal terkait dengan layanan pada ponsel umumnya. Gammu sendiri dibuat menggunakan bahasa pemrogramman C.
Beberapa fitur yang dimiliki Gammu diantaranya :
  • Membuat daftar, inisiasi, dan handle panggilan telepon
  • Penerimaan, backup, dan pengiriman SMS
  • Penerimaan MMS
  • Membuat daftar buku telepon
  • Membuat daftar task dan kalender
  • Penerimaan informasi jaringan telepon dan informasi ponsel
  • Akses terhadap file system ponsel, dll
Salah satu cara kerja Gammu yaitu mengambil SMS yang masuk kemudian menyimpanya dalam database dan diolah berdasarkan konfigurasi program yang diterapkan pada Gammu. Kemudian saat Gammu mengirim SMS keluar, mengambil data juga dari database sesuai konfigurasi dan dikirimkan kepada terminal penerima melewati SMS Center.

Teknik Troubleshooting & Problem Solving Komputer

May 04, 2016 Add Comment
Bismillahirrahmanirrahim.... Assalamu'alaikum Wr. Wb.
Seringkali ketika kita menggunakan komputer/software pada komputer, atau bahkan saat kita membuat aplikasi atau dalam melakukan konfigurasi/maintenance jaringan, kita dihadapkan dengan berbagai macam trouble/error/masalah yang terjadi. Dengan demikian, perlu adanya suatu cara untuk menyelesaikan permasalahan tersebut, hal ini disebut dengan troubleshoot.
Kadang jika kita sudah terbiasa dalam menghadapi suatu masalah, kita dapat dengan mudah menerka apa penyebab masalahnya dan langsung melakukan pemecahan masalah. Tapi ketika kita menghadapi suatu masalah yang belum pernah dijumpai, kita kadang mengalami kebingungan hingga akhirnya mencari cara melalui internet, menanyakan ke teman, atau bahkan langsung melemparkan masalah tersebut kepada ahlinya, alias 'tukang servis', dan terpaksa mengeluarkan biaya kembali meskipun sebenarnya masalah yang dihadapi hanya sepele.
Pada dasarnya setiap masalah pasti ada penyebabnya, dan penyebab masalah itu menentukan solusi yang mesti dilakukan. Dalam menemukan penyebab masalah hingga menemukan solusi yang tepat pasti melewati tahapan-tahapan yang dilakukan. Tantangannya adalah tinggal kita mau berusaha dengan berbagai kesulitan untuk menyelesaikan masalah tersebut atau malah membiarkannya dan melemparkan kepada orang lain. Karena setelah kesulitan pasti ada kemudahan :)
Nah...pada artikel kali ini, saya akan coba membahas mengenai teknik troubleshooting dan problem solving untuk mempermudah cara penyelesaian masalah yang terjadi di dunia IT, khususnya seputar komputer.

Pengertian Troubleshooting

Troubleshooting merupakan suatu tindakan untuk mencari sumber masalah secara sistematis sehingga masalah dapat diselesaikan dengan benar dan mencegah datang kembali masalah tersebut. Sedangkan Troubleshooting Sistem Komputer merupakan pencarian masalah yang terjadi pada perangkat komputer (hardware & software) dimulai dari pencarian identifikasi sumber masalah, mencari masalah yang ditimbulkan, dan kemudian menyelesaikan masalah tersebut dengan tindakan menghilangkan sumber masalah dan penyebab potensial terjadinya masalah, untuk kemudian mengantisipasi datangnya kembali masalah tersebut, dengan melalui mekanisme prosedural.

Teknik Troubleshooting

Teknik Troublehsooting merupakan suatu tindakan prosedural yang dapat dipilih sebagai acuan dalam proses pelaksanaan troubleshooting.
Ada dua Teknik Troubleshooting, antara lain :
  • Teknik Forward 
  • Teknik Backward

Teknik Forward

Teknik Forward merupakan suatu tindakan pengecekan permasalahan dimulai dari awal, contoh saat peraktian komputer, dilakukan secara sederhana, dan dilakukan sebelum komputer dinyalakan (dialiri listrik).
Contoh :
  • Melakukan cek kondisi kabel power ke perangkat keras 
  • Melakukan cek pemasangan hardware ke soket Motherboard 
  • Melakukan cek pemasangan kabel input dan output

Teknik Backward

Teknik Backward merupakan suatu tindakan pengecekan permasalahan komputer, teknik ini seringkali digunakan, karena pada umumnya masalah muncul pada komputer yang aktivitas pemakaianya tinggi.
Contoh :
  • Komputer tidak bisa masuk Sistem Operasi atau Booting 
  • Hard Disk tidak terdeteksi 
  • VGA tidak mau beroperasi / tidak menyala 
  • Gangguan Virus, dan lainya

Metode Pendekatan

Metode Pendekatan merupakan suatu tindakan yang digunakan dalam proses pencarian masalah melalui pendekatan-pendekatan terhadap fungsi kerja (work layer), ditujukan agar menghasilkan analisa yang tepat.
Berikut Metode Pendekatan, antara lain :
  • Pendekatan TOP-DOWN 
  • Pendekatan DEVIDE and CONQUER 
  • Pendekatan BOTTOM-UP

Pendekatan TOP-DOWN

Pendekatan TOP-DOWN merupakan metode pendekatan dalam indentifikasi masalah, dimana dilakukan dengan mencari permasalahan dari Layer Aplikasi hingga Layer Fisik, metode ini tidak cocok untuk permasalahan komputer yang berkaitan dengan hardware.
Contoh :
  • Program aplikasi error karena harus update 
  • Program aplikasi error karena, kehilangan runtime-program 
  • Sistem operasi tidak berjalan normal, karena kehilangan file Registri

Pendekatan DIVIDE and CONQUER

Pendekatan DEVIDE and CONQUER merupakan metode pendekatan dalam indentifikasi masalah, dimana identifikasi masalah langsung pada Layer yang bermasalah, seringkali metode ini digunakan oleh mereka yang telah Ahli, berdasarkan pengalaman dalam penanganan sebelumnya.
Contoh :
  • Sistem Operasi berjalan lambat, solusi dengan menambah memori 
  • Aplikasi berjalan lambat, solusi dengan mengurangi Starup aplikasi yang tidak digunakan dan penambahan memori

Pendekatan BOTTOM-UP

Pendekatan BOTTOM-UP merupakan metode pendekatan dalam indentifikasi masalah, dimana dilakukan dengan mencari permasalahan dari Layer Fisik hingga Layer Aplikasi, metode ini cocok untuk permasalahan komputer yang berkaitan dengan hardware.
Contoh :
  • Komputer tidak menyala saat tombol power ditekan 
  • Printer tidak menyala saat tombol power ditekan 
  • Hard Disk tidak menampilkan Booting saat Komputer dinyalakan

Problem Solving (Penyelesaian Masalah)

Penyelesaian Masalah (Problem Solving) merupakan langkah dalam menangani masalah yang telah ditemukan.
Berikut langkah yang ditempuh, antara lain :
  • Langkah TRIAL and ERROR 
  • Langkah SUBSTITUSI

Trial and Error

Trial and Error merupakan metode penyelesaian masalah setelah masalah ditemukan, dengan mencoba-coba dengan berdasarkan pengalaman, sangat bergantung pada pengalaman. Langkah ini kurang cocok untuk perangkat-perangkat vital yang belum dikuasai betul penyelesaianya.
Contoh :
  • VGA onboard tidak berfungsi, solusinya dengan mencoba mengganti power supply 
  • Kabel power ke Hard Disk tidak berfungsi, solusi dengan mencoba dengan memasang kabel power lainya.

Substitusi

Substitusi merupakan metode penyelesaian masalah setelah masalah ditemukan, dengan mengganti dengan perangkat baru, atau mengambil dari komponen perangkat yang sama untuk digunakan pada perangkat yang rusak.
Contoh :
  • Baterai CMOS pada Motherboard tipe A rusak, maka dapat diambil dari Motherboard tipe A lain yang rusak namun bukan pada Baterai CMOS 
  • Pada perusahaan besar selalu menyediakan Server Pengganti / Back-Up saat Server utama terjadi downtime / trouble maka Server Pengganti akan mengambil alih.

Dokumentasi

Dokumentasi merupakan penulisan tulisan atau gambar yang menerangkan langkah proses penanganan terhadap suatu kegiatan. Dapat berisi penjelasan-penjelasan, gamabr, bagan alir, dan contoh-contoh objek.
Adapun tujuan Dokumentasi, antara lain :
  • Mempelajari cara pengoperasian sistem 
  • Sebagai bahan alih pengetahuan dan training 
  • Pengembangan sistem lebih lanjut 
  • Materi acuan dan Back-Up 
  • Menghilangkan ketergantungan yang kritis 
-------------------




Demikian penjelasan kali ini. Di dalam hidup kita senantiasa dihadapkan dengan masalah/ujian. Jika dicermati, setiap masalah/ujian yang kita tempuh dan lewati membuat kita semakin baik. Sebagai contoh, jika kita menghadapi error pada komputer yang belum pernah kita temui sebelumnya, ketika kita berhasil menyelesaikan error tersebut, kita menambah ilmu karena tau cara penyelesaian masalahnya jika suatu saat menghadapi permasalahan serupa. Untuk itu, bersyukurlah jika kita mendapatkan masalah/ujian dalam hidup kita, karena kita memiliki peluang untuk menjadikan diri kita lebih baik lagi.
Terima kasih telah membaca, semoga bermanfaat. Wassalam....

Pengertian, Syntax, dan Implementasi CSS (Cascading Style Sheet)

April 26, 2016 Add Comment

Seperti janji saya dari lama untuk melanjutkan Tutorial mengenai HTML, saya coba mulai dari Pengenalan CSS.

Apa itu CSS?

CSS singkatan dari Cascading Style Sheet, atau jika diterjemahkan yaitu Bahasa Lembar Gaya. CSS merupakan bahasa yang digunakan untuk mengatur tampilan/desain suatu halaman web. CSS sama halnya dengan styles pada aplikasi pengolahan kata seperti Microsoft Word yang dapat mengatur beberapa style misalnya heading, subbab, bodytext, footer, images, dan style lainnya untuk dapat digunakan bersama-sama dalam beberapa berkas (file).
Dengan kata lain, Cascading Style Sheet adalah suatu teknologi yang digunakan untuk memperindah tampilan halaman website. Singkatnya dengan menggunakan metode CSS ini mudah mengubah secara keseluruhan warna dan tampilan yang ada pada website. Dengan CSS, temen-temen dapat lebih mempercantik tampilan web. baik dari style text, button, textfield, table, dan lain-lain.
Pada umumnya CSS dipakai untuk memformat tampilan halaman web yang dibuat dengan bahasa HTML dan XHTML. Sebagai contoh, perancangan desain text dapat dilakukan dengan mendefinisikan fonts (huruf), colors (warna), margins (ukuran), background (latar belakang), font size (ukuran font) dan lain-lain. Elemen-elemen tersebut disebut juga dengan styles.

Perkembangan CSS

CSS 1

CSS pertama yang menjadi Rekomendasi W3C resmi CSS level 1, diterbitkan pada Desember 1996.dikembangkan berpusat pada pemformatan dokumen HTML.

CSS 2

CSS2 mendukung penentuan posisi konten, huruf (font), tampilan pada tabel (table layout) dan media tipe untuk printer. Kehadiran versi CSS yang kedua diharapkan lebih baik dari versi pertama.

CSS 3

Dapat melakukan animasi pada halaman website, diantaranya animasi warna hingga animasi 3D.
Dengan CSS3 desainer lebih dimudahkan dalam hal kompatibilitas websitenya pada smartphone dengan dukungan fitur baru yakni @media query.
Selain itu, banyak fitur baru pada CSS3 seperti: multiple background, border-radius, drop-shadow, border-image.

Tools CSS

Editor

Sama halnya seperti HTML dan bahasa pemrograman lainnya, CSS berisi kode teks yang dapat dibuat menggunakan text edtor seperti Notepad, Notepad++, Dreamweaver, dll.

Designer

Konsep untuk membuat tampilan web dengan menambahkan CSS berbeda-beda. Mungkin sebagian orang bisa langsung membuat CSS dari nol hingga menghasilkan tampilan yang bagus. Tetapi pada umumnya seorang web designer terlebih dahulu menggunakan tools image editor seperti Photoshop, Adobe Ilustrator, dll untuk membuat design mockup. Mockup tersebut kemudian dijadikan acuan untuk membuat kerangka tampilan web menggunakan HTML dan CSS. Setelah itu, mockup tersebut di-"slice" (dipotong-potong) menjadi bagian-bagian kecil untuk dimasukkan ke dalam kerangka tampilan web tadi. Metode ini sering disebut dengan slicing.

Result & Troubleshoot

Untuk melihat hasil dari CSS yang telah dibuat, tentunya dengan membuka file HTML pada browser, misalnya menggunakan Mozilla Firefox, Google Chrome, Internet Explorer, dll.
Jika setelah dibuka ternyata terdapat ketidaksesuaian pada hasil tampilan, dapat dilakukan troubleshoot dengan menggunakan fitur melihat source code pada browser. Untuk Firefox, bisa menggunakan plugin Firebug. Pada Google Chrome, bisa digunakan Developer Tools yang terdapat pada opsi menunya.

Manfaat CSS

Manfaat yang bisa diperoleh jika kita membuat tampilan web dengan sentuhan CSS diantaranya :
  • Kode menjadi sederhana dan lebih mudah diatur
  • Ukuran file menjadi lebih kecil, sehingga load file lebih cepat
  • Mudah untuk mengubah tampilan, hanya dengan mengubah CSS saja
  • Dapat berkolaborasi dengan Javascript
  • Dapat digunakan dalam hampir semua web browser

Syntax CSS

CSS memiliki syntax yang sederhana dan menggunakan sejumlah kata kunci berbahasa Inggris untuk menentukan nama-nama berbagai properti. CSS memiliki dua aturan utama, yaitu Selector dan Declaration. Untuk lebih jelasnya, lihat cara penulisan serta komponen yang terdapat pada CSS berikut :
  • Dalam kode CSS, ada 2 bagian yang terpisah, yaitu Selector dan Declaration.
  • Selector biasanya merupakan elemen HTML atau tag dimana berbagai properti diberi suatu nilai.
  • Setiap Declaration terdiri dari Property dan Value.
  • Untuk penulisan Declaration harus menggunakan tanda kurung kurawal {...}
  • Property adalah atribut style yang ingin dirubah, misalnya color, background, margin, dll.
  • Setiap Property memiliki Value (nilai) sesuai dengan jenis property-nya.

Pengelompokan Selector

Seperti yang dilihat pada contoh di atas, salu selector dapat memiliki beberapa property. Jika terdapat beberapa selector yang memiliki property yang sama, dapat dilakukan pengelompokan selector. Lihat contoh berikut :
- Syntax CSS
h1, body, p, ul { color: blue; }
- Syntax HTML
<body>
<h1>Warna Biru</h1>
Contoh teks
</body>
Pada contoh di atas, elemen header, body, paragraph, dan unordered list berada pada group yang sama. Semua elemen tersebut nantinya akan memiliki teks berwarna biru.

ID dan Class

Untuk memahami tentang ID dan Class, dapat melihat contoh kode CSS berikut :
#identitas {
font-size: 20px;
color: #FF0000;
background-color: #000;

}

.kelas {
font-size: 30px;
color: #12FF34;
background-color: #FFFFFF;
}
  • Selector ID menggunakan tanda pagar (#) sebagai penandanya, sedangkan Selector Class menggunakan tanda titik (.).
  • Penamaan pada selector ID dan Class dapat dibuat secara bebas, tetapi sebaiknya disesuaikan dengan nama kelompok yang terkait untuk mempermudah pengeditan.
  • Perbedaan antara ID dan Class pada CSS adalah pada tingkat penggunaannya. ID sebaiknya digunakan sebagai identitas yang unik seperti Logo, Header, Footer, Sidebar.
  • Sedangkan Class digunakan untuk menandai atribut yang lebih spesifik seperti ketebalan border (garis pinggir), kode warna, paragraph, jenis font, ukuran font, dll.
  • Class dapat digunakan untuk mengatur tampilan atau atribut dari suatu kelompok data HTML, baik yang memiliki ID tertentu atau tidak.
  • ID digunakan untuk memberikan identifikasi atau atribut pada kelompok data atau elemen HTML yang lebih besar.

Implementasi CSS

Ada 2 cara yang bisa diterapkan untuk menggunakan CSS pada tampilan web. Cara pertama yaitu dengan membuat CSS langsung di dalam satu file HTML. Cara ini disebut dengan internal/inline style sheet.
Cara yang kedua yaitu dengan cara membuat file CSS tersendiri,lalu file tersebut dipanggil melalui HTML yang dibuat. Cara ini disebut dengan external style sheet.

Internal Style CSS

Metode Internal Style maksudnya ialah style CSS digabung atau ditulis bersamaan dengan tag-tag HTML. Agar dapat lebih dipahami, lihat contoh kode HTML berikut :
File index.html

<html>
<head>
<title>Contoh Internal Style</title>
<style type="text/css">
body {
font-family: Arial, Helvetica, sans-serif;
}
.kelas {
font-size: 50px;
color: #FF0000;
background-color: #000;
}
#identitas {
font-size: 30px;
color: #000;
background-color: #FF0000;
}
</style>

</head>
<body>
<div class="kelas">Contoh Penulisan Class</div>
<br \>
<div id="identitas">Contoh Penulisan ID</div>
</body>
</html>
Dilihat dari kode di atas, syntax CSS ditulis langsung di dalam HTML yang dibuat, yaitu pada bagian <head> dengan tag <style>. Selector body langsung digunakan oleh HTML tanpa perlu dipanggil kembali, sedangkan ID dan Class pada contoh di atas dipanggil pada tag <div>.

External Style CSS

Merupakan metode penulisan CSS dimana Syntax CSS dibuat file tersendiri yang terpisah dengan file HTML. File CSS ini nantinya dapat digunakan oleh semua file HTML yang ada. Untuk memanggil file CSS yang telah dibuat, tambahkan baris berikut pada bagian <head> HTML :
<link rel="stylesheet" type="text/css" href="lokasi_file_css.css" />
Untuk lebih memahami penggunaannya, perhatikan contoh berikut :
- File gaya.css
body {
font-family: Arial, Helvetica, sans-serif;
}
.kelas {
font-size: 50px;
color: #FF0000;
background-color: #000;
}
#identitas {
font-size: 30px;
color: #000;
background-color: #FF0000;
}
- File index.html
<html>
<head>
<title>Contoh External Style</title>
<link rel="stylesheet" type="text/css" href="gaya.css" />
</head>
<body>
<div class="kelas">Contoh Penulisan Class</div>
<br \>
<div id="identitas">Contoh Penulisan ID</div>
</body>
</html>

CSS Framework

Framework secara sederhana dapat diartikan kumpulan dari fungsi-fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang programmer, tanpa harus membuat fungsi atau class dari awal.
CSS Framework adalah paket kode CSS/XHTML sebagai acuan dasar membuat web, sehingga kita tidak perlu lagi menulis kode web (CSS/XHTML) dari nol.
Beberapa contoh CSS Framework yang sering digunakan diantaranya :

Keuntungan Menggunakan CSS Framework

Penggunaan CSS Framework pada web memiliki beberapa keuntungan, diantaranya :
Lebih Cepat
Membuat sebuah website membutuhkan waktu yang tidak sebentar. Tapi dengan menggunakan framework kita tidak harus memulai semuanya dari awal untuk setiap projek
Tableless
Sebuah teknik dimana struktur website tidak menggunakan table pada layoutnya, melainkan dengan cara memisahkan data antara HTML dan CSS. Hal ini dilakukan agar lebih mudah dilakukan maintenance dan diakses oleh berbagai media aplikasi, berkurangnya kebutuhan bandwidth, dan yang lebih utama yaitu lebih SEO friendly.
Cross-browser Compatibility
Cross-browser compatibility ini memiliki pengertian bahwa website dapat diakses oleh berbagai browser.

Kekurangan Menggunakan CSS Framework

Selain kelebihan yang telah disebutkan di atas, terdapat juga kekurangan yang perlu diperhatikan jika menggunakan CSS Framework, diantaranya :
  • Membutuhkan waktu untuk mempelajari framework, karena CSS yang tersedia tidak dibuat sendiri.
  • Mengabaikan keunikan desain layout.
  • Kode menjadi mubazir karena tidak semua kode yang ada pada framework kita gunakan pada tampilan web yang dibuat.
  • Sulit untuk melakukan troubleshoot jika terdapat bug pada framework.
  • HTTP request yang berlebihan karena biasanya framework CSS memiliki data yang terpisah-pisah.





Sekian pengenalan mengenai CSS. InsyaAllah pada lain kesempatan akan dibuat tutorial khusus mengenai CSS dan berlanjut ke bahasa pemrograman lainnya. Terima kasih telah membaca. Semoga bermanfaat.

Pengertian dan Jenis-jenis Virtual Private Network (VPN)

February 13, 2016 Add Comment

Assalamu'alaikum...
Lebih dari sebulan ga posting nih. Postingan terakhir pun cuma buat tugas kuliah. Hehehe...sorry :p
Oke langsung saja, kali ini saya posting materi yg cukup ringan dulu aja mengenai Pengertian dan Jenis VPN. Selamat membaca....

Pengertian VPN

Apa itu VPN?
VPN (Virtual Private Network) adalah koneksi jaringan komputer pribadi (jaringan lokal/LAN) yang menggunakan jaringan nonpribadi (internet) untuk menghubungkan antara 2 titik (sebuah client dengan suatu jaringan lokal atau antar 2 jaringan lokal) dengan menekankan pada keamanan data dan akses global melalui internet. Konsep VPN disebut juga dengan tunneling, yang artinya VPN diibaratkan sebagai sebuah terowongan khusus yang hanya diketahui orang-orang tertentu untuk mengakses suatu lokasi ke lokasi lainnya.

Keuntungan VPN

Kalo kita lihat penjelasan mengenai pengertian VPN di atas, jadi pada intinya dengan VPN, 2 jaringan lokal dengan lokasi yang berbeda dapat saling terkoneksi secara privat. Di samping itu, kalo kita punya komputer/laptop/smartphone kita bisa juga mengakses jaringan lokal yang pake VPN. Misalnya kita lagi tugas di luar kantor, trus mau presentasi ke pelanggan tapi datanya tertinggal di server kantor. Kita tinggal buka laptop, akses menggunakan VPN, data presentasi pun bisa kita ambil.

Itu salah satu keuntungan besarnya kalo kita pake VPN. Jika dijabarkan, keuntungan-keuntungan yang bisa kita rasakan jika menggunakan VPN diantaranya :
1. Akses "dimana saja" ke suatu jaringan lokal melalui internet, misalnya ke jaringan kantor.
2. Kemudahan mengakses resource pada suatu jaringan lokal yang tidak dapat diakses dari luar secara langsung.
3. Keamanan dalam transfer data karena VPN menggunakan enkripsi pada lalulintas datanya.
4. Tidak sembarangan orang dapat mengakses VPN karena hanya user yang telah melewati proses autentikasi saja yang dapat menggunakan layanan VPN.
5. Bagi Network Administrator, VPN yang dipadukan dengan software remote lainnya (contoh : putty, Remote Desktop) dapat menjadi solusi remote access yang lebih aman untuk mengendalikan network resource perusahaannya.

Nah jadi untuk para pelaku IT, disarankan menggunakan VPN kalo mau remote ke tempat kerjanya, kalo pake software semacam TeamView*r kan berbayar, dan harus melewati luar negeri dulu untuk terkoneksi dengan komputer remote. Kalopun ada versi gratisnya, cuma beberapa menit harus mengulang koneksi kembali.
Dengan VPN selain lebih aman, gratis juga. Cuma agak ribet aja proses remote dan konfigurasinya :p
But this is just an option in my opinion, semua kembali kepada kebutuhan masing-masing mau pake konsep seperti apa. Oke next...

Komponen VPN

Agar terjalinnya sebuah ikatan koneksi antara kedua titik jaringan menggunakan VPN, maka diperlukan beberapa komponen yang diperlukan diantaranya :

1. Koneksi Internet

Sudah jelas, kata "virtual" dalam VPN berarti koneksi jaringan privat secara "tidak langsung", yang artinya VPN membutuhkan media internet agar dapat diaplikasikan. Jika ada sebuah private network antar dua lokasi tanpa melalui internet, hal itu disebut dengan leased line network.

2. IP Publik

IP Publik ini wajib diterapkan pada VPN Server agar dapat dikenali oleh client-nya melalui internet.

3. VPN Server

Sebuah VPN tidak dapat dilakukan tanpa adanya penyedia layanan VPN. VPN Server ini yang menerima koneksi privat dari suatu jaringan lain atau suatu client secara personal. VPN Server dapat diimplementasikan pada sebuah kantor.

4. VPN Account

Agar koneksi VPN dapat terjalin pasti membutuhkan autentikasi user dan password dari client-nya agar koneksi menjadi aman. VPN account ini dibuat pada VPN Server. Pada beberapa metode VPN juga diterapkan sistem keamanan yang lebih ketat seperti penggunaan certificate dan otorisasi user.

5. VPN Client

Seperti yang sudah disinggung di atas, ada 2 macam client yang dapat terkoneksi dengan VPN yaitu perangkat personal secara langsung (komputer/laptop/smartphone), dan sebuah jaringan lokal lainnya. Untuk perangkat personal, dibutuhkan software VPN Client seperti OpenVPN Client, PPTP Client Windows, dll. Tetapi jika client-nya adalah sebuah jaringan lokal lain seperti kantor, harus dipasang sebuah dedicated VPN Client yang biasanya diimplementasikan pada router/server firewall kantor tersebut.

Jenis-jenis VPN berdasarkan Protocol

Layanan VPN didukung oleh beberapa protokol komunikasi data, yang mana tiap protokol tersebut memiliki konsep keamanan yang berbeda-beda.
- Point-to-Point Transfer Protocol (PPTP)
-.Layer 2 Transfer Protocol (L2TP)
- Secure Socket Layer/Transport Layer Security (SSL/TLS)
- Secure Socket Tunneling Protocol (SSTP)
- Internet Key Exchange (IKEv2)
- Routing Protocols (MPLS/BGP)

Semua protokol memiliki kelebihan dan kekurangan masing-masing. Yang lebih aman biasanya memiliki cara konfigurasi yang lebih sulit, dan sebaliknya. Sebagai contoh, PPTP merupakan VPN yang paling mudah dibuat tetapi memiliki tingkat keamanan yang paling rendah dibandingkan dengan protokol lain.

Jenis-jenis VPN berdasarkan Koneksi/Topologi

1. Jaringan Privat melalui ISP

VPN dengan konsep ini merupakan sebuah layanan yang disediakan oleh Internet Service Provider bagi perusahaan-perusahaan besar yang ingin menghubungkan kantor pusat dengan cabang-cabangnya melalui koneksi privat yang aman. VPN jenis ini biasanya menggunakan konsep MPLS dengan BGP Routing. Meskipun tidak secara langsung melalui internet (hanya melalui jaringan ISP), VPN ini tidak termasuk leased line karena ada peran ISP yang membuat saluran "tidak langsung" antar jaringan perusahaan tersebut, tetapi juga dapat melakukan routing menuju internet. VPN dengan konsep ini memakan biaya yang lebih besar namun dengan keamanan yang sangat tangguh.

2. VPN Site to Site

VPN jenis ini menghubungkan kedua jaringan lokal, misalnya kantor pusat dengan kantor cabang. Bedanya, VPN SIte to Site tidak memerlukan peran ISP dalam implementasinya. Semua konfigurasi dapat dilakukan oleh pelaku/vendor IT pada jaringan tersebut. Pada satu site dibuatkan sebuah dedicated VPN Server dan di site lain dibuatkan sebuah dedicated VPN Client sehingga kedua jaringan lokal ini dapat saling terhubung melalui jaringan private. Koneksi "tunneling" VPN ini melalui internet, tidak hanya melalui ISP saja. VPN ini memakan biaya yang murah dengan keamanan yang disesuaikan dengan protokol VPN yang digunakan (PPTP/L2TP/lainnya).

3. Road Warrior

Istilah yang terdengar lebih keren dari sebelumnya :D
Road Warrior di sini berarti koneksi VPN yang menghubungkan perangkat personal (PC/Laptop/Smartphone) dengan suatu jaringan lokal melalui internet dengan menggunakan VPN. Ibaratnya Si "Ksatria Jalanan" yang menyendiri ini menempuh sebuah "terowongan" untuk mencapai "suatu lokasi". Misalnya kita memiliki smartphone dengan koneksi internet dari provider telekomunikasi dan memiliki software VPN Client, dapat mengakses resource jaringan kantor kita dari mana saja. Keren kan? That is The Road Warrior.
Layanan VPN jenis ini bisa juga dikombinasikan dengan VPN Site to Site sehingga tidak hanya antar jaringan lokal saja, tetapi juga dapat menghubungkan dengan perangkat personal.



Segitu dulu penjelasan mengenai Pengertian dan Jenis-Jenis VPN. Seperti biasa, jika ada yang mau ditanyakan silakan isi di kolom komentar atau bisa juga melalui FB (twitter dan G+ jarang dibuka :p). Share blog ini jika perlu, tapi akan lebih baik jika temen-temen bisa share ilmu dan pengetahuan masing-masing kepada yang membutuhkan :)
Wassalam...