• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
22
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

Pada bab ini akan dijelaskan tentang beberapa teori yang berhubungan dengan pembuatan skripsi yang menjadi landasan teori dalam pembahasan nantinya. Teori berisi definis-definisi maupun penjelasan dari alat-alat (tools) yang akan digunakan.

2.1Definisi Sistem

Sistem didefinisikan sebagai kumpulan elemen yang saling berhubungan dan berinteraksi dalam satu kesatuan untuk menjalankan suatu proses pencapaian suatu tujuan utama (Sutarman, 2009).

Terdapat dua kelompok pendekatan di dalam mendefinisikan sistem yaitu yang menekankan pada prosedurnya dan yang menekankan pada komponennya atau elemennya. Pendekatan sistem yang lebih menekankan pada prosedur mendefinisikan sistem sebagai suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu, sedangkan pendekatan sistem yang lebih menekankan pada elemen atau komponennya mendefinisikan sistem sebagai kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu (Jogiyanto, 2005).

Suatu sistem mempunyai maksud tertentu, diantaranya menyebutkan sistem adalah untuk mencapai suatu tujuan (goal) dan ada yang menyebutkan untuk mencapai suatu sasaran (objektif). Goal biasanya dihubungkan dengan lingkup yang lebih luas dan sasaran dalam ruang lingkup yang lebih sempit tergantung dari ruang lingkup dari mana memandang sistem tersebut.

(2)

2.1.1 Karakteristik Sistem

Dalam pengembangan suatu perangkat lunak khususnya pembuatan sistem, perlu adanya suatu pemahaman terhadap karakteristik yang akan dibuat nantinya. Sistem memiliki delapan karakteristik atau sifat-sifat tertentu untuk menggambarkannya, yaitu:

1. Komponen (component)

Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk satu kesatuan. Komponen-komponen sistem atau elemn-elemen sistem dapat berupa sesuatu subsistem atau bagian-bagian dari sistem. Setiap subsistem mempunyai sifat-sifat dari sistem untuk menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan.

2. Batas sistem (boundary)

Batasan sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan. Batas suatu sistem menunjukkan ruang lingkup (scope) dari sistem tersebut.

3. Lingkungan luar sistem (environments)

Lingkungan luar dari suatu sistem adalah apapun diluar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan dapat juga bersifat merugikan sistem tersebut. Lingkungan luar yang menguntungkan merupakan energi dari sistem dan dengan demikian harus tetap dijaga dan dipelihara. Sedang lingkungan luar yang merugikan harus ditahan dan dikendalikan, kalau tidak maka akan mengganggu kelangsungan hidup dari sistem.

4. Penghubung sistem (interface)

Penghubung sistem merupakan media penghubung antara satu subsistem dengan subsistem lainnya. Melalui penghubung ini memungkinkan sumber-sumber daya mengalir dari satu subsistem ke yang lainnya. Keluaran (output) dari satu subsistem akan menjadi masukan (input) untuk subsistem lainnya dengan melalui penghubung. Dengan penghubung satu subsistem dapat berintegrasi dengan subsistem yang lainnya membentuk satu kesatuan.

(3)

5. Masukan (Input)

Masukan sistem adalah energi yang dimasukkan ke dalam sistem. Masukan dapat berupa masukan perawatan (maintenance input) dan masukan sinyal (signal input). Maintenance input adalah energi yang dimasukkan supaya sistem tersebut dapat beroperasi. Signal input adalah energi yang diproses untuk didapatkan keluaran. Sebagai contoh didalam sistem komputer, program adalah maintenance input yang digunakan untuk mengoperasikan komputernya dan data adalah signal input untuk diolah menjadi informasi.

6. Keluaran (output)

Keluaran sistem adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. Keluaran dapat merupakan masukan untuk subsistem yang lain atau kepada supersistem. Misalnya untuk sistem komputer, panas yang dihasilkan adalah keluaran yang tidak berguna dan merupakan hasil sisa pembuangan, sedang informasi adalah keluaran yang dibutuhkan.

7. Pengolah (process)

Suatu sistem dapat mempunyai satu bagian pengolah yang akan merubah masukan menjadi keluaran. Suatu sistem produksi akan mengolah masukan berupa bahan baku dan bahan-bahan yang lain menjadi keluaran berupa barang jadi. Sistem akutansi akan mengolah data transaksi menjadi laporan keuangan dan laporan lain yang dibutuhkan oleh manajemen.

8. Sasaran (objekctives) atau tujuan (goal)

Suatu sistem pasti mempunyai sasaran (objective) atau tujuan (goal). Sasaran dari sistem sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem.

2.2 Perancangan Model Berorientasi Objek

Analisis dan desain berorientasi objek adalah cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek yang merupakan kombinasi struktur data dan perilaku dalam satu entitas. Pengertian berorientasi objek berarti bahwa mengorganisasikan perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya.

(4)

Munculnya ide object oriented ini berawal dari suatu bahasa pemrograman yang pertama kali menggunakan notasi objek (object), yaitu bahasa simulasi, yang merupakan bahasa pemrograman untuk simulasi komputer. Untuk keperluan simulasi, dibutuhkan suatu model objek yang sesgungguhnya (real object) sebagai “object” software, artinya objek sesunggunya tersebut tidak terpecah dalam bentuk program dan data secara terpisah

