• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI"

Copied!
28
0
0

Teks penuh

(1)

BAB II

LANDASAN TEORI

2.1 Definisi Jaringan Komputer

Saat ini banyak orang yang memiliki dua komputer atau lebih, terutama bila membeli komputer baru yang lebih canggih, sedangkan komputer lama masih bisa dipakai. Komputer bisa berupa komputer desktop, laptop/notebook, dan personal digital assistant (PDA). Dua unit komputer dapat dihubungkan menjadi sebuah jaringan komputer. Komputer yang terhubung dengan jaringan akan memberikan manfaat yang lebih banyak. Berbagi file antar komputer, berbagi perangkat keras, seperti CDRoom, bermain multiplayer, dan berbagi koneksi internet merupakan beberapa contoh manfaat dari jaringan komputer [Angga Wibowo:2006].

Adapun komunikasi data dapat diartikan pengiriman data secara elektronik dari satu tempat ke tempat lain melalui suatu media komunikasi, dan data yang dikirimkan tersebut merupakan hasil atau akan diproses oleh suatu sistem komputer. Sistem jaringan dapat memiliki peralatan pada komputer server untuk dipakai secara bersama dengan komputer client-nya. Namun pada setiap komputer lokal dapat juga dipasang peralatan khusus untuk keperluan komputer lokal tersebut.

(2)

Dalam jaringan ada tiga komponen utama yang harus dipahami, yaitu :

a) Host atau node, yaitu sistem komputer yang berfungsi sebagai sumber atau penerima dari data yang dikirimkan. Masing-masing host mempunyai IP

address untuk mengidentifikasi suatu host dalam melakukan proses koneksi

dalam jaringan TCP / IP. Sedangkan masing-masing IP address di dalamnya terdapat Network ID dan Host ID. Network ID menunjukkan letak atau tempat sistem berada yang terdapat dalam IP Router dalam jaringan fisik yang sama.

Host ID ini lebih dikenal dengan workstation, server, router dan host TCP / IP

yang lainnya dalam suatu jaringan.

Suatu IP Address terdiri dari 32 bit yang bekerja dalam suatu urutan waktu. Dari 32 bit kemudian dipecah menjadi 8 bit atau lebih dikenal dengan oktet dimana masing-masing oktet dikonversikan dalam bilangan desimal yang berkisar antara 0 sampai 255. Node ini dapat berupa:

1. Server : komputer tempat penyimpanan data dan program-program

aplikasi yang digunakan dalam jaringan,

2. Client : komputer yang dapat mengakses sumber daya (berupa data

dan program aplikasi) yang ada pada server,

3. Shared pheriperal : peralatan-peralatan yang terhubung dan digunakan

dalam jaringan (misalnya, printer, scanner, harddisk, modem, dan lain-lain).

(3)

b) Link, adalah media komunikasi yang menghubungkan antara node yang satu dengan node lainnya. Media ini dapat berupa saluran transmisi kabel dan tanpa kabel.

c) Software (Perangkat Lunak), yaitu program yang mengatur dan mengelola jaringan secara keseluruhan. Termasuk di dalamnya sistem operasi jaringan yang berfungsi sebagai pengatur komunikasi data dan periferal dalam jaringan.

2.2 Arsitektur Jaringan Komputer

Pada jaringan komputer, komputer dan peranti lainnya saling berkomunikasi melalui seperangkat aturan bersama yang dikenal sebagai protokol. protokol merupakan sejumlah aturan bersama yang dikenal sebagai protokol. Protokol merupakan sejumlah aturan yang diformulasikan untuk mengatur pertukaran data antar entitas yang saling berkomunikasi. arsitektur jaringan komputer membahas aturan umum yang digunakan untuk mendefinisikan bagaimana protokol yang berbeda dalam sistem saling berinteraksi untuk melayani pengguna. Ada tiga bentuk arsitektur yang umum digunakan dalam jaringan komputer [Prof Dr.Zuhal:2004] :

1. Jaringan peer to peer

