BAB II TINJAUAN PUSTAKA
II.1. Kadar Obat Hitam Baterai ABC UM-3 Berdasarkan hasil wawancara dengan Bapak Ellyanto sebagai Senior Operator bagian obat hitam baterai bahwa obat hitam baterai merupakan tempat dimana arus listrik baterai tersimpan. Obat hitam tersebut berupa serbuk yang bewarna hitam. Baterai ABC UM-3 adalah baterai yang berukuran kecil yang sering digunakan pada remote TV, jam dinding, dan lain sebagainya. Untuk mengetahui kadar obat hitam tersebut bagus atau tidaknya, ada beberapa kriteria pendukung, dimana kriteri-kriteria tersebut memiliki nilai masing-masing. Kriteria tersebut adalah oozing, voltase, dan kadar air. Oozing merupakan tingkat kebasahan atau keringnya obat hitam tersebut. Voltase merupakan tingkat arus listrik yang terdapat pada obat hitam, dan terakhir kadar air merupakan kandungan air yang terdapat pada obat hitam. Setiap kriteria tesebut memiliki nilai standarisasi, yaitu: Tabel II.1 Nilai Kriteria Obat Hitam Baterai ABC UM-3 Kriteria Obat Hitam Baterai ABC UM-3
Standarisasi
Oozing
48 --58
Voltase
1,645 -- 1,680
KadarAir
21,5 -- 24,0
Sumber : PT. EVERBRIGHT Ketiga kriteria tersebut diuji untuk mendapatkan nilai, dimana nilai tersebut bepengaruh terhadap baterai yang akan dibuat. Apabila nilai tersebut
8
9
melebihi atau kurang dari nilai yang sudah ditetapkan maka kualitas baterai tersebut akan berkurang atau baterai tidak dapat digunakan.
II.2. Definisi Logika Logika didefinisikan sebagai ilmu untuk berpikir dan menalar dengan benar sehinggga didapatkan kesimpulan yang absah. Logika merupakan dasar dari semua penalaran (reasoning). Penalaran (reasoning) merupakan kegiatan, proses atau aktivitas berpikir untuk menarik suatu kesimpulan atau membuat suatu pernyataan baru berdasar pada beberapa pernyataan yang diketahui benar ataupun yang dianggap benar yang disebut premis. (T.Sutojo, 2011) Dari kalimat diatas menjelaskan bahwa logika merupakan suatu pemikiran untuk mendapatkan kesimpulan yang tepat dari pernyataan-pernyataan yang ada sebelumnya dan sudah diketahui benar dan dijadikan suatu pernyataan baru.
II.3. Logika Fuzzy Logika fuzzy diperkenalkan oleh Prof. Lotfi Astor Zadeh pada 1962. Logika fuzzy adalah metodologi sistem kontrol pemecahan masalah, yang cocok untuk diimplementasikan pada system, mulai dari system yang sederhana, system kecil, embedded system, jaringan PC,dan system kontrol. (T.Sutojo,2011). Metodologi ini dapat diterapkan pada perangkat keras, perangkat lunak, atau kombinasi keduanya. Dalam logika klasik dinyatakan bahwa segala sesuatu bersifat biner, yang artinya adalah hanya mempunyai dua kemungkinan, “Ya atau Tidak”, “Benar atau Salah”, “Baik atau Buruk”, dan lain-lain. Oleh karena itu,
10
semua ini dapat mempunyai nilai keanggotaan 0 atau 1. Akan tetapi, dalam logika fuzzy memungkinkan nilai keanggotaan berada di antara 0 dan 1. Artinya, bisa saja suatu keadaan mempunyai dua nilai “Ya dan Tidak”, “Benar dan Salah”, “Baik dan Buruk” secara bersamaaan, namun besar nilainya tergantung pada bobot keanggotaan yang dimilikinya.(T.Sutojo,2011). Logika fuzzy dapat digunakan di berbagai bidang, seperti pada system diagnosis penyakit (dalam bidang kedokteran), pemodelan sistem pemasaran, riset operasi (dalam bidang ekonomi), kendali kualitas air, prediksi adanya gempa bumi, klasifikasi dan pencocokan pola(dalam bidang teknik). . (T.Sutojo,2011) Bila dibandingkan dengan logika konvensional, kelebihan logika fuzzy adalah kemampuannya dalam proses penalaran secara bahasa sehingga dalam perancangannya tidak memerlukan persamaan matematik yang rumit. Logika fuzzy mudah dimengerti, memiliki toleransi terhadap data-data yang tidak tepat, mampu memodelkan fungsi-fungsi nonlinear yang sangat kompleks, dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan, dapat bekerjasama dengan teknikteknik kendali secara konvensional, dan didasarkan pada bahasa alami. (T.Sutojo,2011) Berdasarkan pernyataan diatas bahwa logika fuzzy merupakan suatu pemikiran dimana dalam kesimpulan yang diambil dapat dinyatakan dalam dua kemungkinan yaitu “Ya” atau “Tidak” dan setiap kemungkinan mempunyai nilai keanggotaan 0 atau 1. Oleh sebab itu logika fuzzy sering disebut logika samar.
11
Logika fuzzy memungkinkan memberikan kesimpulan dari data yang tidak tepat serta logika fuzzy cocok untuk diaplikasikan ke dalam software.
II.3.1. Dasar Logika Fuzzy Untuk memehami logika fuzzy, sebelumnya perhatikan dahulu tentang konsep himpunan fuzzy. Himpunan fuzzy memiliki 2 atribut yaitu: 1. Linguistik, yaitu nama suatu kelompok yang mewakili suatu keadaan tertentu dengan menggunakan bahasa alami, misalnya DINGIN, SEJUK, PANAS mewakili variabel temperatur. 2. Numeris, yaitu suatu nilai yang menunjukkan ukuran dari suatu variable, misalnya 10, 35,40 dan sebagainya. (Sri Kusumadewi, 2003) Berdasarkan pernyataan diatas bahwa linguistik adalah beberapa kategori yang dibagi pada satu variabel dalam bentuk kata atau bahasa alami sedangkan numeris adalah suatu beberapa yang dibagi pada satu variabel dalam bentuk angka. Disamping itu, ada beberapa hal yang harus dipahami dalam memahami logika fuzzy, yaitu: 1. Variabel fuzzy, yaitu variable yang akan dibahas dalam suatu sistem fuzzy. 2. Himpunan fuzzy, yaitu suatu kelompok yang mewakili suatu keadaan tertentu dalam suatu variabel fuzzy. 3. Semesta pembicaraan, yaitu seluruh nilai yang diizinkan untuk dioperasikan dalam suatu variabel fuzzy.
12
4. Domain himpunan fuzzy, yaitu seluruh nilai yang diizinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy. (Sri Kusumadewi, 2003)
II.3.2. Fungsi Keanggotaan Fungsi keanggotaan adalah grafik yang mewakili besar dari derajat keanggotaan masing-masing variabel input yang berada dalam interval anrata 0 dan 1. Derajat keanggotaan sebuah variabel x dilambangkan dengan simbol µ(x). Rule-rule menggunakan nilai keanggotaan sebagai factor untuk menentukan pengaruhnya pada saat melakukan inferensi untuk menarik kesimpulan. Ada beberapa fungsi keanggotaan yang sering digunakan berdasarkan buku Kecerdasan Buatan (T.Sutojo, 2011), diantaranya adalah: 1. Grafik Keanggotaan Kurva Linear Pada grafik keanggotaan linear, sebuah variabel input dipetakan ke derajat keanggotaannya dengan digambarkan sebagai suatu garis lurus. Terdapat 2 grafik keanggotaan linear yaitu : a. Grafik keanggotaan kurva linear naik Kenaikan himpunan fuzzy dimulai pada nilai domain yang memiliki derajat keanggotaan nol bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan lebih tinggi.
13
1
0
a
Domain
b
Gambar II.1. Grafik Keanggotaan Kurva Linear Naik Sumber : T.Sutojo, 2011 Fungsi Keanggotaan: x≤a a≤x≤b x=b
0 μ[ ] = ( − )/( − ); 1
b. Grafik keanggotaan kurva linear turun Himpunan fuzzy dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah.
1
0
a
Domain
b
Gambar II.2. Grafik Keanggotaan Kurva Linear Turun Sumber : T.Sutojo, 2011 Fungsi Keanggotaan: μ[ ] =
( − )/( − 0;
);
a ≤ x≤ b x≥ b
14
2. Grafik Keanggotaan Kurva Segitiga Grafik keanggotaan kurva segitiga pada dasarnya merupakan gabungan antara 2 garis (linear). 1
derajat keanggotaan µ[x] 0
a
c
b
domain Gambar II.3. Grafik Keanggotaan Kurva Segitiga Sumber : T.Sutojo, 2011 Fungsi Keanggoataan: 0; μ[ ] = ( − )/( − ); ( − )/( − );
x ≤ a atau x ≥ c a≤x≤b b≤x≤c
3. Grafik Keanggotaan Kurva Trapesium Grafik keanggotaan kurva trapezium pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa titik yang memiliki nilai keanggotaan 1.
1
derajat keanggotaan µ[x] 0
a
b
domain
c
d
Gambar II.4. Grafik Keanggotaan Kurva Trapesium Sumber : T.Sutojo, 2011
15
Fungsi Keanggotaan:
μ[ ] =
0; ( − )/( − ); 1; ( − )/( − );
x ≤ a atau x ≥ d a ≤ x≤ b b≤x≤c c≤x≤d
4. Grafik Keanggotaan Kurva Bentuk Bahu Grafik keanggotaan kurva “bahu” digunakan untuk mengakhiri variabel suatu daerah fuzzy yang nilai derajat keanggotaannya adalah konstan (biasanya 1). Bahu Kiri
Bahu Kanan
1
derajat keanggotaa n µ[x] 0
a
b
c
d
Gambar II.5. Grafik Keanggotaan Kurva Bentuk Bahu Sumber : T.Sutojo, 2011 Fungsi Keanggotaan: 1: μ[ ] = ( − )/( − ); ( − )/( − );
0 ≤ x ≤ a atau c ≤ x ≤d a≤x≤b b≤x≤c 5. Grafik Keanggotaan Kurva-S (sigmoid) Grafik keanggotaan kurva S memiliki bentuk seperti huruf “S” yang mempunyai ukuran yang diletaakan oleh parameter a, b, dan c. titik b disebut titik infleksi, yaitu titik yang mempunyai derajat keanggotaan 0,5. Terdapat
16
dua macam kurva pada kurva-S yaitu kurva-S PERTUMBUHAN dan kurva-S PENYUSUTAN. a. Kurva-S PERTUMBUHAN Bergerak mulai dari kiri dengan derajat keanggotaan 0, menuju ke kanan dengan derajat keanggotaan 1. Fungsi S akan bernilai 0 jika x ≤ a dan akan bernilai 1 jika x ≥ c. Sedangkan R1 adalah batas domain variabel paling kiri dan R2 adalah batas domain variabel paling kanan.
1
derajat keanggotaan µ[x] 0
ℜ1
domain
ℜn
Gambar II.6. Grafik Keanggotaan Kurva-S Pertumbuhan Sumber : T.Sutojo, 2011 Fungsi Keanggotaan:
μ( ; , , ) =
0 2(( − )/( − )) 1 − 2(( − )/( − )) 1
b. Kurva-S PENYUSUTAN
x≤ a a ≤ x ≤b b≤ x ≤ c x≥ c
Kurva bergerak mulai dari kiri dengan derajat keanggotaan 1, menuju ke kanan dengan derajat keanggotaan 0. Fungsi S akan bernilai 1 jika x ≤ a dan akan bernilai 0 jika x ≥ c. Sedangkan R1 adalah batas domain variabel paling kiri dan R2 adalah batas domain variabel paling kanan.
17
1
derajat keanggotaan µ[x] 0
ℜ1
domain
ℜn
Gambar II.7. Grafik Keanggotaan Kurva-S Penyusutan (T.Sutojo, 2011) Fungsi Keanggotaan:
μ( ; , , ) =
0
1 − 2(( − )/( − )) 2(( − )/( − )) 1
6. Grafik Kurva Bentuk Lonceng (Bell Curve)
x≤ a a ≤ x ≤b b≤x≤c x≥ c
Selain kurva-kurva di atas, kurva berbentuk lonceng juga bisa digunakan untuk mempresentasikan bilangan fuzzy. Kurva ini terbagi menjadi 3 yaitu: a. Kurva PI Pada kurva PI derajat keanggotaan 1 terletak pada pusat domain (c) dan mempunyai lebar kurva (b).
18
Pusat c 1
derajat keanggotaan µ[x]
0 ℜ1
Titik Infleksi
Lebar b
ℜj
Gambar II.8. Karakteristik Fungsi Kurva PI Sumber : T.Sutojo, 2011
Fungsi Keanggotaan: (x, b, c) = b. Kurva BETA
S x; c − b, c − , c
1 − S x; c, c + , c + b
x≤ c
x>c
Pada kurva BETA, derajat keanggotaan 1 juga terletak pada pusat domain (c), mempunyai setengah lebar kurva (b), dan titik infleksi terletak pada (cb) dan (c+b).
19
Pusat c 1
derajat keanggotaan µ[x] 0 domain ℜ1 ℜj Titik Infleksi Titik Infleksi c-b c+b
Gambar II.9. Karakteristik Fungsi Kurva BETA Sumber : T.Sutojo, 2011 Fungsi Keanggotaan:
( ; , )=
c. Kurva GAUSS
(
)
Kurva GAUSS mempunyai derajat keanggotaan 1 di titik pusat kurva(c) dan lebar kurva (L).
1
Pusat c
derajat keanggota an µ[x] 0 ℜ1
doma in
Lebar b
ℜj
Gambar II.10. Karakteristik Fungsi Kurva GAUSS Sumber : T.Sutojo, 2011
20
Fungsi Keanggotaan:
( ; , )=
(
)
II.3.3. Operasi Himpunan Fuzzy Operasi himpunan fuzzy diperlukan untuk proses inferensi atau penalaran. Dalam hal ini yang dioperasikan adalah derajat keanggotaannya. Berikut beberapa operasi dasar yang paling sering digunakan untuk mengkombinasi dan memodifikasi himpunan fuzzy. 1. Operasi Gabungan Operasi gabungan sering disebut operator OR dari himpunan fuzzy A dan B dinyatakan sebagai A ∪ B. Dalam sistem logika fuzzy, operasi gabungan disebut sebagai Max. Operasi Max ditulis dengan persamaan berikut:
µA ∪ B (x) = max.{µA(x),µB(x)} untuk setiap x ∈ X 2. Operator Irisan (Intersection) Operasi irisan sering disebur operator AND dari himpunan fuzzy A dan B dinyatakan sebagai A ∩ B. Dalam sistem logika fuzzy, operasi irisan disebut sebagai Min. Operasi Min ditulis dengan persamaan berikut:
µA ∩ B (x) = min.{µA(x),µB(x)} untuk setiap x ∈ X
21
3. Operator Komplemen (Complement) Bila himpunan fuzzy A pada himpunan universal X mempunyai fungsi keanggotaan µ A(x) maka komplemen dari himpunan fuzzy A (sering disebut NOT) adalah himpunan fuzzy Ac dengan fungsi keanggotaan untuk setiap x elemen X.
µAc(x) = 1 - µA(x)
II.3.4. Penalaran Monoton Penalaran monoton digunakan untuk merelasikan fuzzy A pada variabel x dan himpunan fuzzy B pada variabel y dengan cara membuat implikasi berikut.
IF x is A THEN y is B
II.3.5. Fungsi Implikasi Secara umum, ada 2fungsi implikasi yang dapat digunakan, yaitu: 1. Min (minimum). Fungsi ini digunakan untuk mendapatkan nilai α-predikat hasil implikasi dengan cara memotong output himpunan fuzzy sesuai dengan derajat keanggotaan terkecil. 2. Dot (product). Fungsi ini digunakan untuk mendapatkan nilai α-predikat hasil implikasi dengan cara menskala output himpunan fuzzy sesuai dengan derajat keanggotaan yang terkecil. (Sri Kusumadewi, 2003).
22
II.3.6. Cara Kerja Logika Fuzzy Untuk memahami cara kerja logika fuzzy, perhatikan struktur elemen dasar sistem inferensi fuzzy berikut.
Input
Fuzzyfikasi
Mesin Inferensi
Defuzzifikasi
Basis Pengetahuan Fuzzy
Gambar II.11. Bagan Sistem Kerja Logika Fuzzy Sumber : Sri Kusumadewi, 2003 Keterangan : 1. Fuzzyfikasi 2. Pembentukan basis pengetahuan Fuzzy (Rule dalam bentuk IF…THEN) 3. Mesin inferensi (Fungsi implikasi Max-Min atau Dot-Product) 4. Defuzzykasi Banyak cara untuk melakukan defuzzykasi, di antaranya metode berikut. a. Metode Rata-rata (Average)
z
*
=∑
∑
Output
23
b. Metode Titik Tengah (Center Of Area)
Z*
=∫ ( )
∫ ( )
II.4. Metode Mamdani Metode Mamdani paling sering digunakan dalam aplikasi-aplikasi karena strukturnya yang sederhana, yaitu menggunakan operasi MIN-MAX. Metode ini diperkenalkan oleh Ebrahim Mamdani pada tahun 1975. Untuk mendapatkan output, diperlukan 4 tahapan yaitu: 1. Pembentukan himpunan fuzzy. Pada proses fuzzifikasi langkah yang pertama adalah menentukan variable fuzzy dan himpunan fuzzinya. Kemudian tentukan derajat kesepadanan (degree of match) antara data masukan fuzzy dengan himpunan fuzzy yang telah didefenisikan untuk setiap variabel masukan sistem dari setiap aturan fuzzy. Hal ini sering dilakukan dengan menggunakan ukuran derajat kemiripan (ukuran kemiripan tidak diperlukan bila data masukan suatu singleton fuzzy). Pada metode mamdani, baik variabel input maupun variabel output dibagi menjadi satu atau lebih himpunan fuzzy. 2. Aplikasi fungsi implikasi pada metode mamdani. Fungsi implikasi yang digunakan adalah min. Lakukan implikasi fuzzy berdasar pada kuat penyulutan dan himpunan fuzzy terdefinisi untuk setiap variabel keluaran di dalam bagian konsekuensi dari setiap aturan. Hasil implikasi fuzzy dari setiap aturan ini kemudian digabungkan untuk menghasilkan keluaran infrensi fuzzy.
24
3. Komposisi Aturan. Tidak seperti penalaran monoton, apabila sistem terdiri dari beberapa aturan, maka infrensi diperoleh dari kumpulan dan korelasi antar aturan. Ada 3 metode yang digunakan dalam melakukan inferensi sistem fuzzy, yaitu: max, additive dan probabilistik OR. a. Metode Max (Maximum) Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara mengambil nilai maksimum aturan, kemudian menggunakannya untuk memodifikasi daerah fuzzy, dan mengaplikasikanya ke output dengan menggunakan operator OR (union). Jika semua proposisi telah dievaluasi, maka output akan berisi suatu himpunan fuzzy yang merefleksikan kontribusi dari tiap-tiap proposisi. Secara umum dapat dituliskan:
μsf [xi]
max (μsf [xi,] μkf [xi])
dengan: μsf [xi]= nilai keanggotaan solusi fuzzy sampai aturan ke-i; μkf[xi]= nilai keanggotaan konsekuen fuzzyaturan ke-i; Apabila digunakan fungsi implikasi Min, maka metode komposisi sering disebut dengan nama Max-Min atau Min-Max atau Mamdani. b. Metode Additive (Sum) Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara melakukan bounded-sum terhadap semua output daerah fuzzy. Secara umum dituliskan:
μsf [xi]
min (μsf [xi,]+ μkf [xi])
25
dengan: μsf [xi]= nilai keanggotaan solusi fuzzy sampai aturan ke-i; μkf[xi]= nilai keanggotaan konsekuen fuzzy aturan ke-i; c. Metode Probabilistik OR (probor) Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara melakukan product terhadap semua output daerah fuzzy. Secara umum dituliskan:
μsf [xi]
(μsf [xi,]+ μkf [xi])-( (μsf [xi,]* μkf [xi]))
dengan: μsf [xi]= nilai keanggotaan solusi fuzzy sampai aturan ke-i. μkf[xi]= nilai keanggotaan konsekuen fuzzy aturan ke-i. 4. Penegasan (defuzzy). Input dari proses defuzzifikasi adalah suatu himpunan fuzzy yang diperoleh dari komposisi aturan-aturan fuzzy, sedangkan output yang dihasilkan merupakan suatu bilangan pada domain himpunan fuzzy tersebut. Sehingga jika diberikan suatu himpunan fuzzy dalam range tertentu, maka harus dapat diambil suatu nilai crisp tertentu sebagai output. (Sri Kusumadewi, 2003). Ada beberapa metode defuzzifikasi pada komposisi aturan mamdani, antara lain: a. Metode Centroid (Composite Moment) Pada metode ini, solusi crisp diperoleh dengan cara mengambil titik pusat (z*) daerah fuzzy. Secara umum dirumuskan:
26
∗ ∗
= =
∫
µ( )
untuk semesta kontinu
∫ µ( )
∑
∑
μ( )
untuk semesta diskret
μ( )
b. Metode Bisektor Pada metode ini, solusi script diperoleh dengan cara mengambil nilai pada domain fuzzy yang memiliki nilai keanggotaan separo dari jumlah total nilai keanggotaan pada daerah fuzzy. Secara umum dituliskan:
sedemikian hingga
ℜ
µ( )
=
ℜ
µ( )
c. Metode Mean Of Maximum (MOM) Pada metode ini, solusi script diperoleh dengan cara mengambil nilai rata–rata domain yang memiliki nilai keanggotaan maksimum. d. Metode Largest Of Maximum (LOM) Pada metode ini, solusi script diperoleh dengan cara mengambil nilai terbesar dari domain yang memiliki nilai keanggotaan maksimum. e. Metode Smallest Of Maximum( SOM)
27
Pada metode ini, solusi script diperoleh dengan cara mengambil nilai terkecil dari domain yang memiliki nilai keanggotaan maksimum. (Sri Kusumadewi, 2003).
II.5. Java Java lahir tahun 1991 ketika Sun MicroSystem melakukan penelitian terhadap berbagai produk elektronika. James Gosling (kepala proyek penellitian) beserta Patrick Naughton ditugaskan untuk merancang perangkat lunak aplikasi yang independen yang dapat berjalan pada perangkat yang memiliki memori ukuran kecil. Selain itu mereka juga menginginkan program yang dapat berjalan di platform manapun, ini dikarenakan setiap perangkat mempunyai manufaktur yang berbeda. Penamaan Java terinspirasi ketika James Gosling bingung mencari nama untuk bahasa baru tersebut karena setiap nama yang dipikirkannya untuk nama bahasa pemogramannya ternyata sudah ada yang memakai, sampai suatu ketika dia mampir di sebuah kafe untuk minum kopi, dan ia meminta “Java”. Timbullah idenya untuk memakai nama JAVA. (Eko Priyo Utomo, 2009)
II.5.1. Tekologi Java Secara garis besar teknologi java terbagi menjadi beberapa bagian, berdasarkan buku Panduan Mudah Mengenal Bahasa Java (Eko Priyo Utomo, 2009), yaitu sebagai berikut:
28
a. Bahasa pemrograman Sebagai salah satu bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi baik desktop, mobile, Web dan lainnya. b. Lingkungan pengembangan Sebagai perangkat pengembangan, teknologi Java menyediakan banyak alat seperti kompilator (compiler), interpreter, penyusun dokumentasi, paket kelas, dan sebagainya. c. Aplikasi Aplikasi dengan teknologi java secara umum adalah aplikasi serbaguna yang dapat dijalankan pada seluruh mesin yang memiliki JavaRuntime Environment (JRE). d. Deployment Environment Terdapat dua komponen utama dari Deployment Environment.Yaitu JRE yang terdapat pada paket J2SDK dan komponen yang kedua terdapat pada browser Web.
II.5.2. Keunggulan Java Java memiliki keunggulan yang tidak dimiliki oleh bahasa lain, diantaranya: a. Sederhana Sintaks pada java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance.
29
b. Berorientasi objek Java menggunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. c. Dapat didistribusikan dengan mudah Java dibuat untuk membuat aplikasi terditribusi secara mudah dengan adanya libraries networking yang terintegrasi. d. Interpreter Program java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). e. Robust Java mempunyai reliabilitas yang tinggi.Java mempunyai runtime-exception handling untuk membantu mengatasi eror pada pemrograman. f. Aman Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi agar tidak digunakan untuk merusak sistem computer yang menjalankan aplikasi tersebut. g. Arsitektur Netral Program Java bersifat platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan JVM h. Portable Kode sumber maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
30
i. Kinerja Kinerja pada java sering dikatakan kurang tinggi. Namun kinerja Java dapat ditingkatkan dengan menggunakan kompilasi Java lain. j. Multithreaded Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan sekaligus dan simultan. k. Dinamis Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. (Eko Priyo Utomo, 2009)
II.6. MySQL MySQL (My Structure Query Language) merupakan database yang mampu berjalan disemua sistem operasi, powerful. MySQL bekerja dengan menggunakan bahasa basis data atau bahasa DBMS, yang merupakan kependekan dari Database Management System. (Agus Saputra, 2011) Ada beberapa kelebihan yang dimiliki oleh MySQL antara lain: 1. Bersifat open source, yang memiliki kemampuan untuk dapat dikembangkan lagi. 2. Menggunakan bahasa SQL (Structure Query Language), yang merupakan standar bahasa dunia dalam pengolahan data. 3. Super performace dan reliable, tidak bisa diragukan, pemrosesan databasenya sangat cepat dan stabil. 4. Sangat mudah dipelajari.
31
5. Memiliki dukungan support (group) pengguna MySQL. 6. Mampu lintas Platform, dapat berjalan diberbagai sistem operasi. 7. Multiuser, dimana MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami konflik. (Agus Saputra, 2011).
II.7. UML (Unified Modelling Language) Unified
Modelling
Language
(UML)
adalah
suatu
alat
untuk
memvisualisasikan dan mendokumentasikan hasil analisa dan desain yang berisi sintak dalam memodelkan sistem secara visual (Braun, et. al. 2001). Juga merupakan satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek (Whitten, et. al. 2004). (Mulawarman, 2011) Sejarah UML sendiri terbagi dalam dua fase; sebelum dan sesudah munculnya UML. Dalam fase sebelum, UML sebenarnya sudah mulai diperkenalkan sejak tahun 1990an namun notasi yang dikembangkan oleh para ahli analisis dan desain berbeda-beda, sehingga dapat dikatakan belum memiliki standarisasi.(Mulawarman,2011) Fase kedua, dilandasi dengan pemikiran untuk mempersatukan metode tersebut dan dimotori oleh Object Management Group (OMG) maka pengembangan UML dimulai pada akhir tahun 1994 ketika Grady Booch dengan metode OOD (Object-Oriented Design), Jim Rumbaugh dengan metode OMT (Object Modelling Technique) mereka ini bekerja pada Rasional Software Corporation dan Ivar Jacobson dengan metode OOSE (Object-Oriented Software
32
Engineering) yang bekerja pada perusahaan Objectory Rasional.(Mulawarman, 2011) Sebagai pencetus metode-metode tersebut mereka bertiga berinisiatif untuk menciptakan bahasa pemodelan terpadu sehingga pada tahun 1996 mereka berhasil merilis UML versi 0.9 dan 0.91 melalui Request for Proposal (RFP) yang dikeluarkan oleh OMG (Braun, et.al. 2001). Kemudian pada Januari 1997 IBM, ObjecTime, Platinum Technology, Ptech, Taskon, Reich Technologies dan Softeam juga menanggapi Request for Proposal (RFP) yang dikeluarkan oleh OMG tersebut dan menyatakan kesediaan untuk bergabung. (Mulawarman, 2011) Perusahaan-perusahaan ini menyumbangkan ide-ide mereka, dan bersama para mitra menghasilkan UML revisi 1.1. Fokus dari UML versi rilis 1.1 ini adalah untuk meningkatkan kejelasan UML Semantik versi rilis 1.0. Hingga saat ini UML versi terbaru adalah versi 2.0 (http://www.uml.org/). Saat ini sebagian besar para perancang sistem informasi dalam menggambarkan informasi dengan memanfaatkan UML diagram dengan tujuan utama untuk membantu tim proyek berkomunikasi, mengeksplorasi potensi desain, dan memvalidasi desain arsitektur perangkat lunak atau pembuat program. Secara filosofi UML diilhami oleh konsep yang telah ada yaitu konsep permodelan Object Oriented karena konsep ini menganalogikan sistem seperti kehidupan nyata yang didominasi oleh obyek dan digambarkan atau dinotasikan dalam simbol-simbol yang cukup spesifik.
33
II.7.1. Use Case Diagram Use Case merupakan gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem mengerti kegunaan sistem yang akan dibangun. Use case diagram adalah penggambaran sistem dari sudut user, sehingga pembuatan use case lebih dititik beratkan pada fungsionalitas yang ada pada sistem, bukan berdasarkan alur kegiatan sistem.(Mulawarman, 2011) Komponen-komponen yang terlibat dalam use case diagram ialah : a. Actor Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor diaman actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Actor digambarkan dengan stick man. Actor dapat digambarkan secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship. Dibawah ini notasi UML untuk actor.
Gambar II.12. Actor Sumber : Mulawarman, 2011
b. Use Case Use case ini merupakan fungsionalitas dari suatu sistem. Use case juga merupakan dialog antara actor dan sistem. Tipe relasi/stereotype antara lain : 1) <
> yaitu perilaku yang harus terpenuhi agar sebuah event dapat terjadi, pada kondisi ini use case menjadi bagian dari use case lainnya.
34
2) <<extends>> yaitu perilaku yang hanya berjalan pada kondisi tertentu. 3) <> biasanya ditambahkan untuk asosiasi yang menujukkan asosiasinya yaitu communicates association. Dibawah ini notasi UML untuk use case.
Gambar II.13. Use Case Sumber : Mulawarman, 2011
II.7.2. Class Diagram Class adalah deskripsi sekelompok object dari property (atribut), sifat(operasi), relasi antar object dan sematik yang umum. Class merupakan template untuk membentuk object. Setiap object dan sematik yang umum. Class merupakan template untuk membentuk object. Setiap object merupakan contoh dari beberapa class dan object tidak dapat menjadi contoh lebih dari satu class. Penamaan class menggunakan kata benda tunggal yang merupakan abstraksi yang terbaik. Pada UML, class digambarkan dengan segi empat yang dibagi. Bagian atas merupakan nama dari class. Bagian yang tengah merupakan stuktur dari class
(atribut) dan bagian bawah merupakan sifat dari class
(operasi). Di bawah ini notasi UML untuk class diagram.
Nama_Class -attribute1 +operation1() Gambar II.14. Class Sumber : Mulawarman, 2011
35
II.7.3. Sequence Diagram Sequence diagram menggambarkan interaksi antar object di dalam dan di sekitar sistem (termasuk pengguna, display dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensial vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang memicu aktivitas tersebut, prosesdan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Contoh sequence diagram (untuk authentikasi user) :
Gambar II.15. Sequence Diagram Sumber : Mulawarman, 2011
36
II.7.4. Activity Diagram Activity diagram memodelkan workflow proses bisnis dan urutan aktivitas dalam sebuah proses. Diagram ini sangat mirip dengan flowchart karena memodelkan workflow dari satu aktivitas ke aktivitas lainnya atau dari aktivitas ke status. Menguntungkan untuk membuat Activity diagram pada awal pemodelan proses untuk membantu memahami keseluruhan proses. Activity diagram juga bermanfaat untuk menggambarkan parallel behavior atau menggambarkan interaksi antara beberapa use case. Elemen-elemen activity diagram : a. Status start (mulai) dan end (akhir) b. Aktifitas yang merepresentasikan sebuah langkah dalam workflow. c. Transition menunjukkan
terjadinya perubahan status aktivitas
(transitions show what state follows another). d. Keputusan yang menunjukkan alternatif dalam workflow. e. Synchronization
bars
yang
menunjukkan
subflow
parallel.
Synchronization bars dapat digunakan untuk menunjukkan concurent threads pada workflow proses bisnis. f. Swimlanes yang merepresentasikan role bisnie yang bertanggung jawab pada aktivitas yang berjalan.