Segala sesuatunya pada umumnya berawal dari upaya pemahaman permasalahan secara tuntas (analisis), perancangan perangkat lunak yang akan dikembangkan (desain), baru kemudian dilanjutkan dengan implementasi (penulisan hasil perancangan dengan bahasa pemrograman tertentu), dan diakhiri dengan pengujian (testing), agar perangkat lunak benar-benar sesuai kebutuhan dan harapan pengguna (Nugroho, 2009).

Kelebihan dari object-oriented ini adalah reusbability, yang membuat software cukup general dan tidak hanya berlaku pada object-object yang ada, tetapi juga dapat berlaku pada object-object yang ditambahkan kemudian; dan extensibility , yang memudahkan pemakai untuk menambah operasi-operasi baru pada object sesuai dengan perkembangan (Sutedjo, 2002).

Pemodelan sesungguhnya digunakan untuk menyederhanakan permasalahan. Sasaran model sesunggunya adalah abstraksi dari segala sesuatu yang ada pada dunia nyata. Adapun tujuan pemodelan (dalam kerangka pengembangan sistem/perangkat lunak aplikasi) adalah sebagai suatu sarana visualisasi dan komunikasi, sebagai sarana dokumentasi yang bermanfaat untuk menelaah prilaku sistem secara seksama dan bermanfaat untuk menguji (testing) sistem yang telah dikembangkan.

2.3 Rekayasa Perangkat Lunak

Metode rekayasa perangkat lunak adalah bagaimana perangkat lunak itu dibuat, apa saja yang dibutuhkan sampai perangkat lunak/aplikasi tersebut siap digunakan dan langkah apa yang harus dilaksanakan dalam prosesnya. Metode rekayasa perangkat lunak terdiri atas beberapa jenis, diantaranya metode air terjun (waterfall), metode pembaruan sumber daya, metode spiral, dan lain sebagainya.

(5)

Pengembangan dan pembangunan sebuah sistem harus memiliki platform yang dijadikan sebagai landasan kerja. Tahapan ini dikenal dengan istilah Siklus Hidup Pengembangan System Development Life Cycle (SDLC). Pemilihan SDLC disesuaikan dengan bentuk organisasi dan operasional.

Salah satu strategi yang sering dipakai sebagai model proses atau paradigma rekayasa perangkat lunak yaitu dengan menggunakan model waterfall. Model waterfall merupakan pendekatan perangkat lunak yang sistematik dan sekuensial yang dimulai dari tahap analisis, desain, kode, pengujian, dan pemeliharaaan.

Model ini mengusulkan sebuah pendekatan pengembangan perangkat lunak yang sistematik dan sekuensial yang dimulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Secara sederhana dapat dikatakan tahapan akan dilanjutkan jika tahapan sebelumnya telah selesai dilaksanakan. Model ini mengikuti aktivitas-aktivitas berikut:

1. Rekayasa dan pemodelan sistem/informasi

Aktivitas ini berupa membangun syarat semua elemen sistem dan mengalokasikannya ke perangkat lunak dengan memperhatikan korelasinya dengan manusia, perangkat keras dan database.

2. Analisis kebutuhan perangkat lunak

Proses menganalisis dan pengumpulan kebutuhan sistem yang sesuai dengan domain informasi tingkah laku, unjuk kerja, dan antar muka (interface) yang diperlukan. Kebutuhan-kebutuhan tersebut didokumentasikan dan disesuaikan dengan pengguna.

3. Desain

Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat pengkodeannya. Proses ini berfokus pada struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural.

4. Pengkodean

Pengkodean merupakan proses menerjemahkan desain ke dalam suatu bahasa yang bisa dimengerti oleh komputer.

(6)

5. Pengujian

Tahapan ini merupakan proses pengujian logika hasil penerjemahan algoritma kedalam bahasa pemrograman, evaluasinya dalam operasional organisasi dan pengolahan hasil umpan balik dari pengguna sistem.

6. Pemeliharaan

Tahapan ini merupakan tahapan paling akhir dalam suatu proses pengembangan dan pembangunan sistem informasi. Hal ini dilakukan agar kinerja sistem yang dibangun tetap handal baik secara teknik maupun sistemik.

2.4 Alat Bantu pemodelan Sistem

Untuk merancang sebuah sistem yang baik, maka dibutuhkan beberapa tools atau alat bantu guna mempermudah merepresentasikan sistem tersebut baik secara umum maupun detilnya. Berikut merupakan alat bantu perancangan sistem yang digunakan dalam pembuatan sistem.

2.5 Diagram Konteks dan Data Flow Diagram (DFD)

Diagram konteks merupakan pola pengembangan yang berfungsi untuk memperlihatkan suatu interaksi sistem informasi dengan lingkungan dimana sistem tersebut ditempatkan (Sutedjo, 2002).

DFD merupakan sebuah teknik grafis yang menggambarkan aliran informasi dan transformasi yang diaplikasikan pada saat data bergerak dari input menjadi output. DFD dapat digunakan untuk merepresentasikan sistem atau software pada beragam tingkat abstraks. Dalam penggambaranya, sistem dianggap sebagai sebuah objek yang tidak dijelaskan secara rinci karena yang ditekankan adalah interaksi sistem dengan lingkungan yang akan mengaksesnya. Penggambaran biasanya juga menyertakan data flow diagram daftar kejadian (DFD Event List) yang mungkin terjadi dari setiap departemen atau pihak-pihak baik internal maupun eksternal perusahaan yang berinteraksi dengan sistem.

