Bab 4: Teknologi Yang Dipakai

advertisement
Bab 4: Teknologi Yang Dipakai
Teknologi yang penulis pakai dalam mengembangkan sistem ujian online ini dapat
digolongkan menjadi dua bagian:
1. Teknologi yang berkaitan dengan pemrograman berbasis web. Contohnya
PHP dan MySQL.
2. Teknologi yang berkaitan dengan jaringan internet. Dalam Tugas Akhir hanya
NAT Network Address Translation yang akan penulis jelaskan.
PHP: Hypertext Preprocessor
PHP adalah singkatan dari ” PHP : Hypertext Preprocessor”, yang merupakan
sebuah bahasa scripting yang terpasang pada HTML. Sebagian besar sintaks nya
mirip dengan bahasa C, Java, dan Perl, ditambah dengan beberapa Fungsi PHP
yang spesifik.
Halaman web biasanya disusun dari skrip HTML yang disimpan dalam sebuah file berekstensi .html. File HTML ini dikirimkan oleh server ke browser, lalu
browser menerjemahkan skrip tersebut sehingga tertampil di layar sebagai bentuk
yang mudah dibaca oleh manusia.
Lain halnya dengan skrip PHP. Skrip PHP harus diproses oleh webserver yang
kemudian mengirim keluarannya ke browser untuk ditampilkan. Skrip PHP dapat
berdiri sendiri ataupun disisipkan di antara skrip HTML. Untuk dapat dikenali webserver, skrip PHP harus diapit program tersebut di antara tanda <?\index{PHP} PHP
dan ?>. Selain itu, secara standar, webserver hanya akan memroses berkas yang
berekstensi .\index{PHP} PHP.
31
Sejarah PHP
PHP adalah teknologi yang diperkenalkan tahun 1994 oleh Rasmus Lerdorf. Beberapa versi awal yang tidak dipublikasikan digunakan pada situs pribadinya untuk
mencatat siapa saja yang mengakses daftar riwayat hidup onlinennya. Versi pertama digunakan oleh pihak lain pada awal tahun 1995 dan dikenal sebagai Personal
Home Page Tools.
Dalam Personal Home Page Tools terdapat sebuah parser engine (mesin pengurai) yang sangat disederhanakan, yang hanya mampu mengolah makro khusus
dan beberapa utilitas yang sering digunakan pada pembuatan home page,seperti
buku tamu, pencacah, dan hal semacamnya. Pengurai tersebut ditulis ulang pada
pertengahan 1995 dan dinamakan PHP/FI Version 2.
FI(Form Interprenter) sendiri berasal dari kode lain yang ditulis juga oleh
Rasmus, yang menterjemahkan HTML dari data. Ia menggabungkan script Personal Home Page Tools dengan Form Interprenter dan menambahkan dukungan terhadap server database yang menggunakan format mSQL sehingga lahirlah PHP/FI.
PHP/FI tumbuh dengan pesat, dan orang-orang mulai menyiapkan kode-kode programnya supaya bisa didukung oleh PHP.
Sulit memberikan data statistik yang akurat, namun diperkirakan pada akhir
1996 PHP/FI sudah digunakan sedikitnya pada 15.000 situs web di seluruh dunia.
Pada pertengahan 1997, angka tersebut berubah menjadi 50.000. Pada saat itu juga
terdapat perubahan di dalam pengembangan PHP.
PHP berubah dari proyek pribadi Rasmus menjadi sebuah tim yang lebih
terorganisasi. Parsernya ditulis ulang dari bentuk rancangan awal oleh Zeev Suraski
dan Andi Gutmans, dan parser baru ini adalah sebagai dasar PHP Version 3. Banyak
kode utilitas yang berasal dari PHP/FI diport ke PHP3, dan banyak diantaranya
sudah selesai ditulis ulang secara lengkap.
Pada pertengahan 1998, baik PHP/FI maupun PHP3 dikemas bersama dengan produk-produk komersial seperti webserver StrongHold buatan C2 dan Linux
RedHat, dan menurut survei yang dilakukan oleh NetCraft, kemungkinan PHP digunakan pada lebih dari 150.000 situs web di seluruh dunia. Sebagai pembanding,
angka tersebut lebih banyak daripada pengguna server web Enterprise server buatan
Netscape di Internet.
Keunggulan PHP
Seluruh aplikasi berbasis web dapat dibuat dengan PHP, namun kekuatan yang paling utama dari PHP terletak pada konektivitasnya dengan sistem database. PHP
32
dapat berjalan di berbagai sistem operasi berbasis Win98/NT, *NIX, maupun BSD.
Sistem database yang dapat didukung oleh PHP: Oracle, MySQL, Sybase, PostgreSQL, dan lainnya.
Selain itu, PHP merupakan software yang open source, yang dapat kita download secara gratis dari situs resminya yaitu http://www.\index{PHP} PHP.net.
Software ini juga dapat berjalan pada web server seperti PWS (Personal Web
server ), Apache, IIS, AOLServer, fhttpd, phttpd dan sebagainya. PHP dapat diinstal sebagai bagian atau modul dari apache web server atau sebagai CGI script
yang mandiri.
Beberapa keunggulan PHP dibandingkan bahasa pemrograman lain, yaitu:
1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak membutuhkan proses kompilasi dalam penggunaanya.
2. Dalam sisi pemahamanan, PHP adalah bahasa scripting mudah dipelajari
karena terdapat banyak referensi.
3. PHP adalah bahasa open source yang dapat digunakan di berbagai sistem
operasi (windows, *NIX, BSD) dan dapat dijalankan langsung melalui CLI
(Command Line Interface) serta juga dapat menjalankan berbagai perintah
sistem.
4. Web server yang mendukung PHP dapat ditemukan dimana - mana dari mulai
IIS sampai dengan Apache, dengan konfigurasi yang relatif mudah.
5. Dalam sisi pengembangan lebih mudah, karena banyaknya jaringan email dan
pengembang yang siap membantu.
MySQL
Diatas telah disebutkan bahwa kekuatan yang paling utama dari PHP terletak pada
konektivitasnya dengan sistem database. MySQL adalah salah satu sistem database
yang paling banyak digunakan. Penyebab utama MySQL begitu popular di kalangan
Web adalah karena ia memang cocok bekerja di lingkungan tersebut.
MySQL tersedia di berbagai platform Linux dan berbagai varian Unix. Selain itu MySQL memiliki fitur yang banyak dibutuhkan dalam aplikasi web. Misalnya, klausa LIMIT SQL-nya, praktis untuk melakukan paging. Atau jenis indeks field FULLTEXT, untuk full text searching. Atau sebutlah kekayaaan FungsiFungsi builtinnya, mulai dari memformat dan memanipulasi tanggal, mengolah
string, regex, Enkripsi dan hashing.
33
Sejarah MySQL
MySQL dikembangkan oleh sebuah perusahaan Swedia bernama MySQL AB, yang
kala itu bernama TcX DataKonsult AB, sejak sekitar 19941995, meski cikal bakal
kodenya bisa disebut sudah ada sejak 1979. Tujuan mula-mula TcX membuat
MySQL pada waktu itu juga memang untuk mengembangkan aplikasi Web untuk
klien mereka. Kala itu Michael Widenius, atau ”Monty”, pengembang satu-satunya
di TcX, memiliki aplikasi UNIREG dan rutin ISAM yang dibuat sendiri dan sedang
mencari antarmuka SQL untuk memudahkan aksesnya.
Mula-mula TcX memakai mSQL, atau ”mini SQL”. Barangkali mSQL adalah
satu-satunya kode database open source yang tersedia dan cukup sederhana saat itu.
Namun ternyata, menurut Monty, mSQL tidaklah cukup cepat maupun fleksibel.
Versi pertama mSQL bahkan tidak memiliki indeks. Setelah mencoba menghubungi
pembuat mSQL, Monty mengambil keputusan untuk membuat sendiri mesin SQL
yang antarmukanya mirip dengan mSQL tapi memiliki kemampuan yang lebih sesuai
kebutuhan. Lahirlah MySQL.
MySQL versi 1.0 dirilis Mei 1996 secara terbatas untuk empat orang. Baru
di bulan Oktober versi 3.11.0 dilepas ke publik. Pada saat itu kode MySQL tidak
diberikan di bawah lisensi General Public License, melainkan lisensi khusus yang
intinya kurang lebih: ”Source code MySQL dapat dilihat dan gratis, serta server
MySQL dapat dipakai tanpa biaya tapi hanya untuk kebutuhan nonkomersial. Untuk kebutuhan komersial (mis: mengemas dan menjual MySQL, atau menyertakan
MySQL dalam program komersial lain) Anda harus bayar lisensi.”
Sementara untuk distribusi Windows, MySQL dirilis secara shareware. Barulah pada Juni 2000 MySQL AB mengumumkan bahwa sejak versi 3.23.19, MySQL
adalah software bebas berlisensi GPL. Artinya, Source code MySQL dapat dilihat
dan gratis, serta server MySQL dapat dipakai tanpa biaya untuk kebutuhan apa
pun. Tapi jika Anda memodifikasi source code, Anda juga harus melepasnya di
bawah lisensi yang sama, yaitu GPL. Kini perusahaan MySQL AB, yang beranggotakan sekitar 10 programer dan 10 karyawan lain itu, memperoleh pemasukan
terutama dari jasa konsultasi seputar MySQL.
Versi awal MySQL ini, meski sudah bisa dipakai untuk aplikasi Web sederhana,
belumlah memadai sama sekali untuk aplikasi bisnis. Contohnya, JOIN sederhana
sudah ada, tapi tidak ada HAVINGbaru di bulan Desember ditambahkan. Sudah ada
tipe data TIMESTAMP dan kolom autoupdate, tapi tidak ada system-generated number
(sequence)baru di akhir 1996 juga ditambahkan modifier kolom AUTO_INCREMENT.
Sudah ada LIMIT tapi GROUP BY dan ORDER BY memiliki keterbatasan. Dan seterusnya.
Barulah di versi-versi akhir 3.22sepanjang 19981999 MySQL menjadi semakin
34
popular dan dilirik orang. Stabilitasnya sudah baik. Kecepatannya meningkat. Sudah tersedia di berbagai platform, termasuk Windows. Seri 3.22 ini banyak dipakai
di berbagai instalasi, mungkin hingga sekarang, sehingga MySQL AB tetap memberikan dukungan untuk seri ini.
Kelebihan MySQL
Sebagai software database dengan konsep database modern, MySQL memiliki banyak
kelebihan. Beberapa diantaranya:
1. Portabel
MySQL dapat digunakan dengan stabil tanpa kendala, berarti pada berbagai
sistem operasi diantaranya seperti Windows, Linux, Mac OS X server, Solaris,
Amiga HP-UX dan masih banyak lagi.
2. Open source
MySQL didistribusikan secara open source di bawah lisensi GPL, sehingga
dapat memperoleh menggunakannya secara cuma-cuma tanpa dipungut biaya
sepeserpun.
3. Multiuser
MySQL dapat digunakan untuk menangani beberapa user dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik. Hal ini akan memungkinkan
sebuah database server MySQL dapat diakses client secara bersamaan dalam
waktu yang bersamaan pula.
4. Cepat
MySQL memiliki kecepatan yang cukup menakjubkan dalam menangani query
sederhana, serta mampu memproses lebih banyak SQL persatuan waktu.
5. Perintah dan Fungsi yang lengkap
MySQL memiliki operator dan Fungsi secara penuh yang mendukung perintah
SELECT dan WHERE dalam query.
6. Ketahanan tinggi
Dalam hal batas kemampuan, MySQL terbukti mampu menangani database
dalam skala yang besar dengan jumlah record lebih dari 50 juta dan 60 ribu
tabel serta 5 miliar baris. Selain itu batas indeks yang dapat ditampung
mencapai 32 indeks pada setiap tabelnya.
35
7. Struktur tabel fleksibel
Struktur tabel MySQL cukup baik, serta cukup fleksibel. Misalnya ketika
menangani Alter Table, dibandingkan database lainnya semacam ProgresSQL
ataupun Oracle.
Network Address Translation
Ketika suatu komputer terhubung ke internet, komputer tersebut tidak saja dapat
mengakses, misalnya ke server suatu situs tertentu, tetapi komputer tersebut juga
sangat mungkin untuk diakses oleh komputer lain yang juga terhubung ke internet.
Jika disalahgunakan, hal tersebut bisa sangat berbahaya. Data-data penting dapat
dilihat atau bahkan dicuri oleh orang yang tidak bertanggung jawab.
Network Address Translation (NAT) secara otomatis akan memberikan proteksi seperti halnya firewall dengan hanya mengizinkan koneksi yang berasal dari
dalam jaringan. Hal ini berarti tingkat keamanan suatu jaringan akan meningkat,
karena kemungkinan koneksi dari luar ke dalam jaringan menjadi relatif sangat kecil.
Dengan NAT, suatu jaringan yang besar dapat dipecah-pecah menjadi jaringan
yang lebih kecil. Bagian-bagian kecil tersebut masing-masing memiliki satu alamat
IP, sehingga dapat menambahkan atau mengurangi jumlah komputer tanpa mempengaruhi jaringan secara keseluruhan. Selain itu, pada gateway NAT modern terdapat server DHCP yang dapat mengkonfigurasi komputer client secara otomatis.
Hal ini sangat menguntungkan bagi admin jaringan karena untuk mengubah
konfigurasi jaringan, admin hanya perlu mengubah pada komputer server dan perubahan ini akan terjadi pada semua komputer client. Selain itu gateway NAT
mampu membatasi akses ke internet, juga mampu mencatat semua traffic, dari dan
ke internet. Secara keseluruhan, dengan segala kelebihan gateway NAT tersebut,
admin jaringan akan sangat terbantu dalam melakukan tugas-tugasnya.
Jenis-jenis NAT
Full cone NAT
Full cone NAT juga sering disebut one-to-one NAT.
Karakteristik Full cone NAT :
1. Ketika alamat internal (Addrint : portint ) dipetakan ke alamat eksternal (Addrext :
portext ), semua paket dari (Addrint : portint ) akan dikirim melalui (Addrext :
portext ).
36
2. Sembarang komputer di luar jaringan dapat mengirim paket ke (Addrint :
portint ) dengan mengirimkan paket ke (Addrext : portext ).
Gambar 8: Full cone NAT
Restricted cone NAT
Gambar 9: Restricted cone NAT
Karakteristik Restricted cone NAT :
1. Ketika alamat internal (Addrint : portint ) dipetakan ke alamat eksternal (Addrext :
portext ), semua paket dari (Addrint : portint ) akan dikirim melalui (Addrext :
portext ).
37
2. Komputer di luar jaringan dapat mengirim paket ke (Addrint : portint ) dengan
mengirimkan paket ke (Addrext : portext ) hanya jika sebelumnya (Addrint :
portint ) telah mengirimkan paket ke komputer ybs.
Port-Restricted cone NAT
Port-Restricted cone NAT mirip dengan Restricted cone NAT. Karakteristik Port
Restricted cone NAT :
1. Ketika alamat internal (Addrint : portint ) dipetakan ke alamat eksternal (Addrext :
portext ), semua paket dari (Addrint : portint ) akan dikirim melalui (Addrext :
portext ).
2. Komputer di luar jaringan (AddrH : portH ) dapat mengirim paket ke (Addrint :
portint ) dengan mengirimkan paket ke (Addrext : portext ) hanya jika sebelumnya (Addrint : portint ) telah mengirimkan paket ke (AddrH : portH ).
Gambar 10: Port-Restricted cone NAT
Port-Restricted cone NAT
Karakteristik Symmetric NAT :
1. Setiap permintaan hubungan dari alamat IP internal yang sama ke tujuan
eksternal dipetakan ke satu buah alamat IP dan port yang unik.
2. Jika komputer di jaringan internal yang sama mengirimkan paket ke tujuan
yang berbeda, pemetaan yang digunakan tidaklah sama.
38
Gambar 11: Symmetric NAT
3. Hanya komputer di jaringan eksternal yang menerima paket dari komputer di
jaringan internal dapat mengirim balik paket.
39
40
Download