BAB II LANDASAN TEORI
2.1 HDCP HDCP atau High-bandwith Digital Content Protection merupakan sebuah bentuk DRM (Digital Rights Management) yang telah dibuat dan dikembangkan oleh Intel Corporation. HDCP didesain untuk melindungi pengiriman konten digital berkualitas tinggi pada koneksi antarmuka DVI/HDMI (DCP, LLC, 2012), seperti sebuah komputer, penerima televisi satelit (satellite television receiver) atau DVD player untuk ditampilkan pada perangkat penerima seperti layar televisi atau monitor komputer. Secara khusus, teknologi ini ditujukan untuk melindungi konten audio dan video, seperti film video dan acara televisi yang berkualitas tinggi dari pembajakan atau penyalinan yang tidak legal. Dengan kata lain HDCP ini adalah sebuah metode khusus perlindungan konten kualitas digital audio dan video tinggi dengan melakukan enskripsi data digital tersebut
yang dikirim
melalui beberapa koneksi baik yang populer seperti Display Port (DP), Digital Visual Interface (DVI), High-Definition Multimedia Interface (HDMI) dan yang tidak populer seperti Gigabit Video Interface (GVIF) dan Unified Display Interface (UDI)(DCP, LLC, 2012). Prinsip kerja HDCP kurang lebih seperti ketika sebuah DVD atau blue-ray disk ditempatkan pada komputer atau DVD player atau ketika perangkat penerima sinyal satelit dinyalakan, pemancar langsung melakukan pemeriksaan untuk memastikan bahwa perangkat penerima memiliki lisensi kontrol kunci HDCP. Jika perangkat penerima tidak memilikinya, maka perangkat tersebut tidak akan diperbolehkan untuk menerima dan menampilkan konten HDCP yang dilindungi (HDCP-protected material). Sebaliknya, jika kontrol kunci HDCP ada pada tempatnya, maka konten audio dan video akan ditampilkan pada layar display. HDCP ini sudah merupakan standarisasi bagi dunia industri elektronik berbasis teknologi digital untuk memakainya karena berkaitan dengan adanya royalti atau pembayaran atas hak cipta para pembuat konten audio dan video
7
8
berkualitas tinggi yang kita gunakan untuk mendapatkan tampilan digital definisi tinggi pada layar digital seperti LCD Monitor, LCDTV dan LED TV. Dengan demikian pihak LG membeli lisensi kunci HDCP kepada vendor pembuat chipset yang memenuhi standar Intel Corporation untuk ditanam pada IC memori layar digital yang disebut EEPROM sehingga bisa menampilkan konten HDCP.
2.1.1 Mesin HDCP Mesin HDCP merupakan salah satu proses tahap adjustment (penyetelan) atau inspeksi dalam proses produksi terhadap LCD Monitor/TV setelah proses perakitan awal atau perakitan bagian-bagian LCD yang dipasang secara utuh di atas mesin konveyor sepanjang 95 M. Bisa kita lihat posisi mesin HDCP pada area proses produksi seperti pada Gambar 2.1.
HDCP Machine
Proses Produksi Gambar 2.1 Letak proses mesin HDCP berada Tahap adjustment atau inspeksi ini adalah tahap pengaturan maupun pengecekan set LCD Monitor/TV sesuai dengan standar konfigurasi yang di keluarkan oleh perusahaan yang berpusat di LG Korea Selatan sehingga LCD bisa layak digunakan oleh konsumen. Konfigurasi tersebut berkaitan dengan standar warna gambar, tampilan dan fungsi menu, fasilitas video in/out, kejernihan gambar/suara dsb. Walaupun mesin HDCP berfungsi bukan untuk adjustment tapi penulisan kunci HDCP namun tetap di masukan pada tahap proses adjustment.
9
Tahap adjustment atau inspeksi pada LCD Monitor/TV digital dalam jalannya proses produksi meliputi: a. HDCP Key Writer (mesin HDCP) b. Function Check Picture c. Sub Brightness Check d. DDC Digital e. HDMI Check f. WB adjustment g. DDC Analog
2.1.2 Kunci HDCP (HDCP Key) Kunci HDCP adalah data kunci yang berukuran relatif kecil dan berekstensi bin yang merupakan kunci pembuka proteksi dari HDCP sehingga transmisi yang di enkripsi antara sumber video dengan tampilan digital dapat dikenali dan konten atau data transmisi video maupun audio dapat ditampilkan kembali. Untuk ukuran data tergantung dari brand chipset yang dipakai dalam main PCB LCD Monitor/TV itu sendiri. Sedangkan pemakaian brand chipset tergantung dari model LCD Monitor/TV yang dikembangkan perusahaan melalui R&D-nya. Misalnya LCD Monitor untuk model E2260T-PNW menggunakan brand chipset GENESIS dengan ukuran 292 bytes, model W1943-PNW menggunakan brand chipset NOVATEK dengan ukuran 289 bytes dan model W2284-PNW menggunakan brand chipset MSTAR dengan ukuran 289 bytes. Kunci HDCP yang dialokasikan pada sebuah folder khusus dengan nama yang unik sesuai dengan brand chipsetnya seperti pada Gambar 2.2, kemudian dimasukkan atau diunggah (upload)
secara otomatis pada IC memori yang
bernama EEPROM. Selanjutnya data kunci yang sudah terpakai akan di hapus untuk menghidari terjadinya duplikasi
kunci HDCP, karena mengacu pada
aturan dari Intel Corporation yang mempunyai lisensi bahwa satu data kunci dipakai untuk satu LCD Monitor/TV saja dan bila aturan ini dilanggar kemudian diketahui oleh pihak auditor Intel Corperation akan dikenakan sangsi berupa denda yang cukup besar pada perusahaan yang terkait.
10
Key Set Menunjukan bulan pada saat data kunci ini diterima dari HQ Urutan (sequence) Urutan data kunci dari jumlah keseluruhan diterima dari HQ Tipe Chipset Pembuat(maker) data kunci HDCP Extension Format file
Gambar 2.2 Format Kunci HDCP Kunci HDCP ini dibeli oleh perusahaan LG pusat yang dinamakan Head Quarter (HQ) Korea Selatan dari intel sesuai vendor pembuatnya berdasarkan brand chipset apakah itu MSTAR, NOVATEK atau GENESIS. Kemudian datadata kunci tersebut dikirim sesuai jumlah permintaan ke LGEIN dan kemudian dikelola oleh Industrial Engineering bagian FA (Factory Automation) yang berhubungan langsung dengan mesin HDCP.
2.1.3 Program Penulis Kunci HDCP Program penulis kunci HDCP adalah program standar yang merupakan salah satu kebijakan pemakaian software orisinil berasal dari Head Quarter LG pusat Korea Selatan yang menjadi standarisasi adjustment terhadap produk display LG di Indonesia. Semua perangkat lunak yang di gunakan untuk kepentingan proses produksi maupun sistem informasi dibuat dan di kembangkan oleh tim ahli pembuat perangkat lunak (software engineering team) mereka yang kemudian didistribusikan untuk dipakai oleh perusahaan yang berada di negaranegara yang menjadi cabang LG di seluruh dunia, tidak terkecuali di Indonesia. Dan perangkat lunak tersebut menjadi hak paten yang tidak diperkenankan untuk dimodif atau dikembangkan sendiri masing-masing cabang. Adapun program mesin HDCP yang di gunakan untuk penulisan kunci HDCP LCD Monitor/TV terlihat pada Gambar 2.3.
11
Gambar 2.3 Program mesin HDCP Penjelasan gambar di atas: 1. Output Model, Suffix, Key Set number 2. Tampilan data hasil test/proses 3. Tombol Auto Test Start (F9), tombol ini akan berubah menjadi Stop (F8) selama Auto Test berlangsung 4. Tampilan grafik jalannya auto test berlangsung 5. Tampilan konter kondisi kunci HDCP yang sedang berlangsung 6. Tampilan hasil tes dan tahap proses (OK, NG, WAIT) 7. Tampilan penulisan data EEPROM 8. Tampilan pembacaan data EEPROM 9. Tampilan status berlangsung 10. Tampilan program mode eksekutif (alone, client only, client/server)
12
2.1.4 Peralatan/Perangkat Mesin HDCP Peralatan/perangkat yang digunakan pada mesin proses ini sehingga program bisa berjalan sebagai mestinya, yaitu terdiri dari: 1. Komputer Industri (Industrial Computer) Mesin HDCP yang dipasang di bawah konveyor seperti mesin-mesin proses yang lainnya adalah sebuah komputer khusus yang digunakan hanya untuk melakukan aktifitas adjustment atau inspeksi dalam proses produksi. Komputer ini dinamakan komputer industri yang mempunyai spesifikasi standar seperti halnya personal komputer namun didesain khusus dan mempunyai kualitas hardware yang lebih baik dan tahan lama sehingga harganyapun lebih mahal dibandingkan harga personal komputer yaitu sekitar Rp.11.000.000. Pelindung dan struktur pendingin dari komputer ini menandakan bahwa didesain untuk digunakan dalam kinerja perangkat yang lebih tinggi dan secara terus-menerus. Komputer ini didatangkan dari LG Korea, bisa dilihat pada Gambar 2.4.
Gambar 2.4 Komputer Industri Spesifikasi komputer industri yang dipakai adalah sebagai berikut: a. MB ADVAND, Pentium 4 Intel 2.8 GHz (478) b. Hard disk drive 80 Gb IDE, Memori 512 Mbyte DDR c. VGA Onboard 64 MB shared memory d. 6 PCI Bus e. CD-R 52x
13
2. Kotak Pengendali I2C (I2C Controller Box) Alat ini adalah sebuah perangkat dalam bentuk kotak box yang berfungsi sebagai media koneksi pengirim data dari komputer ke LCD Monitor/TV. I2C atau Inter IC Communication adalah salah satu protokol komunikasi khusus untuk LCD Monitor/TV. Melalui alat inilah kunci HDCP dapat dikirim dan ditulis ke dalam memori yang dinamakan EEPROM pada bagian LCD Monitor/TV sehingga data kunci tersebut tertanam dan berfungsi sebagaimana
mestinya
sehingga
konten
gambar
audio
video
yang
menggunakan HDCP dari perangkat lain bisa ditampilkan. Pada prinsip kerjanya data yang dikirim melalui kabel USB masih berupa data paket protokol USB yang kemudian dirubah menjadi data yang bisa dikenali I2C yang kemudian dikirim melalui kabel sinyal RGB secara paralel ke LCD Monitor/TV, bisa kita lihat pada Gambar 2.5.
Koneksi ke Komputer Industri
D-sub RGB 15 pin koneksi ke LCD Monitor/TV
Gambar 2.5 I2C Controller Box 3. Video Generator Video Generator (VG) adalah sebuah alat yang berfungsi untuk memberikan sinyal gambar video untuk menunjang penulisan kunci HDCP pada LCD Monitor/TV. Sinyal video yang disediakan oleh alat ini cukup banyak yaitu 120 model sinyal. Sedangkan model sinyal yang dibutuhkan untuk adjustment proses penulisan kunci HDCP pada tampilan layar LCD Monitor/TV adalah sinyal color bar. Dengan alat ini konten HDCP bisa diaktifkan sehingga hasil proses penulisan kunci HDCP dapat dicek dengan muncul atau tidaknya sinyal warna balok (color bar signal) tersebut di layar monitor, bisa dilihat pada Gambar 2.6.
14
Gambar 2.6 Video Generator dan Color Bar Signal
4. Analog Distributor dan Combiner Analog Distributor adalah suatu perangkat yang ditanam pada palet (alat pembawa set LCD di atas konveyor berbentuk kotak berdimensi 80 x180 x 5 cm) yang berfungsi untuk memperkuat sinyal atau data distribusi yang kemudian di buat paralel dari satu menjadi tiga jalur terminal d-sub yang mana kualitas sinyal atau data yang dikirim tidak berubah atau tetap. Perangkat ini membagi masukan sinyal atau data yang dikirim melalui kabel sinyal RGB dari combiner menjadi 3 jalur keluaran yang melayani tiga set LCD yang akan di lakukan proses penulisan kunci HDCP. Combiner adalah alat khusus yang digunakan untuk menunjang koneksi mesin HDCP yang mana keluaran baik dari tiga koneksi I2C dan satu video generator akan dikombinasikan menjadi satu keluaran kabel sinyal RGB 15 pin untuk digunakan operator memasang dan mencabut konektor tersebut terhadap terminal masukan d-sub RGB distributor analog palet dalam proses penulisan kunci HDCP, seperti terlihat pada Gambar 2.7.
Ke 3 set LCD
Ke Analog Distributor Dari Combiner Dari VG Dari I2C
Analog Distributor
Combiner
Gambar 2.7 Alat penghubung penunjang koneksi mesin HDCP
15
5. Kabel Sinyal RGB Kabel sinyal RGB ini terdiri dari 15 pin pada d-subnya yang digunakan untuk menghubungkan perangkat pengendali I2C ke LCD Monitor/TV. Juga kabel ini biasanya dipakai
untuk menghubungkan
komputer dengan LCD monitor sebagai display atau layar tampilan, detail kabel bisa dilihat pada Gambar 2.8.
D-sub RGB 15 pin (male)
Gambar 2.8 Kabel Sinyal RGB 15 pin Adapun konfigurasi kabel sinyal RGB yang berkaitan dengan pengiriman data dari perangkat I2C maupun untuk koneksi pada layar monitor seperti terlihat pada Gambar 2.9.
Pin 12 dan 15 koneksi yang dipakai I2C untuk pengiriman data kunci dan pin 1, 2,3,6,7,8,13,14 untuk koneksi display Pin
Fungsi
Pin
Fungsi
1
Red
9
+5V (Fused 250 mA)
2
Green
10
Ground(Sync Return)
3
Blue
11
Not Connected
4
Not Connected
12
SDA (DDC Data)
5
Ground Analog
13
Horizontal Sync
6
Red Return (Ground)
14
Vertical Sync
7
Green Return (Ground)
15
SCL (DDC Clock)
8
Blue Return (Ground)
Gambar 2.9 Konfigurasi kabel sinyal untuk I2C dan layar monitor
16
6. Kabel USB Kabel USB ini menghubungkan antara komputer dengan perangkat pengendali I2C. Data yang dikirim melalui kabel USB ini masih berupa data paket protokol USB dan diperlukan driver untuk bisa dikenali oleh komputer. Kabel USB ini sama persis dengan kabel USB printer, salah satu ujungnya berbentuk huruf U seperti pada Gambar 2.10.
Koneksi ke I2C (bentuk U)
Koneksi ke Komputer Industri
Gambar 2.10 Kabel USB 7. Display (LCD Monitor) LCD monitor ini diperlukan untuk menampilkan aktifitas program mesin HDCP yang tersambung dengan komputer industri melalui kabel sinyal RGB. Operator bisa melihat kondisi pada saat program mulai berjalan hingga muncul tampilan OK atau NG (No Good). Gambar 2.11 menunjukkan LCD Monitor dengan tampilan program HDCP dan d-sub RGB 15 pin (female).
D-sub RGB 15 pin (female)
Gambar 2.11 LCD Monitor 8. LCD Monitor/TV Set LCD Monitor/TV set merupakan objek produk yang akan mengalami proses penulisan kunci HDCP pada proses produksi. LCD yang mempunyai fasilitas digital baik pada LCD monitor, monitor TV maupun LCD TV harus
17
melalui penulisan kunci HDCP pada EEPROM yang terdapat pada main PCB untuk bisa menampilkan konten video dan audio yang terproteksi HDCP. EEPROM
merupakan
kependekan
dari
Electrically
Erasable
Programmable Read-Only Memory. EEPROM adalah tipe khusus dari PROM (Programmable Read-Only Memory) yang bisa dihapus dengan memakai perintah elektris. Seperti juga tipe PROM lainnya, EEPROM dapat menyimpan isi datanya bahkan saat listrik sudah dimatikan. EEPROM sangat mirip dengan flash memory yang disebut juga flash EEPROM. Perbedaan mendasar antara flash memory dan EEPROM adalah penulisan dan penghapusan EEPROM dilakukan pada data sebesar satu byte, sedangkan pada flash memory penghapusan dan penulisan data ini dilakukan pada data sebesar satu block. Oleh karena itu flash memory lebih cepat. EEPROM ini merupakan chip yang dipasang pada main PCB LCD Monitor/TV seperti pada Gambar 2.12 yang mana kunci HDCP ditulis dan disimpan disini untuk pembuka proteksi konten HDCP sehingga bisa ditampilkan pada layar.
Chip EEPROM DVI port (Digital)
D-sub RGB port (Analog) koneksi dari I2C saat unggah (upload)
Gambar 2.12 EEPROM pada main PCB LCD Monitor Digital
2.1.5 Pengoperasian Mesin HDCP Skema proses adjustment mesin HDCP terhadap LCD Monitor/TV dengan bantuan seorang operator atau petugas pengoperasian yang ditunjukan pada Gambar 2.13 adalah: 1. Operator memasangkan kabel penghubung sinyal RGB (male) dari I2C controller pada d-sub (female) analog distributor penghubung LCD Monitor/TV yang akan di lakukan penulisan.
18
2. Secara otomatis program mesin HDCP mulai bekerja. Tombol auto start yang bermula F9 menjadi F8. Tampilan hasil tes pada status ready menjadi waiting. 3. Proses unggah (upload) atau proses tulis dan baca kunci HDCP pada IC memori EEPROM LCD Monitor/TV berlangsung terlihat pada grafik auto tes, juga pada tampilan write dan read data EEPROM yang menggunakan bilangan Hexadecimal. 4. Setelah proses berhasil dan tidak mengalami masalah maka tampilan status auto tes menjadi OK (bila status menjadi NG berarti proses harus di ulang dari awal) dan tombol auto tes kembali pada status START (F9). 5. Proses selesai dan operator mencabut kabel sinyal RGB untuk kemudian melakukan proses pada LCD monitor/TV berikutnya.
Gambar 2.13 Skema Koneksi Mesin HDCP untuk 1 palet 3 LCD
19
2.2 Jaringan Komputer Jaringan komputer adalah kumpulan beberapa komputer (dan perangkat lain seperti seperti printer, hub, dan sebagainya) yang saling terhubung satu sama lain melului media perantara. Media perantara ini bisa berupa media kabel ataupun media tanpa kabel (nirkabel). Informasi berupa data akan mengalir dari satu komputer ke komputer lainnya atau dari satu komputer ke perangkat lain, sehingga masing-masing komputer yang terhubung tersebut bisa saling bertukar data atau berbagi perangkat keras (Iwan Sofana 2008:3).
2.2.1 Kategori Jaringan Komputer Ada empat kategori utama dalam jaringan komputer berdasarkan area atau skala yaitu LAN, MAN, WAN dan Internet. LAN (Local Area Network) adalah jaringan lokal yang dibuat pada area tertutup, misalkan dalam satu gedung atau ruangan. LAN merupakan arsitektur yang hanya terdiri dari beberapa komputer. Arsitektur ini merupakan jenis yang paling sederhana dari jenis arsitektur lainnya. Seringkali disebut jaringan privat, LAN digunakan untuk jaringan kecil yang menggunakan resource bersama-sama, seperti penggunaan printer bersama-sama, penggunaan media penyimpanan secara bersama. MAN (Metropolitan Area Network) menggunakan metode yang sama dan merupakan pengembangan dari LAN, namun daerah cakupannya lebih luas, bisa satu RW, beberapa kantor dalam komplek yang sama, satu kota bahkan provinsi. WAN (Wide Area Network) mengunakan metode yang sama dengan LAN dan MAN namun cakupan daerahnya lebih luas, meliputi kawasan, satu negara, satu pulau bahkan satu benua. Internet adalah interkoneksi jaringan-jaringan komputer yang ada di dunia, sehingga cakupannya sudah mencapai satu planet, bahkan antar planet. Koneksi antar jaringan komputer dapat dilakukan berkat dukungan protocol yang kahas, yaitu Internet Protokol (IP).
20
2.2.2 Topologi Jaringan Topologi adalah suatu aturan (rules) bagaimana menghubungkan komputer (node) satu sama lain secara fisik dan pola hubungan antara komponenkomponen yang berkomunikasi melalui media/peralatan jaringan, seperti: server, eorkstation, hub/switch, dan pengabelannya (media transmisi data).Ada dua jenis topologi, yaitu topologi fisik (physical topology) yang berkaitan dengan layout atau bentuk jaringan, seperti bagaimana memilih perangkat dan melakukan instalasi perangkat jaringan, dan topologi logik (logical topology) yang berkaitan dengan bagaimana data mengalir dalam topologi fisik (Iwan Sofana 2008: 7). Beberapa contoh topologi fisik yang umum di gunakan seperti pada Gambar 2.14 yaitu: a. Topologi Bus (Bus Topology) Menggunakan satu segment (panjang kabel) backbone, yaitu yang menyambungkan semua host atau semua peralatan jaringan secara langsung. b. Topologi Ring (Ring Topology) Menghubungkan satu host ke host setelah dan sebelumnya. Secara fisik jaringan ini berbentuk ring (lingkaran). c. Topologi Star (Star Topology) Menghubungkan semua kabel pada host ke satu titik utama. Titik ini biasanya menggunakan Hub atau Switch.
Topologi Star
Topologi Ring
Topologi Bus
Gambar 2.14 Contoh Topologi Jaringan
21
2.2.3 Model OSI Model OSI (Open Sistem Inteconection) yang dikenal model tujuh lapis OSI adalah sebuah model arsitektur jaringan yang dikembangkan oleh badan International Organization for Standarization (ISO) yang dibuat untuk mengatasi berbagai kendala internetworking akibat perbedaan arsitektur dan protokol jaringan. Secara umum fungsi dan penjelasan masing-masing layer dapat dilihat pada tabel 2.1. Tabel 2.1 Model OSI Layer
Keterangan
7 (Aplication)
Berfungsi sebagai antarmuka (penghubung) aplikasi dengan fungsionalitas jaringan, mengatur bagaimana aplikasi dapat mengakses jaringan, dan kemudian membuat pesan-pesan kesalahan. Pada layer inilah sesungguhnya user “berinteraksi dengan jaringan”. Contoh: FTP, telnet, SMTP, HTTP, POP3 dan NFS
6 (Presentation)
Berfungsi untuk mentranslasikan data yang hendak ditransmisikan oleh aplikasi ke dalam format yang dapat ditransmisikan melalui jaringan. Protokol yang berada pada level ini adalah sejenis redirector software, seperti network shell (semacam Virtual Network Computing(VNC) atau Remote Dekstop zProtocol(RDP)). Kompresi data dan enskripsi juga di tangani oleh layer ini.
5 (Session)
Berfungsi untuk mendefinisikan bagaimana koneksi di mulai, dipelihara dan diakhiri.Selain itu level ini juga dilakukan resulusi nama. Layer session sering disalah artikan sebagai prosedur logon pada network dan berkaitan dengan keamanan. Contoh: § NETBIOS, protokol yang dikembangkan IBM, menyediakan layanan ke layer presentation dan layer application § NETBEUI (NETBIOS Extended User Interface), protokol pengembangan dari NETBIOS digunakan pada Microsoft Networking § ADSP (Apple Talk Data Stream Protocol) § PAP (Printer Acces Control), protokol untuk
4 (Transport)
Berfungsi untuk memecah data menjadi paket-paket data serta memberi nomor urut setiap paket sehingga dapat disusun kembali setelah diterima. Paket yang diterima dengan sukses akan diberi tanda (acknowledgement). Sedangkan paket yang rusak atau hilang di tengah jalan akan dikirim ulang. Contoh: UDP, TCP dan SPX.
3 (Network)
Berfungsi untuk mendefinisikan alamat-alamat IP, membuat header untuk paket-paket dan melakukan routing melalui internetworking dengan menggunakan router dan switch layer-3. Pada layer ini juga dilakukan proses deteksi error dan trnsmisi ulang paket-paket yang error. Contoh: IP, IPX.
22
Tabel 2.1 (lanjutan) Model OSI Layer
2 (Data-Link)
1 (Phisical)
Keterangan Berfungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut frame. Pada level ini terjadi error correction, flow control, pengalamatan perangkat keras (MAC address) dan menentukan bagaimana perangkat-perangkat jaringan seperti bridge dan switch layer 2 beroperasi. Menurut spesifikasi IEEE 802, layer ini dikelompokkan menjadi 2 yaitu Logical Link Control (LLC) dan Media Acces Control (MAC). Contoh: Ethernet(802.2 & 802.3), Tokenbus(802.4), Tokenring(802.5), Demand Priority(802.12). Berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet dan Token Ring), topologi jaringan, dan pengabelan. Selain itu level ini juga mendefinisikan bagaimana NIC berinteraksi dengan wire atau wireless. Layer ini berkaitan langsung dengan besaran fisis seperti listrik, magnet, gelombang,. Data biner dikodekan berbentuk sinyal yang dapat ditansmisi melalui media jaringan.
Model OSi terbagi 2 kelompok yaitu upper layers (layer teratas) terdiri dari application, presentation dan session layer, dan lower layers (layer terbawah) terdiri dari transport, network, data link dan physical layer.
2.2.4 Protokol TCP/IP TCP/IP (Transmission Control Protocol/Internet Protocol) adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukarmenukar data dari satu komputer ke komputer lain di dalam jaringan internet. Komputer-komputer yang terhubung ke internet berkomunikasi dengan protokol TCP/IP, karena menggunakan bahasa yang sama perbedaan jenis komputer dan sistem operasi tidak menjadi masalah. Komputer personal dengan sistem operasi Windows dapat berkomunikasi dengan komputer Macintosh atau dengan Sun SPARC yang menjalankan solaris. Jadi, jika sebuah komputer menggunakan protokol TCP/IP dan terhubung langsung ke internet, maka komputer tersebut dapat berhubungan dengan komputer di belahan dunia mana pun yang juga terhubung ke internet. Karena penting peranannya pada sistem operasi Windows dan juga karena protokol TCP/IP merupakan protokol pilihan (default) dari Windows. Protokol TCP berada pada lapisan Transport model OSI (Open System Interconnection), sedangkan IP berada pada lapisan Network mode OSI.
23
2.2.4.1 IPv4 Address (Alamat IP Versi 4) IP address adalah alamat yang diberikan pada jaringan komputer dan peralatan jaringan yang menggunakan protokol TCP/IP. IP address versi 4 terdiri atas 32 bit angka biner yang dapat dituliskan sebagai empat kelompok angka desimal yang dipisahkan oleh tanda titik seperti 192.168.0.1. IP address terdiri atas dua bagian yaitu network ID dan host ID, dimana network ID menentukan alamat jaringan komputer, sedangkan host ID menentukan alamat host (komputer, router, switch). Oleh sebab itu IP address memberikan alamat lengkap suatu host beserta alamat jaringan di mana host itu berada. Untuk mempermudah pemakaian, bergantung pada kebutuhan pemakai, IP address dibagi dalam tiga kelas seperti diperlihatkan pada tabel 2.2. Tabel 2.2 Kelas IP Address Kelas
Range
Jumlah Maksimum Network
Jumlah Maksimum Host per Network
Network ID Host ID
Default Subnet Mask
A
1 ~ 126
127
16777214
xxx.0.0.1 s/d xxx.255.255.254
255.0.0.0
B
128 ~ 191
16384
65534
xxx.xxx.0.1s/d xxx.xxx.255.254
255.255.0.0
C
192 ~ 223
2097152
254
xxx.xxx.xxx.1 s/d xxx.xxx.xxx.254
255.255.255.0
Cara membaca IP address kelas A, misalnya 113.46.5.6 ialah: Network ID = 113 à 8 bit pertama Host ID = 46.5.6 à 24 bit berikutnya Cara membaca IP address kelas B, misalnya 132.92.121.1: Network ID = 132.92 à 16 bit pertama Host ID = 121.1 à 16 bit berikutnya
24
Cara membaca IP address kelas C, misalnya 192.0.5.10: Network ID = 192.0.5 à 24 bit pertama Host ID = 10 à 8 bit terakhir
2.2.4.2 Socket Socket adalah antarmuka (interface) pada jaringan yang menjadi titik komunikasi antar mesin pada protokol internet, dan tentunya tanpa komunikasi ini tidak akan ada pertukaran data dan informasi jaringan. Socket merupakan kombinasi alamat IP dan nomor port, dimana sebuah socket bersifat unik pada suatu jaringan. Sebuah socket dapat mewakili sebuah hubungan khusus antara kedua komputer pada jaringan menggunakan sebuah layanan service khusus. Socket terdiri dari elemen-elemen utama sebagai berikut: 1. Protokol.
4. Remote IP.
2. Local IP.
5. Remote Port.
3. Local Port. Dalam komunikasi antara dua pihak, tentunya harus digunakan kesepakatan aturan dan format yang sama agar komunikasi dapat dimengerti. Seperti halnya dua orang yang menggunakan bahasa yang sama, maka bahasa di sini berfungsi sebagai protokol. Protokol yang digunakan dalam socket dapat menggunakan TCP ataupun UDP. Contoh komunikasi sederhana bisa dilihat pada Gambar 2.15 adalah komunikasi antara komputer A dan komputer B. Baik komputer A maupun komputer B harus memiliki identitas unik, yang direpresentasikan oleh IP masingmasing. Komunikasi yang terjadi melalui port, sehingga baik komputer A maupun komputer B harus memiliki port yang dapat diakses satu sama lain.
25
Komputer B
Komputer A
Gambar 2.15 Contoh Komunikasi Menggunakan Socket Aplikasi socket umumnya terdiri dari dua kategori berdasarkan pengiriman datanya, yaitu: 1. Datagram socket (menggunakan UDP). 2. Stream socket (menggunakan TCP). Terdapat perlakuan yang berbeda antara UDP dan TCP, walaupun samasama berfungsi sebagai protokol pertukaran data. UDP tidak memerlukan proses koneksi terlebih dahulu untuk dapat mengirimkan data, paket-paket data yang dikirimkan UDP bisa jadi melalui rute yang berbeda-beda, sehingga hasil yang diterima bisa jadi tidak berurutan. Contohnya jika aplikasi socket pengirim mengirimkan berturut-turut pesan 1, pesan 2, dan pesan 3, maka aplikasi socket penerima belum tentu mendapatkan pesan yang berurutan dimulai dari pesan 1, pesan 2, dan terakhir pesan 3. Bisa saja pesan 2 terlebih dulu diterima, menyusul pesan-pesan yang lain, atau berbagai kemungkinan lainnya. Bahkan, dapat terjadi pesan yang dikirimkan tidak sampai ke penerima karena kegagalan pengiriman paket data. Tidak demikian halnya dengan stream socket yang menggunakan TCP, jenis
ini
mengharuskan
terjadinya
koneksi
terlebih
dahulu,
kemudian
mengirimkan paket-paket data secara berurutan, penerima juga dijamin akan menerima data dengan urutan yang benar, dimulai dari data pertama yang dikirimkan hingga data terakhir. TCP dapat menangani data yang hilang, rusak, terpecah, ataupun terduplikasi.
26
Dari sekilas perbedaan ini, kita dapat menarik kesimpulan bahwa aplikasi socket yang menggunakan TCP memerlukan pertukaran data dua arah yang valid. Sedangkan, aplikasi socket yang menggunakan UDP lebih memprioritaskan pada pengumpulan data. Karena itu aplikasi socket dengan TCP sering diterapkan untuk aplikasi chat, transfer file, ataupun transaksi-transaksi penting. Sedangkan aplikasi socket dengan UDP cocok diterapkan untuk aplikasi monitoring jaringan, game online, dan aplikasi-aplikasi broadcast. Windows memiliki API (Aplication Programming Interface) untuk berkomunikasi melalui TCP/IP yang terkenal dengan nama Winsock API. Winsock (Windows Socket) adalah antarmuka pemrograman jaringan yang digunakan untuk komunikasi data pada berbagai macam aplikasi jaringan komputer. Sebagai sebuah API, Winsock bekerja berdasarkan konsep socket.
2.2.4.3 Port Salah satu elemen penting yang digunakan dalam aplikasi socket adalah port. Port merupakan sebuah koneksi data virtual yang digunakan aplikasi untuk bertukar data secara langsung. Terdapat banyak port di dalam sebuah sistem komputer dengan fungsinya masing-masing. Sebagai contoh, dalam mengirim e-mail digunakan service SMTP yang umumnya menggunakan port 25. Sementara service POP3 untuk menerima e-mail menggunakan port 110, port 80 digunakan untuk HTTP, port 443 digunakan untuk HTTPS, dan seterusnya. Nomor-nomor port dapat dikategorikan dalam tiga jenis sebagai berikut: a. Port-port yang sudah dikenal (Well-known ports) Merupakan port yang telah digunakan secara internal oleh sistem Windows, misalnya port untuk koneksi Internet, service FTP, dan seterusnya. Port yang telah digunakan ini adalah port 0 sampai dengan port 1023. b. Port-port yang didaftarkan (Registered ports) Port ini dapat digunakan dalam aplikasi yang kita buat, range-nya adalah port 1024 hingga port 49151, cukup banyak port yang tersedia yang
27
bebas untuk dipilih sehingga kita tidak perlu kuatir kekurangan port untuk aplikasi yang kita buat. c. Port-port yang dinamis/tersendiri (Dynamic/Private ports) Merupakan port-port yang ditetapkan oleh sistem operasi atau aplikasi yang digunakan untuk melayani request dari pengguna sesuai dengan kebutuhan. Dynamically Assigned Port berkisar dari 49152 hingga 65536 dan dapat digunakan atau dilepaskan sesuai kebutuhan. . 2.2.5 Peralatan/Perangkat Jaringan Komputer Peralatan/perangkat pada jaringan komputer cukup banyak namun untuk saat ini penulis membahas perangkat NIC, HUB dan Switch yang terkait langsung dengan penyusunan skripsi ini yaitu: 1. NIC (Network Interface Card) NIC (kartu jaringan atau juga network card) adalah sebuah kartu yang berfungsi sebagai jembatan dari komputer ke sebuah jaringan komputer. Jenis NIC yang beredar terbagi menjadi dua jenis, yakni NIC yang bersifat fisik, dan NIC yang bersifat logis. Contoh NIC yang bersifat fisik adalah NIC Ethernet, Token Ring dan lainnya, sementara NIC yang bersifat logis adalah loopback adapter dan Dial-up Adapter. Disebut juga sebagai Network Adapter setiap jenis NIC diberi nomor alamat yang disebut sebagai MAC address, yang dapat bersifat statis atau dapat diubah oleh pengguna. Tugas NIC adalah untuk mengubah aliran data paralel dalam bus komputer menjadi bentuk data serial sehingga dapat ditransmisikan di atas media jaringan. 2. HUB dan Switch Hub pada dasarnya adalah sebuah pemisah sinyal (signal splitter). Ia mengambil bit-bit yang datang dari satu port dan mengirimkan copynya ke tiap-tiap port yang lain. Setiap host yang tersambung ke hub akan melihat paket ini tapi hanya host yang ditujukan saja yang akan memprosesnya. Ini dapat menyebabkan masalah lalu-lintas jaringan (network traffic) karena paket yang ditujukan ke satu host sebenarnya dikirimkan ke semua host (meskipun ia hanya diproses oleh salah satu yang ditujukannya saja).
28
Switch adalah hub pintar yang mempunyai kemampuan untuk menentukan tujuan MAC address dari paket. Daripada melewatkan paket ke semua port,
switch meneruskannya ke port dimana ia dialamatkan. Jadi,
switch dapat secara drastis mengurangi lalulintas jaringan. Switch memelihara daftar MAC address yang dihubungkan ke port-portnya yang ia gunakan untuk menentukan kemana harus mengirimkan paketnya. Karena ia beroperasi pada MAC address bukan pada IP address, switch secara umum lebih cepat daripada sebuah router.
2.2.6 Client-Server Client-server adalah jaringan komputer yang salah satu komputer difungsikan sebagai server atau induk bagi komputer lain. Server melayani komputer lain yang disebut client. Server adalah komputer yang dapat memberikan layanan ke server, sedangkan client adalah komputer yang mengakses beberapa layanan yang ada di client. Ketika client membutuhkan suatu layanan yang ada di server, dia akan mengirim permintaan kepada server lewat jaringan. Jika permintaan tersebut dapat dilaksanakan, maka server akan mengirim balasan berupa layanan yang dibutuhkan untuk saling berhubungan menggunakan socket. Layanan yang diberikan bisa berupa Web, e-mail, file atau yang lain. Server pada umumnya hanya satu dan menjadi pusat layanan bagi client yang bisa lebih dari satu. Clien-server banyak digunakan pada internet. Namun LAN atau jaringan lain pun bisa mengimplementasikan client-server. Hal ini sangat bergantung pada kebutuhan masing-masing.
2.3 Metodologi Rekayasa Perangakat Lunak Metodologi adalah cara sistematis atau cara yang didefinisikan dengan jelas untuk mencapai tujuan akhir. Bagian awal dari rekayasa perangkat lunak adalah pemodelan karena pemodelan akan mempengaruhi pekerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut. Salah satu model proses yang secara umum digunakan dalam pengembangan rekayasa perangkat lunak adalah model waterfall.
29
Model ini akan melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification dan maintenance. Disebut dengan waterfall karena tahap demi tahap dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. “Setelah setiap langkah didefinisikan, pengembangan dilanjutkan pada langkah berikutnya” (Arief Hamdani, 1999:1). Secara umum tahapan pada model waterfall dapat dilihat pada Gambar 2.16.
D e fin is i K e b u tu h a n
D Desain e s a in SSistem in te m DDan a n SSoftware o ftw a re Im p le m e n ta s i d a n T e s tin g U n it In te g ra s i d a n T e s tin g S is te m O p e ra s i d a n M a in te n a n c e
Gambar 2.16 Skema Model Waterfall 1. Definisi Kebutuhan Mengumpulkan kebutuhan secara lengkap kemudian dianalisa dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan di bangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap 2. Desain dan Software Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap. Dan proses perancangan sistem membagi persyaratan dalam sistem perangkat keras atau perangkat lunak dan menentukan arsitektur sistem secara keseluruhan.
30
3. Implementasi dan Testing Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemograman yang sudah ditentukan. Program yang dibangun di uji baik secara unit. 4. Integrasi dan Testing Unit program atau program individual diintegrasikan dan diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan telah dipenuhi. Setelah pengujian sistem selesai, perangkat lunak dikirim ke pengguna. 5. Operasi dan Maintenance Mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya. Dan pemeliharaan mencakup koreksi dan berbagai error yang tidak
ditemukan
pada
tahapan-tahapan
sebelumnya,
perbaikan
atas
implementasi unit sistem dan pengembangan pelayanan sistem.
2.4 Pemograman Berorientasi Objek Pemograman berorientasi objek atau dikenal dengan OOP (Object Oriented Programing) menurut Antony Pranata (2003:102) yaitu segala sesuatu yang kita manipulasi dalam pembuatan program adalah objek. Konsep pemograman berorientasi objek sebenarnya meniru kehidupan nyata. Perhatikan bahwa segala sesuatu di sekitar kita adalah objek. Sebagai contoh, kita adalah objek, mobil adalah objek, buku adalah objek, dsb. Lebih jauh lagi setiap objek selalu mempunyai dua elemen yaitu data dan metode. Pada dunia pemograman, data dapat dianalogikan dengan variabel, sedangkan metode dapat dianalogikan dengan fungsi. Ada beberapa pemograman menyebut metode dengan istilah kode. Data dapat diartikan sebagai sesuatu yang menentukan karakteristik sebuah objek. Sebagai contoh, kita mempunyai data seperti mata, telinga, hidung, tangan, kaki, dsb. Mobil mempunyai data seperti roda, rem, setir, dsb. Metode dapat diartikan sebagai aksi terhadap data. Sebagai contoh, kita mempunyai metode menutup mata, melambaikan tangan, dsb.
31
Istilah yang masih berkaitan erat dengan objek adalah kelas. Kelas merupakan struktur umum dari objek-objek tertentu. Sebagai contoh, kita termasuk kelas manusia dan mobil termasuk dalam kelas kendaraan bermotor. Dalam dunia komputer sering dikatakan bahwa objek merupakan instansiasi dari suatu kelas. Untuk lebih mudahnya, kita gunakan analogi berikut: tipe data adalah kelas sedangkan variabel yang didefinisikan berdasarkan tipe data tersebut adalah objek. Sebagai contoh, jika kita mendefinisikan: x: integer; berarti kita menginstansiasi objek x dari kelas integer. Contoh lain, kita mempunyai kelas TForm1. Kita bisa mengistansiasi objek Form1 dari kelas TForm1 dengan cara: Form: TForm1; … Application.createForm (Tform1, Form1); Setiap bahasa pemograman berorientasi objek harus mendukung tiga konsep dasar berikut: a. Pengkapsulan (encapsulation) Pengkapsulan adalah penggabungan data dan metode ke dalam satu kesatuan yang disebut kelas. Selain itu terkandung konsep lain yaitu penyembunyian informasi. Sebagai contoh, kelas mobil mempunyai metode menghidupkan mesin. Sebagai pengendara mobil tidak perlu tahu bagaimana kerja metode menghidupkan mesin, yang kita tahu adalah memutar kunci dan mesin hidup. b. Pewarisan (inheritance) Konsep pewarisan memungkinkan kita membuat kelas baru yang memiliki data dan metode dari kelas lain, tetapi juga memiliki data dan metode sendiri. Sebagai contoh binatang sering disebut kelas dasar (base class) atau kelas induk (parent class) sedangkan mamalia disebut kelas turunan (derived class) atau kelas anak (child class). Selain kelas mamalia, kelas binatang juga bisa diturunkan menjadi kelas ikan, burung, serangga dan reptil. Masing-masing kelas ini masih bisa
32
diturunkan lagi. Sebagi contoh, kelas mamalia bisa diturunkan menjadi kelas kerbau, sapi, kera, dsb. Kelas ikan bisa diturunkan menjadi kelas ikan air laut dan ikan tawar, dan seterusnya. c. Polimorfisme (polymorphism) Secara harfiah polimorfisme berarti banyak bentuk. Pada pemograman objek, dapat dijelaskan sebagai berikut: dua kelas yang diturunkan dari satu kelas mempunyai metode yang sama tetapi implementasinya berbeda. Contoh pada
Delphi,
polimorfisme dapat
dilihat
pada kelas
TCustomEdit. Kelas TCustomEdit digunakan untuk menangani kotak edit secara umum. Kelas TCustomEdit diturunkan menjadi kelas TEdit dan TCustomMemo (yang kemudian diturunkan menjadi TMemo). Kelas TEdit untuk menangani kotak edit satu baris sedangkan kelas TCustomMemo untuk menangani kotak edit banyak baris. Baik Tedit maupun TCustomMemo mempunyai metode Clear untuk menghapus seluruh teks. Meskipun demikian, metode Clear pada kedua kelas tersebut jelas berbeda (karena jumlah baris TEdit hanya satu sedangkan jumlah baris TCustomMemo lebih dari satu).
2.5 Sekilas Tentang Borland Delphi 7.0 Borland Delphi 7 merupakan bahasa pemograman yang berorientasi objek (PBO/OOP) yang digunakan pada lingkungan Windows. Dengan menggunakan perangkat lunak ini penulis dapat membangun berbagai aplikasi yang berbasis windows. Delphi menggunakan bahasa Object Pascal sebagai bahasa dasar sehingga dalam pengoperasisannya pun hanya diperlukan spesifikasi sistem komputer yang standar, sehingga dalam membangun sebuah aplikasi dapat dengan cepat dan mudah dikerjakan. Sejak tahun 1993 Borland International mengembangkan bahasa Pascal yang bersifat visual. Hasil dari pengembangan ini adalah dirilisnya Delphi 1 pada tahun 1995, kemudian berlanjut Delphi 2 pada tahun 1996. Dan tahun-tahun berikutnya Borland merilis beberapa versi pengembangan Delphi, dari Delphi versi 3 sampai sekarang, yang terbaru adalah Embarcadero Delphi XE (Delphi 2011) yang dirilis pada tanggal 30 Agustus 2010 dengan berganti perusahaan baru yang bernama CodeGear. Untuk penulis memilih menggunakan perangkat lunak
33
Borland Delphi 7 yang sudah cukup mendukung pembuatan aplikasi pendistribusian kunci HDCP ini. IDE (Integrated Development Environtment) adalah sebuah lingkungan pengembangan yang terintegrasi, yang mana proses pengembangan program mulai dari koding, desain dan debugging dilakukan pada satu framework atau pada satu aplikasi yang terintegrasi. Pada dasarnya IDE Delphi di bagi menjadi tujuh bagian utama seperti terlihat pada Gambar 2.17, yaitu: menu, Speed Bar, Component Palette, Form Designer, Code Explorer, Object TreeView dan Object Inspector. Speed Bar
Menu
Component Palette
Object Tree View
Form Designer
Object Inspector Code Explorer
Gambar 2.17 Jendela Aplikasi Borland Delphi 7.0
Dalam pembuatan aplikasi menggunakan Borland Delphi ada yang perlu kita ketahui tentang fungsi file-file pada direktori proyek Delphi, yaitu: a. *.dpr, berisi program utama dari aplikasi yang dibuat. b. *.pas, berisi unit yang nantinya digunakan untuk menangani kejadian pada form. c. *.dfm, daftar komponen yang kita letakkan beserta properti-propertinya. d. *.res, berisi resource, biasanya ikon, tetapi bisa juga kursor, bitmap, dll. e. *.dof dan *.cfg, yaitu file konfigurasi untuk proyek yang kita buat.
34
f. *.dcu, merupakan file hasil dari kompilasi file unit yang akan digunakan untuk membuat file executable. g. *.exe, file ini merupakan file executable atau file program aplikasi yang kita buat
2.6 Unified Modelling Language (UML) Unified Modelling Language (UML) adalah sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem perangkat lunak (Prasetyo, 2006). UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi perangkat lunak, dimana aplikasi tersebut dapat berjalan pada perangkat keras, sistem operasi dan jaringan apapun. Selain itu, dengan menggunakan UML, programmer dapat mengerti, memahami dengan jelas maksud, tujuan dan arah rancangan sistem, sehingga sistem perangkat lunak yang dirancang dapat dibangun dengan bahasa pemrograman apapun. UML merupakan standar yang relatif terbuka yang dikontrol oleh Object Management Group (OMG), sebuah konsorsium terbuka yang terdiri dari banyak perusahaan. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram perangkat lunak (Fowler, 2005:1).
2.6.1 Use Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem, yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, membuat (create) sebuah daftar belanja, dan sebagainya. Seorang/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 kebutuhan (requirement) sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua fitur yang ada pada sistem (Prasetyo, 2006).
35
Sebuah use case dapat memasukkan (include) fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang dimasukkan (include) akan dipanggil setiap kali use case yang memasukkan (include) dieksekusi secara normal. Sebuah use case dapat dimasukkan (include) oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang umum (common). Sebuah use case juga dapat menjadi perluasan (extend) use case lain dengan perilaku (behaviour) -nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain (Prasetyo, 2006). Notasi-notasi use case dapat dilihat pada tabel 2.3. Tabel 2.3 Notasi Use Case Diagram (Hafid, 2010) Simbol
*
*
*
*
System
Nama
Keterangan
Actor
Actor adalah pengguna sistem. Actor tidak terbatas hanya manusia saja, jika sebuah sistem berkomunikasi dengan aplikasi lain dan membutuhkan input atau memberikan output, maka juga bisa dianggap sebagai actor.
Use case
Use case digambarkan sebagai lingkaran elips dengan nama use case dituliskan didalam elips tersebut.
Association
Asosiasi digunakan untuk menghubungkan actor dengan use case. Asosiasi digambarkan dengan sebuah garis yang menghubungkan antara Actor dengan Use Case.
System Boundary
System boundary menggambarkan batasan antara use case dengan actor
Contoh Diagram Use case seperti Gambar 2.18 (Heriyanto, 2010):
36
Gambar 2.18 Use Case Diagram penarikan uang melalui ATM
2.6.2 Activity Diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, dimana sebagian besar state adalah action dan sebagian besar transisi di- trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum (Prasetyo, 2006). Sebuah aktifitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas
menggambarkan
proses
yang
berjalan,
sementara
use
case
menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat
untuk
menggambarkan
aktivitas.
Decision
digunakan
untuk
menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan prosesproses paralel ( fork dan join ) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab
37
untuk aktivitas tertentu (Prasetyo, 2006). Untuk notasi activity diagram bisa di lihat pada tabel 2.4 dan untuk contoh activity diagram bisa dilihat pada Gambar 2.19. Tabel 2.4 Notasi Activity Diagram (Heriyanto, 2010) Simbol
Keterangan Start point, Titik awal diagram End point, Titik akhir diagram Activities, Aktivitas atau kegiatan Decision, Pilihan untuk pengambilan keputusan Fork; Untuk menunjukkan kegiatan yang dilakukan secara paralel Join, Penggabungan aktivitas
Swimlane
Sebuah cara untuk mengelompokkan activities berdasarkan Actor (mengelompokkan activity dalamsebuah urutan yang sama)
Gambar 2.19 Activity Diagram penarikan uang melalui ATM
38
2.6.3 Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu (Prasetyo, 2006). Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message. Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller dan persistent entity (Prasetyo, 2006). Notasi dilihat pada tabel 2.5. Tabel 2.5 Notasi Sequence Diagram (Hafid, 2010) Simbol
Nama
Keterangan
Object
Object merupakan instance dari sebuah class dan dituliskan tersusun secara horizontal. Digambarkan sebagai sebuah class (kotak) dengan nama obyek didalamnya yang diawali dengan sebuah titik koma
Actor
Actor juga dapat berkomunikasi dengan object, maka actor juga dapat diurutkan sebagai kolom. Simbol Actor sama dengan simbol pada Actor Use Case Diagram.
Lifeline
Activation
Lifeline mengindikasikan keberadaan sebuah object dalam basis waktu. Notasi untuk Lifeline adalah garis putus-putus vertikal yang ditarik dari sebuah obyek. Activation dinotasikan sebagai sebuah kotak segi empat yang digambar pada sebuah lifeline. Activation mengindikasikan sebuah obyek yang akan melakukan sebuah aksi.
39
Tabel 2.5 (lanjutan) Notasi Sequence Diagram (Hafid, 2010) Simbol
Nama
Message
Keterangan Message, digambarkan dengan anak panah horizontal antara Activation. Message mengindikasikan komunikasi antara objectobject.
Contoh Diagram Sequence seperti pada Gambar 2.20.
Gambar 2.20 Sequence Diagram pengembalian buku
2.6.4 Class Diagram Class adalah kumpulan objek-objek yang mempunyai struktur umum, behavior umum,
relasi
umum,
dan
semantic/kata
yang
umum.
Class-class
ditentukan/ditemukan dengan cara memeriksa objek-objek dalam sequence diagram dan collaboration diagram. Sebuah class digambarkan seperti sebuah bujur sangkar dengan tiga bagian ruangan. Class sebaiknya diberi nama menggunakan kata benda sesuai dengan domain/bagian/kelompoknya (Heriyanto, 2010).
40
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti hubungan dinamis, pewarisan, asosiasi, dan agregasi (Prasetyo, 2006). Class memiliki tiga area pokok : 1. Nama (dan stereotype). 2. Atribut. 3. Metoda. Atribut dan metoda dapat memiliki salah satu sifat berikut: 1. Private, tidak dapat dipanggil dari luar class yang bersangkutan. 2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya. 3. Public, dapat dipanggil oleh siapa saja. Pada class terdapat hubungan antar class yaitu: 1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. 2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”). 3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya. 4. Hubungan dinamis, yaitu rangkaian pesan (message) yang dilewati (passing) dari satu class kepada class lain. Notasi-notasi dari class diagram dapat dilihat pada tabel 2.6. Tabel 2.6 Notasi pada Class Diagram (Hafid, 2010) Simbol
Nama
Keterangan
Class
Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan property /atribut class. Bagian akhir mendefinisikan method method dari sebuah class.
41
Tabel 2.6 (lanjutan) Notasi pada Class Diagram (Hafid, 2010) Simbol
Nama
Keterangan
Assosiation
Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class, dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum multiplisitas pada sebuah relationship (Contoh: One-toone, one to- many, many-to-many).
Composition
Composition Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut. Sebuah relationship composition digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid.
Dependency
Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency. Umumnya penggunaan dependency digunakan untuk menunjukkn operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik.
Aggregation
Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi “mempunyai sebuah” atau “bagian dari”. Sebuah aggregation digambarkan sebagai sebuah garis dengan sebuah jajaran genjang yang tidak berisi/tidak solid.
Generalization
Sebuah relasi generalization sepadan dengan sebuah relasi inheritance pada konsep berorientasi obyek. Sebuah generalization dilambangkan dengan sebuah panah dengan kepala panah yang tidak solid yang mengarah ke kelas “parent”- nya/induknya.
42
Contoh class diagram seperti pada Gambar di bawah ini:
Gambar 2.21 Class diagram sistem pembelian
2.7 Bagan Alir Program (Flowchart) Suatu metode untuk mengambarkan tahap-tahap pemecahan masalah adalah dengan mempresentasikan simbol-simbol tertentu yang mudah di mengerti dan standart. Program flowchart adalah salah satu yang dapat didefinisikan sebagai bagan yang menjelaskan secara rinci langkah-langkah dari proses program ( Jogiyanto, HM : 1990 ). Simbol-simbol dari flowchart diagram dapat dilihat pada tabel 2.7. Tabel 2.7 Simbol-Simbol Flowchart Diagram Simbol
Nama symbol Terminal
Processing
Keterangan Untuk menggambarkan awal dan akhir proses aliran dokumen
Dipakai untuk pengolahan aritmatika dan pemindahan data
43
Tabel 2.7(lanjutan) Simbol-Simbol Flowchart Diagram Simbol
Nama symbol
Keterangan
Preparation
Dipakai untuk memberikan nilai awal dari suatu variabel atau counter
Decision
Dipakai untuk mewakili operasi perbandingan logika
Predefined process
Dipakai untuk proses yang detailnya djelaskan secara terpisah, misalnya dalam bentuk subroutine
Garis alir
Dipakai untuk menunjukkan aliran dari program
Penghubung
Menunjukkan penghubung di halaman yang masih sama atau dihalaman lainnya
Input / Output
Mewakili data input atau output
44