Berikut adalah simbol-simbol yang digunakan didalam memodelkan DFD menggunakan notasi Gane dan Sarson:

(7)

1. Pelaku Eksternal (external agent)

Pelaku eksternal mendefinisikan kesatuan dilingkungan luar sistem yang dapat berupa orang, unit, organisasi, waktu ataupun sistem lain yang dapat berinteraksi dengan sistem seperti memberikan input atau menerima output dari sistem. Pelaku eksternal disimbolkan dengan persegi empat seperti Gambar 2.1.

Pelaku Eksternal

Gambar 2.1 Simbol Pelaku Eksternal

2. Proses

Proses menggambarkan bagian dari sistem yang mentransformasikan masukan menjadi keluaran. Proses menggambarkan satu atau lebih masukan diubah menjadi keluaran. Proses disimbolkan dengan persegi panjang bersudut tumpul seperti yang terlihat pada Gambar 2.2.

No.

Proses

Gambar 2.2 Simbol Proses 3. Simpanan Data (data store)

Simpanan data digunakan untuk menggambarkan sekumpulan data yang diam (data at rest) didalam suatu wadah penampung data (umumnya berkas atau database). Simpanan data berhubungan dengan semua contoh entitas tunggal didalam model data. Simpanan data disimbolkan dengan persegi panjang dengan ujung terbuka seperti Gambar 2.3.

No. Simpanan Data

(8)

4. Aliran Data (data flow) atau Flowchart

Flowchart adalah representasi grafik dari langkah-langkah yang harus diikuti dalam menyelesaikan suatu permasalahan yang terdiri atas sekumpulan simbol, dimana masing-masing simbol merepresentasikan suatu kegiatan tertentu. Flowchart diawali dengan penerimaan input, pemrosesan input, dan diakhiri dengan penampilan output.

Flowchart digunakan untuk menggambarkan paket informasi dari suatu bagian sistem ke bagian sistem yang lainnya. Oleh karena itu aliran data menggambarkan data yang bergerak (data in motion). Flowchart disimbolkan dengan panah yang menuju atau keluar dari suatu proses seperti diperlihatkan pada Gambar 2.4.

Aliran Data

Gambar 2.4 Simbol Aliran Data

Flowchart adalah penyajian yang sistematis tentang proses dan logika dari kegiatan penanganan informasi atau penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam bagian-bagian yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. System flowchart adalah urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data. Program flowchart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.

Bagi seorang analis dan programmer yang akan merancang sistem hendaklah memimiliki pedoman-pedoman dalam membuat flowchart, ada beberapa hal yang perlu diperhatikan diantaranya adalah sebagai berikut:

1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.

2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.

(9)

4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja.

5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.

6. Lingkup range dari aktivitas yang sedang digambarkan harus ditelusuri dengan hati-hati. Percabangan-percangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakkan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.

7. Gunakan simbol-simbol flowchart yang standar.

2.6 Entity Relationship Diagram (ERD)

Pemodelan data merupakan teknik untuk mendefinisikan persyaratan bisnis untuk sebuah database. Pemodelan data menggunakan Entity Relationship Diagram (ERD) untuk menjelaskan data dalam konteks entitas dan hubungan yang digambarkan oleh data tersebut. ERD memungkinkan perekayasa perangkat lunak mengidentifikasi objek data dan hubungannya dengan menggunakan notasi grafis. Pada konteks analisis terstruktur, ERD menetapkan semua data yang dimasukkan, ditransformasi, dan diproduksi pada suatu aplikasi.

Entity Relationship Diagram (ERD) merupakan gambaran sistematis model data yang berisi himpunan entitas dan himpunan relasi yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan seluruh fakta. Berikut adalah notasi-notasi yang digunakan dalam ERD.

1. Entitas

Entitas merupakan sesuatu yang diperlukan bisnis untuk menyimpan data. Entitas merupakan sesuatu atau objek di dunia nyata yang dapat dibedakan dari sesuatu atau objek lainnya. Entitas dapat berupa orang, tempat, objek, peristiwa, dan konsep. Entitas disimbolkan dengan persegi panjang seperti diperlihatkan pada Gambar 2.5.

Entitas

(10)

2. Atribut

Atribut merupakan sifat atau karakteristik deskriptif suatu entitas. Simbol untuk menyatakan suatu atribut biasa diperlihatkan pada Gambar 2.6.

Gambar 2.6 Simbol Atribut Biasa Atribut dapat dibagi secara logis menjadi tiga jenis, yaitu: a. Atribut Komposit

Atribut komposit merupakan atribut yang dapat dipecah menjadi atribut-atribut lainnya. Simbol atribut komposit diperlihatkan pada Gambar 2.7.

Gambar 2.7 Simbol Atribut Komposit

b. Atribut Bernilai Banyak

Atribut berniali banyak merupakan atribut yang memiliki nilai lebih dari satu untuk suatu entitas tertentu. Simbol atribut bernilai banyak diperlihatkan pada Gambar 2.8.

Gambar 2.8 Simbol Atribut Bernilai Banyak c. Atribut Turunan

Atribut turunan merupakan atribut yang nilainya bisa didapatkan dari atribut yang lainnya. Simbol atribut turunan diperlihatkan pada Gambar 2.9.

(11)

Gambar 2.9 Simbol Atribut Turunan 3. Hubungan (relation)