Pada jaringan peer to peer (Lihat Gambar 2.1.), semua komputer memiliki posisi setara/sejajar, dalam hierarki yang sama. Setiap komputer dapat menjadi klien terhadap komputer peer lainnya, setiap komputer dapat pula

(4)

berbagi sumber daya dengan komputer yang berada dalam jaringan

peer-to-peer ini. Sumber daya diletakkan secara desentralisasi pada setiap anggota

jaringan, dan tidak memerlukan administrator jaringan.

Sifat jaringan peer to peer digunakan untuk hubungan antara setiap komputer yang terhubung dalam jaringan komputer yang ada, sehingga komunikasi data terjadi antar komputer dengan hierarki yang sama karena setiap komputer dapat berfungsi sebagai server maupun klien.

2. Jaringan client/server

Pada jaringan client/server (Lihat Gambar 2.2.), perangkat lunak yang mengontrol keseluruhan kerja jaringan berada pada server. Jaringan ini bisa diatur sehingga setiap klien harus log on ke server sebelum bisa memanfaatkan sumber daya yang terhubung ke server.

(5)

3. Jaringan hybrid

Jaringan ini merupakan gabungan dari sifat pada jaringan peer to peer dan client/server. Workgroup yang terdiri dari beberapa komputer yang saling terhubung dapat mengelola sumber daya tanpa membutuhkan otorisasi dari administrator jaringan atau server. Pada jenis jaringan ini, terdapat pula sifat dari jaringan client/server sedemikian sehingga tingkat keamanan dapat lebih terjaga dan adanya server yang mempunyai suatu fungsi layanan tertentu, seperti sebagai file server, print server, database server, mail server, dan lainnya.

(6)

2.3 Game Berbasis Jaringan

Jaringan untuk game dibagi menjadi dua kategori besar yaitu LAN (Local Area Network) game dan WAN (Wide Area Network) game. Perancangan dan implementasi LAN game lebih sederhana dari pada WAN game. Perbedaan mendasar terdapat pada cara penanganan latency dan cara komputer tersebut dihubungkan di jaringan (tipe koneksi jaringan) [CLI-04:195].

Latency adalah waktu yang dibutuhkan untuk pengiriman sebuah paket data sampai ke tujuan. Besarnya Latency dipengaruhi jarak antara mesin pengirim dan mesin penerima dalam jaringan. Semakin jauh jarak antara mesin pengirim dan penerima semakin besar jumlah latency-nya. Hubungan latency ini dapat dianalogikan dengan latency air melewati sebuah selang [CLI-04:196]. Hubungan latency ini ditunjukkan pada Gambar 2.3.

Gambar 2.3 Latency air untuk melewati sebuah selang yang ditentukan panjang selang. Sumber : [CLI-04:196]

(7)

Bandwith adalah faktor kritis yang mempengaruhi besarnya latency. Bandwith merupakan jumlah byte yang dapat dikirim per satuan waktu [CLI-04:197]. Biasanya besarnya bandwith diukur dalam satuan bytes/seconds. Semakin besar bandwith semakin kecil latency-nya. Bandwith dapat dianalogikan sebagai lebar selang air. Analogi ini ditunjukkan pada Gambar 2.4.

Gambar 2.4 Bandwith dari perjalanan air melewati selang ditentukan oleh lebar selang. Sumber : [CLI-04:197]

Komputer yang dipakai dalam WAN networked multiplayer game mempunyai tipe koneksi yang berbeda. Tipe koneksi yang umum dipakai yaitu koneksi dengan analog modem (56K), DSL modem, atau koneksi secara langsung seperti T1 dan T3 lines. Setiap tipe koneksi tersebut mempunyai karakteristik yang berbeda terhadap latency dan bandwith dalam sebuah WAN networked multiplayer game. Sedangkan komputer desktop yang dihubungkan di sebuah LAN melalui

(8)

sebuah Ethernet port atau wireless ethernet connection (80211.b or 80211.g) dapat mengabaikan latency dan bandwith. [CLI-04:197].

2.4 Protokol Komunikasi Jaringan

