6 BAB II LANDASAN TEORI
2.1 Lingkungan Pemrograman Visual Basic.NET (IDE) Lingkungan Pemrograman Terintegrasi (Integrated Development Environement) adalah tempat pengembangan yang memungkinkan pemrogram mengembangkan aplikasi berdasarkan pada framework .NET IDE Visual Studio umum digunakan pada berbagai bahasa pemrograman .NET, sehingga pemrogram dapat menggunakan serangkaian tools dan window yang sama walaupun menggunakan bahasa pemrograman yang berbeda (Pooja Bembey dkk, Premier Microsoft Visual Basic .NET Professional Project:27).
Gambar 2.1 Menggambarkan Integrated Development Environment Visual Studio
(devcity.net/Articles/38/1/dynamictabs.aspx)
6
7 VB.NET dengan berbagai windows dan tools yang akan diuraikan lebih rinci pada penjelasan berikut:
Gambar 2.2 Gambar Windows dan tools (roro44.com)
Gambar 2.3 Gambar Windows dan Tools (roro44.com)
8
Gambar 2.4Gambar Windows dan Tools (roro44.com)
A. Menu Bar Menu Bar berisi perintah – perintah yang digunakan untuk pengoperasian user dalam membuat program. B. Tool Bar Tool Bar berisi perintah – perintah yang ada didalam Menu Bar yang tujuannya agar user lebih cepat untuk mengaksesnya. C. Solution Explorer Berisi form – form projek yang dibuat D. Properties Menampilkan informasi form – form yang dibuat, serta user bisa merubahnya sesuai dengan kebutuhan, seperti merubah ukuran form dll. E. Tool Box Kumpulan kontrol – kontrol dalam mendesain sebuah program F. Status Bar Menampilkan status proses pada waktu user bekerja
9 G. Form Tempat pengembangan aplikasi
2.1.1 Menu Bar
Menu bar pada IDE Visual Studio .NET secara default menampilkan File, Edit, View, Tools, Windows and Help. Menu-menu ini mencakup semua perintah yang seperti opening, saving dan formatting suatu file. IDE juga menampilkan menu-menu yang berhubungan dengan proyek yang sedang dikerjakan. Misalnya adalah ketika pemrogram membuka sebuah proyek pada kode editor, menu bar akan menampilkan menu Project, Build dan Debug selain menu-menu default yang ada.
2.1.2 Toolbar
IDE Visual Studio .NET menyediakan berbagai toolbar seperti Text Editor, Build dan Debug. Akan tetapi, secara default hanya toolbar Standard dan Web yang ditampilkan. Toolbar yang ditampilkan pada IDE bergantung pada designer, tools atau windows yang digunakan. Dengan kata lain, IDE Visual Studio .NET hanya menampilkan toolbar yang berhubungan dengan pekerjaan yang sedang dilakukan.
2.1.3 Solution Explorer Jendela Solution Explorer menyediakan view solution, project dan file secara hirarkis. Pemrogram dapat membuka jendela Solution Explorer dengan memilih perintah
10 Solution Explorer dari menu View. Ketika suatu solution dibuka, Solution Explorer akan menampilkan daftar berbagai project, file dan referensi yang ditampilkan pada solution tersebut seperti ditampilkan pada gambar 2.5 Di bawah ini.
Gambar 2.5 Solution Explorer (www.c-sharpcorner.com)
2.1.4 Toolbox Seperti namanya, Toolbox terdiri dari berbagai tool yang disediakan dalam Visual Studio .NET. UNtuk membuka sebuah toolbox, pemrogram dapat mengklik sebuah tab yang ditampilkan di sebelah kiri IDE, atau dapat dilakukan dengan memilih perintah Toolbox pada menu View. Secara default, Toolbox hanya menampilkan tab General dan Clipboard Ring. Akan tetapi, toolbox akan menampilkan tools tambahan pada berbagai tab bergantung pada designer, atau editor yang sedang terbuka. Untuk melihat semua tab yang ada pada
11 Toolbar, dapat dilakukan dengan dengan klik kanan pada Toolbox dan pilih Show All Tabs pada menu konteks.
Gambar 2.6 Menggambarkan tab Windows Form, salah satu komponen yang ada pada toolbox.( akangcupez.webs.com/vbnet.htm)
2.1.5 Server Explorer
Jendela Server Explorer memungkinkan pemrogram mengelola server di dalam Visual Studio .NET. Server Explorer dapat dibuka dengan memilih tab Server Explorer yang tampil di sisi kiri IDE. Cara lainnya, yaitu dengan memilih perintah Server Explorer dari menu View. Dengan menggunakan jendela ini, pemrogram dapat membuat koneksi basis data. Sebuah koneksi data (database connection) adalah suatu penghubung ke basis data.
12 Pemrogram juga dapat log on ke suatu server dan mengakses basis data yang tersedia di server dengan menggunakan jendela Server Explorer.
2.1.6 Winsock Suatu program yang dapat membantu Anda mengelola banjir data online di Internet secara efisien. Program-program freeware dan shareware terbaru yag cocok dalam hal ini adalah dengan Winsock API (Windows Aplication Programming Interface). Karena ini memungkinkan utilitas-utilitas Internet di bawah Windows untuk berkomunikasi dengan Interne dengan menggunakan TCP/IP. Hampir semua program terbaik menganut sistem kepada Winsock.
2.1.7 Versi Visial Basic .NET Ada beberapa versi Visual basic .Net diantaranya sebagai berikut: A. Visual Basic .NET 2002 (VB 7.0) Versi pertama dari Visual Basic .NET adalah Visual Basic .NET 2002 yang dirilis pertama kali pada bulan Februari 2002. Visual Basic .NET 2002 merupakan sebuah bahasa pemrograman visual yang berbasis bahasa BASIC (sama seperti halnya Visual Basic 6.0, tetapi lebih disempurnakan dan lebih berorientasi objek), dan didesain untuk berjalan di atas Microsoft .NET Framework versi 1.0. Versi 7.0 ini dirilis bersamaan dengan Visual C# dan ASP.NET. Bahasa C#, yang dianggap sebagai jawaban terhadap Java, mendapatkan perhatian yang lebih banyak dibandingkan dengan VB.NET yang kurang begitu banyak diulas. Hasilnya, sedikit orang di luar komunitas Visual Basic yang memperhatikan VB.NET. Versi pertama ini kurang
13 mendapat sambutan yang bagus dari para programmer, dan pada saat itu, program berbasis Visual Basic 6.0 sedang marak-maraknya dibuat. Para programmer yang mencoba Visual Basic .NET untuk pertama kali akan merasakan bahwa Visual Basic .NET sangatlah berbeda dibandingkan dengan Visual Basic sebelumnya. Contoh yang paling mudah adalah runtime engine yang lebih besar 10 kali lipat dibandingkan Visual Basic 6.0, dan juga meningkatkan beban di memori.
B. Visual Basic .NET 2003 (VB 7.1) Selanjutnya, pada bulan Maret 2003, Microsoft pun merilis lagi versi yang lebih baru dari Visual Basic .NET, Visual Basic .NET 2003. Versi ini berisi beberapa perbaikan dibandingkan dengan versi sebelumnya, dan aplikasi yang dibuatnya dapat berjalan di atas .NET Framework versi 1.1. Fitur yang ditambahkan adalah dukungan terhadap .NET Compact Framework dan mesin wizard upgrade VB6 ke VB.NET yang telah ditingkatkan. Peningkatan yang lainnya adalah peningkatan pada performa dan keandalan dari Integrated Development Environment (IDE) Visual Basic itu sendiri, dan juga runtime engine. Visual Basic .NET 2003 tersedia dalam beberapa jenis cita rasa: Professional, Enterprise Architect dan Academic Edition. Khusus untuk Visual Basic .NET 2003 Academic Edition, versi tersebut didistribusikan secara gratis untuk beberapa sekolah di dalam setiap negara; versi Professional dan Enterprise Architect merupakan produk komersial.
14 C. Visual Basic 2005 (VB 8.0) Setelah itu, Microsoft pun berkonsentrasi dalam mengembangkan Microsoft .NET Framework 2.0, dan tentunya alat bantu untuk membangun program di atasnya. Hingga pada tahun 2005, mereka pun merilis versi terbaru dari Visual Basic .NET, yang kali ini disebut dengan Visual Basic 2005 (dengan membuang kata ".NET"), bersama-sama dengan beberapa aplikasi pengembangan lainnya. Untuk rilis 2005 ini, Microsoft menambahkan beberapa fitur baru, di antaranya adalah:
Edit and Continue. Fitur ini sebelumnya terdapat di dalam Visual Basic, akan tetapi dihapus di dalam Visual Basic .NET. Dengan keberadaan fitur ini, para programmer dapat memodifikasi kode pada saat program dieksekusi dan melanjutkan proses eksekusi dengan kode yang telah dimodifikasi tersebut.
Evaluasi ekspresi pada saat waktu desain
Munculnya Pseudo-Namespace "My", yang menyediakan: 1. Akses yang mudah terhadap beberapa area tertentu dari dalam .NET Framework yang tanpanya membutuhkan kode yang sangat signifikan. 2. Kelas-kelas yang dibuat secara dinamis (khususnya My.Forms).
Peningkatan yang dilakukan terhadap konverter kode sumber dari Visual Basic ke Visual Basic .NET.
Penggunaan kata kunci (keyword) Using, yang menyederhanakan penggunaan objek-objek yang membutuhkan pola Dispose untuk membebaskan sumber daya yang sudah tidak terpakai.
15
Just My Code, yang menyembunyikan kode reusable yang ditulis oleh alat bantu Integrated Development Environment (IDE) Visual Studio .NET.
Pengikatan sumber data (Data Source binding), yang mampu mempermudah pengembangan aplikasi basis data berbasis klien/server.
D. Visual Basic 9.0 (Visual Basic 2008) Versi ini merupakan versi terbaru yang dirilis oleh Microsoft pada tanggal 19 November 2007, bersamaan dengan dirilisnya Microsoft Visual C# 2008, Microsoft Visual C++ 2008, dan Microsoft .NET Framework 3.5. Dalam versi ini, Microsoft menambahkan banyak fitur baru, termasuk di antaranya adalah:
Operator If sekarang merupakan operator ternary (membutuhkan tiga operand), dengan sintaksis If (boolean, nilai, nilai). Ini dimaksudkan untuk mengganti fungsi IIF.
Dukungan anonymous types
Dukungan terhadap Language Integrated Query (LINQ)
Dukungan terhadap ekspresi Lambda
Dukungan terhadap literal XML
Dukungan terhadap inferensi tipe data.
Dukungan terhadap 'LINQ'
16 2.2 Unified Modelling Language (UML) Unified Modelling Language (selanjutnya disebut UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (Fowler, 2005:1). Selain itu UML juga dapat diartikan sebagai sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak (Dharwiyanti dan Wahono, 2003:2). UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulis. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya yaitu : Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modelling Technique) dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). Dalam perancangan model perangkat lunak, UML mendukung 3 (tiga) jenis model yaitu: a. Model Fungsional (Functional Model) Model fungsional menunjukkan fungsionalitas sebuah sistem dari sudut pandang pengguna. b. Model Obyek (Object Model)
17 Model obyek menunjukkan struktur dan sub struktur dari sistem menggunakan obyek, atribut, operasi dan asosiasi. c. Model Dinamis (Dynamic Model) Model dinamis menunjukkan sifat internal dari sebuah sistem. Piranti lunak berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan dikombinasikan. UML terdiri atas 13 jenis diagram resmi seperti tertulis dalam Tabel 2.1 Table 2.1 Jenis Diagram Resmi UML (Dharwiyanti dan Wahono, 2003:2)
No.
Diagram
Kegunaan
1.
Activity
Behavior prosedural dan parallel
2.
Class
Class, fitur, dan hubungan-hubungan
3.
Communication
Interaksi antar objek; penekanan pada jalur
4.
Component
Struktur dan koneksi komponen
Tabel Lanjutan Diagram Resmi UML (Dharwiyanti dansebuah Wahono,class 2003:2) 5. 2.2 Composite Dekomposisi runtime
6. 7.
structure Deployment
Pemindahan artifak ke node Campuran sequence dan activity diagram
8.
Interaction overview Object
9.
Package
Struktur hirarki compile-time
10.
Sequence
Interaksi antar objek; penekanan pada sequence
11.
State machihne
Bagaimana even mengubah objek selama aktif
12.
Timing
Interaksi antar objek; penekanan pada timing
13.
Use case
Bagaimana pengguna berinteraksi dengan sebuah sistem
Contoh konfigurasi dari contoh-contoh
2.2.1 Tujuan dan Cakupan UML Menurut Suhendar dan Gunadi (2002:30) bahwa tujuan utama UML adalah :
18 A. Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum. B. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa. C. Menyatukan praktek-praktek terbaik yang terdapat dalam bahasa pemodelan. Cakupan UML menurut Suhendar dan Gunadi (2002:30) adalah : A. UML menggabungkan konsep Booch, OMT dan OOSE, sehingga UML
merupakan suatu bahasa pemodelan tunggal yang umum dan digunakan secara luas oleh para pengguna ketiga metode tersebut dan bahkan para pengguna metode lainnya. B. UML menekankan pada apa yang dapat dikerjakan dengan metode-meode
tersebut. C. UML berfokus pada suatu bahasa pemodelan standar, bahkan pada proses
standar. Meskipun UML harus diaplikasikan dalam konteks sebuah proses, dari pengalaman, bahwa organisasi dan masalah yang berbeda juga memerlukan proses yang berbeda pula. Diagram UML yang akan dibahas pada bab ini adalah Use Case diagram, Activity diagram, Sequence diagram, Class diagram.
2.2.2 Use Case Diagram Use Case diagram adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Use case diagram mendeskripsikan interaksi tipikal antara para pengguna sistem
19 dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan (Fowler, 2005:141). Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem yang ditekankan adalah apa yang diperbuat sistem, dan bukan bagaimana. Sebuah use case diagram merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, membuat sebuah daftar belanja, dan sebagainya. Seorang atau sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun persyaratan (requirement) sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case diagram dapat memasukkan fungsionalitas use case diagram lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case Diagram yang dimasukkan akan dipanggil setiap kali use case diagram yang memasukkan dieksekusi secara normal. Sebuah use case diagram dapat dimasukkan oleh lebih dari satu use case diagram lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang umum (common). Sebuah use case diagram juga dapat memperluas use case diagram lain dengan aktivitasnya (behaviour) sendiri. Sementara hubungan generalisasi antar use case diagram menunjukkan bahwa use case diagram yang satu merupakan spesialisasi dari yang lain. Table 2.2 adalah notasi use case diagram dan Gambar 2.7 adalah contoh use case diagram.
20 Table 2.2 Notasi Use Case Diagram (Fowler, 2005:141)
Notasi
Deskripsi Aktor, yang digunakan untuk menggambarkan pelaku atau pengguna. Pelaku ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu. Contoh: Manager, pelanggan, dan laib-lain. Use case digubakan unutk menggambarkan spesifikasi pekerjaan (job specification) dan deskripsi pekerjaan (job decription), serta keterkaitan antar pekerjaan (job). Contoh: pesan barang, menutup pintu, dan lin-lain. Aliran proses menggambarkan usecase lainnya.
------------------->
(relationship), digunakan untuk hubungan antara usecase dengan
Aliran perpanjangan (extension points), digunakan untuk menggambarkan hubungan antara usecase dengan use case yang diperpanjangkan (extended use case) maupun dengan use case yang dimasukkan (included use case). Aliran yang digunakan untuk menggambarkan hubungan antara actor dengan usecase. Kondisi yang mendeskripsikan apa yang terjadi antara use case denagn use case yang diperpanjang.
<<extended>> Include adalah kondisi aliran proses langsung (directed relationship) antara dua usecasae yang secara tak langsung menyatakan kelakuan (behaviour) dari use case
21 <
>
yang dimasukkan.
<> Adalah kondisi yang mendeskripsikan apa yangterjadi antara actor dengan use case.
Gambar 2.7 Contoh Use Case Diagram (Fowler, 2005:142)
2.2.3 Sequence Diagram Sebuah sequence diagram secara khusus menjabarkan aktivitas sebuah skenario tunggal. Diagram tersebut menunjukkan sejumlah objek contoh dan pesan-pesan yang melewati objek-objek didalam use case diagram (Fowler, 2005:81). Sequence diagram menunjukkan interaksi dengan menampilkan partisipan dengan garis alir secara vertikal dan pengurutan pesan dari atas ke bawah. Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah kejadian (event) untuk menghasilkan output tertentu. Masing-masing objek termasuk aktor memiliki lifeline
22 vertikal. Pesan digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Notasi sequence diagram pada Tabel 2.3 dan contoh Sequence diagram pada Gambar 2.8. Tabel 2.3 Notasi Sequence Diagram (Fowler, 2005:81)
N o 1
Notasi
Frame, digunakan untuk menggambarkan sebuah interaksi. Lifeline, digunakan untuk mempresentasikan sebuah individu dalam interaksi dan hanya sebuah entitas interaksi.
2
3
4 5
6
7
8
Keterangan
1: message
Execution Specification, digunakan untuk mengambarkan spesifikasi dari sebuah unit kelakuan atau aksi antar lifeline. Pesan (message), digunakan untuk mendeskripsikan pesan yang ada antar lifeline. Lost Message, digunakan untuk menggambarkan sebuah pesan yang mendefinisikan komunikasi particular antara lifelines dalam interaksi lifeline n+1 ke lifeline n. Found Message, digunakan untuk menggambarkan sebuah pesan yang mendefinisikan komunikasi particular antara lifelines dalam interaksi lifeline n ke lifeline n+1. Objek, digunakan untuk menggambarkan pelaku atau pengguna dalam usecase. Pelaku ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu. Aktor, digunakan untuk menggambarkan pelaku atau pengguna dalam use case. Pelaku ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu.
23
Gambar 2.8 Contoh Sequence Diagram (Fowler, 2005:81)
2.2.4 Class Diagram Diagram kelas (class diagram) sebuah spesifikasi yang jika diinstasiasikan akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metode/fungsi). Simbol antar kelas Lihat pada Tabel 2.4 dan Gambar 2.9 adalah contoh Class Diagram. Tabel 2.4 Simbol antar kelas (Fowler, 2005:92)
No 1.
Notasi
Keterangan Composition Jika sebuah kelas tidak bisa berdiri sendiri dan harus merupakan bagian dari kelas yang lain, maka class tersebut memiliki relasi. Composition terhadap class tempat dia
24 bergantung tersebut. Sebuah relationship composition digambarkan sebagai garis dengan ujungberbentuk jajaran genjang berisi solid. 2.
Dependency Kadangkala sebuah kelas menggunkana elas yang lain. Hal ini disebut dependency. Umumnya penggunaan dependency digunakan unutk menunjukkan operassi pada suatu kelas yang menggunakan kelas lain.
3.
Agregation Mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi ”mempunyai sebuah” atau ”bagian dari” sebuah agregation digambarkan sebagai sebuah garis dengan sebuah jajaran genjang yang tidak berisi solid.
4.
Generalization Sebuah relasi generalization sepadan dengan sebuah relasi inheritance pada konsep berorientasi objek. Sebuah generalization dilambangkan dengan sebuah panah dengan kepala panah yang tidak solid yang mengarah ke kelas ”parent”-nya/ induknya.
25
Gambar 2.9 Contoh Class Diagram (Fowler, 2005:92)
2.2.5 Activity Diagram Activity diagram adalah teknik untuk menggambarkan logika prosedural, proses bisnis, dan jalur kerja. Dalam beberapa hal, diagram ini memainkan peran mirip sebuah diagram alir, tetapi perbedaan prinsip antara diagram ini dan notasi diagram alir adalah diagram ini mendukung behavior paralel (Martin 2005, 163). Activity diagram memungkinkan siapapun yang melakukan proses untuk memilih urutan dalam melakukannya. Dengan kata lain, diagram hanya menyebutkan aturanaturan rangkaian dasar yang harus diikuti. Hal ini penting untuk permodelan bisnis, karena proses-proses sering muncul secara paralel. Ini juga berguna pada algoritma yang bersamaan, dimana urutan-urutan independen dapat melakukan hal-hal secara paralel. Tabel 2.5 adalah Notasi Activity diagram. Tabel 2.5 Notasi Activity Diagram (Martin 2005)
No 1.
Notasi
Keterangan Aktivitas, digunakan untuk menggambarkan aktifitas dalam diagram aktifitas.
26 2.
Node keputusan (decision node), digunakan untuk menggambarkan kelakuan pada kondisi tertentu.
3.
Titik awal, digunakan untuk menggambarkan awal dari diagram aktifitas.
4.
Titik akhir, digunakan untuk menggambarkan akhir dari diagram aktifitas.
5.
Akhir alur (flow final), digunakan untuk menghabcurkan semua tanda yang datang dan tak memiliki efek alur dalam aktifitas.
6.
Aksi (action), digunakan untuk menggambarkan alur antara aksi dengan aksi, titik awal dengan aksi, atau aksi dengan titik akhir.
7.
Aksi penerimaan kejadian(accept event action), sebuah aksi yang menunggu kejadian dari suatu peristiwa bertemu kondisi yang spesifikasi.
8.
< >
Datastore digunakan untuk menjaga agar semua tanda yang masuk dan menduplikasikannya saat mereka dipilih untuk pindah ke alur selanjutnya (downstream).
9.
Node fork memiliki satu aksi yang masuk dan beberapa aksi yang keluar.
10.
Join node digunakan untuk menggambarkan beberapa aksi yang masuk dan satu aksi yang keluar.
27
Gambar 2.10 Contoh Activity Diagram (Fowler, 2005:92)
2.3 Jaringan Komputer Jaringan komputer merupakan gabungan anara teknologi komputer dan teknologi telekomunikasi. Gabungan teknologi ini melahirkan pengolahan data yang dapat didistribusikan, mencakup pemakaian database, software aplikasi dan peralatan hardware secara bersamaan, sehingga penggunaan komputer yang sebelumnya hanya berdiri sendiri, kini telah diganti dengan sekumpulan komputer yang terpisah-pisah akan tetapi saling berhubungan dengan melaksanakan tugasnya, sistem seperti inilah yang disebut jaringan komputer (computer network).
28 Jadi bila kita punya komputer dan komputer kita dapat berinteraksi atau komunikasi dengan komputer lain maka dikatakan komputer kita sudah terkoneksi dalam sebuah jaringan komputer. Bentuk koneksinya tidak harus melalui kabel saja melainkan dapat menggunakan serat optik, gelombag mikro, wireless atau satelit komunikasi. Agar jaringan dapat berfungsi, dibutuhkan layanan yang dapat mengatur pembagian sumber daya, dan juga dibutuhkan aturan-aturan (protocols) yang mengatur komunikasi dan layanan-layanan secara umum untuk seluruh sistem jaringan.
2.3.1 LAN (Local Area Network) LAN (Local Area Network) merupakan jaringan yang bersifat internal dan biasanya milik pribadi di dalam sebuah perusahaan kecil atau menengah dan biasanya berukuran sampai beberapa kilometer. LAN seringkali digunakan untuk menghubungkan komputer-komputer pribadi dan workstation dalam kantor suatu perusahaan atau pabrik-pabrik untuk pemakaian sumber daya bersama (resource, baik hardware maupun software) serta sarana untuk saling bertukar informasi. LAN dapat dibedakan dari jenis jaringan lainnya berdasarkan tiga karakteristik: ukuran, teknologi transmisi dan topologinya. LAN seringkali menggunakan teknologi transmisi kabel tunggal. LAN tradisional beroperasi pada kecepatan mulai 10 sampai 100 Mbps (mega bit /detik) dengan relay rendah (puluhan micro second) dan mempunyai factor kesalahan yagn kecil. LAN modern dapat beroperasi pada kecepatan yang lebih tinggi, sampai ratusan megabit/detik.
29 Yang dapat di contohkan dengan gambar:
Gambar 2.11 Contoh LAN (http://anangss.blogspot.com)
2.3.1.1 Topologi Jaringan Arsitektur topologi merupakan bentuk koneksi fisik untuk menghubungkan setiap node pada sebuah jaringan. Pada sistem LAN terdapat tiga topologi utama yang paling sering digunakan: bus, star, dan ring. Topologi jaringan ini kemudian berkembang menjadi topologi tree dan mesh yang merupakan kombinasi dari star, mesh, dan bus. Dengan populernya teknologi nirkabel dewasa ini maka lahir pula satu topologi baru yaitu topologi wireless. Berikut topologi-topologi yang dimaksud: a. Topologi Bus b. Topologi Ring (Cincin) c. Topologi Star (Bintang) d. Topologi Tree (Pohon) e. Topologi Mesh (Tak beraturan)
30 A. Topologi Bus Topologi bus ini sering juga disebut sebagai topologi backbone, dimana ada sebuah kabel coaxial yang dibentang kemudian beberapa komputer dihubungkan pada kabel tersebut. Secara sederhana pada topologi bus, satu kabel media transmisi dibentang dari ujung ke ujung, kemudian kedua ujung ditutup dengan “terminator” atau terminating-resistance (biasanya berupa tahanan listrik sekitar 60 ohm).
Gambar 2.12 Topologi Bus
Pada titik tertentu diadakan sambungan (tap) untuk setiap terminal.
Wujud dari tap ini bisa berupa “kabel transceiver” bila digunakan “thick coax” sebagai media transmisi.
Atau berupa “BNC T-connector” bila digunakan “thin coax” sebagai media transmisi.
Atau berupa konektor “RJ-45” dan “hub” bila digunakan kabel UTP.
Transmisi data dalam kabel bersifat “full duplex”, dan sifatnya “broadcast”, semua terminal bisa menerima transmisi data.
31
Suatu protokol akan mengatur transmisi dan penerimaan data, yaitu Protokol Ethernet atau CSMA/CD.
Pemakaian kabel coax (10Base5 dan 10Base2) telah distandarisasi dalam IEEE 802.3.
Kelebihan topologi Bus adalah:
Instalasi relatif lebih murah
Kerusakan satu komputer client tidak akan mempengaruhi komunikasi antar client lainnya
Biaya relatif lebih murah
Kelemahan topologi Bus adalah:
Jika kabel utama (bus) atau backbone putus maka komunikasi gagal
Bila kabel utama sangat panjang maka pencarian gangguan menjadi sulit
Kemungkinan akan terjadi tabrakan data(data collision) apabila banyak client yang mengirim pesan dan ini akan menurunkan kecepatan komunikasi.
B. Topologi Ring (Cincin) Topologi ring biasa juga disebut sebagai topologi cincin karena bentuknya seperti cincing yang melingkar. Semua komputer dalam jaringan akan di hubungkan pada sebuah cincin. Cincin ini hampir sama fungsinya dengan concenrator pada topologi star yang menjadi pusat berkumpulnya ujung kabel dari setiap komputer yang terhubung.
32
Secara lebih sederhana lagi topologi cincin merupakan untaian media transmisi dari satu terminal ke terminal lainnya hingga membentuk suatu lingkaran, dimana jalur transmisi hanya “satu arah”. Tiga fungsi yang diperlukan dalam topologi cincin : penyelipan data,
penerimaan data, dan pemindahan data.
Gambar 2.13 Topologi Ring
Penyelipan data adalah proses dimana data dimasukkan kedalam saluran transmisi oleh terminal pengirim setelah diberi alamat dan bit-bit tambahan lainnya.
Penerimaan data adalah proses ketika terminal yang dituju telah mengambil data dari saluran, yaitu dengan cara membandingkan alamat yang ada pada paket data dengan alamat terminal itu sendiri. Apabila alamat tersebut sama maka data kiriman disalin.
33
Pemindahan data adalah proses dimana kiriman data diambil kembali oleh terminal pengirim karena tidak ada terminal yang menerimanya (mungkin akibat salah alamat). Jika data tidak diambil kembali maka data ini akan berputar-putar dalama saluran. Pada jaringan bus hal ini tidak akan terjadi karena kiriman akan diserap oleh “terminator”.
Pada hakekatnya setiap terminal dalam jaringan cincin adalah “repeater”, dan mampu melakukan ketiga fungsi dari topologi cincin.
Sistem yang mengatur bagaimana komunikasi data berlangsung pada jaringan cincin sering disebut token-ring.
Kemungkinan permasalahan yang bisa timbul dalam jaringan cincin adalah: o
Kegagalan satu terminal / repeater akan memutuskan komunikasi ke semua terminal.
o
Pemasangan terminal baru menyebabkan gangguan terhadap jaringan, terminal baru harus mengenal dan dihubungkan dengan kedua terminal tetangganya.
C. Topologi Star (Bintang) Disebut topologi star karena bentuknya seperti bintang, sebuah alat yang disebut concentrator bisa berupa hub atau switch menjadi pusat, dimana semua komputer dalam jaringan dihubungkan ke concentrator ini.
34
Pada topologi Bintang (Star) sebuah terminal pusat bertindak sebagai pengatur dan pengendali semua komunikasi yang terjadi. Terminalterminal lainnya melalukan komunikasi melalui terminal pusat ini.
Terminal kontrol pusat bisa berupa sebuah komputer yang difungsikan sebagai pengendali tetapi bisa juga berupa “HUB” atau “MAU” (Multi Accsess Unit).
Gambar 2.14 Topologi Star
Terdapat dua alternatif untuk operasi simpul pusat. o
Simpul pusat beroperasi secara “broadcast” yang menyalurkan data ke seluruh arah. Pada operasi ini walaupun secara fisik kelihatan sebagai bintang namun secara logik sebenarnya beroperasi seperti bus. Alternatif ini menggunakan HUB.
o
Simpul pusat beroperasi sebagai “switch”, data kiriman diterima oleh simpul kemudian dikirim hanya ke terminal tujuan (bersifat point-to-point), pengendali.
akternatif
ini
menggunakan
MAU
sebagai
35
Bila menggunakan HUB maka secara fisik sebenarnya jaringan berbentuk topologi Bintang namun secara logis bertopologi Bus. Bila menggunakan MAU maka baik fisik maupun logis bertopologi Bintang.
Kelebihan topologi bintang : o
Karena setiap komponen dihubungkan langsung ke simpul pusat maka pengelolaan menjadi mudah, kegagalan komunikasi mudah ditelusuri.
o
Kegagalan pada satu komponen/terminal tidak mempengaruhi komunikasi terminal lain.
Kelemahan topologi bintang: o
Kegagalan pusat kontrol (simpul pusat) memutuskan semua komunikasi
o
Bila yang digunakan sebagai pusat kontrol adalah HUB maka kecepatan akan berkurang sesuai dengan penambahan komputer, semakin banyak semakin lambat.
D. Topologi Tree (Pohon)
Topologi pohon adalah pengembangan atau generalisasi topologi bus. Media transmisi merupakan satu kabel yang bercabang namun loop tidak tertutup.
36
Gambar 2.15 Topologi Tree
Topologi pohon dimulai dari suatu titik yang disebut “headend”. Dari headend beberapa kabel ditarik menjadi cabang, dan pada setiap cabang terhubung beberapa terminal dalam bentuk bus, atau dicabang lagi hingga menjadi rumit.
Ada dua kesulitan pada topologi ini: o
Karena bercabang maka diperlukan cara untuk menunjukkan kemana data dikirim, atau kepada siapa transmisi data ditujukan.
o
Perlu suatu mekanisme untuk mengatur transmisi dari terminal terminal dalam jaringan.
2.3.2 Metropolitan Area Network (MAN) Metropolitan Area Network (MAN), adalah sebuah jaringan menggunakan teknologi yang sama dengan LAN, hanya ukurannya biasanya lebih luas dari pada LAN dan biasanya MAN dapat mencakup kantor-kantor perusahaan yang letaknya erdekatan
37 atau antar sebuah kota dan dapat dimanfaatkan untuk keperluan pribadi (swasta) atau umum. MAN mampu menunjang data dan suara, bahkan dapat berhubungan dengan jaringan televise kabel.
Gambar 2.16 Contoh gambar MAN (giat501.wordpress.com)
2.3.3 Wide Area Network Wide Area Network (WAN), jangkauannya mencakup daerah geografis yang lebih luas, seringkali mencakup sebuah negara bahkan benua. WAN terdiri dari kumpulan LAN, MAN dan mesin-mesin yang berujuan untuk menjalankan program aplikasi pemakai. Seperti LAN (Local Area Network), terdapat sejumlah perangkat yang melewatkan aliran informasi data dalam sebuah WAN. Pengabungan perangkat tersebut akan menciptakan infrastruktur WAN. Pada sebagian besar WAN, jaringan terdiri dari sejumlah banyak kabel atau saluran telepon yang menghubungkan sepasang router. Bila dua router yang tidak
38 mengandung kabel yang sama akan melakukan komunikasi, keduanya harus berkomunikasi secara tak langsung melalui router lainnya. Ketika sebuah paket dikirimkan dari sebuah router ke router lainnya melalui router perantara atau lebih, maka paket akan diterima router dalam keadaan lengkap, disimpan sampai saluran output menjadi bebas, dan kemudian baru diteruskan.
Gambar 2.17 Contoh gambar MAN (pipittiaradewi.blogspot.com)
2.4 Metodologi Rekayasa Perangkat Lunak Pemodelan dalam perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal dari rekayasa, dan pemodelan ini akan mempengaruhi pekerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut. Model proses perangkat lunak merupakan deskripsi yang disederhanakan dari proses perangkat lunak yang dipresentasikan dengan sudut pandang tertentu. Namun model proses perangkat lunak masih menjadi objek
39 penelitian. Pada saat ini terdapat banyak model umum atau paradigma yang berbeda dari pengembangan perangkat lunak. Salah satu model proses yang secara umum digunakan dalam pengembangan rekayasa lunak adalah model Waterfall. Waterfall mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. Berikut di bawah ini rangkaian aktivitas proses dalam model Waterfall (Pressman, 1997:25) :
Gambar 2.18 Contoh gambar Waterfall (www.budihermawan.net)
1. Tahap Rekayasa Sistem Tahapan ini sangat menekan pada masalah pengumpulan kebutuhan pengguna padatingkatan sistem dengan menentukan konsep sistem beserta anatarmuka yang menghubungkannya dengan lingkungan sekitar. Hasilnya berupa spesifikasi sistem. 2. Tahapan Analisis Pada tahap ini dilakukan pengumpulan kebutuhan elemen-elemen di tingkat perangkat lunak. Dengan analisis harus dapat ditentukan domain-domain data atau informasi, fungsi, proses, atau prosedur yang diperlukan beserta untuk kerjanya dan antarmuka. Hasilnya berupa spesifikasi kebutuhan perangkat lunak.
40 3. Tahap Perancangan Pada tahap perancangan, kebutuhan-kebutuhan perangkat lunak, yang dihasilkan pada tahap analisis, ditransformasikan ke dalam bentuk arsitektur perangkat lunak yang memiliki karakteristik mudah dimengerti dan tidak sulit untuk diterapkan. 4. Tahapan Pemrograman Tahap ini melakukan penerapan hasil rancangan ke dalam baris-baris kode program yang dapat dimengerti oleh komputer. 5. Tahapan Pengujian Setelah perangkat lunak selesai diterapkan, pengujian dapat segera dimulai. Pengujian terlebih dahulu dilakukan pada setiap modul. Jika tidak ada masalah, modul tersebut akan diintegrasikan hingga membentuk perangkat lunak secara utuh. Kemudian dilakukan pengujian di tingkat perangkat lunak yang memfokuskan pada masalah-masalah logika internal, fungsi internal dan potensi masalah yang mungkin terjadi dan pemeriksaan hasil apakah sudah sesuai dengan permintaan. 6. Tahapan Pengoperasian dan Pemeliharaan Dalam masa operasional sehari-hari, suatu perangkat lunak mungkin saja mengalami kesalahan atau kegagalan dalam menjalankan fungsi-fungsinya. Atau, pemilik bisa saja meminta peningkatan kemampuan perangkat lunak pada pengembangannya. Dengan demikian, kedua faktor ini menyebabkan perlunya perangkat lunak dipelihara dari waktu ke waktu. Biasanya ini merupakan tahapan yang panjang dari perangkat lunak. Penulis tidak melakukan tahapan ini dalam tugas akhir.
2.5 Pengujian Kotak Hitam (Black-Box) Pengujian black-box adalah pengujian yang dilakukan untuk antarmuka perangkat lunak, pengujian ini dilakukan untuk memperlihatkan bahwa fungsi-fungsi bekerja
41 dengan baik dalam arti masukan yang diterima dengan benar dan keluaran yang dihasilkan benar-benar tepat, pengintegrasian dari eksternal data berjalan dengan baik (file/table).Pengujian kotak hitam berusaha menemukan kesalahan dalam kategori sebagai berikut (Pressman 1997): a.
Fungsi-fungsi yang tidak benar atau hilang.
b.
Kesalahan antarmuka (interface).
c.
Kesalahan dalam struktur data atau akses basis data eksternal.
d.
Kesalahan kinerja.
e.
Inisialisasi dan kesalahan terminasi.