BAB II LANDASAN TEORI
Pada landasan teori ini penulis ingin menjelaskan mengenai bagian-bagian yang menjadi dasar dalam perancangan aplikasi simulasi transmisi sinyal dijital terenkripsi pada karakter ASCII.
2.1
KOMUNIKASI DATA DAN JARINGAN
Komunikasi
data
(data
communication)
dapat
diartikan
sebagai
perpindahan data dari satu tempat ke tempat lain melalui media tertentu, sedangkan jaringan akan muncul ketika 2 atau lebih peralatan komunikasi data digunakan untuk menghubungkan data (Edhy Sutanta, 2009).
Gambar 2.1 Diagram model komunikasi data
Komunikasi komputer dan jaringan komputer memiliki dua konsep penting anatara lain Protokol dan Arsitektur Protokol. Protokol dipergunakan untuk proses komunikasi data diantara entity pada sistem yang berbeda-beda sedangkan Arsitektur Protocol merupakan rangkaian terstruktur dari modul-modul layanan
5
6
komunikasi yang menerapkan fungsi-fungsi komunikasi. William Stalling (2001) menggambarkan model Arsitektur TCP/IP dan OSI.
2.1.1 Model TCP/IP Sistem Tujuan
Sistem sumber
Sumber
Transmitter
Sistem Transmisi
Receiveri
Tujuan
Aplikasi
Aplikasi
TCP
TCP
IP
IP Jaringan
Network Access
Network Access
Fisikal
Fisikal
Sistem sumber
Sistem Tujuan
Gambar 2.2 Model arsitektur protocol TCP/IP Model arsitektur protocol TCP/IP terbagi menjadi lima lapisan independen secara relative, antaralain:
Lapisan Aplikasi (Application Layer), berisikan logic yang dibutuhkan untuk mendukung berbagai aplikasi user.
Lapisan Host-to-host atau transport, lapisan dimana mekanismemekanisme pengiriman data yang handal berada dengan syarat-syarat umum harus dipenuhi agar suatu data dapat dipindahkan dengan tepat.
Lapisan Internet (Internet Layer) berfungsi menghubungkan dua perangkat ke jaringan yang berbeda dimana diperlukan prosedur-prosedur tertentu agar dapat melintasi jaringan yang bermacam-macam.
7
Lapisan Akses Jaringan (Network Access Layer), berkaitan dengan pertukaran data antar sebuah ujung sistem dengan alamat komputer yang dituju sehingga jaringan dapat mengirimkan data ke tujuan yang tepat.
Lapisan Fisik (Physical Layer), lapisan ini berkaitan dengan karakteristikkarakteristik khusus dari media transmisi, sifat sinyal, rate data dan lain sebagainya.
2.1.2 Model OSI
Application Menyediakan akses ke lingkungan OSI bagi user serta menyediakan layanan informasi terdistribusi.
Presentation
Menyediakan keleluasaan terhadap proses aplikasi untuk bermacam representasi data (syntax).
Session
Menyediakan struktur control untuk komunikasi diantara aplikasi-aplikasi; menentukan, menyusun, mengatur dan mengakhiri koneksi sesi diantara aplikasi-aplikasi yang sedang beroperasi.
Transport
Menyediakan transfer data yang handal dan transparan diantara titik ujung; menyediakan perbaikan end-toend error dan flow control.
Network
Melengkapi lapisan yangan lebih tinggi dengan keleluasaan dari transmisi data dan teknologi-teknologi switching yang dipergunakan untuk menghubungkan system.
Data Link
Menyediakan transfer informasi yang reliable melewati link fisik; mengirim block (frame) dengan sinkronisasi yang diperlukan, control error dan flow control
Physical Berkaitan dengan transmisi bit stream yang tidak terstruktur sepanjang media physical (physical medium); berhubungan dengan karakteristik procedural, fungsi, elektris dan mekanisme untuk mengakses media fisikal.
Gambar 2.3 Model arsitektur lapisan-lapisan OSI
8
Model Arsitektur OSI (Open System Interconnection) dikembangkan oleh ISO ( International Organization for Standardization) sebagai model arsitektur komunikasi komputer serta sebagai kerangka kerja bagi pengembangan standardstandar protocol.
2.2
TOPOLOGI LAN (LOCAL AREA NETWORK)
Edhy Sutanta menjelaskan jenis topologi / konfigurasi jaringan yang dapat diterapkan pada LAN meliputi: 1. Topologi BUS, komputer yang terhubung mengirim dan menerima data melalui kabel sebagai pembawa sinyal dan melihat apakah data tersebut ditujukan untuk dirinya. Dalam topologi bus, jaringan hanya terhubung dengan satu saluran.
Gambar 2.4 Topologi Bus
2.
Topologi ring, komputer dihubungkan dengan komputer lain yang ada di depan dan dibelakangnya sehingga membentuk lingkaran tertutup, setiap komputer
mendapat
giliran
untuk
menggunakan
jaringan
dengan
menggunakan token. Komputer yang mendapat giliran dapat mengrimkan data, sedangkan komputer lain menerima data apabila data ditujukan kepadanya maka data akan disimpan, tetapi apabila tidak maka data akan diteruskan ke komputer lain.
9
Gambar 2.5 Topologi TokenRing
3.
Topologi star, jaringan mempunyai cakupan yang lebih luas dan fleksibel dibandingkan dengan topologi bus dan ring, dimana setiap komputer pada jaringan akan berkomunikasi melalui node pusat dan concentrator / hub terlebih dahulu sebelum menuju server. Hub akan mentransmisikan ke seluruh komputer yang terhubung dalam jaringan. Topologi ini memiliki kelebihan yaitu apabila terjadi kerusakan pada salah satu client atau pada kabel jaringan maka hanya akan berdampak pada komputer yang bersangkutan saja dan tidak berdampak bagi seluruh komputer.
Gambar 2.6 Topologi Star
10
4.
Topologi pohon (tree), komputer pusat dihubungkan ke beberapa komputer dan masing-masing komputer ini dihubungkan ke beberapa komputer lainnya sehingga membentuk bangunan pohon.
Gambar 2.7 Topologi Tree
2.9.2 SISTEM BILANGAN BINER Sistem bilangan biner merupakan sistem bilangan yang menggunakan dasar/basis 2 yaitu menggunakan dua macam simbol bilangan 0 (nol) dan 1 (satu). ( Edhy Sutanta,2004) dua simbol, yaitu 0 dan 1 dapat mewakili semua angka. Untuk mewakili suatu kelompok yang terdiri dari 2n unsur yang berbeda, sandi biner akan memerlukan paling sedikit n bit itu. Hal itu dikarenakan untuk menyusun n bit itu dalam 2n cara yang berlainan. Meskipun banyaknya bit minimum yang diperlukan untuk menjadikan 2n besaran yang berbeda itu adalah n, tidak ada batas maksimum banyaknya bit yang dapat dipergunakan untuk suatu sandi biner. Jadi untuk m karakter yang diwakili sebagai sandi biner, diperlukan sekurang-kurangnya n bit yang diperoleh menurut hubungan berikut : 2n ≥ m.
11
Bilangan Biner umum digunakan pada dunia komputasi. Komputer menggunakan Bilangan Biner agar bisa saling berkomunikasi antar komponen (hardware)
maupun
antar
sesama
komputer.
Karena
komputer
hanya
menggunakan bahasa mesin, yaitu apabila komputer mendapatkan sinyal listrik atau tegangan listrik (Volt), berarti bernilai 1. Apabila komputer tidak mendapatkan sinyal listrik atau tegangan listrik, berarti bernilai 0. Bilangan Biner juga digunakan untuk berkomunikasi antar sesama komputer alam suatu jaringan. Karena komputer hanya mengerti Bilangan Biner, maka komputer menstransmisikan sinyal-sinyal listrik ke perangkat jaringan untuk bisa berkomunikasi satu sama lain.
2.3
KODE ASCII
ASCII merupakan singkatan dari American Standard Code for Information Interchange, berfungsi sebagai interaksi (common denominator) antara komputer lain yang tidak memiliki kesamaan. Ia bekerja dengan menetapkan nilai numerik yakni standar huruf, angka, tanda baca dan karakter lain seperti kode kontrol (Mary Brandel, 1999). Semisal huruf besar „A‟, diwakili dengan jumlah desimal 65, Kode ASCII menunjukkan 7-bit pola yang unik untuk setiap huruf, dengan sedikit kedelapan digunakan untuk paritas. ASCII setara dengan International Reference Alphabet (IRA). Interaksi yang dimaksud adalah sarana untuk menyelesaikan permasalahan hubungan antara komputer yang hanya mengenal angka, sedangkan manusia tidak mungkin harus menghafal angka yang cukup banyak tersebut dan menggunakan keyboard sebagai masukan atas perintah yang diinginkannya. Kode ASCII sebenarnya memiliki komposisi bilangan biner sebanyak 8 bit. Dimulai dari 00000000 hingga 11111111. Total kombinasi yang dihasilkan sebanyak 256, dimulai dari kode 0 hingga 255 dalam sistem bilangan Desimal.
Pada dasarnya kode ASCII merepresentasikan kode-kode untuk : 1.
Angka (0,1,2,3,4,5,6,7,8,9)
2.
Huruf (a –z , A - Z)
12
3.
Simbol (&, ^, %, $, ….)
4.
Tombol (Enter, Esc, Tab, ….)
5.
Karakter Grafis (kode ASCII Standar nomor 128 s/d 255)
6.
Kode Komunikasi (ETX, STX, ENQ,…)
Kode – kode ASCII terbagi atas dua antaralain : 1.
Kode Standard ASCII , Kode ini merepresentasikan angka, huruf serta tombol standar, Enter, Escape, Backspace dan Space. Selain itu juga terdapat karakter-karakter yang tidak terdapat pada keyboard, yang dapat diaktifkan dengan melakukan penekanan tombol kombinasi “Alt” dan angka yang dimaksud, sebagai contoh tombol kombinasi “Alt” dan angka “127″ akan menghasilkan karakter grafis. Karakter dasar lain juga digunakan untuk komunikasi, seperti karakter “ACK” dan “ENQ”. Pada saat akan dilakukan komunikasi pada jaringan dengan protokol Ethernet, maka bentuk komunikasi yang terjadi adalah komputer akan mengirimkan “ACK” (Acknowledge) pada computer lain yang akan berkomunikasi, jika komputer lain merespon, maka komputer tersebut akan membalasnya dengan mengirim “ENQ” (Enquiry).
2.
Kode Extended ASCII Kode ASCII Extended akan bertindak sebagai kode perluasan (extended) dari kode ASCII yang ada, karena tidak semuanya mampu tertampung dalam kode ASCII standard. Kode ASCII jenis ini lebih banyak bertindak sebagai kode-kode tombol khusus, seperti kode untuk tombol F1 s/d F12. Sebagai contoh adalah kode ASCII extended untuk F12 adalah “123″. Tombol kombinasi, misalnya “Alt” dan “F1″, “Ctrl” dan “F1″, atau tombol-tombol yang kombinasi yang dilakukan untuk membuka menu file, dokumen dan sebagainya
13
Gambar 2.8 Kode ASCII
2.4
DATA
Data adalah satuan-satuan nilai yang memiliki maka/arti. menurut Edhy Sutanta (2009) , data yang dikomunikasikan dapat dibedakan menjadi 2, yaitu: 1.
Data analog, merupakan nilai-nilai kontinyu (continuous) dalam interval tertentu. Contoh adalah suara dan video.
14
2.
Data Dijital, merupakan nilai-nilai sinyal diskret (discrete) dalam interval tertentu. Contoh adalah teks, bilangan bulat (integer).
2.5
SINYAL ANALOG DAN SINYAL DIJITAL
Dalam sistem komunikasi, data disebarkan dari satu titik ke titik yang lain melalui sebuah alat sinyal-sinyal elektrik. Sinyal merupakan suatu isyarat untuk melanjutkan atau meneruskan suatu kegiatan. Biasanya sinyal ini berbentuk tandatanda, lampu-lampu, atau suara-suara. Sinyal dibentuk oleh transmitter dan ditransmisikan melalui media transmisi. Sinyal sangat erat sekali hubungannya dengan fungsi waktu (periodik), tetapi sinyal juga dapat diekspresikan dalam bentuk fungsi frekuensi. Menurut William Stalling (2001) sinyal analog merupakan aneka ragam gelombang elektromagnetik yang berlangsung terus menerus yang kemungkinan disebarkan lewat berbagai macam media, tergantung pada spektrum; contohnya media kabel (wire), semacam twisted pair dan coaxial cable, kabel fiber optik, dan atmosfer atau ruang perambatan. Sedangkan sinyal dijital adalah suatu rangkaian voltase pulsa yang bisa ditransmisikan melalui sebuah media kabel; sebagai contoh, suatu level voltase poitif konstan ditunukan sebagai biner 1 sedangkan voltase negative konstan dengan biner 0.
Gambar 2.9 Data analog dan dijital yang dibawa oleh sinyal analog
15
Gambar 2.10 Data analog dan dijital yang dibawa oleh sinyal dijital
2.6
BAHASA C#
C # (dibaca "See Sharp") adalah bahasa pemrograman yang sederhana, modern, berorientasi objek (OOP), dan berjenis-aman. C # memiliki akar dalam keluarga bahasa C sehingga bagi seorang pemrogram akan segera familiar dengan bahasa pemrograman C, C ++, dan Java. C# menggabungkan produktivitas yang tinggi dari Rapid Application Development (RAD) dan kekuatan dasar bahasa pemrograman C ++ (Anders Hejlsberg et al., 2011)
2.7
FRAMEWORK .NET
Net. Framework adalah sebuah bagian dari .NET platform yang merupakan model pemrograman untuk mengembangkan , mendistribusikan, dan menjalankan aplikasi layanan web beserta aplikasi lain seperti desktop dan Web (Ridi Ferdiana, 2006).
2.8
PENGKODEAN DATA (ENCODING)
Encoding adalah proses untuk mengubah sinyal ke dalam bentuk yang dioptimasi untuk keperluan komunikasi data dan penyimpanan data. Kedua hal
16
inilah yang saling mendukung untuk mengubah bentuk sinyal sehingga bisa disalurkan dari pengirim ke penerima. Dalam hal modulasi, komunikasi data ada yang menggunakan sinyal dijital. Tetapi komunikasi ini memiliki kelemahan yaitu jarak tempuh yang tidak terlalu besar akibat pengaruh noise berupa redaman yang terjadi pada media transmisi. Sedangkan komunikasi data menggunakan sinyal analog jarak tempuhnya akan menjadi lebih besar. Adapun definisi format-format pengkodean sinyal dijital dinyatakan oleh William stalling (2006) sebagai berikut berikut:
2.8.1
Nonreturn to Zero-Level (NRZ-L) Suatu kode dimana membagi sifat-sifat Tingkat Voltase tetap konstan
sepanjang interval bit dalam hal ini tidak terdapat transisi dimana tegangan negatif dipakai untuk mewakili suatu binary dan tegangan positif dipakai untuk mewakili binary lainnya. NRZ-L adalah pengkodean yang sering dipergunakan untuk membangkitkan atau mengartikan data dijital melalui terminal atau perangkatperangkat lain. berikut karakteristiknya antaralain:
Dua tegangan yang berbeda antara bit 0 dan bit 1
Tegangan konstan selama interval bit
Tidak ada transisi yaitu tegangan no return to zero Contoh dari NRZ-L yakni ketiadaan voltase dapat digunakan untuk
menampilkan biner 1 dan voltase positif konstan untuk menampilkan yang lain.
2.8.2
Nonreturn to Zero Inverted (NRZI) NRZI mempertahankan pulsa voltase konstan untuk durasi waktu bit, data-
data itu sendiri ditandai saat kehadiran atau ketidakhadiran transisi sinyal pada permulaan waktu bit. Adanya transisi (rendah ke tinggi atau tinggi ke rendah) pada permulaan waktu bit menunjukan biner 1 untuk bit waktu tersebut dan tidak ada transisi menunjukan biner 0. berikut karakteristiknya antaralain:
Pulsa tegangan konstan untuk durasi bit
Data dikodekan / diterjemahkan sebagai kehadiran(ada) atau ketiadaan sinyal transisi saat permulaan bit time
17
Transisi (dari rendah ke tinggi atau tinggi ke rendah) merupakan biner 1 Tidak ada transisi untuk biner 0 NRZI merupakan salah satu contoh dari differensial encoding dimana
keuntungan differensial encoding yakni
lebih kebal gangguan dan tidak
dipengaruhi oleh level tegangan.
2.8.3 Bipolar-AMI Suatu kode dimana teknik ini diarahkan untuk mengatasi ketidakefisienan kode-kode transmisi sinyal NRZ-L dan NRZI. Kode-kode ini menggunakan dua level sinyal dimana biner 0 dtampilkan melalui ketiadaan sinyal pada jalur (no line signal) sedangkan biner 1 ditampilkan melalui pulsa positif atau negatif dan pulsa biner 1 harus berganti ganti polaritasnya. berikut karakteristik pengkodean Bipolar-AMI antaralain:
Biner 0 ditampilkan melalui ketiadaan sinyal
biner 1 ditampilkan melalui pulsa positif dan negatif
Pulsa biner 1 harus berganti-ganti polaritasnya
Bandwidth yang dihasilkan dari sinyal-sinyal yang diperoleh sangat tipis dibanding bandwidth untuk NRZ
Karena sinyal-sinyal biner 1 berganti voltase dari positif ke negatif maka tidak ada DC komponen murni
Sifat pulsa yang berganti-ganti memungkinkan hanya diperlukan alat yg sederhana untuk mendeteksi error
2.8.4
Pseudoternary Teknik
pengkodean
sinyal
dimana
tiap
elemen
sinyal
hanya
menggambarkan satu bit dimana biner 0 menampilkan level positif atau negatif, alternative untuk nol yang berturut-turut sedangkan biner 1 menampilkan ketiadaan sinyal pada jalur. Berikut karakteristik pengkodean Pseudoternary antara lain:
Biner 1 menampilkan ketiadaan sinyal pada jalur
Biner 0 melalui pulsa yang berganti-ganti negatif atau positif
Tiap elemen sinyal hanya menggambarkan satu bit
18
Pada 3 level sistem dapat menggambarkan log23 = 1.58 bits
Receiver harus membedakan diantara 3 level (+A, -A, 0)
Membutuhkan kira-kira lebih dari 3db kekuatan sinyal untuk kemungkinan yang sama dalam bit error
Pertukaran dua fase dengan dua tekniknya yaitu manchester dan differential manchester.
Gambar 2.11 Kode-kode sinyal dijital
2.9
KRIPTOGRAFI
Kriptografi, Secara umum adalah Ilmu dan seni untuk menjaga kerahasiaan berita (Bruce Schneier, 1996). Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan Informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikas data (Alfred J. Menezes et al., 2000 )
19
Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu: 1.
Kerahasiaan adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi
2.
Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga inegritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak , antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
3.
Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
4.
Non-repudiasi atau nirpenyangkalan, adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.
2.9.1
Algoritma Enkripsi Advanced Ecryption Standarad (AES) AES merupakan sistem penyandian blok yang bersifat non-Feistel karena
AES menggunakan komponen yang selalu memiliki invers dengan panjang blok 128 bit (Rifki Sadikin, 2012). Kunci AES dapat memiliki panjang kunci bit 128, 192, dan 256 bit. Penyandian AES menggunakan proses yang berulang yang disebut dengan Ronde. Setiap Ronde membutuhkan kunci ronde dan masukan dari ronde berikutnya. Kunci ronde dibangkitkan berdasarkan kunci yang diberikan. AES menggunakan 5 unit ukuran data antaralain: bit, byte, word, blok dan state. Struktur proses didalam AES merupakan transformasi terhadap state, sebuah teks asli dalam blok (128 bit) terlebih dahulu diorganisir sebagai state. Enkripsi AES adalah tranformasi terhadap state secara berulang dalam beberapa ronde ke-k + 1.
20
Gambar 2.12 Struktur Enkripsi AES
2.10
DIAGRAM ALIR (FLOWCHART)
Flowchart
adalah
bagan-bagan
yang
mempunyai
arus
yang
menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara penyajian dari suatu algoritma (Al-Bahra, 2006). Diagram alir mempunyai titik awal dan titik akhir (mulai dan selesai). Diagram alir terdiri dari dua jenis, yaitu:
21
1.
Diagram alir program, yang menggambarkan urutan pengerjaan dari suatu program dengan memanfaatkan simbol-simbol tertentu yang dapat dilihat pada Gambar .
2.
Diagram alir sistem, yang menggambarkan sistem secara
keseluruhan.
Notasi-notasi yang digunakan pada diagram alir system dapat dilihat pada Gambar Flowchart atau diagram alir merupakan penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong sistem analis dan programmer untuk memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatifalternatif lain dalam pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut. Simbol-simbol dalam penggambaran flowchart yang biasa dipakai adalah simbol-simbol yang dikeluarkan oleh ANSI dan ISO. Adapun simbol atau karakter-karakter dan keterangannya adalah sebagai berikut:
Tabel 2.1 Simbol yang digunakan dalam flowchart Simbol
Nama Input / Output
Keterangan Merepresentasikan input data atau output data yang diproses atau informasi
Proses
Merepresentasikan penugasan atau operasi
Penghubung
Keluar/masuk dari bagian lain flowchart, khususnya halaman yang sama
Anak Panah
Merepresentasikan alur kerja
22
Simbol
Nama
Keterangan
Penjelasan
Digunakan untuk komentar tambahan
Keputusan
Keputusan dalam program
Preparation
Pemberian nilai awal
Punched Card
Input/output yang menggunakan kartu berlubang
Dokumen
Input/output dalam format cetak
Magnetic Tape
Input/output yang menggunakan pita magnetik
Magnetic Disc
Input/output yang menggunakan disk magnetik
Magnetic Drum
Input/output yang menggunakan drum magnetik
Online Storage
Input/output yang menggunakan penyimpanan langsung
23
Simbol
Nama Punched Tape
Keterangan Input/output yang menggunakan kertas berlubang
Manual Input
Input yang dimasukkan secara manual dari keyboard
Communication
Transmisi data melalui channel komunikasi
Link
seperti telepon
Display
Output yang ditampilkan pada terminal
Manual
Operasi manual
Operation
Offline Storage
Penyimpanan yang tidak dapat diakses langsung oleh komputer
2.11
WATERFALL (SEKUENSIAL LINIER)
Ada banyak metodologi yang dapat digunakan dalam pengembangan sistem. Salah satu metodologi pengembangan sistem yang digunakan adalah model waterfall atau Sekuensial Linier dimana mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematik dan berurutan (sekuensial) pada pengembangan perangkat lunak, yang dimulai pada spesifikasi kebutuhan pengguna dan berlanjut melalui tahapan-tahapan perencanaan (planning), pemodelan (modeling), konstruksi (construction), serta penyerahan system perangkat lunak ke pelanggan/pengguna (deployment), yang diakhiri dengan dukungan berkelanjutan pada perangkat lunak lengkap yang dihasilkan (gambar 2.13) (Roger S. Pressman, 2012).
24
Pengembangan aplikasi gerbang logika ini menggunakan pendekatan model proses Waterfall. Tahapan yang dilakukan adalah sebagai berikut: 1.
Pendefinisian kebutuhan (requirements definition). Termasuk di dalamnya pembentukan kebutuhan dari semua elemen sistem dan arsitektur sistem, menganalisa kebutuhan keinginan pemakai (user) baik masukan/keluaran, waktu pengerjaan, serta ukuran dan jumlah data yang ditangani.
2.
Desain sistem dan perangkat lunak (sistem and software design). Pada tahapan ini dilakukan penterjemahan syarat/kebutuhan ke dalam sebuah representasi software seperti menentukan dasar-dasar pembentukan dan pemilihan struktur data, struktur program, arsitektur program, pemilihan algoritma, dan interaksi dengan pemakai.
3.
Implementasi dan pengujian unit (implementation and unit testing). Pada tahap ini fungsi-fungsi dan program-program yang telah dikembangkan diuji setiap fungsi yang telah didesain untuk memastikan bahwa tiap-tiap fungsi yang telah dikembangkan berjalan seperti spesifikasi.
4.
Integrasi dan pengujian sistem (integration and system testing). Pada tahap ini fungsi-fungsi dan program-program yang telah dikembangkan diintegrasikan dan kemudian diuji sebagai kesatuan sebuah sistem dan memastikan bahwa sistem tersebut sesuai dengan spesifikasi sistem yang telah didefinisikan. Proses pengujian berfokus pada logika internal software, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional, yaitu mengarahkan pengujian untuk menemukan kesalahankesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.
5.
Operasi dan pemeliharaan (operation and maintenance). Pada tahap ini sistem telah dipasang dan dioperasikan oleh pengguna. Pemeliharaan termasuk perbaikan pada sistem dilakukan jika ditemukan kesalahan yang tidak ditemukan pada tahap sebelumnya. Perbaikan dan peningkatan kinerja sistem juga dilakukan karena pelanggan membutuhkan perkembangan fungsional atau unjuk kerja yang merupakan kebutuhan baru tanpa harus membuat baru lagi.
25
Gambar 2.12 memperlihatkan model tahapan Waterfall menurut referensi (Ian Sommerville: 2000)
Requirements definition
System and software design
Implementation and unit testing
Integration and system testing
Operation and Maintenance
Gambar 2.13 Model Waterfall
2.6
UNIFIED MODELING LANGUAGE
UML (Unified Modeling Language) adalah metode pemodelan secara visual sebagai sarana untuk merancang dan atau membuat software berorientasi objek (Adi Nugroho, 2010). Karena UML ini merupakan bahasa visual untuk pemodelan bahasa berorientasi objek, maka semua elemen dan diagram berbasiskan pada paradigma object oriented. UML adalah salah satu tool / model untuk merancang pengembangan software yang berbasis object oriented. UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponenkomponen yang diperlukan dalam sistem software. Selain itu UML juga dapat diartikan sebagai keluarga notasi grafis yang didukung oleh model-model tunggal,
26
yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (Fowler, 2005) UML sendiri terdiri atas pengelompokkan diagram-diagram sistem menurut aspek atau sudut pandang tertentu. Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. Salahsatu diagram yang digunakan pada penelitian ini adalah diagram sequence dengan penjelasan sebagai beikut:
2.6.1
Use Case View dan Diagram View
Use
Case
digunakan
untuk
memodelkan
fungsionalitas-
fungsionalitas system/ perangkat lunak dilihat dari pengguna yang ada diluar system (yang sering dinamakan sebagai actor). Use Case pada dasarnya merupakan unit fungsionalitas koheren yang diekspresikan sebagai transaksitransaksi yang terjadi antara actor dan system. Use case diagram merupakan teknik untuk merekam persyaratan fungsional sebuah sistem. Use case diagram mendeskripsikan interaksi tipikal antara para penggunasistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem digunakan (Flower, 2005)
2.6.2
Diagram Sequence Diagram Class dan diagram Object merupakan suatu gambaran model
statis. Diagram tersebut menunjukan sejumlah objek contoh dan pesan-pesan yang melewati objek-objek didalam use case diagram (Flower, 2005). Namun ada juga yang bersifat dinamis, seperti Diagram Interaction. Diagram sequence merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukan; message (pesan) apa yang dikirim dan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut. Diagram Sequence dapat digunakan untuk menggambarkan skenario atau uraian langkah-langkah yang dilakukan sebagai respon dari sebuah kejadian untuk menghasilkan keluaran tertentu.
27
Notasi pada diagram sequence, antaralain :
1.
Object Merupakan instance class dan dituliskan tersusun secara horizontal. Digunakan untuk menggambarkan pelaku atau pengguna dalam diagram sequence. Pelaku ini meliputi sistem komputer, subsistem atau manusia yang memiliki metode untuk melakukan sesuatu.
Simbol :
2.
: Objek
Actor Actor juga dapat berkomunikasi dengan objek. Digunakan untuk menggambarkan pelaku atau pengguna dalam use case. Pelaku ini meliputi sistem komputer, subsistem atau manusia yang memiliki metode untuk melakukan sesuatu.
Simbol :
3.
Lifeline Mengindikasikan keberadaan sebuah obyek dalam basis waktu.
Simbol :
4.
Activation Mengindikasikan sebuah obyek yang melakukan sebuah aksi
Simbol :
5.
Message Mengindikasikan komunikasi antar obyek.
28
Simbol :
Diagram Aktifitas Diagram aktifitas adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus (Munawar, 2005). Diagram akktifitas memodelkan alur kerja dari sebuah proses bisnis dan urutan aktifitas pada suatu proses.