7 BAB 2 LANDASAN TEORI Adapun beberapa hal yang akan ...

41
7 BAB 2 LANDASAN TEORI Adapun beberapa hal yang akan dibahas dalam bab ini antara lain mengenai teori– teori umum yang berhubungan dengan skripsi ini, dan topik lain yang berhubungan dengan komponen–komponen pendukung. 2.1 Teori–Teori Umum 2.1.1 Pengertian Sistem Sistem, berasal dari bahasa Latin (systēma) dan bahasa Yunani (sustēma), adalah suatu kesatuan yang terdiri dari komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi, materi atau energi. Istilah ini sering dipergunakan untuk menggambarkan suatu set entitas yang berinteraksi, dimana suatu model matematika seringkali bisa dibuat ( http://id.wikipedia.org/wiki/sistem ). Sedangkan menurut McLeod, sistem adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan (McLeod, 1995, p13). Jadi sistem merupakan sekelompok elemen yang tergabung dalam wadah yang saling melengkapi dalam mengolah data menjadi informasi untuk suatu maksud dan tujuan tertentu.

Transcript of 7 BAB 2 LANDASAN TEORI Adapun beberapa hal yang akan ...

7

BAB 2

LANDASAN TEORI

Adapun beberapa hal yang akan dibahas dalam bab ini antara lain mengenai teori–

teori umum yang berhubungan dengan skripsi ini, dan topik lain yang berhubungan

dengan komponen–komponen pendukung.

2.1 Teori–Teori Umum

2.1.1 Pengertian Sistem

Sistem, berasal dari bahasa Latin (systēma) dan bahasa Yunani

(sustēma), adalah suatu kesatuan yang terdiri dari komponen atau elemen

yang dihubungkan bersama untuk memudahkan aliran informasi, materi atau

energi. Istilah ini sering dipergunakan untuk menggambarkan suatu set entitas

yang berinteraksi, dimana suatu model matematika seringkali bisa dibuat (

http://id.wikipedia.org/wiki/sistem).

Sedangkan menurut McLeod, sistem adalah sekelompok elemen yang

terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan (McLeod,

1995, p13). Jadi sistem merupakan sekelompok elemen yang tergabung dalam

wadah yang saling melengkapi dalam mengolah data menjadi informasi untuk

suatu maksud dan tujuan tertentu.

8

2.1.2 Analisis Sistem

Analisis sistem dapat didefinisikan sebagai penguraian dari suatu

sistem informasi yang utuh ke dalam bagian–bagian komponennya dengan

maksud untuk mengidentifikasikan dan mengevaluasi permasalahan–

permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan yang

diharapkan sehingga dapat diusulkan perbaikan–perbaikannya (Jogiyanto,

1995, p129).

Dalam tahap analisis sistem terdapat beberapa langkah dasar yang

harus dilakukan oleh sistem analis sebagai berikut (Jogiyanto, 1995, p130) :

a. Identify yaitu mengidentifikasi masalah.

b. Understand yaitu memahami kerja dari sistem yang ada.

c. Analyze yaitu menganalisis sistem.

d. Report yaitu membuat laporan hasil analisis.

2.1.3 Perancangan Sistem

Menurut McLeod (1995, p238) perancangan sistem adalah penentuan

spesifikasi proses dan data yang diperlukan oleh sistem yang akan diusulkan.

Lebih lanjut dikemukakan oleh McLeod (1995, p238-241) langkah tahap

perancangan sistem adalah sebagai berikut :

a. Menyiapkan rancangan sistem yang terinci.

b. Mengidentifikasikan berbagai alternatif konfigurasi sistem.

c. Mengevaluasi berbagai alternatif konfigurasi sistem.

d. Memilih konfigurasi terbaik.

9

e. Menyiapkan usulan penerapan.

f. Menyetujui atau menolak penerapan sistem.

Sedangkan menurut Mulyadi (1993, p51), perancangan sistem adalah

penerjemahan kebutuhan pemakai informasi ke dalam alternatif rancangan

sistem informasi yang diajukan kepada pemakai informasi untuk

dipertimbangkan. Atas beberapa pendapat diatas, dapat disimpulkan bahwa

perancangan sistem adalah proses penerjemahan kebutuhan pemakai

informasi dan menyajikan spesifikasi pengembangan sistem yang baru yang

dapat memenuhi kebutuhan pemakai informasi.

George M. Scott, yang dikutip Jogiyanto (1995, p196), menyatakan

‘desain sistem menentukan bagaimana suatu sistem akan menyelesaikan apa

yang harus diselesaikan’. Tahap ini menyangkut mengkonfigurasikan dari

komponen perangkat lunak dan perangkat keras dari suatu sistem sehingga

setelah instalasi dari sistem akan benar memuaskan rancangan bangun yang

telah ditetapkan pada akhir tahap analisis.

Dari serangkaian pendapat yang telah dikemukakan di atas dapat

ditarik kesimpulan bahwa perancangan sistem merupakan proses

penerjemahan kebutuhan pemakai informasi ke dalam suatu rancangan untuk

memenuhi kebutuhan pemakai dan memberi gambaran yang lebih jelas untuk

dijadikan pertimbangan. Adapun aspek-aspek yang termasuk di dalamnya

yaitu:

10

1. Rancangan Masukan (input)

Input digunakan dalam proses pengolahan sebuah data pada tahap analisis

sistem.

2. Rancangan Keluaran (output)

Untuk menentukan kebutuhan output dari sistem baru. Output yang akan

didesain dapat ditentukan oleh rancangan arus data suatu proses ke proses

itu sendiri atau dari proses ke proses lain.

3. Rancangan Prosedur

Meliputi seluruh subsistem yang ada dalam sistem.

Dari hal tersebut dapat disimpulkan bahwa perancangan sistem

merupakan penerjemahan dari hasil analisis terhadap sistem yang sedang

berjalan yang diharapkan dapat menghilangkan kelemahan yang ada.

2.2 Teori–Teori Khusus

2.2.1 Sistem Basis Data

2.2.1.1 Pengertian Sistem Basis Data

Basis data merupakan sekumpulan data yang saling berhubung dan

tersimpan bersama-sama dengan tingkat redudansi yang terkontrol dan

digunakan untuk melayani satu atau lebih aplikasi.

Sistem basis data merupakan sistem penyimpanan record

terkomputerisasi dan bertujuan untuk menyajikan informasi yang dibutuhkan

(Date, 2000, p5). Pada sistem basis data pemakai dapat melakukan manipulasi

11

data dan operasi file, dimulai dari menciptakan file baru ke dalam basis data,

memasukkan data, mengambil data, dan menghapus data dari file yang ada

(Date, 2000, p5). Sistem basis data dapat diterapkan pada semua jenis

komputer mulai dari PC hingga super komputer.

2.2.1.2 Database Relational

Basis data relasional adalah basis data yang dalam pandangan

penggunanya merupakan kumpulan tabel (McLeod, 2001).

Keuntungan utama dari sistem ini adalah cara penggunaannya yang

mudah, yaitu dengan menyajikan data dalam bentuk tabel. Selain itu basis

data relasional memiliki fleksibilitas yang tinggi yang mendukung kinerja

sistem, bentuknya memudahkan user untuk melakukan berbagai operasi data

seperti INSERT, UPDATE dan DELETE.

2.2.2 Unified Modelling Language (UML)

Pada bidang software engineering, UML adalah sebuah bahasa

spesifikasi standar untuk object modeling. UML merupakan general-purpose

modeling language yang menggunakan notasi grafikal untuk menciptakan

model abstrak dari sebuah sistem. Pada UML 2.0 ada 13 jenis diagram UML,

sebagai berikut:

Diagram struktur menekankan pada apa yang harus ada pada sistem yang

dimodelkan:

o Class diagram

12

o Component diagram

o Composite structure diagram

o Deployment diagram

o Object diagram

o Package diagram

Diagram perilaku menekankan pada apa yang harus terjadi dalam sistem

yang dimodelkan:

o Activity diagram

o State Machine diagram

o Use case diagram

Diagram interaksi, sekumpulan diagram perilaku, yang menekankan aliran

kendali dan data diantara unsur pada sistem yang dimodelkan:

o Communication diagram

o Interaction overview diagram (UML 2.0)

o Sequence diagram

o UML Timing Diagram (UML 2.0)

(http://en.wikipedia.org/wiki/Unified_Modeling_Language#Diagrams)

2.2.2.1 Use Case Diagram

Use case diagram adalah salah satu jenis diagram perilaku yang

didefinisikan oleh UML (Unified Modeling Language). Tujuannya untuk

menampilkan overview grafikal dari fungsionalitas yang disediakan oleh

sistem dalam bentuk actor, tujuan mereka – direpresentasikan sebagai use

case – dan ketergantungan antara use case tersebut.

13

Standar UML dari OMG (Object Management Group) menentukan

sebuah notasi grafikal untuk memodelkan use case dengan diagram.

Nilai sebenarnya dari use case terletak pada dua area:

1. Deskripsi tertulis tentang perilaku sistem berkenaan dengan fungsi bisnis

atau kebutuhan. Deskripsi ini fokus pada nilai yang disediakan oleh sistem

kepada entity eksternal seperti pengguna atau sistem lain.

2. Posisi atau konteks dari use case diantara use case lainnya. Sebagai

sebuah mekanisme pengorganisasian, sekumpulan use case yang

konsisten, logis memberikan sebuah gambaran yang berguna dari perilaku

sistem, sebuah pengertian umum antara pelanggan/pemilik/pengguna dan

tim pengembang.

Gambar 2.1 Contoh Use Case Diagram

14

Diagram di atas menggambarkan fungsionalitas dari sistem rumah

makan yang disederhanakan. Use case direpresentasikan dengan oval dan

actor direpresentasikan dengan figur.

(http://en.wikipedia.org/wiki/Use_case_diagram)

2.2.2.2 Sequence Diagram

Sebuah sequence diagram menunjukkan, sebagai garis-garis vertikal

yang paralel, proses atau objek yang berbeda yang aktif secara bersamaan dan,

sebagai panah horizontal, pertukaran message diantara mereka, dalam urutan

sebagaimana mereka terjadi. Sequence diagram memungkinkan perincian dari

skenario runtime yang sederhana secara grafikal.

Gambar 2.2 Contoh Sequnce Diagram

Garis putus-putus menurun menunjukkan timeline, waktu berjalan dari

atas ke bawah. Panah merepresentasikan message dari actor atau objek

kepada objek lain. (http://en.wikipedia.org/wiki/Sequence_diagram)

15

2.2.2.3 State Diagram

State diagram dari UML pada dasarnya adalah sebuah Harel

statechart dengan notasi yang distandarisasikan, yang dapat menggambarkan

banyak hal, mulai dari program komputer hingga proses bisnis. State diagram

merupakan salah satu diagram perilaku dari UML yang digunakan untuk

memberi gambaran tentang apa yang harus terjadi dalam sistem yang

dimodelkan. State diagram juga dikenal dengan nama State Machine diagram.

Beberapa sumber juga menyebutnya sebagai state-transition diagram.

(

http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=AR

T&ObjectId=6232)

Berikut ini adalah elemen notasi dasar yang dapat digunakan untuk

membuat state diagram:

Inital State

Lingkaran penuh menandakan initial state.

Gambar 2.3 Simbol Initial State

Final State

Lingkaran berlubang yang berisi lingkaran penuh yang lebih kecil

menandakan final state (jika ada).

Gambar 2.4 Simbol Final State

16

State

Digambarkan dalam bentuk segi empat. Merupakan kumpulan keadaan

yang terjadi di dalam sistem pada waktu tertentu atau keadaan tertentu.

Gambar 2.5 Simbol State

Transition

Digambarkan dalam bentuk tanda panah yang menghubungi 2 keadaan

yang berkaitan. Tanda panah diberi label event[guard]/action. Event

adalah sebuah kejadian yang memicu transisi state. Guard adalah sebuah

ekspresi boolean, yang jika benar, mengaktifkan sebuah event untuk

menghasilkan transisi. Guard bersifat opsional. Action adalah satu atau

lebih aksi yang dilakukan oleh objek sebagai respon atas perubahan state.

Gambar 2.6 Simbol Transition

(http://en.wikipedia.org/wiki/State_diagram)

17

2.2.3 Entity-relationship Diagram

Entity-relationship model adalah sebuah skema relational metode

pemodelan database yang digunakan untuk memodelkan sebuah sistem dan

kebutuhannya dengan sebuah pendekatan top-down. Pendekatan ini umumnya

digunakan pada perancangan database relational (RDBMS). Diagram yang

dibuat menggunakan metode ini disebut dengan ERD (Entity Relationship

Diagram) atau ER diagram.

(http://en.wikipedia.org/wiki/Entity-relationship_model)

ERD adalah sebuah model yang mengidentifikasi konsep atau entity

yang ada dalam sebuah sistem dan hubungan antar entity tersebut. ERD sering

digunakan sebagai salah satu cara untuk memvisualisasikan database

relasional: merepresentasikan sebuah tabel database, dan garis relationship

merepresentasikan key pada sebuah tabel yang menunjuk pada record tertentu

pada tabel yang berhubungan. Tahap pertama dari perancangan sistem

informasi menggunakan model ini dalam analisis kebutuhan untuk

menggambarkan informasi yang diperlukan atau jenis informasi yang

disimpan dalam database.

ERD juga bisa lebih abstrak, tidak perlu menggambarkan semua tabel

yang diperlukan dalam sebuah database, tetapi menyajikan konsep utama dan

hubungan dalam diagram. ERD jenis ini, ditujukan untuk menampilkan

sebuah pandangan yang abstrak, teoritis dari entity utama dan hubungannya.

18

(

www.library.cornell.edu/elicensestudy/dlfdeliverables/fallforum2003/ERD_fi

nal.doc)

2.2.4 Jaringan Komputer

Jaringan Komputer adalah sebuah sistem yang terdiri atas komputer

dan perangkat jaringan lainnya yang bekerja bersama-sama untuk mencapai

suatu tujuan yang sama. Tujuan dari jaringan komputer adalah:

Membagi sumber daya: contohnya berbagi pemakaian printer, CPU,

memori, harddisk.

Komunikasi: contohnya surat elektronik, instant messaging, chatting.

Akses informasi: contohnya web browsing

Agar dapat mencapai tujuan yang sama, setiap bagian dari jaringan

komputer meminta dan memberikan layanan (service). Pihak yang meminta

layanan disebut klien (client) dan yang memberikan layanan disebut pelayan

(server). Arsitektur ini disebut dengan sistem client-server, dan digunakan

pada hampir seluruh aplikasi jaringan komputer.

Klasifikasi Jaringan Komputer berdasarkan skala :

Local Area Network (LAN)

Metropolitan Area Network (MAN)

Wide Area Network (WAN)

klasifikasi Jaringan Komputer berdasarkan arsitektur :

19

Client-Server

Peer to Peer

Sedangkan, klasifikasi Jaringan Komputer berdasarkan topologi jaringan

dibedakan atas :

Topologi Bus

Topologi Star

Topologi Ring

(http://id.wikipedia.org/wiki/Jaringan_komputer).

2.2.5 LAN (Local Area Network)

Menurut Lukas (2006, pp12-pp13), jaringan area lokal adalah jaringan

yang menyediakan hubungan komunikasi berbagai peralatan, sehingga

peralatan yang ada dalam jaringan mampu memberi dan menerima informasi

dari peralatan lainnya yang ada dalam di dalam jaringan. Ciri-ciri dari jaringan

area lokal adalah :

1. Jangkauan dari LAN kecil, khususnya untuk satu gedung atau satu

area.

2. Biasanya LAN dimiliki oleh organisasi yang sama dimana ia akan

dapat menghubungkan satu peralatan ke peralatan lainnya.

3. Tingkat kepadatan data pada LAN sangat besar.

2.2.6 Client - Server

20

Merupakan hubungan antar 2 aplikasi dimana pada 1 aplikasi, yaitu

client, akan meminta request dari aplikasi yang lain, dalam hal ini adalah

server, yang kemudian akan memenuhi request tersebut. Meskipun client -

server dapat digunakan pada aplikasi dalam satu komputer, tetapi umumnya

client - server digunakan pada sebuah jaringan. Pada sebuah jaringan, client -

server merupakan cara terbaik untuk menghubungkan aplikasi secara efisien

yang tersebar dalam lokasi yang berbeda.

Setiap instance dari software client dapat mengirim request data

kepada satu atau lebih server yang terhubung. Kemudian, server dapat

menerima request ini, memprosesnya, dan mengembalikan informasi yang

diminta kepada client. Berbagai aplikasi pada saat ini menggunakan model

client / server. Sebagai contoh, aplikasi client sering digunakan pada web

browser yang akan melakukan request dari sebuah web server di komputer

lain melalui internet.

Interaksi antara client dan server seringkali digambarkan

menggunakan sequence diagram. Sequence diagram distandarisasikan oleh

Unified Modeling Language.

Karakteristik client :

Pengirim request dikenal sebagai client

Mengajukan request

Menunggu dan menerima reply

Biasanya terhubung dengan sejumlah kecil server pada satu waktu

21

Biasanya berinteraksi langsung dengan end-user menggunakan graphical

user interface

Karakteristik server:

Penerima request yang dikirim oleh client dikenal sebagai server

Pasif

Menunggu request dari client

Pada penerimaan request, memprosesnya dan menyediakan reply

Biasanya menerima koneksi dari sejumlah besar client

Biasanya tidak berinteraksi langsung dengan end-user

Kelebihan arsitektur client-server :

Pada banyak kasus, arsitektur client-server memungkinkan sebuah

sistem didistribusikan diantara beberapa komputer independen yang

terhubung dengan jaringan. Ini memberikan sebuah keuntungan

tambahan yaitu: kemudahan dalam maintenance. Sebagai contoh, dapat

dilakukan penggantian, perbaikan, atau bahkan upgrade server

sementara client tetap tidak menyadari dan tidak terpengaruh oleh

perubahan itu.

Semua data disimpan pada server, yang biasanya mempunyai kendali

keamanan yang jauh lebih baik dari kebanyakan client. Server dapat

mengawasi akses dan resource dengan lebih baik, untuk menjamin

22

bahwa hanya client dengan izin yang tepat yang dapat mengakses dan

mengubah data.

Karena penyimpanan data tersentralisasi, pengubahan data lebih mudah

bagi administer dibanding bila menggunakan P2P. Pada arsitektur P2P,

data yang telah di-update perlu didistribusikan dan dipergunakan pada

setiap “peer” pada jaringan. Itu merupakan proses yang membuang

waktu dan mudah error, karena bisa terdapat ribuan bahkan jutaan peer.

Banyak teknologi client-server yang dirancang untuk menjamin

keamanan, keramahan user interface dan kemudahan dalam

penggunaan.

Arsitektur ini berjalan dengan berbagai client yang berbeda dengan

kemampuan yang berbeda.

Kekurangan arsitektur client-server :

Kemacetan lalu lintas jaringan telah menjadi sebuah permasalahan sejak

lahirnya paradigma client-server. Seiring meningkatnya jumlah request

pada saat bersamaan dari client ke server, server bisa menjadi

overloaded. Berbeda dengan jaringan P2P, dimana bandwidth-nya

meningkat jika lebih banyak node ditambahkan, karena bandwidth

keseluruhan dari jaringan P2P dapat dihitung kasar sebagai jumlah

bandwidth dari setiap node pada jaringan itu.

Paradigma client-server tidak mempunyai ketangguhan jaringan P2P

yang baik. Pada client-server, apabila server yang penting mengalami

23

fail, request dari client tidak dapat dipenuhi. Pada jaringan P2P,

resource biasanya didistribusikan diantara banyak node. Bahkan jika

satu atau lebih node pergi dan meninggalkan proses download file,

sebagai contoh, node lain yang masih tinggal mempunyai data yang

diperlukan untuk menyelesaikan proses download tersebut.

(http://en.wikipedia.org/wiki/Client_server#Advantages)

2.2.7 Topologi Jaringan Bintang/Star

Topologi jaringan adalah, hal yang menjelaskan hubungan geometris

antara unsur-unsur dasar penyusun jaringan, yaitu node, link, dan station.

Topologi bintang merupakan bentuk topologi jaringan yang berupa

konvergensi dari node tengah ke setiap node atau pengguna. Topologi

jaringan bintang termasuk topologi jaringan dengan biaya menengah.

Gambar 2.7 Topologi Bintang

Kelebihan dari topologi bintang adalah :

24

Kerusakan pada satu saluran hanya akan mempengaruhi jaringan pada

saluran tersebut dan workstation yang terpaut.

Tingkat kemanan termasuk tinggi.

Tahan terhadap lalu lintas jaringan yang sibuk.

Penambahan dan pengurangan workstation dapat dilakukan dengan

mudah.

Kekurangan dari topologi bintang adalah :

Jika node tengah mengalami kerusakan dalam hal ini hub/switch maka

seluruh aktifitas jaringan akan terhenti. Untuk itu perlunya disediakan

node tengah cadangan.

(http://id.wikipedia.org/wiki/Topologi_bintang).

2.2.8 WiFi (Wireless Fidelity)

Wi-Fi (atau Wi-fi, WiFi, Wifi, wifi) merupakan kependekan dari

Wireless Fidelity, memiliki pengertian yaitu sekumpulan standar yang

digunakan untuk Jaringan Lokal Nirkabel (Wireless Local Area Networks -

WLAN) yang didasari pada spesifikasi IEEE 802.11. Standar terbaru dari

spesifikasi 802.11a atau b, seperti 802.16 g, saat ini sedang dalam

penyusunan, spesifikasi terbaru tersebut menawarkan banyak peningkatan

mulai dari luas cakupan yang lebih jauh hingga kecepatan transfernya.

Awalnya Wi-Fi ditujukan untuk pengunaan perangkat nirkabel dan Jaringan

Area Lokal (LAN), namun saat ini lebih banyak digunakan untuk mengakses

internet. Hal ini memungkinan seseorang dengan komputer dengan kartu

25

nirkabel (wireless card) atau personal digital assistant (PDA) untuk

terhubung dengan internet dengan menggunakan titik akses (atau dikenal

dengan hotspot) terdekat.

Wi-Fi dirancang berdasarkan spesifikasi IEEE 802.11. Sekarang ini

ada empat variasi dari 802.11, yaitu: 802.11a, 802.11b, 802.11g, and 802.11n.

Spesifikasi b merupakan produk pertama Wi-Fi. Variasi g dan n merupakan

salah satu produk yang memiliki penjualan terbanyak pada 2005.

SPESIFIKASI KECEPATAN FREKUENSI COCOK dgn

802.11b 11 Mb/s 2.4 GHz b

802.11a 54 Mb/s 5 GHz a

802.11g 54 Mb/s 2.4 GHz b, g

802.11n 100 Mb/s 2.4 GHz b, g, n

Tabel 2.1 Spesifikasi WiFi

802.11a menggunakan frekuensi yang lebih tinggi oleh sebab itu daya

jangkaunya lebih sempit, sedangkan yang lainnya menggunakan frekuensi

yang sama.

Wi-Fi (Wireless Fidelity) adalah koneksi tanpa kabel seperti

handphone dengan mempergunakan teknologi radio sehingga pemakainya

dapat mentransfer data dengan cepat dan aman. Wi-Fi tidak hanya dapat

digunakan untuk mengakses internet, Wi-Fi juga dapat digunakan untuk

membuat jaringan tanpa kabel di perusahaan. Karena itu banyak orang

26

mengasosiasikan Wi-Fi dengan “Kebebasan” karena teknologi Wi-Fi

memberikan kebebasan kepada pemakainya untuk mengakses internet atau

mentransfer data dari ruang meeting, kamar hotel, kampus, dan caf�-caf� yang

bertanda “Wi-Fi Hot Spot”. Juga salah satu kelebihan dari Wi-Fi adalah

kepraktisan, tidak perlu repot memasang kabel network. Untuk masalah

kecepatan tergantung sinyal yang diperoleh.

(http://id.wikipedia.org/wiki/Wi-Fi).

2.2.9 Windows Sockets Programming

2.2.9.1 Winsock

Dalam istilah komputer, Windows Sockets API, yang kemudian

disingkat menjadi Winsock, adalah sebuah spesifikasi teknis yang menentukan

bagaimana software jaringan Windows mengakses layanan jaringan (network

services), terutama TCP/IP. Winsock menentukan sebuah interface standar

antara aplikasi client TCP/IP Windows dan protokol TCP/IP yang

mendasarinya.

Gambar 2.8 Network API

Socket adalah mekanisme komunikasi yang memungkinkan terjadinya

pertukaran data antar program atau proses baik dalam satu mesin maupun

antar mesin. Gaya pemrograman socket sendiri berawal dari sistem Unix BSD

yang terkenal dengan kepeloporannya pada bidang penanganan jaringan,

27

sehingga sering disebut BSD socket. Socket pertama kali diperkenalkan di

sistem Unix BSD 4.2 tahun 1983 sebagai kelanjutan dari implementasi

protokol TCP/IP yang muncul pertama kali pada sistem Unix BSD 4.1

Windows Sockets berdasar pada BSD socket, akan tetapi menyediakan

fungsionalitas tambahan untuk memungkinkan API mengikuti model

pemrograman standar Windows. Meskipun demikian, program yang

dihasilkan dengan winsock dipastikan dapat berkomunikasi dengan baik

dengan program yang dihasilkan dengan BSD sockets, sepanjang keduanya

mengadopsi protokol yang sama.

(http://en.wikipedia.org/wiki/Winsock)

Spesifikasi Windows Sockets API menetapkan dua interface yaitu API

yang digunakan oleh pengembang aplikasi dan SPI, yang menyediakan

kemampuan bagi pengembang software jaringan untuk menambah module

protokol baru ke dalam sistem.

Dengan penerimaan TCP/IP sebagai sebuah standar protokol jaringan

yang platform-independent, dan pertumbuhan internet yang sangat cepat,

Windows Sockets API telah dimunculkan sebagai standar untuk pemrograman

jaringan pada lingkungan Windows.

Spesifikasi Windows Socket dibuat oleh satu grup perusahaan,

termasuk Microsoft, dalam sebuah usaha untuk menstandarisasikan protokol

TCP/IP under Windows. Berdasarkan Windows Sockets, setiap vendor

mengembangkan library mereka sendiri. Sebelumnya walaupun mereka

mempunyai fungsi yang serupa, perbedaan yang ada cukup signifikan untuk

28

menyebabkan masalah bagi pengembang software yang menggunakannya.

Batasan terbesar adalah, dalam pemilihan untuk mengembangkan dengan

library vendor tertentu, pengembang terpaku pada implementasi tersebut.

Sebuah program yang ditulis dengan produk vendor tertentu tidak akan

bekerja dengan produk vendor lain. Windows Sockets ditawarkan sebagai

sebuah solusi, memberikan kebebasan kepada pengembang dan pengguna

akhir dalam memilih implementasi vendor manapun dengan jaminan bahwa

produk mereka akan tetap berjalan.

Ada dua pendekatan umum yang dapat diambil ketika membuat

program menggunakan Windows Sockets. Yang pertama adalah dengan

menulis code langsung dengan API. Cara yang lain adalah dengan

menggunakan sebuah komponen yang menyediakan higher-level interface ke

library dengan mengatur properties dan memberi reaksi pada events. Hal ini

dapat menyediakan sebuah interface pemrograman yang lebih alami, dan

memungkinkan pengembang untuk menghindari kecenderungan error karena

pekerjaan yang membosankan berkaitan dengan pemrograman sockets.

Dengan memasukkan control dalam sebuah project, mengatur beberapa

properties dan memberi reaksi pada events, pengembang dapat dengan cepat

dan mudah menulis sebuah aplikasi internet. Dan karena sifat alami custom

control secara umum, kurva pembelajaran rendah dan percobaan mudah.

(http://www.developerfusion.co.uk/show/28/1/)

2.2.9.2 Socket

29

Socket adalah sebuah representasi abstrak dari sebuah communication

endpoint yang dapat diumpamakan seperti sebuah telepon. Akan tetapi,

membuat socket tidak berarti memampukan untuk pertukaran informasi,

seperti mempunyai telepon di rumah tidak berarti dapat langsung berbicara

dengan seseorang hanya dengan mengangkatnya. Sebuah koneksi harus

dibangun dengan program lain, seperti men-dial nomor telepon, dan untuk

melakukan ini diperlukan alamat socket dari aplikasi yang ingin dihubungi.

Alamat ini terdiri dari tiga bagian: protocol family, alamat Internet Protocol

(IP) dan service port number.

Protocol family adalah sebuah nomor yang digunakan untuk secara

logikal menunjuk group yang memiliki protokol itu. Karena interface protokol

cukup umum untuk digunakan dengan beberapa protokol yang berbeda,

protocol family memberitahukan kepada software jaringan tentang protokol

yang digunakan oleh socket.

(http://www.developerfusion.co.uk/show/28/6/)

Ketika melakukan operasi pada socket, socket mungkin tidak dapat

menyelesaikannya dengan segera dan mengembalikan kendali kembali kepada

program utama. Sebagai contoh, operasi baca pada socket tidak dapat

diselesaikan sampai beberapa data telah dikirim oleh remote host. Jika tidak

ada data yang menunggu untuk dibaca, maka akan terjadi satu dari dua

kemungkinan berikut: function menunggu sampai data telah ditulis pada

socket, atau function akan segera return dengan sebuah error mengindikasikan

bahwa tidak ada data untuk dibaca.

30

Kasus pertama disebut dengan blocking socket. Dengan kata lain,

program di-block sampai data yang diminta telah dipenuhi. Ini dapat

mengakibatkan interaksi yang kompleks (dan debugging yang sulit) jika

banyak active control digunakan pada aplikasi.

Kasus kedua disebut dengan non-blocking socket. Ketika remote

system tidak menulis data pada socket, operasi baca akan selesai dan eksekusi

program akan dilanjutkan. Non-blocking socket mengharuskan aplikasi untuk

mengenali kondisi error dan menangani situasi dengan tepat. Program yang

menggunakan non-blocking socket biasanya menggunakan satu dari dua

metode berikut ketika mengirim dan menerima data. Metode pertama disebut

dengan polling, program secara periodik mencoba untuk membaca dan

menulis data dari socket (biasanya menggunakan sebuah timer). Metode

kedua, dan merupakan metode yang lebih disukai, adalah menggunakan apa

yang disebut dengan asynchronous notification. Ini berarti program

diberitahukan ketika event socket terjadi, dan kemudian dapat merespon event

tersebut. Sebagai contoh, jika remote program menulis data pada socket,

sebuah “read event” akan dihasilkan sehingga program mengetahui bahwa

program dapat membaca data dari socket pada saat itu. Kemudian program

dapat merespon dengan membaca data dari socket, dan mungkin mengirim

data kembali. Selain mudah, metode ini juga dapat mengurangi kemungkinan

error dan fails yang terjadi ketika digunakan oleh pengguna yang mempunyai

koneksi internet yang relatif lambat (seperti koneksi Internet dial-up).

31

Program akan tetap berjalan dengan benar, tanpa memperhatikan kecepatan

atau konfigurasi jaringan.

(http://www.developerfusion.co.uk/show/28/8/)

2.2.9.3 Hostname

Untuk mengirim dan menerima data dengan sebuah proses remote,

sebuah aplikasi harus mempunyai potongan-potongan informasi. Yang

pertama adalah alamat IP dari sistem dimana remote program di-running.

Walaupun alamat ini secara internal direpresentasikan dengan angka 32-bit,

biasanya dinyatakan dengan dot-notation atau dengan sebuah nama logikal

yang disebut hostname. Seperti alamat dalam dot-notation, hostname dibagi

menjadi beberapa bagian terpisah dengan titik, disebut domain. Domain

berbentuk hirarkikal, dengan domain tingkat teratas menentukan tipe dari

organisasi pemilik jaringan tersebut, dengan sub-domain di bawahnya

menentukan jaringan tertentu.

Gambar 2.9 Contoh nama domain

Pada gambar ini, domain tingkat teratas adalah “gov” (agen

pemerintah), “com” (organisasi komersial), “edu” (institusi pendidikan) dan

32

“net” (penyedia layanan Internet). Nama domain yang memenuhi syarat

ditentukan dengan penamaan host dan setiap sub-domain parent di atasnya,

dipisahkan dengan titik. Sebagai contoh, nama domain yang memenuhi syarat

untuk host “jupiter” adalah “jupiter.catalyst.com”. Dengan kata lain, sistem

“jupiter” merupakan bagian dari domain “catalyst” (jaringan lokal

perusahaan) yang merupakan bagian dari domain “com” (sebuah domain yang

digunakan oleh semua perusahaan komersial).

Untuk menggunakan hostname sebagai pengganti dot-address untuk

mengenali sistem atau jaringan tertentu, harus ada korelasi antara keduanya.

Ini dilakukan dengan satu diantara dua cara, yaitu sebuah host table lokal atau

sebuah name server. Host table adalah sebuah text file yang mendaftarkan

alamat IP sebuah host, diikuti dengan hostname. Biasanya file ini diberi nama

‘hosts’ dan ditemukan pada directory yang sama dimana software TCP/IP di-

install. Sebuah name server adalah sebuah sistem (sebenarnya, sebuah

program yang running pada sebuah sistem) yang dapat diberikan sebuah

hostname dan akan mengembalikan alamat IP host tersebut. Pendekatan ini

lebih menguntungkan karena informasi host untuk seluruh jaringan diurus

pada satu lokasi terpusat, dibandingkan tersebar pada setiap host di jaringan.

(http://www.developerfusion.co.uk/show/28/4/)

2.2.9.4 Service Port

Selain alamat IP, sebuah aplikasi juga perlu mengetahui bagaimana

untuk mengalamatkan program tertentu yang ingin diajak berkomunikasi. Ini

33

dilakukan dengan menentukan service port, sebuah angka 16-bit yang secara

unik menentukan sebuah aplikasi yang berjalan pada sistem (0–65536). Ada

beberapa port number yang dikhususkan untuk digunakan disebut well known

port (0 s/d 1023) dikontrol oleh IANA (Internet Assigned Numbers Authority).

Selain itu, biasanya digunakan juga service name. Seperti hostname,

service name biasanya dipasangkan dengan port number melalui sebuah file

lokal. File ini mendaftar service name, diikuti dengan port number dan

protokol yang digunakan oleh server. Beberapa service name standar

digunakan oleh aplikasi berbasis Internet dan disebut well-known services.

(http://www.developerfusion.co.uk/show/28/5/)

2.2.9.5 TCP/IP (Transmission Control Protocol/Internet Protocol)

TCP/IP adalah bahasa komunikasi dasar / protokol dari internet.

TCP/IP juga dapat digunakan sebagai protokol dalam sebuah jaringan

tersendiri, seperti intranet atau extranet. Transmission control protocol

memiliki fungsi untuk membagi data menjadi beberapa paket kecil untuk

dikirim yang kemudian akan disatukan kembali saat data diterima sedangkan

internet protocol berfungsi untuk menangani alamat tujuan dari masing-

masing paket sehingga dapat dikirim ke alamat yang benar (

http://whatis.techtarget.com/term/t/tcp_ip.html)

Ketika dua komputer ingin bertukar informasi melalui jaringan, ada

beberapa komponen yang harus ditempatkan sebelum data dapat dikirim dan

34

diterima. Tentu saja hardware secara fisik harus ada, yang biasanya berupa

NIC (network interface card) atau sebuah port komunikasi serial untuk dial-

up koneksi jaringan. Akan tetapi, selain koneksi fisikal ini, komputer juga

perlu menggunakan sebuah protokol yang menentukan parameter komunikasi

di antara mereka. Singkatnya, sebuah protokol yang menentukan “aturan di

jalan” yang harus diikuti oleh setiap komputer sehingga semua sistem pada

jaringan dapat bertukar data. Satu di antara protokol yang populer digunakan

saat ini adalah TCP/IP, yang merupakan singkatan dari Transmission Control

Protocol/Internet Protocol.

Berdasarkan persetujuan, TCP/IP digunakan untuk menunjuk pada

sekumpulan protokol, semuanya berdasar pada Internet Protokol (IP). Tidak

seperti sebuah jaringan lokal tunggal, dimana setiap sistem secara langsung

terhubung satu sama lain, internet adalah kumpulan dari jaringan-jaringan,

dikombinasikan menjadi sebuah jaringan virtual. Internet Protocol

menyediakan sebuah cara dimana sistem apapun dari jaringan manapun dapat

berkomunikasi satu sama lain semudah jika mereka berada pada jaringan fisik

yang sama. Setiap sistem, biasanya diacu sebagai sebuah host, diberi sebuah

nomor 32-bit yang unik yang digunakan untuk mengidentifikasinya pada

jaringan. Biasanya, alamat ini dipecah menjadi empat angka 8-bit dipisahkan

dengan titik. Ini disebut dot-notation. Beberapa bagian dari alamat digunakan

untuk mengidentifikasi jaringan dimana sistem tersebut terhubung, dan

sisanya mengidentifikasi sistem itu sendiri. Juga perlu diperhatikan bahwa ada

tiga “kelas” alamat, diacu sebagai “A”, “B” dan “C”. Aturannya adalah bahwa

35

alamat kelas “A” diberikan pada jaringan yang sangat besar, alamat kelas “B”

diberikan pada jaringan ukuran sedang, dan alamat kelas “C” diberikan pada

jaringan yang lebih kecil (jaringan yang kurang dari 250 host).

Ketika sistem mengirim data ke jaringan menggunakan Internet

Protocol, data dikirim dalam unit diskrit yang disebut datagram, biasanya

juga dikenal dengan packet. Sebuah datagram berisi header diikuti dengan

data aplikasi. Header mengandung informasi pengalamatan yang digunakan

untuk mengantarkan datagram ke tujuannya, seperti sebuah amplop

digunakan untuk alamat dan berisi surat. Dan seperti surat, tidak ada jaminan

bahwa sebuah datagram akan sampai pada tujuannya. Faktanya, datagram

mungkin hilang, diduplikasi atau diantarkan di luar pesanan selama datagram

melintasi jaringan. Hal ini dapat menyebabkan banyak masalah untuk

pengembang software. Yang diperlukan adalah sebuah cara yang reliable

untuk bertukar data tanpa perlu mencemaskan tentang hilangnya packet atau

data yang campur aduk.

Untuk memenuhi kebutuhan ini, Transmission Control Protocol (TCP)

dikembangkan. Dibangun diatas IP, TCP menyediakan full duplex byte stream

yang reliable yang dapat dibaca dan ditulis dengan cara yang serupa dengan

pembacaan dan penulisan file. Keuntungannya jelas bahwa programmer

aplikasi tidak perlu menulis code sendiri untuk menangani datagram yang

hilang atau tidak berurutan, dan dapat berfokus pada aplikasi itu sendiri.

(http://www.developerfusion.co.uk/show/28/2/)

36

TCP/IP menggunakan client / server sebagai bentuk komunikasi,

dimana setiap pengguna komputer melakukan permintaan (request) dan

direspons sebagai service (seperti mengirim halaman web) oleh komputer lain

di dalam jaringan. TCP/IP merupakan komunikasi dari titik ke titik, yang

maksudnya pada setiap komunikasi dari satu titik (atau pada host komputer)

dalam jaringan, ke titik lain.

TCP dikenal sebagai connection-oriented protocol. Dengan kata lain,

sebelum dua program dapat memulai pertukaran data, mereka harus

membangun sebuah koneksi satu sama lain. Ini dilakukan dengan three-way

handshake dimana kedua pihak bertukar packet dan menentukan nomor urut

awal packet (nomor urut ini penting karena, seperti yang telah disebutkan di

atas, datagram dapat tiba dengan tidak urut; nomor ini digunakan untuk

memastikan bahwa data diterima dengan urutan yang sama dengan ketika

dikirim). Ketika membentuk sebuah koneksi, satu program harus mengambil

peran sebagai client, dan yang lain sebagai server. Client bertanggung jawab

untuk memulai koneksi, sementara merupakan tanggung jawab server untuk

menunggu, listen dan merespon koneksi yang masuk. Ketika koneksi telah

dibentuk, kedua pihak dapat mengirim dan menerima data sampai koneksi

ditutup.

37

Gambar 2.10 Three-way handshake

Pada penerapannya TCP/IP digunakan pada protokol lain, seperti Hyper

Text Transmission Protocol (HTTP), File Transfer Protocol (FTP), Simple

Mail Transfer Protocol (SMTP).

2.2.9.6 Protokol Client-Server

Program yang dibuat untuk menggunakan TCP dikembangkan

menggunakan model client-server. Ketika dua program ingin menggunakan

TCP untuk bertukar data, satu di antara program tersebut harus mengambil

peran sebagai client, sementara yang lain harus mengambil peran sebagai

server. Aplikasi client memulai active open. Client akan membuat socket dan

secara aktif mencoba untuk membangun koneksi dengan program server.

Sementara aplikasi server membuat sebuah socket dan secara pasif listen

koneksi dari client, melakukan apa yang disebut dengan passive open. Ketika

client memulai koneksi, server diberitahukan bahwa beberapa proses sedang

38

mencoba untuk terhubung dengannya. Dengan accepting koneksi, server

menyelesaikan apa yang disebut dengan sebuah virtual circuit, sebuah jalur

komunikasi logikal antara dua program. Accepting koneksi akan

menciptakan sebuah socket baru; socket yang asli tetap tidak berubah jadi

dapat terus digunakan untuk listen koneksi tambahan. Ketika server tidak

lagi ingin listen koneksi, server menutup socket pasif yang asli.

Ada lima langkah penting yang harus diambil oleh program yang

menggunakan TCP untuk melakukan dan menyelesaikan sebuah koneksi.

Sisi server mengikuti langkah berikut:

1. Membuat socket.

2. Listen koneksi yang masuk dari client.

3. Accept koneksi client.

4. Mengirim dan menerima informasi.

5. Menutup socket ketika selesai, mengakhiri percakapan.

Sedangkan client, mengikuti langkah berikut:

1. Membuat socket.

2. Menentukan alamat dan service port program server.

3. Membangun koneksi dengan server.

4. Mengirim dan menerima data.

5. Menutup socket ketika selesai, mengakhiri percakapan.

(http://www.developerfusion.co.uk/show/28/7/)

39

2.2.10 Microsoft SQL Server 2000

Microsoft SQL Server adalah sebuah RDBMS (Relational Database

Management System) yang diproduksi oleh Microsoft. Query language yang

utama adalah Transact-SQL, sebuah implementasi dari Structured Query

Language (SQL) standar ANSI/ISO yang digunakan oleh Microsoft dan

Sybase.

Microsoft SQL Server didesain untuk mendukung pemrosesan banyak

transaksi (seperti untuk pencatatan pesanan online, inventaris, laporan

keuangan, atau bagian produksi) dan juga sebagai data warehouse dan

aplikasi pendukung keputusan (decision-support applications). SQL Server

2000 running pada Microsoft Windows NT 4 atau Microsoft Windows 2000

Server-based menggunakan prosesor Intel dan dapat di-install sebagai sistem

database desktop personal pada mesin yang menggunakan Windows NT

Workstation 4, Windows 2000 Professional, Windows 98, Windows

Millennium Edition (Me), dan Windows XP. CD yang sama dapat digunakan

untuk meng-install SQL Server 2000 versi server atau versi personal.

Sebagai tambahan, dapat di-install banyak instances SQL Server 2000 pada

komputer yang sama, masing-masing dengan user dan data sendiri.

SQL Server 2000 sebenarnya memiliki tujuh edisi yang berbeda yang

tersedia dalam CD yang berbeda: Standard Edition, Enterprise Edition,

Personal Edition, Developer Edition, Windows CE Edition, Evaluation

Edition, and Microsoft Desktop Engine (MSDE).

40

SQL Server 2000 juga menyediakan banyak client tools dan

networking interfaces untuk operating system Microsoft lainnya, seperti

Windows 3.1 dan MS-DOS. Dan karena arsitektur terbuka SQL Server,

sistem lain (seperti sistem berbasis UNIX) dapat dioperasikan

menggunakannya.

Untuk memahami arsitektur SQL Server, perlu dipahami lebih dahulu

arsitektur tradisional yang digunakan oleh produk DBMS berbasis UNIX.

Produk DBMS berbasis UNIX biasa tersusun dengan salah satu dari dua cara

berikut ini. Arsitektur pertama menggunakan banyak proses (multiple

processes atau shadow processes), dengan satu proses setiap user, yang

membuat sistem hemat resource. Tipe arsitektur kedua menggunakan satu

proses yang mencoba untuk mensimulasikan fasilitas threading operating

system dengan bergerak dengan cara round-robin antara banyak request,

menjaga sebuah stack untuk setiap request dan berganti ke stack tertentu

untuk unit yang akan dijalankan. SQL Server menggunakan arsitektur kedua

yaitu threading model.

Efisiensi threading model SQL Server dihasilkan dari performa

multiuser-nya. SQL Server dapat menangani dengan efisien ratusan bahkan

ribuan user yang aktif secara bersamaan. Built-in thread pooling

memungkinkan beban kerja pada tingkat ini tanpa memerlukan Transaction

Processing (TP) Monitor eksternal, yang menambah biaya dan kompleksitas

sistem.

41

Keamanan SQL Server 2000 menyediakan dua metode dasar untuk

otentifikasi login yaitu Windows Authentication dan SQL Server

Authentication. Pada Windows Authentication, keamanan login SQL Server

diintegrasikan langsung dengan keamanan Windows NT/2000, yang

memungkinkan operating system untuk meng-otentifikasi pengguna SQL

Server. Windows Authentication memungkinkan SQL Server untuk

mengambil keuntungan dari fitur keamanan operating system, seperti

enkripsi password, password aging, dan larangan panjang minimum dan

maksimum pada password. Pada SQL Server Authentication, administrator

membuat login account SQL Server, dan setiap user yang terhubung dengan

SQL Server harus memberikan nama login dan password SQL Server yang

valid.

Pada banyak lingkungan, aplikasi harus tersedia setiap waktu – 24

jam sehari, 7 hari seminggu. SQL Server membantu untuk memastikan

ketersediaan dengan menyediakan online backup, online maintenance,

automatic recovery, dan kemampuan utuk meng-install SQL Server pada

sebuah cluster untuk failover support. Online backup yang dinamis

memungkinkan database untuk di-back up ketika user secara aktif meng-

query atau meng-update database. Layanan SQL Server Agent menyediakan

built-in scheduling engine yang mengaktifkan backup untuk dilakukan secara

otomatis, tanpa keterlibatan administrator. Juga dapat dilakukan tugas-tugas

maintenance lainnya, seperti diagnostic, mengubah desain (sebagai contoh,

42

menambahkan satu kolom pada tabel), dan mengubah integrity tanpa perlu

mematikan SQL Server atau melarang akses dari user.

2.2.11 Microsoft Visual Basic 6.0

Visual Basic (VB) adalah bahasa pemrograman event driven third-

generation dan development environment dari Microsoft untuk model

pemrograman COM. Visual Basic diambil dari BASIC dan memungkinkan

rapid application development (RAD) untuk aplikasi graphical user

interface (GUI), akses ke database menggunakan DAO, RDO, atau ADO,

dan pembuatan control dan object ActiveX.

Seorang programmer dapat menghasilkan sebuah aplikasi

menggunakan component yang disediakan oleh Visual Basic. Program yang

ditulis dalam Visual Basic juga dapat menggunakan Windows API, tetapi

untuk melakukannya diperlukan deklarasi function eksternal.

Dalam bisnis pemrograman, Visual Basic merupakan salah satu

bahasa dengan pengguna terbesar. Pada penelitian yang dilakukan pada

tahun 2005, 62 persen pengembang dilaporkan menggunakan Visual Basic.

Visual Basic dirancang untuk kemudahan dalam pembelajaran dan

penggunaan. Bahasa ini tidak hanya memungkinkan programmer untuk

membuat aplikasi GUI serderhana, tetapi juga dapat mengembangkan

aplikasi yang cukup kompleks. Pemrograman pada VB merupakan sebuah

kombinasi dari pengaturan component atau control pada sebuah form secara

visual, menentukan attribute dan action dari komponen tersebut, dan menulis

43

tambahan code untuk menambah fungsionalitas. Karena attribute dan action

default telah ditetapkan bagi komponen, sebuah program sederhana dapat

dibuat tanpa mengharuskan programmer untuk menulis banyak baris code.

Form dibuat dengan teknik drag and drop. Sebuah tool digunakan

untuk menempatkan control (seperti text box, button, dan lain-lain) pada

form (window). Control mempunyai attribute dan event handler yang

berhubungan dengannya. Nilai default disediakan ketika control dibuat, dan

dapat diubah oleh programmer. Banyak nilai attribute dapat diubah pada

saat run time berdasarkan tindakan pengguna atau perubahan pada

lingkungan, menyediakan sebuah aplikasi yang dinamis.

(http://en.wikipedia.org/wiki/Visual_basic)

Menurut SamsVB6 (1998, Page8) Microsoft Visual Basic 6.0

merupakan perwujudan terbaik dan terbaru dari bahasa BASIC yang kuno,

memberikan sebuah sistem aplikasi pengembangan Windows yang lengkap

dalam satu paket. Microsoft Visual Basic 6.0 dapat melakukan proses write,

edit dan testing aplikasi Windows. Sebagai tambahan, Microsoft Visual Basic

6.0 menyertakan tools yang dapat digunakan untuk write dan compile file

help, activeX Controls dan bahkan aplikasi internet.

2.2.12 NetBIOS

NetBIOS merupakan akronim dari Network Basic Input/Output

System. NetBIOS memungkinkan komputer yang terpisah untuk

berkomunikasi di Local Area Network ( LAN ). Pada jaringan sekarang,

44

NetBIOS berjalan di TCP/IP ( NBT ), memberikan setiap komputer di

jaringan nama NetBIOS dan alamat IP bergantung pada host name komputer

tersebut. NetBIOS menyediakan pelayanan yang berhubungan dengan lapisan

session pada model OSI. Mode session memungkinkan dua komputer untuk

menjalin sebuah koneksi untuk sebuah “percakapan”, mengijinkan pesan

yang lebih besar untuk ditangani dan menyediakan deteksi kesalahan. Pada

NBT, pelayanan session berjalan di TCP dengan port 139.

( http://en.wikipedia.org/wiki/NetBIOS )

2.2.13 Win32 API

Windows API, secara tidak resmi disebut WinAPI, adalah set inti

application programming interfaces (API) yang tersedia untuk operating

system Microsoft Windows. Semua program Windows kecuali program

console harus berinteraksi dengan Windows API tanpa menghiraukan bahasa

pemrogramannya.

Win32 adalah API 32-bit untuk versi Windows modern. Win32 API

terdiri dari fungsi yang diimplementasikan, seperti pada Win16, di sistem

DLL. DLL inti dari Win32 adalah kernel32.dll, user32.dll, dan gdi32.dll

.Win32 diperkenalkan bersama Windows NT. Versi Win32 yang dikeluarkan

bersama Windows 95 pada awalnya disebut dengan Win32c, dengan “c”

singkatan dari “compatibility”, tetapi istilah ini kemudian ditinggalkan oleh

Microsoft menjadi Win32. Pada Windows NT 4.0 dan versi berikutnya

(termasuk semua versi Windows modern), pemanggilan Win32 dieksekusi

45

oleh dua module, csrss.exe (Client/Server Runtime Server Subsystem) pada

user mode and win32k.sys pada kernel mode.

(http://en.wikipedia.org/wiki/Win32)

2.2.14 Eight Golden Rules of Interface Design

Untuk meningkatkan kegunaan dari suatu aplikasi, merupakan suatu

hal yang penting untuk memiliki rancangan tampilan yang baik. “Eight

Golden Rules of Interface Design” merupakan panduan yang dapat

digunakan untuk menciptakan rancangan interaksi (Shneiderman, 1998,

p75):

1. Berusaha untuk konsisten

Tingkatan konsistensi dalam setiap tindakan merupakan bagian yang harus

terpenuhi dalam setiap situasi. Bentuk dari bagian ini dapat terlihat dari

format, menu, layar bantuan (help screen), dan perintah yang konsisten.

2. Adanya fasilitas shortcut untuk frequent users.

Akibat dari seringnya penggunaan sistem oleh user, maka user memiliki

keinginan untuk mengurangi beberapa interaksi yang dianggap tidak

terlalu perlu dan meningkatkan kecepatan dalam melakukan interaksi

dengan sistem.

3. Menyediakan umpan balik yang informatif.

Untuk setiap aksi operator, seharusnya ada feedback dari sistem. Untuk

aksi yang sering dan kecil (minor), respon bisa sederhana, sementara

untuk aksi yang jarang dan major, respon harus lebih banyak.

46

4. Merancang dialog yang memberikan penutupan (keadaan akhir).

Urutan aksi harus terorganisir dengan baik di mana dalam hal ini setiap

aksi yang muncul dikelompokkan dengan awal, tengah, dan akhir. Umpan

balik yang informatif pada penyelesaian sekumpulan aksi memberikan

kepuasan bagi operator, perasaan lega, tanda untuk membuang semua

kemungkinan dan pilihan yang dada dalam pikiran mereka, dan sebuah

tanda bahwa jalan terbuka dan siap untuk sekumpulan aksi berikutnya.

5. Memberikan pencegahan dan penanganan kesalahan yang sederhana.

Sistem dirancang sebaik mungkin sehingga user tidak dapat membuat

error yang serius. Jika sebuah error terjadi, sistem harus bisa mendeteksi

error dan menawarkan mekanisme yang sederhana, dapat dipahami untuk

menangani error.

6. Memungkinkan pembalikan aksi yang mudah.

Fasilitas ini menghilangkan kecemasan karena user mengetahui bahwa

error dapat dibatalkan. Hal ini dapat mendorong penyelidikan terhadap

pilihan yang tidak umum. Unit pembalikan ini dapat berupa sebuah aksi,

data entry, atau sekumpulan aksi.

7. Mendukung pusat kendali internal (internal locus of control).

User yang berpengalaman menginginkan rasa bahwa mereka berkuasa atas

sistem dan sistem merespon terhadap aksi mereka. Tampilan dari sebuah

sistem harus membuat user bersifat inisiatif daripada bersifat responsif.

47

8. Mengurangi beban ingatan jangka pendek.

Batas pemrosesan informasi manusia dalam ingatan jangka pendek

mengharuskan tampilan yang tetap sederhana, tampilan multiple page

digabungkan, dan window-motion dikurangi.