Hubungan merupakan asosiasi bisnis alami antara satu entitas atau lebih. Hubungan dapat menyatakan kejadian yang menghubungkan entitas atau hanya persamaan logika yang ada di antara entitas. Hubungan selalu dibaca dari entitas induk (yang memiliki kardinalitas minimum) ke entitas anak (yang memiliki kardinalitas maksimum). Simbol hubungan diperlihatkan pada Gambar 2.10.

Gambar 2.10 Simbol Hubungan

Di dalam ERD terdapat tingkatan hubungan antar entitas dilihat dari segi banyak atau tidaknya hubungan antar entitas tersebut. Hal ini disebut konsep kardinalitas. Kardinalitas merupakan spesifikasi dari sejumlah peristiwa dari satu objek yang dapat dihubungkan ke sejumlah peristiwa dari objek yang lain. Kardinalitas mendefinisikan jumlah maksimum dari hubungan objek yang ikut serta didalam sebuah hubungan. Tetapi tidak memberikan sebuah indikasi apakah objek data tertentu harus berpartisipasi didalam hubungan atau tidak. Kardinalitas relasi yang terjadi diantara dua himpunan entitas dapat berupa:

1. Satu ke satu (1:1)

Suatu kejadian dari entitas ‘A’ dapat berhubungan dengan satu dan hanya satu kejadian pada entitas ‘B’ dan sebuah kejadian dari entitas ‘B’ hanya dapat berhubungan dengan satu kejadian pada entitas ‘A’.

2. Satu ke banyak (1:N)

Suatu kejadian dari entitas ‘A’ dapat berhubungan dengan satu atau lebih kejadian dari entitas ‘B’, tetapi sebuah kejadian dari entitas ‘B’ hanya dapat berhubungan dengan satu kejadian dari entitas ‘A’.

(12)

Suatu kejadian dari entitas ‘A’ dapat berhubungan dengan satu atau lebih kejadian dari entitas ‘B’, sementara sebuah kejadian dari entitas ‘B’ dapat berhubungan dengan satu atau lebih kejadian dari entitas ‘A’.

Modalitas mendefinisikan jumlah minimum dari hubungan objek yang ikut serta dalam sebuah hubungan. Modalitas dari suatu hubungan adalah 0 (nol) jika tidak ada kebutuhan eksplisit untuk hubungan yang terjadi atau hubungan tersebut bersifat opsional. Modalitas bernilai satu jika suatu kejadian dari hubungan merupakan perintah.

Karena semua hubungan bersifat dua arah, maka kardinalitas dan modalitas harus didefinisikan untuk setiap hubungan. Notasi grafis yang digunakan untuk menggambarkan kardinalitas dan modalitas diperlihatkan pada Tabel 2.1.

Tabel 2.1 Notasi Kardinalitas dan Modalitas

2.7 Normalisasi

Elemen-elemen data dipelajari untuk membuat struktur database menjadi lebih efisien. Proses ini disebut normalisasi yang tugasnya adalah menyesuaikan data sehingga memenuhi serangkaian bentuk-bentuk normal.

Normalisasi dapat dipahami sebagai tahapan-tahapan yang masing-masing berhubungan dengan bentuk normal. Bentuk normal adalah keadaan relasi yang dihasilkan dengan menerapkan aturan sederhana berkaitan dengan konsep kebergantungan fungsional

Interpretasi Modalitas Kardinalitas Notasi Grafis

Tepat satu 1 1

Nol atau satu 0 1

Satu atau lebih 1 > 1

Nol, satu atau lebih 0 > 1

(13)

(functional dependency) pada relasi yang bersangkutan. Secara garis besar, tahapan normalisasi adalah sebagai berikut:

1. Bentuk Normal Pertama (1NF/First Normal Form)

Bentuk normal pertama adalah suatu bentuk relasi dimana atribut bernilai banyak (multivalues attribute) telah dihilangkan sehingga akan dijumpai nilai tunggal pada perpotongan setiap baris dan kolom pada tabel.

2. Bentuk Normal Kedua (2NF/Second Normal Form)

Semua kebergantungan fungsional yang bersifat sebagian (partial functional dependency) telah dihilangkan dengan cara membuat field bukan kunci (non key field) bergantung sepenuhnya pada field kunci (primary key).

3. Bentuk Normal Ketiga (3NF/Third Normal Form)

Semua kebergantungan transitif (transitive dependency) telah dihilangkan dengan cara membuat field yang masih bergantung pada field lain hanya bergantung pada primary key.

4. Bentuk Normal Boyce-Codd (BCNF/Boyce Codd Normal Form)

Semua anomali yang tersisa dari hasil penyempurnaan kebergantungan fungsional telah dihilangkan.

5. Bentuk Normal Keempat (4NF/Fourth Normal Form)

Semua kebergantungan bernilai banyak (multivalued dependencies) telah dihilangkan.

6. Bentuk Normal Kelima (5NF/Fifth Normal Form)

Pada bentuk 5NF, semua anomali yang tertinggal telah dihilangkan.

Langkah-langkah normalisasi terus dilakukan dalam tahapan analisis model data sehingga tidak ditemukan anomali-anomali lagi (baik anomali penyisipan, penghapusan, maupun pembaharuan). Pada praktiknya, normalisasi hingga 3NF seringkali sudah cukup memadai untuk menghilangkan anomali-anomali tersebut, namun bentuk BCNF, 4NF dan 5NF juga dilakukan untuk lebih mengefisienkan perancangan database. Tetapi tidak ada standar baku sampai sejauh mana perlu melaksanakan langkah-langkah normalisasi.