Pengiriman data di jaringan membutuhkan berbagai macam metode. Metode ini yang disebut sebagai protokol. TCP/IP dan UDP merupakan protokol jaringan yang banyak digunakan.

2.4.1 TCP (Transmission Control Protocol)

TCP (Transmission Control Protocol) merupakan protokol yang dirancang khusus untuk menyediakan sebuah reliable end-to-end byte stream melalui sebuah unreliable internetwork [TAN-03:493].

Semua koneksi dari TCP adalah full duplex dan point-to point. [TAN-03:494] Full duplex berarti lalu lintas data dapat berjalan dua arah pada waktu yang sama. Sedangkan point-to-point berarti setiap koneksi pasti mempunyai dua buah end point.

2.4.2 UDP (User Datagram Protocol)

UDP (User Datagram Protocol) merupakan transport protocol yang bersifat connectionless. [TAN-03:487] Protokol ini menyediakan sebuah cara kepada aplikasi untuk mengenkapsulasi IP datagrams tanpa harus menjaga koneksi tersebut. Manfaat dari UDP yang paling besar adalah mendukung beberapa penerima untuk sebuah

(9)

pengiriman paket data melalui sebuah multicast channel. Dalam pengembangan game server UDP multicast sangat penting digunakan untuk melakukan pekerjaan seperti mengetahui game dalam sebuah jaringan.

2.5 Socket

Istilah socket pertama kali dikenalkan di Berkeley Unix dan telah diadopsi menjadi sebuah standar untuk menjelaskan koneksi TCP/IP dan UDP yang melewati sistem operasi yang berbeda. Socket merupakan sebuah end point untuk sebuah komunikasi jaringan [CLI-04:200].

2.5.1 TCP/IP Socket

Koneksi TCP/IP dapat dikatakan sebagai dua kabel virtual (virtual wire) yang saling terhubung antara dua buah komputer. Sedangkan TCP/IP socket dapat dikatakan sebagai tempat ditancapkannya kabel tersebut di kedua komputer. TCP/IP socket dapat digunakan sebagai host atau client. Sebuah host socket akan menunggu koneksi dari client dan mempunyai nomor identifikasi yang disebut port. Gambar 2.3 menunjukkan pengiriman data melewati TCP/IP.

2.5.2 UDP Socket

Koneksi UDP dapat dikatakan seperti koneksi tanpa kabel (wireless connection). Sedangkan UDP socket dapat dikatakan sebagai tempat untuk menerima

(10)

dan mengirim paket data dari/ke beberapa mesin. Semua paket yang dikirimkan melalui UDP harus dilabeli alamat mesin dan port number yang digunakan. Penerimaan dan pengiriman paket data dari/ke beberapa mesin dapat menggunakan sebuah UDP socket yang sama. Gambar 2.4 menunjukkan pengiriman data melalui UDP.

2.6 Kabel Jaringan

Pertama kali LAN menggunakan kabel “coaxial”. Kemudian, kabel “twisted pair” yang digunakan dalam sistem telepon telah mampu membawa frekuensi yang lebih tinggi dan dapat mendukung trafik LAN. Dan saat ini, kabel fiber optik telah tampil sebagai pilhan kabel berkecepatan sangat tinggi.

Local Area Network menggunakan empat tipe kabel : 1. Coaxial

2. Unshielded Twisted Pair (UTP) 3. Shielded Twisted Pair (STP) 4. Fiber Optik.

Kabel UTP merupakan salah satu media transmisi yang paling banyak digunakan untuk membuat sebuah jaringan local (Local Area Network), selain karena harganya relative murah, mudah dipasang dan cukup bisa diandalkan. Sesuai namanya Unshielded Twisted Pair berarti kabel pasangan berpilin/terbelit (twisted

(11)

pair) tanpa pelindung (unshielded). Fungsi lilitan ini adalah sebagai eleminasi terhadap induksi dan kebocoran.

Dalam jaringan LAN atau yang umumnya menggunakan Ethernet dikenal 2 jenis kabel jaringan yaitu Straight dan Cross , dimana keduanya memiliki fungsi koneksivitas yang berbeda dalam jaringan. Kabel Straight umumya digunakan untuk mengghubungakan koneksi dari Port pada Switch / Hub , dan kabel Cross biasa digunakan untuk koneksi point to point antar 2 komputer yang di hubungkan lewat ethernet Card.

