BAB 2 LANDASAN TEORI
2.1
Spectrum Analyzer Analisis suatu sinyal, secara sederhana bisa didefinisikan sebagai pemeriksaan informasi-informasi sinyal pada domain frekuensi (frequency domain) dan domain waktu (time domain). Analisis sinyal pada domain waktu dilakukan dengan alat ukur oscilloscope, sedangkan analisis sinyal pada domain frekuensi dilakukan dengan alat ukur spectrum analyzer.
Gambar 2.1 Perbedaan antara time domain dengan frequency domain
7
8
Ada 3 cara untuk melakukan pengukuran sinyal pada domain frekuensi yaitu : •
Teknik Real Time
•
Teknik Fast Fourier Transform (FFT)
•
Teknik Swept Tuned
Teknik Real Time adalah teknik dengan menggunakan bandpass filter yang disusun berjejer sesuai dengan jangkauan frekuensinya. Teknik ini biasanya hanya dapat menjangkau sampai frekuensi audio saja. Kejadian-kejadian yang bersifat transient dapat ditangkap oleh penganalisis ini karena semua filter yang disusun berjejer tadi langsung terpasang pada terminal masukannya. Resolusi dari sinyal yang berdekatan dibatasi oleh bandwidth dari tiap-tiap filternya. Teknik Fast Fourier Transform adalah teknik yang memproses suatu sinyal secara digital dalam suatu periode waktu tertentu untuk menghasilkan informasi-informasi frekuensi, amplitudo dan fase. Alat ukur yang menggunakan teknik ini dapat menganalisis sinyal-sinyal yang periodic dan non-periodic dengan jangkauan frekuensinya bisa mencapai 100 kHz. Teknik Swept Tuned, adalah teknik yang menggunakan tuned filter atau sering disebut dengan heterodyne receiver. Tuned filter lebih murah, tetapi tidak dapat memberikan performansi yang cukup baik untuk pengukuran/penganalisaan suatu sinyal. Teknik super heterodyne dapat memberikan performansi yang seimbang dari resolusi frekuensi, kecepatan analisa, sensitivitas yang tinggi, jangkauan frekuensi yang lebar, dan juga harga yang sebanding. Spectrum analyzer adalah alat ukur serba guna dalam melakukan pengukuran sinyal pada domain frekuensi. Sebuah penganalisa dapat dipakai untuk
9
melakukan pengukuran pada suatu transmitter yang memerlukan pengukuran parameter-parameter seperti frekuensi, power, distorsi, gain, dan noise. Spectrum analyzer juga digunakan untuk menyelidiki mengenai distribusi energi sepanjang spektrum frekuensi dari sebuah sinyal listrik yang diketahui. Dari penyelidikan ini diperoleh informasi yang sangat berharga mengenai lebar bidang frekuensi (bandwidth), efek berbagai jenis modulasi, pembangkitan sinyal yang palsu dan begitu juga pada semua manfaatnya dalam perencanaan dan pengujian rangkaian RF (radio frequency). Spectrum analyzer mempunyai fungsi secara khusus untuk mengukur beberapa besaran sinyal dalam suatu spektrum frekuensi yang terbatas.
2.2 GPIB Bus GPIB singkatan dari General Purpose Interface Bus, adalah salah satu sistem bus yang banyak digunakan terutama pada instrumen karena memudahkan untuk
aplikasi
yang
melibatkan
banyak
I/O
dan
mempermudah
serta
memperingkas pengkabelan (wiring), meningkatkan kecepatan sistem komunikasi, memudahkan ekspansi I/O. GPIB Bus merupakan standar industri IEEE-488 yang dapat digunakan untuk merek-merek peralatan yang berbeda.
10
Gambar 2.2 GPIB Bus
Bus IEE-488 adalah sebuah protokol paralel yang mentransmisikan delapan bit informasi secara simultan melalui kabel standard. Bus berisikan delapan jalur data, tiga jalur handshake, lima jalur control bus, dan delapan ground dan kawat terbungkus, seperti diilustrasikan dalam Gambar 2.2. Bus membawa informasi antara sistem pengontrol (controller) dengan satu atau lebih instrumen digital. Tidak seperti bus RS-232, yang dibatasi hanya ke satu instrumen, bus IEEE-488 dapat dihubungkan sampai 15 instrumen secara bersama-sama. Keuntungan dari bus IEEE-488 mudah pemakaiannya, karena pemakai tidak perlu menset parameter-parameter dan kecepatan komunikasi. Bus IEEE-488 mempunyai baud rate tinggi diatas 600 Kilo byte per detik. Tiga kawat handshake menjamin bahwa pesan atau data dalam satuan byte pada jalurjalur data dikirim dan diterima tanpa kesalahan transmisi. Kekurangan dari bus ini adalah keterbatasan panjang kabel maksimum hanya 20 m. Alat-alat yang menggunakan GPIB dapat menjadi Talkers, Listeners, dan/atau Controllers. Talkers mengirimkan data ke satu atau lebih Listeners, sebagai penerima data. Controller memanajemen aliran informasi pada GPIB
11
dengan mengirimkan commands kepada semua alat. Digital voltmeter, sebagai contoh, merupakan Talker dan juga Listener (http://www.hit.bme.hu/, 02-012010). Peran dari GPIB controller dapat disamakan dengan peran pada komputer CPU, tapi untuk analogi yang lebih baik adalah menyamakan Controller dengan Switching Center pada sistem telepon di sebuah kota. Switching Center (Controller) memonitor jaringan komunikasi (GPIB). Ketika Switching Center (Controller) menyadari bahwa ada seseorang (alat) yang ingin melakukan panggilan (mengirimkan data), Switching Center menghubungkan antara penelpon (Talker) dengan penerima (Listener).
Gambar 2.3 Hubungan GPIB bus
2.2.1 Protokol Standard IEEE 488.2 Standard command, format, dan protokol untuk peralatanperalatan yang berkomunikasi dengan GPIB bus menggunakan standar protokol IEEE 488.2 (http://www.hit.bme.hu/, 02-01-2010). Dibawah ini
12
contoh dari command standard IEEE 488.2 yang sering disebut dengan command GPIB untuk spectrum analyzer Advantest tipe U37xx. Contoh command “CF 300MZ”, artinya command yang dikirim oleh komputer ke peralatan/spectrum analyzer untuk mensetting Center Frequency sebesar 300 Mhz.
Tabel 2.1 Command GPIB di spectrum analyzer Advantest U37xx series Function
Center Frequency CF Step Size CF Step Auto
Frequency Offset
Command (EXE,SET) Code Argument Format CF* Frequency
Set Start Channel Offset Set Stop Channel Offset
CF?
Frequency Frequency 0 = OFF (manual) 1 = ON (auto) Frequency
CS* CA[*]
Frequency [ON]|OFF
CS? CA?
FO[ON,]*
Frequency
FO?
FO ON|OFF Start Frequency Stop Frequency Frequency Span Full Span Zero Span Last Span Frequency Setting Mode
Query (GET) Code Output Format
FOON?
FA*
Frequency
FA?
0 = OFF 1 = ON Frequency
FB*
Frequency
FB?
Frequency
SP*
Frequency
SP?
Frequency
FS ZS LTSP|LS FINPMD*
CALC|TBL
FINPMD?
0 = CALC 1 = TBL
FACHO*
Frequency
FACHO?
Frequency
FBCHO*
Frequency
FBCHO?
Frequency
13
Start Channel Offset
FACHOON*
ON|OFF
FACHOON?
0 = OFF 1 = ON
Stop Channel Offset
FBCHOON*
ON|OFF
FBCHOON?
0 = OFF 1 = ON
Set Center Channel Setting
CFCH*
Integer
CFCH?
Integer(Channel Number)
Set Start Channel Setting
FACH*
Integer
FACH?
Integer (Channel Number)
Set Stop Channel Setting
FBCH*
Integer
FBCH?
Integer (Channel Number)
Center Channel Setting
CFCHON*
ON|OFF
CFCHON?
0 = OFF 1 = ON
Start Channel Setting
FACHON*
ON|OFF
FACHON?
0 = OFF 1 = ON
Gambar 2.4 Sintak Command GPIB
14
Gambar 2.5 Sintak Data numeric pada GPIB
Tabel 2.2 Satuan yang digunakan pada command GPIB
Unit GZ MZ KZ HZ VOL T MV UV NV MW DB MA SC MS US PER %
Exponent ial 109 106 103 100 100 10-3 10-6 10-9 10-3 100 10-3 100 10-3 10-6 100 100
Description Frequency Frequency Frequency Frequency Voltage Voltage Voltage Voltage Power dB description Current Second Second Second Percentage Percentage
15
2.3
Komunikasi Serial RS 232 RS 232 merupakan interface paling umum yang digunakan pada komunikasi serial. RS 232 yang dikenalkan pada tahun 1962 ini sering digunakan diberbagai industri dan otomasi. Spesifikasi transmisi data dari transmiter ke receiver rata-rata lamban dan jarak transmisinya pendek. RS 232 populer karena harganya yang murah, dan dapat menggunakan kabel yang lebih panjang dibandingkan komunikasi menggunakan paralel. Sinyal RS-232 diwakili oleh tegangan sistem umum, dan menspesifikasikan protokol komunikasi, dan dapat bekerja dalam komunikasi point to point pada rata-rata transmisi data rendah. Suatu perangkat dapat menggunakan port yang ada pada komputer, namun kebanyakan PC mempunyai interface RS-232 hanya satu. Sinyal RS-232 membutuhkan ground antara PC dan peralatan yang terhubung. Port RS-232 didesain untuk berkomunikasi dengan peralatan yang mendukung 1 transmiter dan 1 receiver. Pada umumnya RS-232 digunakan untuk komunikasi dua arah. Duplex adalah suatu metode pengoperasian rangkaian komunikasi antara dua peralatan. Full-Duplex, memungkinkan kedua unit untuk mengirim dan menerima secara bersamaan atau serentak. Half-Duplex, memungkinkan suatu unit untuk mengirim informasi pada suatu saat meskipun sambungan mungkin mampu untuk melakukan transmisi dua arah, namun komunikasi terjadi secara bergantian.
16
2.4
Jaringan Komputer Jaringan komputer merupakan penggabungan teknologi komputer dan komunikasi yang merupakan sekumpulan komputer yang berjumlah banyak yang terpisah-pisah akan tetapi saling berhubungan dalam melaksanakan tugasnya (Tanenbaum, 2003). Tujuan dari jaringan komputer antara lain untuk : •
Membagi sumber daya, misalnya printer, CPU, dan harddisk.
•
Komunikasi, misalnya instant messaging, e-mail, chatting.
•
Akses informasi, misalnya 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) dan arsitektur ini disebut dengan sistem client-server, dan digunakan pada hampir seluruh aplikasi jaringan komputer. Jaringan Komputer berdasarkan ruang lingkup dan jangkauan dapat dibagi menjadi tiga kelompok, yaitu: (http://id.wikipedia.org/, 12-12-2009).
a. Local Area Network (LAN) Local Area Network merupakan jaringan milik pribadi di dalam sebuah gedung atau kampus yang berukuran sampai beberapa kilometer. LAN sering digunakan
untuk
menghubungkan
komputer-komputer
pribadi
dan
workstation dalam kantor perusahaan atau pabrik-pabrik untuk pemakaian sumber daya (resource) seperti printer dan saling bertukar informasi. LAN
17
dapat dibedakan dari jenis jaringan lainnya berdasarkan 3 karakteristik yaitu: ukuran, teknologi transmisi dan topologinya. (Tanenbaum, 2003, p.8). LAN mempunyai ukuran yang terbatas, yang berarti bahwa waktu transmisi terbatas. Dengan mengetahui keterbatasannya menyebabkan adanya kemungkinan untuk menggunakan jenis desain tertentu. Hal ini juga memudahkan manajemen jaringan. LAN sering menggunakan teknologi transmisi kabel tunggal, dan LAN tradisional beroperasi pada kecepatan 10 – 100 Mbps (Mega bit per second) dan mempunyai faktor kesalahan yang kecil. Terdapat beberapa macam topologi yang dapat digunakan pada LAN broadcast yaitu topologi bus dan ring. Ethernet adalah merupakan teknologi jaringan broadcast bus dengan pengendali terdesentralisasi yang beroperasi pada kecepatan 10 atau 100Mpbs.
b. Metropolitan Area Network (MAN) Metropolitan Area Network (MAN) pada dasarnya merupakan versi LAN yang berukuran besar dan biasanya memakai teknologi yang sama dengan LAN. MAN dapat mencakup kantor-kantor perusahaan yang berdekatan atau juga sebuah kota dan dapat dimanfaatkan untuk keperluan pribadi (swasta) atau umum. MAN mampu menunjang data dan suara, dan bahkan dapat berhubungan dengan jaringan televisi kabel. MAN hanya memiliki sebuah atau dua buah kabel dan boleh tidak mempunyai elemen switching, yang berfungsi untuk mengatur paket melalui beberapa kabel output. Adanya elemen switching membuat rancangan menjadi lebih
18
sederhana. Alasan utama untuk memisahkan MAN sebagai kategori khusus adalah telah ditentukan standar untuk MAN, dan standar ini sekarang sedang diimplementasikan dan standar tersebut disebut DQDB (Distributed Queue Dual Bus) atau dalam nomor disebut 802.6, nomor yang telah ditentukan IEEE. (Tanenbaum, 2003, p.10)
c. Wide Area Network Wide Area Network, atau WAN, mencakup daerah geografis yang luas, seringkali mencakup sebuah Negara atau Benua. (Tanenbaum, 2003, p.10). Wide Area Network merupakan jaringan komputer yang mencakup area yang besar sebagai contoh yaitu jaringan komputer antar wilayah, kota atau bahkan negara, atau dapat didefinisikan juga sebagai jaringan komputer yang membutuhkan router dan saluran komunikasi publik. WAN digunakan untuk menghubungkan jaringan lokal yang satu dengan jaringan lokal yang lain, sehingga pengguna atau komputer di lokasi yang satu dapat berkomunikasi dengan pengguna dan komputer di lokasi yang lain.(http://id.wikipedia.org/, 12-12-2009). Secara khusus, WAN terdiri dari sejumlah switching node yang saling dihubungkan. Ketika data dikirim, WAN akan melewati sejumlah switching node untuk mencapai tujuannya. Banyak jaringan WAN yang telah dibangun seperti jaringan publik, jaringan korporasi yang besar, jaringan militer, jaringan perbankan, jaringan perdagangan online, dan jaringan pemesanan jasa angkutan. Secara umum, WAN telah dilengkapi secara khusus agar mampu menggunakan satu dari dua teknologi yang paling
19
banyak dipakai oleh umum yaitu “jaringan switch” atau sering disebut jaringan telpon dan “jaringan paket”. Beberapa teknologi WAN yang banyak dijumpai : modem, Integrated Services Digital Network (ISDN), Digital Subcriber Line (DSL), Frame Relay.
2.5
Intranet Intranet merupakan jaringan informasi internal suatu perusahaan atau organisasi yang prinsip kerjanya sama dengan internet (Tittel, 2001,p.69). Intranet dapat diartikan sebagai bentuk privat dari internet atau internet yang penggunaannya terbatas pada suatu organisasi/perusahaan. Akses intranet memerlukan identifikasi pengguna dan password sehingga hanya dapat diakses oleh anggota organisasi atau karyawan perusahaan tersebut. Intranet biasanya digunakan untuk membagi kalender/jadwal kegiatan, dokumen, dan sarana diskusi internal yang tertutup, sehingga tidak dapat diakses oleh pihak luar. Teknologi dan konsep internet seperti client-server dan protokol internet seperti HTTP dan FTP juga digunakan untuk membangun sebuah intranet. Keuntungan penggunaan intranet bagi suatu organisasi atau perusahaan antara lain : •
Produktivitas kerja
•
Efisiensi waktu
•
Komunikasi
•
Sistem publikasi web
•
Efektifitas biaya
•
Keseragaman informasi
20
•
Meningkatkan kerjasama
Intranet juga memiliki beberapa kelemahan antara lain : •
Informasi
yang
salah
atau
tidak
sesuai
sehingga
mengurangi
efektifitasnya. •
Interaksi di intranet yang mungkin tidak bertanggung jawab.
•
Perlu pelatihan khusus untuk anggota dalam menggunakan intranet.
•
Perlu tenaga ahli untuk membangun dan mengembangkan intranet di sebuah organisasi atau perusahaan.
2.6
TCP/IP Model TCP/IP
Model
sering
juga
disebut
dengan
TCP/IP
Stack.
TCP/IP (singkatan dari Transmission Control Protocol/Internet Protocol) adalah standar komunikasi data yang digunakan oleh komunitas Internet dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet. Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). Protokol ini juga merupakan protokol yang paling banyak digunakan saat ini. Istilah yang diberikan kepada perangkat lunak ini adalah TCP/IP stack (http://id.wikipedia.org/, 11-12-2009), yang terdiri dari beberapa lapisan (layer) sbb:
21
2.6.1
Application Layer Application Layer berisi berbagai macam aplikasi dan protokol yang biasa digunakan disisi client (http://id.wikipedia.org/,11-12-2009). Contoh aplikasi yang berada pada layer ini adalah: •
HTTP (Hypertext Transfer Protocol) : merupakan protokol yang menerjemahkan bahasa HTML supaya bisa bisa ditampilkan berupa halaman web di web browser.
•
FTP (File Transfer Protocol) : Merupakan protokol yang digunakan untuk transfer data di jaringan komputer dengan menggunakan TCP.
•
DNS (Domain Name Server) : Merupakan metode yang mengubah alamat IP menjadi sebuah alamat web server. DNS merupakan sebuah server yang databasenya tersebar di seluruh dunia.
•
DHCP (Dynamic Host Control Protocol) : Merupakan protokol yang mempermudah dalam pemberian IP address kepada komputer/host. Karena setiap komputer/host yang tergabung akan langsung mendapatkan IP address apabila terdapat DHCP server.
2.6.2
Transport Layer Pada layer ini terdiri atas 2 macam transport protokol yaitu TCP dan UDP
(http://id.wikipedia.org/,11-12-2009).
22
•
TCP (Transmission Control Protocol) Protokol ini bertanggung jawab terhadap pengiriman data. Protokol ini bertugas untuk memeriksa apakah paket data yang dikirim sampai ke tujuannya dalam keadaaan yang benar. TCP memiliki karakteristik sebagai berikut: 9 Berorientasi sambungan (connection-oriented): Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination). 9 Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun dapat secara simultan diterima dan dikirim. 9 Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment dari penerima. Jika tidak ada paket acknowledgment dari penerima, maka segmen TCP (protokol data unit dalam protokol TCP) akan ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan segmen-segmen yang datang tidak
23
sesuai dengan urutannya akan diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP Checksum. 9 Byte stream: TCP melihat data yang dikirimkan dan diterima melalui dua jalur masuk dan jalur keluar TCP sebagai sebuah byte stream. Nomor urut TCP dan nomor acknowlegment dalam setiap header TCP didefinisikan juga dalam bentuk byte. Meski demikian, TCP tidak mengetahui batasan pesan-pesan di dalam byte stream TCP tersebut. Untuk melakukannya, hal ini diserahkan kepada protokol lapisan. 9 Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat "macet" jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima. 9 Mengirimkan paket secara "one-to-one": hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah
24
protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many. TCP umumnya digunakan ketika protokol lapisan aplikasi membutuhkan layanan transfer data yang bersifat andal, yang layanan tersebut tidak dimiliki oleh protokol lapisan aplikasi tersebut. Contoh dari protokol yang menggunakan TCP adalah HTTP dan FTP. •
UDP (User Datagram Protocol) UDP memiliki karakteristik-karakteristik berikut: 9 Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi. 9 Unreliable (tidak andal): Pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka masing-masing, atau mengirim pesan secara periodik atau dengan menggunakan waktu yang telah didefinisikan. 9 UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah protokol lapisan aplikasi atau proses tertentu di
25
dalam sebuah host dalam jaringan yang menggunakan TCP/IP.
Header
UDP
berisi
field
Source
Process
Identification dan Destination Process Identification. 9 UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.
2.6.3
Internet Layer Pada internet layer, terdapat pengalamatan logical yang disebut sebagai IP address. IP address merupakan alamat yang digunakan di internet dan TCP/IP protokol. Pengalamatan Jaringan (Network Addressing) yang sering digunakan pada IP adalah Ipv4 dan MAC Address. Pada sistem pengalamatan dengan IP versi 4 ini digunakan 4 oktet bilangan yang ditulis dalam bentuk dotted decimal. Alamat IP tersebut dibagi menjadi 2 bagian, yaitu Network Address dan Host Address. Network Address merupakan bagian dari IP versi 4 yang menunjukkan nama atau pengenal dari network. Sedangkan Host Address dari IP versi 4 akan menunjukkan berapa banyak host yang bisa ditampung di network tersebut. Untuk menentukan bagian dari IP versi 4 yang menjadi network address dan host address digunakan subnet mask. Dengan melakukan operasi AND antara IP Address dan subnet mask dapat diperoleh network address. Dalam network, hanya device-device yang merupakan bagian dari jaringan yang sama saja dapat berkomunikasi secara langsung.
26
Sedangkan untuk menghubungkan jaringan dengan network number yang berbeda dapat dilakukan dengan router. Selain network address juga terdapat broadcast address dimana kedua alamat ini adalah alamat khusus dan tidak boleh digunakan untuk pengenal alamat host (http://www.e-dukasi.net/pengpop,02-01-2010). Broadcast address digunakan untuk mengirim/menerima informasi yang harus diketahui oleh seluruh host yang ada pada suatu network. Setiap paket IP memiliki header alamat tujuan berupa IP Address dari host yang akan dituju oleh paket tersebut. Dengan adanya alamat ini, maka hanya host tujuan saja yang memproses paket tersebut, sedangkan host lain akan mengabaikannya. Ketika satu host mengirimkan paket kepada seluruh host yang berada pada network-nya. Maka pengiriman menjadi tidak efisien jika ia harus membuat replikasi paket sebanyak jumlah host tujuan. Pemakaian bandwidth akan meningkat dan beban kerja host pengirim bertambah, padahal isi paket-paket tersebut sama. Oleh karena itu, dibuat konsep broadcast address. Host cukup mengirim ke alamat broadcast, maka seluruh host yang ada pada network akan menerima paket tersebut. Konsekuensinya, seluruh host pada network yang sama harus memiliki address broadcast yang sama dan address tersebut tidak boleh digunakan sebagai IP Address untuk host tertentu.
27
2.6.4
Network Access Layer Tugas
dari
network
access
layer
adalah
memberikan
pengalamatan physical yang dikenal sebagai MAC address dan merubah data menjadi signal listrik untuk kemudian dikirim melalui media. Media yang digunakan sangatlah bervariasi, bisa menggunakan kabel UTP, ScTP, STP maupun fiber optic. Disinilah fungsi dari physical layer untuk menentukan standarisasinya. Pada data link layer, terdapat beberapa teknologi yang meliputi: ethernet, fastethernet, SLIP & PPP, FDDI, ATM, Frame Relay, ARP, Proxy ARP dan RARP.
Gambar 2.6 Perbandingan OSI Model dengan TCP/IP Model
28
2.7
Rekayasa Piranti Lunak Rekayasa Piranti Lunak (Pressman, 2005,p53) adalah aplikasi dari sebuah pendekatan yang sistematis, disiplin, dan dapat dihitung kepada pengembangan, pengoperasian, dan perawatan dari piranti lunak. Rekaya Piranti Lunak adalah sebuah teknologi yang dapat dibagi menjadi beberapa lapisan. Setiap pendekatan Rekayasa Piranti Lunak harus didasari pada komitmen sebuah organisasi terhadap kualitas. Fondasi dari Rekayasa Piranti Lunak adalah lapisan proses. Proses dari Rekayasa Piranti Lunak adalah pelekat yang menyatukan semua lapisan teknologi secara utuh dan memberikan pengembangan piranti lunak komputer secara rasional dan tepat waktu. Proses mendefinisikan sebuah kerangka kerja yang harus ditetapkan agar Rekayasa Piranti Lunak menjadi efektif. Proses piranti lunak membentuk dasar dari pengendalian proyek piranti lunak dan menetapkan context dimana cara-cara technical dterapkan, hasil kerja (modelmodel, dokumentasi, data, laporan, dll) dihasilkan, tonggak-tonggak ditetapkan, kualitas dipastikan, dan perubahan diatur dengan baik. Metode-metode pada rekayasa Piranti Lunak memberikan “bagaimana caranya” secara technical untuk membangun piranti lunak, metode-metode mencakup sebuah deretan tugas-tugas yang luas yang meliputi komunikasi, analisis kebutuhan, membuat model perancangan, pembuatan program, pengetesan, dan support. Metode-metode Rekayasa Piranti Lunak mengandalkan sebuah set prinsip dasar yang mengatur setiap bidang dari teknologi dan meliputi aktifitas pembuatan model dan beberapa teknik penggambaran lainnya.
29
Tools Rekayasa Piranti Lunak memberikan fasilitas otomatis dan semiotomatis kepada proses-proses dan metode-metode. Saat tools tersebut digabungkan sehingga informasi yang dibuat oleh satu tool dapat digunakan oleh yang lainnya menjadi sebuah sistem yang dapat digunakan untuk mendukung pengembangan piranti lunak, yang biasa disebut dengan computer-aided software engineering.
2.7.1 SDLC (Software Development Life Cycle) Beberapa langkah SDLC adalah : (Hughes & Cotterell, 2006, p6-7) •
Requirement analysis. Dimulai dengan requirement elicitation untuk mencari tahu apa yang dibutuhkan oleh user pada sistem yang ingin dibuat.
•
Architecture design. Tahap ini memetakan kebutuhan ke komponenkomponen yang akan dibuat pada sistem. Pada level sistem, keputusan perlu dibuat untuk mengetahui proses mana yang akan dilakukan oleh user dan yang dapat dikomputerisasi.
•
Detailed design. Setiap komponen software dibuat dari beberapa unit software yang dapat diprogram dan ditest secara terpisah.
•
Code and test. Pada tahap ini, setiap unit software diubah ke dalam bahasa mesin melalui proses coding. Testing awal dilakukan untuk memastikan kerja setiap unit software dilakukan tahap ini.
30
•
Integration. Masing-masing komponen akan dikumpulkan menjadi satu dan ditest untuk melihat apakah keseluruhan komponen tersebut telah memenuhi kebutuhan.
•
Qualification testing. Test akan dilakukan terhadap sistem yang baru untuk memastikan bahwa semua kebutuhan telah terpenuhi.
•
Installation. Tahap ini merupakan proses untuk membuat sistem yang baru beroperasi secara baik pada lingkungan user. Proses ini termasuk menginstall software pada hardware platform user, melakukan setting pada parameter sistem, dan pelatihan kepada user.
•
Acceptance
support.
Aktifitas
dalam
tahap
ini
termasuk
menyelesaikan masalah-masalah yang mungkin timbul pada sistem yang baru ataupun melakukan penambahan fasilitas pada sistem yang baru.
2.7.2
UML Dalam suatu proses pengembangan perangkat lunak, analisa dan rancangan telah merupakan terminologi yang sangat tua. Pada saat masalah ditelusuri dan spesifikasi dinegoisasikan (http://iqnov.com, 0201-2010), dapat dikatakan kita berada pada tahap rancangan. Merancang adalah menemukan suatu cara untuk menyelesaikan masalah, salah satu tool / model untuk merancang pengembangan software yang berbasis object oriented adalah UML (Unified Modelling Language). UML mendefinisikan diagram-diagram berikut dibawah ini.
31
•
Diagaram Use Case Diagram Use Case adalah kumpulan dari fungsi-fungsi. Karena itu, deskripsi tersebut menunjukkan betapa pentingnya diagram ini. Diagram Use Case dikembangkan untuk masing-masing kategori user yang berbeda.
•
Diagram Kelas (Class Diagram) Diagram Kelas berisi sekumpulan hal yang memiliki atribut dan perilaku tertentu dan interaksi diantara kelas-kelas tersebut. Sebuah diagram kelas dapat menggambarkan abstraksi dari suatu benda/hal. Diagram kelas tersebut berisikan daftar dari atribut dan operasi yang dapat dilakukan kelas tersebut.
•
Diagram Interaksi (Sequence Diagram) Diagram Interaksi adalah sebuah representasi dari bagaimana eventevent yang ada menyebabkan perpindahan dari satu objek ke objek yang lainnya sebagai fungsi dari waktu. Diagram interaksi merupakan diagram yang menggambarkan perilaku objek-objek yang ada dalam suatu sistem. Diagram ini menunjukkan bagaimana sebuah event dapat menyebabkan transisi dari satu objek ke objek yang lain.
•
Diagram State (State Diagram) Diagram State mengilustrasikan siklus hidup dari sebuah objek dari kelas. Diagram ini merepresentasikan state-state untuk setiap kelas dan event yang menyebabkan perubahan diantara state dalam kelas tersebut.
32
2.8
Proses dan Thread Proses adalah program yang sedang dijalankan oleh CPU, dan dalam sebuah program minimal ada satu proses dan dalam satu proses minimal ada satu thread. Sebuah program bisa membuat banyak proses (multi proses). Setiap proses masing-masing memiliki Address space (memori), Global variable, Open files, Child process, Alarm, Signal dan Accounting information sendiri-sendiri. Proses
merupakan
lingkungan
eksekusi
bagi
thread-thread
yang
dimilikinya (Tanenbaum, 2001,p.71). Thread-thread di satu proses memiliki sumber daya yang sama seperti yang dimiliki proses tersebut diatas, tetapi setiap thread memiliki program counter, register, stack dan status sendiri-sendiri. Thread adalah sebuah pengontrol aliran pelaksanaan program dengan menggunakan kendali tunggal (Tanenbaum, 2001,p.81). Thread bermanfaat untuk membuat sistem dengan Multithreading, dimana setiap thread umumnya mengerjakan tugas yang berbeda-beda. Thread dapat dipandang sebagai satu PC (program counter) tersendiri di satu proses. Berikut ini adalah macam-macam thread berdasarkan waktu penciptaannya, yaitu : 1. Static thread
Jumlah thread yang akan dibuat ditentukan saat penulisan dan kompilasi program. Tiap thread langsung dialokasikan stack tetap. Keunggulan dari thread ini adalah sederhana. Sedangkan kelemahannya adalah tidak fleksibel.
33 2. Dynamic thread
Penciptaan dan penghancuran thread saat eksekusi program. Penciptaan thread biasanya lebih spesifik pada fungsi utamanya, dapat juga ditambah parameter-parameter lain seperti prioritas penjadwalan. Keunggulan thread ini adalah fleksibel, dan kelemahannya adalah lebih rumit.
2.9
IPC (Inter-Process Communication) Inter-Process Communication (IPC) atau komunikasi antar proses adalah teknik-teknik untuk penukaran data antara banyak proses atau thread. Proses dapat berjalan pada satu atau lebih komputer yang terhubung oleh sebuah network (Tanenbaum, 2001,p.100)
2.9.1 Message Passing Sistem ini menyediakan suatu mekanisme agar proses-proses dapat berkomunikasi dan mensinkron tugas-tugasnya tanpa harus berbagi pakai ruang alamat yang sama dan terutama digunakan dalam lingkungan terdistribusi, dimana komunikasi proses terjadi antar komputer yang terhubung melalui jaringan. Fasilitas yang disediakan terdiri dari dua operasi yaitu send(message) dan receive(message). Pengiriman pesan ukurannya tetap maupun dinamis (Tanenbaum, 2001,p.119)..
34
Gambar 2.7 Cara Kerja Message Passing
Jika dua proses berkomunikasi diantaranya harus mengirimkan pesan dan menerima pesan dari yang lainnya. Pengiriman pesan mungkin dapat diblok atau tidak dapat diblok, istilah diblok dan tidak diblok juga dikenal dengan nama sinkron dan asinkron. Pada komunikasi sinkron proses pengiriman akan di blok (menunggu) sampai pesan diterima oleh proses penerima. Sedangan pada komunikasi asinkron proses pengiriman akan segera selesai (tidak perlu menunggu), tetapi dengan dua kemungkinan berhasil atau tidak berhasil. Berhasil artinya proses penerima sudah menerima pesan, dan tidak berhasil artinya proses penerima belum siap menerima.
2.9.2
Shared Memory Shared Memory merupakan salah satu metode interprocess communication
yang
paling
sederhana,
dimana
semua
proses
35
mempertukarkan informasi melalui sebuah lokasi memori yang telah disepakati sebelumnya. Shared memory digunakan jika proses-proses dijalankan atau berada dalam satu komputer.
2.9.3
Pipe Pipe merupakan komunikasi sequencial antar proses yang saling terelasi, namun pipe memiliki kelemahan yaitu hanya bisa digunakan untuk komunikasi antar proses yang saling berhubungan, dan komunikasinya yang dilakukan adalah secara sequensial. Urutan informasi yang ada dalam sebuah pipe ada yang mirip dengan antrian queue. Jika komunikasi yang diinginkan adalah komunikasi dua arah maka kita harus membuat dua pipe, karena sebuah pipe hanya bisa digunakan untuk komunikasi satu arah saja.
2.9.4
Mutual Exclusion Di sistem komputer terdapat sumberdaya yang tidak dapat di pakai bersama pada saat bersamaan. Sumberdaya ini hanya dapat digunakan oleh satu proses pada satu waktu (Tanenbaum, 2001,p.103).
Sumberdaya
semacam ini disebut sumberdaya kritis dan bagian program yang menggunakan sumberdaya kritis dikatakan sedang memasuki critical section atau critical region. Mutual Exclusion merupakan sebuah jalan yang menjamin jika sebuah proses sedang menggunakan sumberdaya tertentu atau berada pada critical section maka proses lain tidak diizinkan memasuki wilayah tersebut. Pemrogram tidak dapat bergantung pada
36
sistem operasi untuk memahami dan memaksakan batasan ini, karena maksud program tidak dapat diketahui oleh sistem operasi. Hanya saja, sistem operasi menyediakan layanan (system call) yang bertujuan untuk mencegah proses lain masuk ke critical section yang sedang digunakan proses tertentu. Pemograman harus menspesifikasikan bagian-bagian critical section, sehingga sistem operasi akan menjaganya dengan suatu mekanisme untuk mencegah proses lain masuk critical region yang sedang dipakai proses lain.
2.9.5
Semaphore Semaphore pada Unix / Linux merupakan suatu counter yang dapat digunakan untuk mensinkronisasi banyak thread atau proses. Semaphore dapat digunakan ketika beberapa proses mencoba untuk mengakses file atau sumber daya yang sama. Semaphore yang tersedia dapat diakses oleh semua proses sehingga proses-proses tersebut dapat membaca dan memeriksa nilai semaphore dan juga dapat menginisialisasi serta mereinisialisasi nilai dari semaphore yang sewajarnya. Untuk alasan tersebut semaphore hanya disimpan di dalam kernel sehingga dapat diakses oleh semua proses. Semaphore merupakan atomic instruction artinya suatu instruksi yang sebenarnya terdiri dari beberapa instruksi tetapi dianggap sebagai satu instruksi yang terkecil yang tidak dapat diinterupsi oleh proses lain. Disamping digunakan untuk mendapatkan mutual exclusion, semaphore juga digunakan sebagai mekanisme sleep dan wakeup.
37
Beberapa jenis semaphore antara lain binary semaphore, yang nilai hanya berkisar 0 dan 1 dan counting semaphore, yang nilai tidak terikat pada 0 dan 1.
2.10 Pemrograman Socket 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, sehingga sering disebut BSD Socket (http://ilmukomputer.com/, 02-01-2010). Socket pertama kali diperkenalkan di system Unix BSD versi 4.2 tahun 1983 sebagai kelanjutan dari implementasi protocol TCP/IP yang muncul pertama kali pada sistem Unix BSD 4.1 pada akhir 1981. Hampir setiap varian Unix dan Linux mengadopsi BSD socket. Socket adalah API (application program interface) antara lapisan aplikasi dengan lapisan transport pada TCP/IP Stack. Aplikasi client server dalam suatu jaringan komputer menggunakan socket untuk pertukaran informasi. Hubungan antara program server dengan client yang saling berkomunikasi dengan menggunakan TCP/IP socket dapat dilihat dalam gambar berikut :
38
TCP Server socket ()
Well‐known
listen ()
TCP Client
accept ()
socket () connect ()
bind ()
connection
Blocks until connection from
(TCP Three‐Way handshake) write ()
Data (request) read () Process request
Data (reply)
write ()
read ()
close ()
End‐of‐file notification read () close ()
Gambar 2.8 Aplikasi Client Server dengan TCP/IP Socket
Secara garis besar langkah – langkah yang dilakukan pada client dan server adalah sebagai berikut: 1. Langkah – langkah dasar di client : a) Membuka koneksi client ke server, yang di dalamnya adalah: • Membuat socket dengan perintah socket() • Melakukan pengalamatan ke server • Menghubungi server dengan connect()
39
b) Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah write() dan read(). c) Menutup hubungan dengan perintah close(). 2.
Langkah – langkah dasar di server : a) Membuat socket dengan perintah socket() b) Mengikat socket kepada sebuah alamat network dengan perintah bind() c) Menyiapkan socket untuk menerima koneksi yang masuk ke server dengan perintah listen() d) Menerima koneksi yang masuk ke server dengan perintah listen() e) Menerima koneksi yang masuk ke server dengan perintah accept() f) Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah write() dan read()
2.11 Sistem Basis Data 2.11.1 Pengertian Sistem Dalam
situs
http://www.webopedia.com/TERM/s/system.html,
sistem adalah sekumpulan item-item yang saling tergantung dan berinteraksi dalam menjalankan suatu pekerjaan. Arti lainnya, yaitu sistem adalah sebuah prosedur yang terorganisir atau sebuah metode. Sistem berasal dari bahasa Latin (systēma) dan bahasa Yunani (sustēma) adalah suatu kesatuan yang terdiri komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi, materi atau energi. Istilah ini
40
sering dipergunakan untuk
menggambarkan suatu set entitas yang
berinteraksi, di mana suatu model matematika seringkali bisa dibuat. (http://id.wikipedia.org/wiki/Sistem). Pada prinsipnya, setiap sistem selalu terdiri atas empat elemen, yaitu: •
Objek, yang dapat berupa bagian, elemen, ataupun variabel. Ia dapat benda fisik, abstrak, ataupun keduanya sekaligus, tergantung kepada sifat sistem tersebut.
•
Atribut, yang menentukan kualitas atau sifat kepemilikan sistem dan objeknya.
•
Hubungan internal, di antara objek-objek di dalamnya.
•
Lingkungan, tempat di mana sistem berada.
2.11.2 Pengertian Basis Data Basis data adalah kumpulan relasi logikal dari data atau deskripsi data yang dapat digunakan bersama dan dibuat untuk memperoleh informasi yang dibutuhkan oleh perusahaan. Basis data terdiri atas entitas, atribut, dan relationship dari informasi organisasi atau perusahaan. Entitas merupakan suatu objek nyata (manusia, tempat, benda, konsep, atau kejadian) dalam suatu organisasi yang direpresentasikan dalam basis data. Atribut merupakan suatu property yang menjelaskan beberapa aspek dari objek yang ingin disimpan. Relationship adalah suatu hubungan antara entitas yang satu dengan yang lainnya dalam basis data. (Connolly, 2002, p15).
41
Basis data (bahasa Inggris: database) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. (http://id.wikipedia.org/wiki/Basis_data).
2.11.3
Pengertian Sistem Basis Data Menurut Date (2000, p.5), sistem basis data pada dasarnya adalah sistem penyimpanan record yang terkomputerisasi dimana tujuan sebenarnya adalah menyimpan informasi dan membuat informasi tersebut selalu
tersedia
pada
saat
dibutuhkan.
Keseluruhan
sistem
terkomputerisasi itu memperbolehkan pengguna menelusuri kembali dan mengubah informasi tersebut sesuai kebutuhan. Menurut subekti (1997, p1) sistem basisdata sebenarnya tidak lain adalah sistem penyimpanan record secara terkomputer (elektronis). Basisdata sendiri dapat kita gambarkan sebagai suatu file yang berisi berbagai kumpulan file-file data yang terkomputerisasi. Pemilik lemari file tentu saja dapat melakukan berbagai bentuk tindakan terhadap sistem yang dimilikinya, yaitu: •
Penambahan file baru.
•
Penambahan data pada file yang ada.
•
Penambahan data dari file yang ada.
•
Pemuktahiran data dalam file yang ada.
42
•
Penghapusan data dari file yang ada.
•
Penghapusan file yang sudah tidak diperlukan.
Sistem basis data adalah sebuah sistem yang mengeliminasi redudansi data dan menjaga integritas data dengan menyimpan data secara terpisah dari (luar) program, dan mengandung data untuk dua atau lebih aplikasi teknologi informasi. Sementara menurut Dwiantoro, sistem basis data adalah suatu sistem penyusunan dan pengelolaan record-record dengan menggunakan komputer, dengan tujuan untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi atau perusahaan, sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk kepentingan proses pengambilan keputusan. Dalam sebuah sistem basis data, secara lengkap akan terdapat komponen-komponen utama sebagai berikut: •
Perangkat keras (hardware).
•
Sistem operasi (operating system).
•
Basis data (database).
•
Sistem (aplikasi/perangkat lunak) pengelola basis data (DBMS).
•
Pemakai (user).
•
Aplikasi (perangkat lunak) lain (bersifat opsional).
43
2.11.4 MySQL MySQL adalah sebuah relational database management system (RDBMS) yang bersifat open source. Dengan konsep RDBMS, MySQL tidak menyimpan data ke dalam sebuah area yang besar namun ke dalam tabel-tabel database. MySQL mengimplementasikan konsep client-server yang terdiri dari daemon mysqld dan beragam jenis aplikasi client dan library. MySQL adalah open souce database server yang menawarkan fitur yang tidak kalah baiknya dengan database server lain seperti SQL Server 2000. MySQL pertama kali dikeluarkan pada tahun 1998 yang penggunanya
langsung
mendapatkan
tempat
istimewa
di
dunia
pengembangan. MySQL juga bersifat multi-platform dan dapat digunakan dalam UNIX, MAC OS dan Microsoft Windows.(http://mysql.com). Menurut artikel “MSIT 643 Relational Database Management System” dan “Migrating From Microsoft SQL Server dan Access to MySQL”, pada mulanya MySQL dikembangkan oleh TcX, sebuah perusahaan di Swedia oleh Michael Widenius sebagai perancang utama. Pada tahun 1979, ia mengembangkan sebuah Database Management System yang pertama kali diberi nama UNIREG. Lalu pada tahun 1995, terlahirlah MySQL yang dirilis ke internet. Pada 1999, diperkirakan ada setengah juta server yang menggunakan MySQL. Awalnya MySQL dijalankan pada sistem operasi UNIX dan Linux. Tetapi, bagi para penggemar windows pun sekarang sudah tersedia MySQL versi windowsnya. Mereka yang menggunakan Linux (RedHat, Mandrake,
44
dsb), biasanya MySQL sudah terinstall secara default. Bila belum bisa diinstall maka dengan cukup mudah dapat menginstallnya menggunakan RPM (RedHat Package Manager). MySQL sebagai salah satu DBMS yang paling populer memiliki beberapa keunggulan, antara lain: 9 Performance yang tinggi, reliable, dan mudah untuk digunakan. 9 Open Source, yang berarti dapat digunakan dan dikembangkan oleh siapa saja. 9 Dapat dijalankan pada sistem client / server maupun sebagai embedded sistem. 9 Cross-Platform, MySQL dapat digunakan pada berbagai macam sistem operasi.
2.12 Framework .NET Framework .net merupakan middleware antara aplikasi dengan sistem operasi. Menurut Priyanto (2009, p10) Framework .net adalah lingkungan untuk membangun dan menjalankan aplikasi .Net. Framework .Net disusun oleh dua komponen utaman yaitu: 9 Dot Net Framework Class Library 9 Common Language Runtime Pustaka class Framework .Net berisi pustaka kode yang dapat digunakan kembali, dan dapat dibagi menjadi empat daerah yaitu: 9 Form-form windows digunakan untuk pengembangan antarmuka pengguna pada platform windows
45
9 ASP.Net untuk pembuatan aplikasi form-form web yang berbasis user interface dan service web untuk pengembangan antarmuka secara terprogram. 9 Fungsi akses data disediakan oleh ADO.Net, XML dan SQL 9 Base Class Library (pustaka class-class dasar) yang menyediakan service / layanan esensial untuk mengembangkan aplikasi dalam .NET. Class-class pada framework diorganisasikan ke dalam kelompokkelompok yang saling berhubungan, tersusun secara hirarki dan disebut namespace. Ketika aplikasi mengakses class yang pertama dilakukan adalah mengakses namespace yang berhubungan. CLR (Common Language Runtime) adalah lingkungan eksekusi untuk .Net yang akan memanggil, mengelola dan menjalankan kode/program. CLR menangani eksekusi kode dan semua tugas yang berhubungan dengan kompilasi, manajemen memori, sekuriti, manajemen thread, dan sebagainya. Kode yang dijalankan dibawah CLR seperti COM (Componen Object Model) atau komponen berbasis API (Application Programming Interface) yang berasal dari Visual Basic versi 6 atau sebelumnya.
46 Pustaka Class Framework Aplikasi Web ASP.NET, Service Web
Form‐form Windows
Class‐class Data ADO.NET, XML, SQL Pustaka Class‐Class Dasar System.IO, System.Drawing, System.Threading
CLR (Common Languange Runtime) CTS, Just‐in‐Time Compiler, Manajemen Memori Sistem Operasi
Gambar 2.9 Framework .Net
2.12.1
Visual Basic .NET Menurut Priyanto (2009, p12) Microsoft Visual Basic .NET adalah
sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa BASIC. Dengan menggunakan alat ini, para programmer dapat membangun aplikasi Windows Forms, Aplikasi web berbasis ASP.NET, dan juga aplikasi command-line. Alat ini dapat diperoleh secara terpisah dari beberapa produk lainnya (seperti Microsoft Visual C++, Visual C#, atau Visual J#), atau juga dapat diperoleh secara terpadu dalam Microsoft Visual Studio .NET. Bahasa Visual Basic .NET sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari Microsoft Visual Basic versi sebelumnya yang diimplementasikan di atas .NET Framework.
47
Peluncurannya
mengundang
kontroversi,
mengingat
banyak
sekali
perubahan yang dilakukan oleh Microsoft, dan versi baru ini tidak kompatibel dengan versi terdahulu.
Visual Basic 6
Visual Basic .NET
Kode Sumber Visual Basic 6
Kode Sumber Visual Basic .NET
Kompiler Visual Basic 6
Kompiler Visual Basic .NET
File .exe,.dll Kode Mesin/Instruksi x86
File .exe,.dll (assembly) MSIL(Intermediete Languange) + metadata Run Time Kompilasi JIT (Just‐In‐Time) Konversi MSIL ke Kode Mesin
Kode Mesin/Instruksi X86
Gambar 2.10 Perbandingan Kompilasi kode VB6.0 dengan VB .Net