(14)

2.8Virtual Private Network (VPN)

Menurut Internet Engineering Task Force (IETF), Virtual Private Network atau disingkat dengan VPN merupakan suatu bentuk private internet yang melalui public network (internet), dengan menekankan pada keamanan data dan akses global melalui internet. Hubungan ini dibangun melalui suatu tunnel (terowongan) virtual antara 2 node.

VPN adalah variasi lain dari skema jaringan yang dibangun sebagai jaringan khusus dengan menggunakan jaringan internet umum. Karena menggunakan jaringan internet, sebuah perusahaan yang membuat WAN (Wide Area Network) berbasis VPN ini mampu menjangkau area yang sangat luas dan lintas geografi. VPN menyediakan koneksi poin-to-poin baik kepada kantor cabang maupun kepada seorang karyawan yang sedang bertugas ditempat lain. Hal ini dapat menjadi jaringan khusus yang besar dan tidak terbatas. Sebuah WAN khusus yang jauh lebih efisien, aman dan berbiaya ekonomis dari WAN atau LAN tradisional. Sehingga telah banyak perusahaan-perusahaan yang menggunakan VPN sebagai infrastruktur jaringannya yang menghubungkan antara kantor pusat dengan kantor cabang dan dengan agen serta client nya.

Dalam penggunaan sebagai jaringan khusus ini, VPN di set sedemikian rupa dengan sebuah software dan hardware dengan protocol tertentu yang akan digunakan untuk otentikasi antar user dan untuk penyandian jaringannya. Umumnya VPN dipasangi firewall di dekat servernya yang berfungsi untuk menyaring sehingga hanya client yang telah terdaftar saja yang dilayani. VPN mengenkripsi traffic sehingga eavesdropper dan hacker tidak dapat membaca atau memodifikasinya. VPN mampu mengamankan hubungan melalui internet, antar jaringan, atau dari user dial-up yang mengakses jaringan internal (Raharjo, 2004)

VPN menggunakan teknik kriptografi untuk melindungi informasi IP saat melintas dari satu jaringan ke jaringan yang lain atau dari lokasi satu ke lokasi lain. Data dibungkus dengan teknik tunnel yang akan mengenskipsi dan mengisolasi data sehingga dapat menggunakan jaringan lalu lintas publik dengan lebih aman (Mulyanta, 2005).

Perpaduan teknologi tunneling dan enkripsi membuat VPN menjadi teknologi yang luar biasa dan membantu banyak sekali pekerjaan penggunanya. Kedua teknologi ini harus dipadukan untuk mendapatkan hasil yang sempurna, yaitu komunikasi data aman dan efisien.

(15)

Aman berarti data Anda tetap terjaga kerahasiaan dan keutuhannya. Tidak sembarang pihak dapat menangkap dan membaca data, meskipun data tersebut lalu-lalang di jalur komunikasi publik. Keutuhan yang tetap terjaga maksudnya tidak sembarang orang dapat mengacaukan isi dan alur data. Untuk itulah, mengapa kedua teknologi ini sangat berperan penting dalam terbentuknya solusi komunikasi VPN.

2.8.1 Teknologi Tunelling