1. Kabel Straight

Untuk melakukan terminasi kabel straight biasanya beberapa orang menerapkan cara twin side yaitu menyamakan susunan antara kedua ujung konektor tanpa memperhatikan susunan warna yang dipakai.

2. Kabel Cross

Kabel cross adalah kabel yang memiliki urutan warna yang berbeda pada kedua ujung konektor, dari susunan warna yang disusun hanya menukar urutan pin / warna di salah satu ujung konektor yang di pasang, dimana urutan warna yang ditukar adalah urutan ke 1 dengan yang ke 3 dan urutan warna yang ke 2 dengan yang ke 6.

(12)

2.7 Visual Basic Programming

Dalam pembuatan aplikasi kriptografi wake ini menggunakan software Microsoft Visual Basic (sering disingkat sebagai VB saja) yang merupakan sebuah bahasa pemrograman yang bersifat event driven dan menawarkan Integrated Development Environment (IDE) visual untuk membuat program aplikasi berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman Common Object Model (COM). Visual Basic merupakan turunan bahasa BASIC dan menawarkan pengembangan aplikasi komputer berbasis grafik dengan cepat, akses ke basis data menggunakan Data Access Objects (DAO), Remote Data Objects (RDO), atau ActiveX Data Object (ADO), serta menawarkan pembuatan kontrol ActiveX dan objek ActiveX.

Para programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic Program-program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi fungsi eksternal tambahan.

Visual Basic merupakan bahasa yang mendukung OOP, namun tidak sepenuhnya dan tidak bersifat case sensitif. Visual Basic menjadi populer karena kemudahan desain form secara visual dan adanya kemampuan untuk menggunakan komponen-komponen ActiveX yang dibuat oleh pihak lain.

(13)

2.8 Permainan Strategi Menyusun N Bola Beruntun Berbasis Multiplayer Permainan ini menyediakan kotak-kotak untuk bermain dengan 3 level permainan, semakin rumitnya permainan maka jumlah kotak yang di sediakan akan semakin lebih banyak. Lihat Gambar 2.5.

Gambar 2.5 kotak permainan strategi menyusun N bola beruntun berbasis multiplayer

Masing-masing pemain bergantian ketika bermain untuk meletakkan bola-bola yang sama warna sebanyak N bola sesuai batas area bermain untuk mendapatkan score nilai, apabila pemain lawan hendak mengisi N bola yang beruntun maka untuk mencegahnya mendapatkan score nilai, maka pemain dapat membuat strategi meletakkan bola di antara N bola beruntun lawan, agar pemain lawan tidak mendapatkan score nilai.

Level Dasar (3x3) Level Menengah (6x6) Level Sulit (9x9)

(14)

2.9 Metodologi Rekayasa Perangkat Lunak

Metodologi perangkat lunak yang digunakan dalam pembuatan sistem aplikasi ini adalah sebagai berikut :

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. Di proyek pengembangan sistem apapun, fokus utama dalam analisis dan perancangan adalah model dan diagram. Model menggambarkan pandangan yang lengkap tentang suatu sistem pada suatu tahapan tertentu dan dari perspektif tertentu. Sedangkan diagram menggambarkan atau mendokumentasikan beberapa aspek dari sebuah sistem. Sebuah model mungkin mengandung satu atau lebih diagram. untuk model sederhana, satu diagram mungkin akan mencukupi. Akan tetapi biasanya sebuah model terdiri dari banyak diagram. UML terdiri atas 13 jenis diagram resmi seperti tertulis dalam Tabel 2.1

(15)

Tabel 2.1 Jenis diagram resmi UML

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

5 Composite structure Dekomposisi runtime sebuah class 6 Deployment Pemindahan artifak ke node

7 Interaction overview Campuran sequence dan activity diagram

8 Object Contoh konfigurasi dari contoh-contoh

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

(16)

