BAB 2 LANDASAN TEORI 2.1
Pengertian Jaringan Network atau jaringan dalam bidang komputer dapat diartikan sebagai dua atau lebih komputer yang terhubung sehingga dapat saling berhubungan dan dapat berkomunikasi, sehingga akan menghasilkan suatu efisiensi, sentralisasi dan optimasi kerja. Pada jaringan komputer yang dikomunikasikan adalah data, di mana satu komputer dapat berhubungan dengan komputer lain dan dapat saling berkomunikasi (salah satunya adalah bertukar data) tanpa harus membawa disket ke satu komputer ke komputer lainnya seperti yang biasa dilakukan (Tanenbaum, 2003).
2.1.1
LAN (Local Area Network) Local Area Network merupakan sebuah jaringan milik pribadi di dalam sebuah gedung atau kampus yang berukuran sampai beberapa kilometer. Local Area Network biasanya digunakan untuk menghubungkan komputer-komputer pribadi dan workstation di dalam suatu perusahaan atau pabrik untuk saling membagi sumber daya (misalkan: printer) dan bertukar informasi (Tanenbaum, 2003).
2.1.2
MAN (Metropolitan Area Network) Metropolitan Area Network merupakan jaringan komputer yang besar dan biasanya terbentang sampai sebatas suatu kota. MAN dirancang untuk tempat yang jangkauannya lebih luas dari LAN dan dapat menjangkau kantor7
8 kantor atau perusahaan yang letaknya berjauhan. MAN mampu mendukung data dan suara, dan dapat berhubungan dengan jaringan televisi kabel. Jangkauan MAN bisa mencapai 50 km dan peralatan yang digunakan antara lain adalah modem dan kabel (Tanenbaum, 2003). 2.1.3
WAN (Wide Area Network) Wide Area Network merupakan jaringan komputer yang jangkauannya mencakup daerah geografis yang luas, dan seringkali mencakup sebuah negara bahkan benua. WAN terdiri dari sekumpulan mesin-mesin yang bertujuan untuk menjalankan program dari pemakai (Tanenbaum, 2003).
2.2
Topologi Jaringan Dilihat dari jenis hubungannya, topologi pada jaringan dapat dibagi menjadi 5 macam, yaitu: 1.
Topologi Bus (Bus Topology) Topologi jaringan jenis ini menggunakan sebuah kabel yang terpusat yang merupakan media utama dari jaringan (lihat Gambar 2.1). Terminalterminal yang akan membangun jaringan dihubungkan dengan kabel utama yang merupakan inti dari jaringan. Data yang dikirimkan akan langsung menuju ke terminal yang dituju tanpa harus melewati terminal-terminal lainnya dalam sebuah jaringan. Tidak bekerjanya sebuah komputer tidak akan menghentikan kerja dari jaringan dan jaringan akan tidak bekerja apabila kabel utamanya dipotong atau putus.
9
Gambar 2.1 Topologi Bus Jaringan ini merupakan jaringan yang banyak digunakan karena hanya dengan menggunakan kabel beberapa meter dapat langsung dihubungkan ke banyak terminal klien. Jaringan ini biasanya menggunakan kabel coaxial sebagai media transmisinya (Tanenbaum, 2003).
2.
Topologi Bintang (Star Topology) Jenis topologi jaringan ini menggunakan satu terminal sebagai terminal pusat yang menghubungkan ke semua terminal klien (lihat Gambar 2.2). Terminal pusat ini akan mengarahkan setiap data yang dikirimkan ke komputer yang dituju. Pada jenis jaringan ini apabila ada salah satu terminal klien tidak berfungsi atau media transmisi terputus maka tidak akan mempengaruhi kerja dari jaringan, karena gangguan tersebut hanya mempengaruhi terminal yang bersangkutan.
10
Gambar 2.2 Topologi Bintang Kelemahan dari jenis topologi jaringan ini adalah ketergantungan terhadap suatu terminal pusat. Hal tersebut merupakan suatu gangguan yang berarti apabila terminal pusat tersebut mendapatkan suatu masalah, sehingga dicari suatu solusi yang dapat mengatasi masalah tersebut yaitu dengan menggunakan dua buah terminal sebagai server (Tanenbaum, 2003).
3.
Topologi Cincin (Ring Topology) Topologi jenis cincin ini menghubungkan suatu komputer di dalam suatu lingkaran tertutup (lihat Gambar 2.3). Pada topologi jenis ini, data atau pesan berjalan mengelilingi sebuah jaringan dengan satu arah pengiriman melewati komputer selanjutnya terus menerus hingga mencapai komputer yang dituju. Waktu yang dibutuhkan untuk mencapai terminal tujuan disebut waktu transmisi.
11
Gambar 2.3 Topologi Cincin Apabila ada satu komputer yang tidak berfungsi maka hal tersebut tidak akan menggangu jalannya jaringan, tapi apabila ada satu kabel putus akan mengakibatkan jaringan tidak berfungsi (Tanenbaum, 2003).
4.
Topologi Mesh Topologi jenis mesh menghubungkan suatu komputer secara utuh (lihat Gambar 2.4). Jumlah saluran yang harus disediakan untuk membentuk jaringan mesh adalah jumlah komputer dikurangi 1. Tingkat kesulitan jaringan ini sebanding dengan meningkatnya jumlah komputer yang terpasang. Dengan demikian,
disamping
kurang
efisien
juga
pengoperasiannya (Tanenbaum, 2003).
Gambar 2.4 Topologi Mesh
relatif
mahal
dalam
12 5.
Topologi Hybrid Topologi jaringan ini merupakan gabungan dari beberapa tipe topologi. Ketika jalur bus menghubungkan dua consentrator maka konfigurasi tersebut disebut star bus. Jalur bus digunakan untuk mengirim data antar topologi star (lihat Gambar 2.5) (Tanenbaum, 2003).
Gambar 2.5 Topologi Hybrid
2.3 2.3.1
Referensi Model Jaringan Model OSI Layer Model OSI (Open System Interconnection) adalah sebuah model yang dikembangkan oleh International Standard Organization (ISO) sebagai langkah awal untuk menentukan standarisasi dari protokol yang digunakan untuk dikembangkan menjadi protokol lainnya (lihat Gambar 2.6). OSI terdiri dari 7 layer, antara lain:
13 1. Physical Layer Layer ini berfungsi untuk mempersiapkan sistem koneksi fisik ke jaringan dan menyesuaikannya sehingga aliran data dapat melewati jaringan dengan baik. 2. Data Link Layer Layer ini berfungsi untuk menjadi interface terhadap semua fungsi pada network layer, mengelompokkan bit-bit data dari physical layer menjadi frame, mengatasi kesalahan transmisi dan pengaturan arus frame sehingga penerima yang lamban tidak terbebani dengan pengirim yang cepat. 3. Network Layer Layer ini akan menerima data dari data link layer berupa kumpulan frame, kemudian mengubahnya ke dalam bentuk paket. Kumpulan paket akan diserahkan oleh network layer kepada transport layer. Network layer memegang kendali pengontrolan data paket yang diserahkan kepada data link layer dengan cara mencari rute mana yang paling efisien dan efektif. 4. Transport Layer Layer ini merupakan protokol transport yang dapat diakses secara langsung oleh pengguna melalui application layer. Transport layer merupakan kunci utama antara layer atas (layer 5, 6, dan 7) dan layer bawah (layer 1, 2, dan 3). Transport layer menyediakan end-to-end recovery flow control. 5. Session Layer Layer ini adalah sebuah interface antara transport layer dan presentation layer. Semua interaksi session adalah end to end, dan
14 mewujudkan suatu kemungkinan akan tersedianya fungsi-fungsi bagi transport layer. Session layer mempunyai fungsi untuk mengatur pertukaran data, menjaga hubungan dua pengguna aplikasi dan mengendalikan dialog antar pengguna. 6. Presentation Layer Layer ini menyediakan kebutuhan pada proses aplikasi dan memberi layanan keamanan data serta proses penyimpanan file. 7. Application Layer Layer ini merupakan layer di mana aplikasi pemakai diletakkan dan berfungsi untuk menyederhanakan sistem jaringan yang kompleks menjadi sederhana (Tanenbaum, 2003).
Gambar 2.6 Referensi Model OSI (Tanenbaum, 2003)
15
2.3.2
Model TCP/IP Layer Model TCP/IP merupakan protokol yang paling luas digunakan dalam arsitektur jaringan (lihat Gambar 2.7). TCP/IP merupakan hasil penelitian yang dibuat dan dikembangkan oleh DARPA (Defence Advanced Research Project Agency) yang digunakan pada jaringan paket. Layer TCP/IP dibagi menjadi 4 layer, yaitu: 1. Host-to-Network Layer Layer ini berfungsi agar sebuah host bisa terhubung ke sebuah jaringan menggunakan protokol sehingga dapat mengirim paket IP melalui protokol tersebut. 2. Internet Layer Layer ini berfungsi untuk mengijinkan hosts untuk mengirimkan paket ke jaringan mana pun dan paket berjalan secara independen ke tujuannya atau jaringan yang berbeda. 3. Transport Layer Layer ini bertugas untuk mengkoordinasikan semua data yang diterima maupun data yang dikirim. Layer ini berfungsi sama dengan transport layer di OSI Layer. 4. Application Layer Layer ini merupakan layer tertinggi yang digunakan oleh banyak aplikasi untuk komunikasi jaringan. Layer ini juga berisi segala aplikasi yang dimiliki oleh pengguna (Tanenbaum, 2003).
16
Gambar 2.7 Referensi Model TCP/IP (Tanenbaum, 2003)
2.4 2.4.1
Database Pengertian Database Database adalah koleksi data yang saling berhubungan dan dirancang sedemikian rupa untuk memenuhi kebutuhan informasi dari suatu organisasi. Sehingga database memiliki peran yang penting dalam penyediaan informasi untuk sebuah sistem. Relational database adalah sebuah kumpulan dari relasi yang telah dinormalisasi dengan nama relasi yang jelas. Relational database merupakan suatu tipe database yang bedasarkan model relasi, di mana semua data dapat dilihat oleh pengguna, disusun dalam bentuk tabel-tabel dan semua operasi pada suatu database bekerja pada tabel-tabel tersebut (Connolly, et al., 2005). Ada 3 jenis relasi antar-records dalam tabel, yaitu: 1. Relasi one-to-one adalah sebuah relasi antara satu record dengan satu record lainnya dalam tabel lain yang saling berhubungan.
17 2. Relasi one-to-many adalah suatu relasi antara satu record dengan lebih dari satu record dalam tabel lain sehingga saling berhubungan. 3. Relasi many-to-many adalah suatu relasi antara banyak record dengan lebih dari satu record dalam tabel lain yang saling berhubungan. 2.4.2
Database Management System (DBMS) DBMS (Database Management System) adalah sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengatur akses ke dalam database. DBMS merupakan sebuah perangkat lunak yang berinteraksi dengan pengguna aplikasi dan database. DBMS menyediakan beberapa fasilitas sebagai berikut : 1. Data definition Language (DDL) Data Definition language adalah sebuah bahasa yang mengijinkan seorang Database Administrator atau pengguna untuk menggambarkan dan memberi nama dari entities, attribute, dan relationships yang dibutuhkan untuk aplikasi bersama dengan semua kepercayaan yang berhubungan dan batasan keamanan. 2. Data Manipulation Language (DML) Data
Manipulation
Language
adalah
sebuah
bahasa
yang
menyediakan sekumpulan operasi yang mendukung operasi manipulasi data di dalam database. 3. Menyediakan kontrol akses ke dalam database a. Integrity system, berfungsi untuk menjaga konsistensi dari data.
18 b. Security system, berfungsi untuk mencegah pengguna yang tidak mempunyai hak untuk mengakses database. c. Concurrency control system, berfungsi untuk mengijinkan akses yang terbagi di dalam database. d. Recovery control system, berfungsi untuk mengembalikan kondisi database ke keadaan sebelum kegagalan perangkat keras atau perangkat lunak. e. User-accessible catalog, berisi deskripsi dari data di dalam sebuah database. SQL adalah suatu bahasa yang dirancang untuk sistem operasi pengaksesan data pada struktur relational database yang mentransformasikan input menjadi output yang diinginkan pengguna. Operasi pengaksesan data meliputi penyisipan data (insert), pengubahan data (update), penghapusan data (delete), dan pengambilan data (select) (Connolly, et al., 2005). 2.4.3
MySQL MySQL merupakan perangkat lunak sistem manajemen basis data SQL atau DBMS yang bersifat multithread dan multiuser. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU (General Public License (GPL), tetapi mereka juga menjual di bawah lisensi komersial untuk kasus-kasus di mana pengunaannya tidak cocok dengan penggunaan GPL. MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, di mana pemegang hak cipta mempunyai hak atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan
19 MySQL AB adalah David Axmark, Allan Larsson, dan Michael ”Monty” Widenius (Arianto, 2003).
2.5
Klasifikasi Kesalahan Manusia Pelatihan yang lebih baik dapat mencegah kesalahan, akan tetapi aksi yang paling efektif yang dapat diambil untuk mengurangi kemungkinan kesalahan atau meminimalkan efek kesalahan yaitu dengan cara mengubah metode kerja. Ada empat klasifikasi kesalahan manusia (Kletz, 2001), yaitu: 1. Kesalahan terjadi karena seseorang tidak tahu harus melakukan apa. Beberapa kesalahan ini disebabkan oleh kurangnya pengetahuan yang paling dasar dari sifat-sifat bahan atau peralatan yang ditangani dan kesalahan lain dapat disebabkan dengan mengikuti aturan ketika fleksibilitas yang diperlukan. Namun, banyak peraturan tertulis tidak dapat menangani setiap situasi yang mungkin timbul, dan orang-orang karenanya harus dilatih untuk mendiagnosa dan menangani masalah-masalah yang tidak terduga. 2. Kesalahan terjadi karena seseorang tahu harus berbuat apa tetapi memutuskan untuk tidak melakukannya. Kesalahan tersebut biasanya disebut pelanggaran atau ketidakpatuhan. Banyak kesalahan terjadi karena operator, pemeliharaan pekerja, atau supervisor tidak melaksanakan prosedur yang mereka anggap bermasalah atau tidak perlu. Jika metode yang salah lebih mudah daripada metode yang benar, maka seseorang tergoda untuk melakukan hal yang salah daripada yang benar.
20 3. Kesalahan terjadi karena tugas di luar kemampuan fisik dan mental dari seseorang. Kesalahan ini disebut mismatch, beberapa kesalahan terjadi karena individu yang tidak cocok untuk suatu pekerjaan. Hal tersebut dapat terjadi karena seseorang diminta untuk melaksanakan suatu tugas, yang mana sulit atau tidak mungkin bagi seseorang tersebut secara fisik ataupun mental. 4. Kesalahan terjadi karena adanya kekeliruan atau kurangnya perhatian.
2.6 2.6.1
Teknologi Smart Card Pengertian Smart Card Smart card adalah sebuah kartu yang terbuat dari plastik (PVC) yang digabung dengan Integrated Circuit (IC) yang berukuran sebesar kartu kredit dan bersifat tamper resistant, yaitu usaha ilegal pengambilan data dari dalam kartu yang tidak dimungkinkan. Smart card didesain untuk menyimpan data yang bersifat pribadi dengan tingkat keamanan yang tinggi serta kartu mudah untuk dibawa ke mana saja. Penyimpanan dan pemrosesan informasi dalam smart card dilakukan melalui sirkuit elektronik yang digabungkan dalam silikon pada bahan plastik (PVC) dari kartu. Integrated Circuit (chip) berukuran sangat kecil dan printed circuit berbentuk plat emas yang tipis. Printed circuit ini memberikan kontak elektrik dengan lingkungan luar dan juga melindungi chip dari kerusakan mekanik dan gangguan listrik.
21 Untuk pemrosesan dan penyimpanan data yang aman digunakan publickey atau shared-key algorithm. Beberapa smart card memiliki cryptographic coprocessors yang terpisah dan mendukung algoritma seperti RSA (RivestShamir-Adleman’s algorithm), AES (Advanced Encryption Standar) dan Triple DES (Triple Data Encryption Standard). Cara komunikasi yang dipakai teknologi smart card adalah half duplex, yaitu komunikasi dua arah, namun tidak dilakukan secara bersamaan. Fungsi ini bekerja dengan cara proses mengirim dan menerima harus dilakukan secara bergantian. Data yang dikirimkan dan diterima dari smart card disimpan dalam buffer yang terdapat dalam RAM smart card (Ortiz, 2003). 2.6.2
Standar Internasional Smart Card Standar
ISO/IEC
merupakan
suatu
standar
internasional
untuk
menentukan standarisasi dari smart card. Kepanjangan dari ISO adalah International Organization for Standarization, sedangkan kepanjangan dari IEC adalah International Electrotechnical Commission (Rankl, et al., 2003). ISO/IEC 7816 dan ISO/IEC 7810 adalah sebuah standar untuk smart card untuk menentukan hal berikut ini: 1. Bentuk fisik dari kartu. 2. Karakteristik dari sirkuit elektronik. 3. Posisi dan ukuran kartu dari konektor elektrikal kartu. 4. Protokol komunikasi. 5. Ketahanan kartu. 6. Fungsionalitas kartu.
22 Ukuran kartu smart card dengan format ID-1 berdasarkan ISO/IEC 7810 adalah 85.60mm x 54mm dan memiliki ketebalan kartu 0.76mm ± 0.08mm serta jari-jari sudut 3.18mm (lihat Gambar 2.8) (Rankl, et al., 2003).
Gambar 2.8 Ukuran Standar Smart Card Format ID-1 (Rankl, et al., 2003) 2.6.3
Tipe Smart Card Secara umum ada dua macam tipe dari smart card yaitu memory card dan microprocessor card. Memory card hanya menyimpan dan memproteksi data secara lokal, namun tidak mengandung sebuah prosesor untuk melalukan perhitungan komputer pada data. Sedangkan microprocessor card adalah sebuah kartu yang memiliki memori dan microprocessor yang dapat melakukan kalkulasi pada data dan menyimpan data di dalam kartu secara aman. Sebuah memory card dapat menyimpan data sebesar 4K dan keuntungan dari memory card terletak pada teknologinya yang sederhana. Sedangkan microprocessor card, menawarkan sekuritas dan kemampuan multifungsional. Data yang disimpan dalam microprocessor card tidak dapat diakses secara
23 langssung melaluui aplikasi di d luar kartuu. Microproocessor menngontrol dataa dan mem mori yang meengatur penggaksesan datta menurut kondisi k yang diberikan seeperti passw word, enkrippsi dan lainnnya. Keuntuungan microp oprocessor card c adalah dapat diintegrasikan kee lebih dari satu s aplikasi (Rankl, et al., a 2003). Secara fissik smart caard dapat dibbedakan mennjadi dua jennis yaitu: 1. Contact C Smart Card C bekerja dengan carra berkomunnikasi secaraa fisik Contaact Smart Card antara a card reader r dan smart card pin contactt yang berbeentuk segi empat e berukuran b ± 1 cm (lihat gambar g 2.9). Contact sm mart card tiddak membutuuhkan baterai b dan akan a aktif keetika terhubuung dengan card readerr. Saat terhuubung dengan d cardd reader, maaka chip akaan menungguu perintah request r dari klien dari d aplikasi untuk mem mbaca inform masi dari chiip atau mennulis informaasi ke chip. c
nkl, et al., 20003) Gambar 2.9 Smart Caard’s Pin Contact (Ran Berikkut adalah fuungsi dari masing-masin m ng contact menurut m ISO O/IEC 7816, 7 yaitu: a. a VCC (Suppply Voltagee) Berfungssi sebagai penyedia teegangan lisstrik, teganggan listrik yang tersedia sebesar s 3 ataau 5 volt denngan toleranssi maksimum m ± 10%.
24 b. RST (Reset Input) Berfungsi untuk mengirimkan sinyal untuk me-reset microprocessor. c. CLK (Clock Input) Berfungsi sebagai timing atau clocking signal yang mengatur frekuensi waktu dan kecepatan microprocessor. d. GND (Ground) Merupakan reference voltage yang berlawanan dengan VCC di mana energi potensialnya diukur dan nilainya dianggap 0 volt. e. VPP (Programming Voltage) Berfungsi menyediakan tegangan listrik yang berbeda dari VCC. Biasa digunakan untuk aplikasi lain seperti konektivitas USB. f. I/O (Input/Output) Berfungsi untuk memonitor semua komunikasi yang keluar maupun yang masuk ke kartu. g. C4 dan C8 Contact C4 dan C8 merupakan contact tambahan yang digunakan bila sewaktu-waktu diperlukan untuk operasi pada kartu atau penggunaan interface di masa yang akan datang (Rankl, et al., 2003).
2. Contactless Smart Card Contactless smart card berkomunikasi dengan terminal melalui sinyal frekuensi radio. Contactless smart card tidak memiliki baterai sehingga kartu ini memiliki inductor yang dapat menangkap sinyal frekuensi radio sebagai
25 daya elektronik bagi kartu. Contactless card memerlukan jarak tertentu untuk melakukan pertukaran data dengan card reader (Rankl, et al., 2003). Standar komunikasi contactless smart card adalah ISO/IEC 14443. Berikut adalah tabel standarisasi ISO/IEC 14443. Tabel 2.1 Standarisasi ISO/IEC Contactless Smart Card Standar ISO/IEC 10536 ISO/IEC 14443 ISO/IEC 15693
2.6.4
Tipe Contactless Smart Card Close-coupling card Proximity coupling card (PICC) Vicinity coupling card (VICC)
Jarak Komunikasi ±1 cm ± 10 cm ±1 m
Sistem Memori Smart Card Smart card terdiri dari 3 macam jenis memori, yaitu: 1. ROM (Read-Only Memory) Merupakan tipe memori yang hanya dapat dibaca (read) dan tidak bisa ditulis (write), dan tidak membutuhkan tenaga listrik untuk menyimpan dan menjaga keutuhan data. ROM tidak dapat ditulis kembali setelah kartu dibuat, dan berisikan sebuah sistem operasi. ROM dari smart card berisikan data dan aplikasi pengguna yang bersifat permanen (Rankl, et al., 2003). 2. EEPROM (Electrical Erasable Programmable Read Only Memory ) EEPROM hampir serupa dengan ROM yang dapat menyediakan data ketika tenaga dari memori dimatikan. Perbedaan di antara keduanya adalah isi dari memori yang dapat dimodifikasi selama pengunaan kartu secara normal. EEPROM dapat menerima setidaknya 100.000 kali penulisan, dan dapat menyimpan data selama 10 tahun. Membaca dari EEPROM sama
26 cepatnya dengan membaca dari RAM, namun menulis pada EEPROM lebih lama dibandingkan menulis dari RAM (Rankl, et al., 2003). 3. RAM (Random Access Memory) RAM adalah sebuah memori yang digunakan untuk menampung data yang disimpan selama sebuah proses berlangsung. Jumlah akses pada suatu RAM tidak terbatas dan membutuhkan tenaga listrik untuk beroperasi. RAM merupakan memori yang bersifat nonpersistent yaitu informasi yang disimpan pada RAM akan hilang ketika tenaga listrik dari RAM hilang (Rankl, et al., 2003). 2.7
Smart Classroom Smart Classroom merupakan konfigurasi ruang kelas yang berfungsi untuk menciptakan interaktivitas dan memperkaya pengalaman dalam kegiatan belajar mengajar memanfaatkan media audio visual atau multimedia (Wylie Wong, 2009). Smart Classroom mengintegrasikan teknologi multimedia dan fasilitas-fasilitas penunjang lainnya sebagai perangkat belajar mengajar, seperti akses internet, LCD projector, DVD player, dan juga perangkat kamera untuk menampilkan dokumen berupa overhead projector. Beberapa penerapan smart classroom telah dilakukan dengan lebih maju, yaitu dengan penggunaan papan tulis interaktif / interactive white board yang terhubung dengan komputer. Layar sentuh digunakan oleh pengajar untuk mengontrol aplikasi yang terdapat di komputer dan juga menuliskan catatan secara langsung untuk ditampilkan di papan tulis interaktif tersebut menggunakan pena digital. Terdapat pula perangkat papan kontrol yang
27 dapat digunakan oleh pengajar untuk mengatur berbagai alat yang terdapat di ruang kelas hanya dari satu tempat saja, seperti mematikan lampu. 2.8 2.8.1
Pemrograman Web Web Web merupakan dokumen yang berada di internet yang dapat diakses dengan mengetik sebuah URL (Uniform Resource Locator). Halaman web terbagi menjadi dua, yaitu statis dan dinamis. Perbedaannya adalah pada halaman statis, halaman web tersebut tidak akan berubah, semua pengguna akan melihat halaman yang sama. Sedangkan halaman dinamis adalah halaman web yang dapat berubah sesuai dengan permintaan pengguna, perubahan tersebut dikarenakan pada halaman web tersebut telah diprogram untuk menghasilkan halaman sesuai dengan input pengguna. Ekstensi file-file tersebut umumnya adalah HTML, HTM, ASP, JSP, PHP dan sebagainya (Valade, 2004).
2.8.2
Client dan Server Side Scripting PHP merupakan sebuah bahasa scripting yang bersifat open source dan dirancang untuk pengembangan situs web. Awalnya PHP dimulai dari peralatan personal home page yang dikembangkan oleh Rasmus Lerdorf. Nama lain dari PHP adalah Hypertext Preprocessor yang mempunyai kemampuan untuk memproses halaman web sebelum ditampilkan (Valade, 2004). Kelebihan-kelebihan dari PHP antara lain: 1. Cepat Pada sebuah situs web, karena menggunakan kode HTML, waktu proses untuk menampilkan sebuah halaman web menjadi lebih pendek.
28 2. Mudah digunakan PHP memiliki sintaks sederhana dan mudah dimengerti dan digunakan bahkan bukan untuk seorang programmer. Untuk digunakan di dalam situs web, kode PHP dirancang agar dapat dimasukkan dengan mudah dalam kode HTML. 3. Berjalan pada banyak sistem operasi PHP dapat berjalan di banyak sistem operasi seperti Windows, Linux, Mac OS dan jenis Unix lainnya. 4. Bisa di-customise Sesuai aturan open source yaitu mengizinkan para programmer untuk mengubah perangkat lunak PHP, menambah atau memodifikasi fitur jika diperlukan untuk mencocokan lingkungan yang ada. 5. Gratis PHP bersifat gratis akan tetapi tetap dapat diandalkan. 2.8.3
Web Server Web Server adalah suatu perangkat lunak yang memberikan layanan web. Web server menggunakan protokol yang disebut dengan HTTP (HyperText Transfer Protocol). Salah satu web server yang terkenal dan sering digunakan yaitu Apache. Apache adalah sebuah nama web server yang dibuat berbasiskan kode sumber dan ide-ide yang ada pada web server terdahulunya, yaitu web server NCSA. Sesuai dengan namanya, web server NCSA dibuat oleh National
29 Center for Supercomputing Applications. Web server Apache dikembangkan oleh sekumpulan programmer yang bekerja tanpa dibayar. Apache adalah web server yang kompak, modular dan mengikuti standar protokol HTTP.
2.9 2.9.1
TCP/IP Socket Pengertian Socket Socket adalah sebuah abstraksi di mana suatu aplikasi mengirim dan menerima data seperti dengan membuka file melalui aplikasi untuk membaca dan menulis data. Sebuah socket memperbolehkan suatu aplikasi untuk melakukan 'plug in' kepada suatu jaringan dan melakukan komunikasi dengan aplikasi lainnya yang berada pada jaringan yang sama. Informasi yang ditulis ke sebuah socket oleh suatu aplikasi didalam suatu mesin dapat dibaca oleh aplikasi lainnya di dalam mesin yang berbeda dan seterusnya. Socket datang dalam bentuk yang berbeda-beda tergantung oleh protokol yang digunakan dan beda stack pada sebuah protokol. Bentuk utama socket dalam TCP/IP adalah stream sockets dan datagram sockets. Stream sockets didalam TCP (di bawah IP) digunakan sebagai end-to-end protocol dan menyediakan
kehandalan
dalam
pengiriman
byte.
Datagram
sockets
menggunakan UDP (di bawah IP) dan menyediakan kemampuan untuk mengirim data individu sampai 65.500 bytes. Stream dan datagram sockets juga didukung oleh protokol lainnya.
30 Sebuah socket yang menggunakan protokol TCP/IP dapat secara unik dikenali oleh alamat internet, end-to-end protocol (TCP atau UDP) dan nomor port. Ketika pertama kali socket dibuat, socket sudah mempunyai protokol yang terkait tetapi bukan alamat internet atau nomor port. Sebelum sebuah socket terikat oleh sebuah nomor port, socket tidak bisa menerima pesan dari aplikasi di luar jaringan (Donahoo, et al., 2001). 2.9.2
TCP Client Tugas dari TCP Client adalah untuk memulai suatu komunikasi dengan sebuah server yang secara pasif menunggu untuk dihubungi. Pada dasarnya TCP Client memiliki 4 tahap dasar: 1. Membuat TCP socket menggunakan socket(). 2. Membentuk suatu koneksi ke server menggunakan connect(). 3. Berkomunikasi menggunakan send() dan recv(). 4. Mengakhiri koneksi dengan close(). Sebuah TCP socket harus terhubung dengan socket lainnya sebelum berbagai data dapat dikirim. Client memulai koneksi ketika sebuah server secara pasif menunggu untuk seorang klien terhubung (Donahoo, et al., 2001).
2.9.3
TCP Server Tugas dari TCP Server adalah untuk mengatur komunikasi akhir dan secara pasif menunggu untuk sebuah koneksi dari klien. Pada dasarnya TCP Server memiliki 4 tahap dasar: 1. Membuat TCP Socket menggunakan socket(). 2. Menetapkan nomor port ke socket dengan bind().
31 3. Memberitahu sistem untuk memperbolehkan adanya koneksi dibuat pada port tersebut menggunakan listen(). 4. Secara berulang-ulang: a. Memanggil accept() untuk mendapatkan socket baru untuk masingmasing koneksi klien. b. Berkomunikasi dengan klien melalui socket baru tersebut menggunakan send() dan recv(). c. Menutup koneksi klien menggunakan close(). Sebuah server harus melakukan binding kepada sebuah alamat pada sebuah socket dan kemudian menggunakan socket tersebut sebagai sebuah channel untuk menerima socket lainnya yang terhubung ke klien (Donahoo, et al., 2001). 2.10 Diagram Aliran Dokumen Diagram aliran dokumen adalah suatu model yang menggambarkan aliran dokumen dan proses untuk mengolah dokumen dalam suatu proses (Mulyadi, 2001). Berikut ini adalah tabel yang menjelaskan komponen-komponen dari diagram aliran dokumen: Tabel 2.2 Tabel Simbol-Simbol Diagram Aliran Dokumen Simbol
Keterangan Dokumen Simbol ini digunakan untuk menggambarkan semua jenis dokumen, yang merupakan formulir untuk merekam data terjadinya suatu transaksi. Keputusan Simbol ini menggambarkan keputusan yang harus dibuat
32 Simbol
Keterangan dalam proses pengolahan data. Keputusan yang dibuat ditulis dalam simbol.
Garis Alir Simbol ini menggambarkan arah proses pengolahan data.
Persimpangan Garis Alir Jika dua garis alir bersimpangan, untuk menunjukkan arah masing-masing
garis,
salah
satu
garis
dibuat
sedikit
melengkung tepat pada persimpangan kedua garis tersebut. Pertemuan Garis Alir Simbol ini digunakan jika dua garis alir bertemu dan salah satu garis mengikuti garis lainnya. Proses Simbol ini untuk menunjukkan tempat-tempat dalam sistem informasi yang mengolah atau mengubah data yang diterima menjadi data yang mengalir keluar. Nama pengolahan data ditulis di dalam simbol. Mulai / Berakhir (terminal) Simbol ini untuk menggambarkan awal dan akhir suatu sistem.
2.11 Unified Modelling Language (UML) 2.11.1 Class Diagram Class diagram adalah diagram yang menunjukkan sekumpulan dari kelas, interfaces, dan kolaborasi serta hubungannya. Class diagram biasanya digunakan
33 untuk
memvisualisasikan,
menspesifikasikan,
mendokumentasikan
model
struktural dan juga membangun sistem yang dapat dieksekusi. Class diagram direpresentasikan dalam bentuk kotak yang terbagi atas tiga bagian yaitu: class, atribut, dan behavior. 2.11.2 Use Case Diagram Use Case Diagram menggambarkan sekumpulan use case dan aktor serta hubungannya. Use Case Diagram memvisualisasikan tingkah laku dari suatu sistem dan menggambarkan interaksi antara aktor dengan sistem. Di bawah ini dijelaskan bagian use case diagram: 1. Aktor Sebuah aktor mewakili sekumpulan peranan yang saling berhubungan di dalam suatu sistem di mana aktor tersebut berinteraksi dengan use case. Aktor dapat berupa orang atau sistem yang berjalan secara otomatis. 2. Use Case Sebuah use case menjelaskan sekumpulan dari sequence, di mana setiap sequence mewakili interaksi dari hal-hal di luar sistem dengan sistem itu sendiri. Sebuah use case menunjukkan sebuah keperluan fungsional dari keseluruhan sistem. Untuk menghubungkan antara aktor dengan use case digunakan simbol garis yang disebut sebagai relationship. Suatu use case dapat memiliki deskripsi teknik, yaitu: extends dan include. 3.
Model Single Inheritance Dalam suatu model sistem sering digunakan class yang secara struktur atau behaviour sama dengan class lainnya. Cara terbaik untuk
34 mengambarkan struktur yang bersifat umum dan memiliki behavior yaitu dengan menempatkan class tersebut menjadi class yang lebih umum di mana ada class lain yang menurunkannya. Single inheritance dapat dimisalkan bila ada class yang menjadi parent di mana parent tersebut merupakan sebuah class yang umum, sehingga jika ada class lain yang disebut child dimana class tersebut merupakan sebuah class yang lebih khusus. Karena class child melakukan inheritance terhadap class parent maka semua atribut dan operasi yang dimiliki oleh class parent akan secara otomatis dapat dimiliki oleh class child. 2.11.3 Sequence Diagram Sequence diagram menggambarkan sekumpulan objek dan interaksinya, termasuk pesan yang dikirim terhadap urutan waktu. Sequence diagram menunjukkan sekumpulan objek dan pesan yang dikirim dan diterima oleh objek tersebut. Sequence diagram memiliki dua buah karakteristik, yaitu: 1. Setiap objek memiliki lifeline yang digambarkan dengan garis putus-putus vertikal dan garis ini menunjukkan daur hidup dari sebuah objek. 2. Terdapat fokus kontrol yang digambarkan dengan sebuah persegi panjang yang tipis dan tinggi. 2.11.4 Activity Diagram Activity diagram menggambarkan aliran dari suatu aktivitas ke aktivitas berikutnya dalam suatu proses. Komponen utama dalam activity diagram adalah: 1. Initial state, yaitu awal dimulainya suatu aktivitas. 2. Final state, yaitu akhir suatu aktivitas.
35 3. State, menggambarkan aktivitas yang merepresentasikan kinerja dari suatu operasi. 4. Control Flow, menyatakan relationship diantara 2 state. Control flow mengidentifikasi kontrol yang dikirim dari state pertama ke state kedua setelah aktivitas pada state pertama selesai dijalankan. 5. Decision, menggambarkan kontrol dari aliran yang bersifat kondisional. 2.11.5 Component Diagram Component
diagram
menunjukkan
organisasi
dan
hubungan
ketergantungan antara satu set komponen dalam sebuah sistem. Component diagram dapat menggambarkan hubungan statis antara komponen-komponen fisik dan menspesifikasikan detailnya untuk membangun suatu sistem (Booch, et al., 2005).
2.12 Qt Framework Qt framework pertama kali dipublikasikan pada bulan Mei 1995. Dikembangkan oleh Haavard Nord (Trolltech's CEO) dan Eirik Chambe-Eng (Trolltech's Chief Troll). Haavard dan Eirik bertemu di Norwegian Institute of Technology di Trondheim dan mereka berdua lulus dengan gelar master di bidang computer science. Haavard mempunyai ketertarikan dalam pengembangan C++ UI pada tahun 1988 ketika ia disewa oleh perusahaan Swedia untuk mengembangkan suatu framework untuk C++ GUI. Pada tahun 1990, Haavard dan Eirik bekerja bersama pada suatu aplikasi C++ database untuk ultrasound images. Sistem tersebut harus dapat berjalan dengan GUI pada Unix, Macintosh, dan Windows.
36 Pada tahun 1991, Haavard mulai menulis class yang akhirnya menjadi Qt. Pada tahun 1993, Haavard dan Eirik membangun grafik kernel pertama untuk Qt dan bisa diimplementasi dengan widget mereka. Huruf Q dilipih sebagai awalan class karena huruf itu terlihat bagus di Haavard's Emacs font. Huruf ”t” ditambahkan dari kata toolkit. Pada tahun 2005, Qt versi 4 dirilis dengan 500 class dan lebih dari 9.000 fungsi. Qt 4 merupakan Qt edisi pertama yang tersedia sebagai open source di semua platform yang mendukungnya (Blanchette, et al., 2004).
2.13 ARM2386 Controller ARM2386 controller merupakan suatu control board. Microcontroller ini mempunyai 512 kBytes flash memory on-board program dan memiliki kecepatan hingga 75 MHz. Controller ini dilengkapi dengan A/D channels, D/A converter, CAN networking, standar USB 2.0, Power LED, 3.3V voltage regulator, RS232 UART, Battery Back-Up, LCD connector. Semua program dapat langsung didownload melalui port standar RS232.