Untuk membuat sebuah tunnel, diperlukan sebuah protokol pengaturnya sehingga tunnel secara logika ini dapat berjalan dengan baik bagaikan koneksi point-to-point sungguhan. Saat ini, tersedia banyak sekali protokol pembuat tunnel yang bisa digunakan. Namun, tunneling protocol yang paling umum dan paling banyak digunakan terdiri dari tiga jenis yaitu : Layer 2 Tunneling Protocol (L2TP), Generic Routing Encapsulation (GRE, IP Security Protocol (IPSec).

2.8.2 Layer 2 Tunneling Protocol (L2TP)

L2TP adalah sebuah tunneling protocol yang memadukan dan mengkombinasikan dua buah tunneling protocol yang bersifat proprietary, yaitu L2F (Layer 2 Forwarding) milik CISCO Systems dengan PPTP (Point-to-Point Tunneling Protocol) milik Microsoft.

Pada awalnya, semua produk CISCO menggunakan L2F untuk mengurus tunneling-nya, sedangkan operating system Microsoft yang terdahulu hanya menggunakan PPTP untuk melayani penggunanya yang ingin bermain dengan tunnel. Namun saat ini, Microsoft Windows NT/2000 telah dapat menggunakan PPTP atau L2TP dalam teknologi VPN-nya.

L2TP biasanya digunakan dalam membuat Virtual Private Dial Network (VPDN) yang dapat bekerja membawa semua jenis protokol komunikasi didalamnya. Selain itu, L2TP juga bersifat media independen karena dapat bekerja di atas media apapun. L2TP memungkinkan penggunanya untuk tetap dapat terkoneksi dengan jaringan lokal milik mereka dengan policy keamanan yang sama dan dari manapun mereka berada, melalui koneksi VPN atau VPDN. Koneksi ini sering kali dianggap sebagai sarana memperpanjang jaringan lokal milik penggunanya, namun melalui media publik.

(16)

Namun, teknologi tunneling ini tidak memiliki mekanisme untuk menyediakan fasilitas enkripsi karena memang benar-benar murni hanya membentuk jaringan tunnel. Selain itu, apa yang lalu-lalang di dalam tunnel ini dapat ditangkap dan dimonitor dengan menggunakan protocol analyzer

2.8.3 Generic Routing Encapsulation (GRE)

Protokol tunneling yang satu ini memiliki kemampuan membawa lebih dari satu jenis protokol pengalamatan komunikasi. Bukan hanya paket beralamat IP saja yang dapat dibawanya, melainkan banyak paket protokol lain seperti CNLP, IPX, dan banyak lagi. Namun, semua itu dibungkus atau dienkapsulasi menjadi sebuah paket yang bersistem pengalamatan IP. Kemudian paket tersebut didistribusikan melalui sistem tunnel yang juga bekerja di atas protokol komunikasi IP.

Dengan menggunakan tunneling GRE, router yang ada pada ujung-ujung tunnel melakukan enkapsulasi paket-paket protokol lain di dalam header dari protokol IP. Hal ini akan membuat paket-paket tadi dapat dibawa ke manapun dengan cara dan metode yang terdapat pada teknologi IP. Dengan adanya kemampuan ini, maka protokol-protokol yang dibawa oleh paket IP tersebut dapat lebih bebas bergerak ke manapun lokasi yang dituju, asalkan terjangkau secara pengalamatan IP.

Aplikasi yang cukup banyak menggunakan bantuan protokol tunneling ini adalah menggabungkan jaringan-jaringan lokal yang terpisah secara jarak kembali dapat berkomunikasi. Atau dengan kata lain, GRP banyak digunakan untuk memperpanjang dan mengekspansi jaringan lokal yang dimiliki si penggunanya. Meski cukup banyak digunakan, GRE juga tidak menyediakan sistem enkripsi data yang lalu-lalang di tunnel-nya, sehingga semua aktivitas datanya dapat dimonitor menggunakan protocol analyzer biasa saja.

2.8.4 IP Security Protocol (IPSec)

IPSec adalah sebuat pilihan tunneling protocol yang sangat tepat untuk digunakan dalam VPN level korporat. IPSec merupakan protokol yang bersifat open standar yang dapat menyediakan keamanan data, keutuhan data, dan otentikasi data antara kedua peer yang berpartisipasi di dalamnya.

(17)

IPSec menyediakan sistem keamanan data seperti ini dengan menggunakan sebuah metode pengaman yang bernama Internet Key Exchange (IKE). IKE ini bertugas untuk menangani masalah negosiasi dari protokol-protokol dan algoritma pengamanan yang diciptakan berdasarkan dari policy yang diterapkan pada jaringan si pengguna. IKE pada akhirnya akan menghasilkan sebuah sistem enkripsi dan kunci pengamannya yang akan digunakan untuk otentikasi pada sistem IPSec ini.

2.8.5 Teknologi Enkripsi dalam VPN

Selain teknologi tunneling, teknologi enkripsi dalam VPN juga sangat bervariasi. Sebenarnya teknologi enkripsi bukan hanya milik VPN saja, namun sangat luas penggunaannya. Enkripsi bertugas untuk menjaga privasi dan kerahasiaan data agar tidak dapat dengan mudah dibaca oleh pihak yang tidak berhak. Secara garis besar teknik enkripsi terbagi atas dua jenis, yaitu:

2.8.6 Symmetric Encryption

Symmetric Encryption dikenal juga dengan nama sebutan secret key encryption. Enkripsi jenis ini banyak digunakan dalam proses enkripsi data dalam volume yang besar. Selama masa komunikasi data, perangkat jaringan yang memiliki kemampuan enkripsi jenis ini akan mengubah data yang berupa teks murni (cleartext) menjadi berbentuk teks yang telah diacak atau istilahnya adalah ciphertext. Teks acak ini tentu dibuat dengan menggunakan algoritma. Teks acak ini sangat tidak mudah untuk dibaca, sehingga keamanan data Anda terjaga.

Digital Encryption Standar (DES) merupakan sebuah algoritma standar yang digunakan untuk membuat proses symmetric encryption ini. Algoritma ini diklaim sebagai yang paling umum digunakan saat ini. Algoritma DES beroperasi dalam satuan 64-bit blok data. Maksudnya, algoritma ini akan menjalankan serangkaian proses pengacakan 64-bit data yang masuk untuk kemudian dikeluarkan menjadi 64-bit data acak. Proses tersebut menggunakan 64-bit kunci di mana 56-bit-nya dipilih secara acak, 8 bit nya berasal dari parity bit dari data Anda. Kedelapan bit tersebut diselipkan di antara ke 56-bit tadi. Kunci yang dihasilkan kemudian dikirimkan ke si penerima data.

(18)

Dengan sistem enkripsi demikian, DES tidaklah mudah untuk ditaklukkan Namun seiring perkembangan teknologi, DES sudah bisa dibongkar dengan menggunakan superkomputer dalam waktu beberapa hari saja. Alternatif untuk DES adalah triple DES (3DES) yang melakukan proses dalam DES sebanyak tiga kali. Jadi kunci yang dihasilkan dan dibutuhkan untuk membuka enkripsi adalah sebanyak tiga buah.

2.8.7 Asymmetric Encryption

Enkripsi jenis ini sering disebut sebagai sistem public key encryption. Proses enkripsi jenis ini bisa menggunakan algoritma apa saja, namun hasil enkripsi dari algoritma ini akan berfungsi sebagai pelengkap dalam mengacakan dan penyusunan data. Dalam enkripsi jenis ini diperlukan dua buah kunci pengaman yang berbeda, namun saling berkaitan dalam proses algoritmanya. Kedua kunci pengaman ini sering disebut dengan istilah Public Key dan Private Key.

Sebagai contohnya, Andi dan Budi ingin berkomunikasi aman dengan menggunakan sistem enkripsi ini. Untuk itu, keduanya harus memiliki public key dan private key terlebih dahulu. Andi harus memiliki public dan private key, begitu juga dengan Budi. Ketika proses komunikasi dimulai, mereka akan menggunakan kunci-kunci yang berbeda untuk mengenkrip dan mendekrip data. Kunci boleh berbeda, namun data dapat dihantarkan dengan mulus berkat algoritma yang sama.

Mekanisme pembuatan public dan private key ini cukup kompleks. Biasanya key-key ini di-generate menggunakan generator yang menjalankan algoritma RSA (Ron Rivest, Adi Shamir, Leonard Adleman) atau EL Gamal. Hasil dari generator ini biasanya adalah dua buah susunan angka acak yang sangat besar. Satu angka acak berfungsi sebagai public key dan satu lagi untuk private key. Angka-angka acak ini memang harus dibuat sebanyak dan seacak mungkin untuk memperkuat keunikan dari key-key Anda.

Menggenerasi key-key ini sangat membutuhkan proses CPU yang tinggi. Maka itu, proses ini tidak bisa dilakukan setiap kali melakukan transaksi data. Dengan kata lain, enkripsi jenis ini tidak pernah digunakan untuk mengamankan data yang sesungguhnya

(19)

karena sifatnya yang kompleks ini. Meskipun demikian, enkripsi ini akan sangat efektif dalam proses otentikasi data dan aplikasinya yang melibatkan sistem digital signature dan key management.

2.8.8 Aman dan Nyaman

VPN memang terbentuk dari perpaduan kedua teknologi yang telah dijabarkan secara garis besar di atas. Ada sebuah prinsip yang berkembang di kalangan praktisi komunikasi data yang mengatakan bahwa “komunikasi data yang aman tidak akan pernah nyaman”. Prinsip tersebut mungkin ada kalanya benar, di mana kita harus membuat policy-policy yang memusingkan kepala, teknik-teknik tunneling dan enkripsi apa yang akan kita gunakan, dan rule-rule yang sangat ketat dan teliti untuk menghadang semua pengacau yang tidak berhak mengakses data. Namun, teknologi VPN mungkin bisa dikecualikan dalam prinsip tersebut.

Apabila secara bahasa yang mudah VPN itu sebagai berikut, VPN adalah sebuah bentuk dari WAN (Wide Area Network). Kunci utama dari VPN, adalah pada kemampuannya menggunakan jaringan public seperti internet untuk mengakses jaringan lain seolah-olah kita mengakses jaringan lokal. Misalnya saja ada perusahaan besar yang mempunyai beberapa cabang, tiap-tiap cabang letaknya berjauhan, komputer client di tiap cabang dapat saling terhubung dengan komputer client di cabang lainnya dengan menggunakan teknologi VPN. VPN-nya sendiri menggunakan jalur internet sebagai koneksi. Bisa dibilang teknologi ini dapat menekan biaya perusahaan untuk membangun jalur sendiri sebagai penghubung antar cabang.

Pada gambar 2.12 merupakan contoh aliran data antara jaringan internet dan VPN. Garis merah merupakan aliran data VPN yang mengalir layaknya jaringan sebuah jaringan internet namun hanya user tertentu yang dapat mengakses pada jaringan tersebut (bersifat private). Dengan VPN kita dapat membuatnya seolah-olah semua komputer yang ada terhubung secara lokal.

(20)

Gambar 2.11 Contoh Komunikasi VPN

Setelah setiap komputer terhubung melalui jalur VPN, maka tiap komputer dapat mengakses ke komputer lain dengan menggunakan IP yang telah diberikan oleh VPN server, tidak harus menggunakan IP public atau sejenisnya, hal ini sama persis dengan jaringan lokal.

2.8.9 VPN IP MPLS

Wide Area Network (WAN) dipergunakan untuk menghubungkan jaringan-jaringan Local Area Network (LAN) satu dengan lainnya yang berdekatan maupun yang berjauhan dan menggunakan protokol yang sama atau berbeda-beda. Teknologi yang dapat dipergunakan untuk dapat menghubungkan WAN, antara lain: Dial Up, Leased Line, VSAT, X.25, Frame Relay, Virtual Private Network (VPN) dan lain-lain. Sedangkan teknologi terbaru yang saat ini sedang dikembangkan untuk membangun jaringan WAN yang baik (realible) dan permanen adalah Virtual Private Network (VPN) berbasis IP Multi Protocol Label Switch (VPN IP MPLS).

MPLS (Multi Protocol Label Switching) merupakan teknologi penyampaian paket pada jaringan backbone berkecepatan tinggi. Asas kerjanya menggabungkan beberapa kelebihan dari sistem komunikasi circuit-switched dan packet-switched yang melahirkan teknologi yang lebih baik dari keduanya (Mulyana, 2005). Sebelumnya, paket-paket diteruskan dengan protokol routing seperti OSPF, IS-IS, BGP, atau EGP. Protokol routing

(21)

berada pada lapisan network (ketiga) dalam sistem OSI, sedangkan MPLS berada di antara lapisan kedua dan ketiga.

Prinsip kerja MPLS ialah menggabungkan kecepatan switching pada layer 2 dengan kemampuan routing dan skalabilitas pada layer 3. Cara kerjanya adalah dengan menyelipkan label di antara header layer 2 dan layer 3 pada paket yang diteruskan. Label dihasilkan oleh Label-Switching Router dimana bertindak sebagai penghubung jaringan MPLS dengan jaringan luar. Label berisi informasi tujuan node selanjutnya kemana paket harus dikirim. Kemudian paket diteruskan ke node berikutnya, di node ini label paket akan dilepas dan diberi label yang baru yang berisi tujuan berikutnya. Paket-paket diteruskan dalam path yang disebut LSP (Label Switching Path).

Komponen MPLS:

1. LSP: Merupakan jalur yang melalui satu atau serangkaian LSR dimana paket diteruskan oleh label swapping dari satu MPLS node ke MPLS node yang lain.

2. Label Switching Router: MPLS node yang mampu meneruskan paket-paket layer-3. 3. MPLS Edge Node atau Label Edge Router (LER): MPLS node yang menghubungkan

sebuah MPLS domain dengan node yang berada diluar MPLS domain.

4. MPLS Egress Node: MPLS node yang mengatur trafik saat meninggalkan MPLS domain. 5. MPLS ingress Node: MPLS node yang mengatur trafik saat akan memasuki MPLS

domain.

6. MPLS label: merupakan label yang ditempatkan sebagai MPLS header.

7. MPLS node: node yang menjalankan MPLS. MPLS node ini sebagai control protokol yang akan meneruskan paket berdasarkan label.

VPN IP MPLS ini adalah suatu layanan komunikasi data any to any connections berbasis IP Multi Protocol Label Switch dengan menggunakan peralatan (hardware) dari perusahaan CISCO (berupa CISCO Router dan CISCO Switch Catalist).

Teknologi VPN IP MPLS merupakan suatu layanan yang dibangun di atas Integrated Network Architecture yang secara dinamis dapat mengenali jenis aplikasi enterprice untuk memperoleh layanan end to end security, performance dan aviability. Teknologi VPN IP MPLS ini merupakan solusi yang sangat praktis bagi suatu institusi yang menginginkan

(22)

komunikasi secara terus menerus (intensif) antara kantor-kantor cabang dengan kantor pusatnya. VPN IP MPLS digunakan untuk merealisasikan Class of Service (CoS), dimana suatu institusi dapat mengimplementasikan aplikasinya baik berupa aplikasi yang memiliki Delay Time Sensitive, Mission Critical maupun Non Mission Critical pada satu platform jaringan private IP MPLS.

Gambar 2.12 Konfigurasi Infrastruktur VPN IP MPLS

VPN IP MPLS diciptakan untuk memenuhi kebutuhan akan layanan data komunikasi yang mempunyai fleksibilitas tinggi seperti network berbasis IP (Internet) namun tetap bersifat Privacy/Secure dan mampu menerapkan Quality of Service (QoS) seperti jaringan Frame Relay. Cara kerja MPLS adalah melewatkan paket (Forward) berdasarkan Label, dan menggunakan teknologi Switching bukan Routing. Teknologi MPLS memiliki tingkat keamanan yang sangat tinggi atau baik, tidak kalah dengan keamanan pada jaringan Frame Relay maupun ATM. Penerapan VPN IP MPLS suatu institusi yang sangat mengutamakan keamanan datanya, tingkat keamanan MPLS ini masih dapat ditingkatkan lagi dengan menggabungkan teknologi MPLS dan teknologi IPSec yang menerapkan mekanisme tunneling dan enkripsi untuk keamanan serta kriptografi yang secara fleksibel dapat mendukung kombinasi dari otentikasi, integrasi, akses kontrol dan kerahasiaan.

Gambar

Tabel 2.1 Notasi Kardinalitas dan Modalitas
Gambar 2.11 Contoh Komunikasi VPN
Gambar 2.12 Konfigurasi Infrastruktur VPN IP MPLS

Referensi

Dokumen terkait

Strategi dalam penelitian ini menggunakan model pembelajaran kooperatif yaitu Survey, Question, Read, Reflect, Recite, Review (SQ4R) dimana proses pembelajarannya

Metode penelitian yang digunakan adalah Research and Development (R&D) atau penelitian dan pengembangan dengan tujuh tahapan penelitian yaitu, potensi masalah,

Sedangkan tanah (soil) berarti bahan atau material di permukaan atau di bawah permukaan yang menyusun dan membentuk lahan di permukaan bumi. Berdasarkan pengertian tersebut,

Untuk menunjang keberhasilan operasional sebuah lembaga keuangan/perbankan seperti bank, sudah pasti diperlukan sistem informasi yang handal yang dapat diakses dengan mudah

Untuk terealisasinya penelitian ini, maka harus didukung dengan data yang tepat dan konkret.Jenis data yang digunakan dalam penelitian adalah data kualitatif.Data

Perilaku merokok pada remaja saat ini sudah tidak tabu lagi, dimanapun tempat tidak sulit menjumpai anak remaja dengan kebiasaaan merokok.Orang tua mempunyai pengaruh

Relasi “jika dan hanya jika” di atas berarti suatu bahasa regular L dikatakan dikenal oleh M jika semua string dari L dikenali oleh M, serta sebaliknya, setiap string dari

Puji syukur kita panjatkan kehadirat Allah SWT, atas segala limpahan rahmat, taufik, hidayah, serta karunia-Nya, akhirnya penulis dapat menyelesaikan penyusunan