Diagram UML yang akan dibahas pada bab ini adalah diagram use case (use

case diagram), diagram aktifitas (activity diagram), dan diagram sekuensial (sequence

diagram)

2.9.1 Diagram Use Case

Diagram use case adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Diagram use case mendeskripsikan interaksi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan (Fowler, 2005:141). Diagram use case menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah apa yang diperbuat sistem, dan bukan bagaimana (Dharwiyanti dan Wahono, 2003:4).

Menurut Munawar (2005:63) use case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara pengguna sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Urutan langkah-langkah yang menerangkan antara pengguna dan sistem disebut skenario. Setiap skenario mendeskripsikan urutan kejadian. Setiap urutan diinisialisasi oleh orang, sistem yang lain, perangkat keras atau urutan waktu. Dengan demikian secara singkat bisa dikatakan use case adalah serangkaian skenario yang digabungkan bersama-sama

(17)

Dalam pembicaraan tentang use case, pengguna biasanya disebut dengan aktor. Aktor adalah sebuah peran yang bisa dimainkan oleh pengguna dalam interaksinya dengan sistem. Aktor mewakili peran orang, sistem yang lain, atau alat ketika berkomunikasi dengan use case. Di dalam use case terdapat Stereotype yaitu sebuah model khusus yang terbatas untuk kondisi tertentu. Untuk menunjukkan

Stereotype digunakan simbol ”<<” diawalnya dan ditutup ”>>” diakhirnya. <<include>> digunakan untuk menggambarkan bahwa suatu use case 15 seluruhnya

merupakan fungsionalitas dari use case lainnya. Biasanya <<include>> digunakan untuk menghindari penggandaan suatu use case karena sering dipakai. <<extend>> digunakan untuk menunjukkan bahwa suatu use case merupakan tambahan fungsional dari use case yang lain jika kondisi atau syarat tertentu dipenuhi. Di dalam

use case juga terdapat generalisasi. Generalisasi diantara aktor adalah spesialisasi

aktor yang bisa berpartisipasi di semua use case yang diasosiasikan dengan aktor yang lebih umum. Tabel 2.2 menampilkan notasi-notasi dalam pemodelan diagram use case menurut Booch, Rumbaugh, dan Jacobson (1998:187).

(18)

Tabel 2.2. Notasi pemodelan diagram use case

No. Notasi Keterangan

1 Aktor

2 Use Case

3 Batas sistem (system boundary)

4 Garis penghubung (pengendali arah)

5 Gabungan (association)

6 Generalisasi (generalization)

7 Realisasi (realization)

8 Stereotype penyertaan (include)

(19)

Menurut Munawar (2005:179) setiap use case harus dideskripsikan dalam dokumen yang disebut dengan dokumen aliran kejadian (flow of event). Dokumen ini mendefinisikan apa yang harus dilakukan oleh sistem ketika aktor mengaktifkan use

case. Struktur dari dokumen use case ini bisa macam-macam, tetapi umumnya

deskripsi ini paling tidak harus mengandung : 1. Deskripsi singkat (brief description). 2. Aktor yang terlibat.

3. Kondisi awal (precondition) yang penting bagi use case untuk memulai. 4. Deskripsi rinci dari aliran kejadian yang mencakup:

a. Aliran utama (main flow) dari kejadian yang bisa dirinci lagi. b. Aliran bagian (sub flow) dari kejadian.

c. Aliran alternatif untuk mendefinisikan situasi perkecualian.

5 Kondisi akhir yang menjelaskan state dari sistem setelah use case berakhir. Dokumen use case ini berkembang selama masa pengembangan. Di awal-awal penentuan kebutuhan sistem, hanya deskripsi singkat saja yang ditulis. Bagian bagian lain dari dokumen ini ditulis secara gradual dan iteratif. Akhirnya sebuah dokumen lengkap bisa didapatkan di akhir fase spesifikasi. Biasanya pada fase spesifikasi ini sebuah prototipe yang dilengkapi dengan tampilan layar bisa ditambahkan. Pada tahap berikutnya, dokumen use case ini bisa digunakan untuk membuat dokumentasi untuk implementasi sistem.

