Post on 12-Mar-2023
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.