(20)

2.9.2 Diagram Aktifitas

Menurut Munawar (2005:109) diagram aktifitas adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Diagram aktifitas mempunyai peran seperti halnya diagram alur (flowchart), akan tetapi perbedaannya dengan flowchart adalah diagram aktifitas bisa mendukung perilaku paralel sedangkan flowchart tidak bisa. Berikut pada Tabel 2.3 adalah simbol-simbol yang sering digunakan pada saat pembuatan diagram aktifitas.

Tabel 2.3. Simbol-simbol pada diagram aktifitas

No. Simbol Keterangan

1 Titik awal

2 Titik akhir

3 Aktifitas (activity)

4 Pilihan untuk mengambil keputusan

5 Fork; digunakan untuk menunjukkan

kegiatan yang dilakukan secara paralel atau untuk menggabungkan dua kegiatan paralel menjadi satu

(21)

7 Tanda waktu

8 Tanda pengiriman

9 Tanda penerimaan

10 Aliran akhir (Flow final)

2.9.3 Diagram Sekuensial

Menurut Munawar (2005:87) diagram sekuensial digunakan untuk menggambarkan perilaku pada sebuah skenario. Diagram ini menunjukkan sejumlah contoh objek dan pesan yang diletakkan diantara objek-objek ini di dalam use case. Komponen utama diagram sekuensial terdiri atas objek atau disebut juga peserta

(participant) yang dituliskan dengan kotak segi empat bernama, pesan diwakili oleh

garis dengan tanda panah dan waktu yang ditunjukkan dengan garis tegak lurus. Setiap obyek terhubung dengan garis titik-titik yang disebut garis hidup (lifeline). Sepanjang garis hidup terdapat kotak yang disebut penggerakan (activation). Tabel 2.4 memperlihatkan notasi-notasi dalam pemodelan diagram sekuensial.

(22)

Tabel 2.4. Notasi pemodelan diagram sekuensial

No. Notasi Keterangan

1 Aktor 2 Obyek 3 Batas (boundary) 4 Kendali (control) 5 Entitas (entity) 6 Penggerakan (activation)

7 Garis hidup (lifeline)

8 Pesan selaras (Synchronous message)

9 Pesan tidak selaras (Asynchronous

message)

10 Pesan kembali yang tidak selaras

(asynchronous return message)

11 Pesan rekursif (self message)

(23)

13 Pesan ditemukan (found message)

14 Pesan pembuatan obyek baru

15 Pesan penghapusan obyek

2.10 Perancangan Program

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.

Beberapa pakar memberi formula bahwa: Program = Algoritma + Bahasa (Struktur Data)

Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya [Heri Sismoro:2005].

(24)

2.10.1 Struktur Data

Struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien. Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) atau pun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan data keuangan) atau untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis. Contoh struktur data dapat dilihat pada berkas-berkas lembar-sebar (spreadsheet), pangkal-data (database), pengolahan kata, citra yang dipampat (dikompres), juga pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data. Pemakaian struktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana [Heri Sismoro:2005].

(25)

2.10.2 Algoritma

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.

Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.

Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam

(26)

kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.

2.11 Pengujian

Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean. (Pressman, 2002:525)

2.11.1 Pengujian Black Box

Salah satu bentuk pengujian black box adalah metode partisi ekivalensi yaitu metode pengujian black box yang membagi domain input dari suatu program ke dalam kelas data dari mana test case dapat dilakukan (Pressman, 2002:526) Pengujian

black box berusaha menemukan kesalahan diantaranya fungsi-fungsi yang hilang atau

tidak benar, kesalahan interface, kesalahan dalam struktur data atau akses basis data eksternal, kesalahan kinerja, inisialisasi dan kesalahan terminasi. Pengujian black box ini dilakukan untuk memperlihatkan bahwa fungsi-fungsi bekerja dengan baik dalam arti masukan yang diterima dengan benar dan keluaran yang dihasilkan benar-benar tepat, pengintegrasian dari eksternal data berjalan dengan baik (file/data). Walaupun

(27)

lebih sering dipilih untuk menguji perangkat lunak karena kemudahan dalam pelaksanaannya. Proses yang terdapat dalam pengujian Black-Box :

1. Pembagian kelas data untuk pengujian setiap kasus pada pengujian

White-Box.

2. Analisis batasan nilai yang berlaku untuk setiap data

2.11.2 Pengujian White Box

Pengujian White box ditujukan untuk mengetahui fungsi yang ditentukan dimana produk dirancang untuk melakukannya pengujian dapat dilakukan untuk memperlihatkan bahwa masing-masing fungsi beroperasi sepenuhnya, pada waktu yang sama untuk mencari kesalahan-kesalahan pada setiap fungsi. Dengan metode ini perekayasa sistem dapat melakukan pengujian jalur yang memberikan jaminan bahwa semua jalur independen path atau lintasan pada suatu modul telah digunakan paling tidak satu kali, menggunakan semua keputusan logis pada sisi benar (true) dan salah (false) program akan diuji serta eksekusi semua loop dalam batasan kondisi dan batasan operasionalnya selain itu juga meliputi pengujian validasi struktur data internal. Pelaksanaan pengujian White box :

1. Menjamin seluruh independent path dieksekusi paling sedikit satu kali. Independent path adalah jalur dalam program yang menunjukkan paling sedikit satu kumpulan proses ataupun kondisi baru.

(28)

3. Semua konstruksi pengulangan (loop) akan dieksekusi hingga batas akhir pengulangannya.

4. Struktur data internal dapat diuji untuk menjamin validitasnya. Analisa siklomatis adalah metrik perangkat lunak yang memberikan pengukuran kuantitatif terhadap kompleksitas logis suatu program. Nilainya memberikan jumlah dari independent path dalam basis set dan upper bound dari jumlah test untuk memastikan bahwa setiap statement dieksekusi paling tidak satu kali.

Tiga cara untuk menghitung Analisa Siklomatis :

 Jumlah region grafik alir sesuai dengan kompleksitas siklomatis  Jumlah edge – jumlah node + 2

 Jumlah predicate node + 1

Dengan metode ini perekayasa sistem dapat melakukan pengujian yang benar dengan mengikuti prinsip-prinsip yang benar akan menghasilkan perangkat lunak yang memiliki tingkat kesalahan yang minimal dan menghasilkan perangkat lunak yang berkualitas.

Gambar

Gambar 2.1. Jaringan peer-to-peer
Gambar 2.2. Jaringan client/server
Gambar 2.3 Latency air untuk melewati sebuah selang   yang ditentukan panjang selang. Sumber : [CLI-04:196]
Gambar 2.4 Bandwith dari perjalanan air melewati selang  ditentukan oleh lebar selang
+5

Referensi

Dokumen terkait

Seiring dengan kemajuan teknologi dan tuntutan masyarakat dalam hal pelayanan, maka unit penyelenggara pelayanan publik dituntut untuk memenuhi harapan

[r]

Akhirnya, Yesus berdoa bagi semua orang yang percaya kepada- Nya, agar mereka semua menjadi satu dalam persatuan kasih seperti antara Dia dengan Bapa-Nya (ay.20-26).. Luar biasa

Ada banyak sekali faktor dalam menentukan kondisi kebutuhan daya koil pendingin yang optimal pada sistem pengkondisian udara diantaranya adalah temperatur yang kita

Gambar 1menunjukkan bahwa tingkat ketuntasan hasil belajar siswa kelas sampel setelah menggunakan pendekatan model pembelajran berpikir induktif dari 33 orang siswa yang

2) Proses adalah tempat dimana kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses. Pada

Berdasarkan data yang diperoleh dan hasil uji BNT dapat juga dikatakan bahwa pada kondisi lokasi P1 (tergenang), kandungan klorofil a di lokasi AT-1 (ternaung) dengan nilai

Pemerintah Indonesia melakukan upaya-upaya untuk menjaga keamanan wilayah perairan Natuna Pemerintah Indonesia melakukan upaya deterrence atau menangkal dengan meangancam