Anda di halaman 1dari 53

BAB II

LANDASAN TEORI

2.1 Rekayasa Perangkat Lunak (RPL)

2.1.1 Definisi Perangkat Lunak

Menurut jurnal (Yanto Musli, 2018) Perangkat lunak adalah program

komputer yang terasosiasi dengan dokumentasi perangkat lunak seperti

dokumentasi kebutuhan, model desain, dan cara penggunaan (user manual).

Sebuah program komputer tanpa terasosiasi dengan dokumentasinya maka belum

dapat disebut perangkat lunak (software). Sebuah perangkat lunak juga sering

disebut dengan sistem perangkat lunak. Sistem berarti kumpulan komponen yang

saling terkait dan mempunyai satu tujuan yang ingin dicapai.

Sistem perangkat lunak berarti sebuah sistem yang memiliki komponen berupa

perangkat lunak yang memiliki hubungan satu sama lain untuk memenuhi

kebutuhan pelanggan (customer). Pelanggan (customer) adalah orang atau

organisasi yang memesan atau membeli perangkat lunak (software) dari

pengembangan perangkat lunak atau bisa dianggap bahwa pelanggan (customer)

adalah orang atau organisasi yang dengan suka rela mengeluarkan uang untuk

memesan atau membeli perangkat lunak. User atau pemakai perangkat lunak

adalah orang yang memiliki kepentingan untuk memakai atau menggunakan

perangkat lunak untuk memudahkan pekerjaannya.

Karakter perangkat lunak adalah sebagai berikut (S., Rosa A. dan

Shalahuddin, M. 2013) :
1. Perangkat lunak dibangun dengan rekayasa (software engineering)

bukan diproduksi secara manufaktur atau pabrikan.

2. Perangkat lunak tidak pernah using (“wear out”) karena kecacatan

dalam perangkat lunak dapat diperbaiki.

3. Barang produksi pabrikan biasanya komponen barunya akan terus

diproduksi, sedangkan perangkat lunak biasanya terus diperbaiki

seiring bertambahnya kebutuhan.

2.1.2 Definisi Rekayasa Perangkat Lunak (RPL)

Rekayasa perangkat lunak (Software Engineering) merupakan

pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan

menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja

secara efesien menggunakan mesin. Rekayasa perangkat lunak lebih fokus pada

praktik pengembangan perangkat lunak dan mengirimkan perangkat lunak yang

bermanfaat kepada pelanggan atau bahkan karena masalah non-teknis seperti

keenggan pemakai perangkat lunak (user) untuk mengubah cara kerja dari manual

ke otomatis, atau ketidakmampuan user menggunakan komputer. (S., Rosa A. dan

Shalahuddin, M. 2013).

2.1.3 Tujuan perangkat lunak

Secara umum tujuan Rekayasa Perangkat Lunak (RPL) tidak berbeda

dengan bidang rekayasa yang lain. Hal ini dapat kita lihat pada gambar dibawah

ini (Ruri Hartika Zain, 2012).


Kinerja

Biaya Waktu

Sumber: Ruri Hartika Zain, (2012)

Gambar 2.1 Tujuan RPL

Dari gambar diatas dapat diartikan bahwa bidang rekayasa akan selalu

berusaha menghasilkan output yang kinerjanya tinggi, biaya rendah dan waktu

penyelesaian yang tepat. Secara lebih khusus kita dapat menyatakan tujuan RPL

adalah (Ruri Hartika Zain, 2012).:

1. Memproleh biaya produksi perangkat lunak yang murah.

2. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat

waktu.

3. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis

platform.

4. Menghasilkan perangkat lunak yang biaya perawatannya rendah.

2.1.4 Proses Rekayasa Perangkat Lunak

Berdasarkan jurnal (Widiyanto Wahyu Wijaya ,2018) Proses

Pengembangan Perangkat Lunak (Software Development Process) adalah suatu

penerapan struktur pada pengembangan suatu Perangkat Lunak (Software), yang


bertujuan untuk mengembangkan sistem dan memberikan panduan untuk

menyukseskan proyek pengembangan sistem melalui tahapan-tahapan tertentu.

Proses perangkat (software process) adalah sekumpulan aktifitas yang

memiliki tujuan untuk mengembangkan atau mengubah perangkat lunak. Secara

umum proses perangkat terdiri dari (S., Rosa A. dan Shalahuddin, M. 2013) :

1. Pengumpulan Spesifikasi (Specification), mengetahui apa saja yang

harus dapat dikerjakan sistem perangkat lunak dan batasan

pengembangan perangkat lunak.

2. Pengembangan (Development), pengembangan perangkat lunak

untuk menghasilkan sistem perangkat lunak.

3. Validasi (Validation), memeriksa apakah perangkat lunak susah

memenuhi keinginan pelanggan (customer).

4. Evolusi (Evolution), mengubah perangkat lunak untuk memenuhi

perubahan kebutuhan pelanggan (customer).

2.2 Software Development Life Cycle (SDLC)

SDLC atau Software Development Life Cycle atau sering disebut System

Development Life Cycle adalah proses mengembangkan atau mengubah suatu

sistem perangkat lunak dengan menggunakan model-model dan metodelogi yang

digunakan orang untuk mengembangkan sistem-sistem perangkat lunak

sebelumnya (berdasarkan best practice atau cara-carayang sudah teruji baik) (S.,

Rosa A. dan Shalahuddin, M. 2013).


SDLC memiliki beberapa model dalam penerapan tahapan prosesnya.

Beberapa model SDLC adalah (S., Rosa A. dan Shalahuddin, M. 2013):

2.2.1 Model Waterfall

Menurut jurnal (Widiyanto Wahyu Wijaya ,2018) model waterfall

adalah model klasik yang bersifat sistematis, berurutan dalam membangun

software. Nama model ini sebenarnya adalah “Linear Sequential Model”. Model

ini sering disebut juga dengan “classic life cycle” atau metode waterfall. Model

ini termasuk ke dalam model generic pada rekayasa perangkat lunak dan pertama

kali diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering

dianggap kuno, tetapi merupakan model yang paling banyak dipakai dalam

Software Engineering (SE). Model ini melakukan pendekatan secara sistematis

dan berurutan. Disebut dengan waterfall karena tahap demi tahap yang dilalui

harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.

Model SDLC air terjun (waterfall) sering juga disebut model sekuensial

liniear (sequential linear) atau alur hidup klasik (classic life cycle) Model air

terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau

terurut dimulai dari analisis, desain, pengodean, pengujian, dan tahap pendukung

(support). Model waterfall dapat dilihat pada Gambar 2.2 dibawah ini:
Sumber : S., Rosa A. dan Shalahuddin, M. 2013

Gambar 2.2 Model Waterfall

a) Analisis kebutuhan perangkat lunak

Proses pengumpulan kebutuhan dilakukan secara intensif untuk

mespesifikasikan kebutuhan perangkat lunak agar dapat dipahami

perangkat lunak seperti apa yg dibutuhkan oleh user.

b) Desain

Desain perangkat lunak adalah proses multi langkah yang fokus

pada desain pembuatan program perangkat lunak termasuk struktur

data, arsitektur perangkat lunak,representasi antarmuka, dan

prosedur pengodean.

c) Pembuatan kode program

Desain harus ditranslasikan ke dalam program perangkat lunak.

Hasil dari tahap ini adalah program komputer sesuai dengan desain

yang telah dibuat pada tahap desain.

d) Pengujian
Pengujian fokus pada perangkat lunak secara dari segi lojik dan

fungsional dan memastikan bahwa semua bagian sudah diuji. Hal

ini dilakukan untuk meminimalisir kesalahan (error) dan

memastikan keluaran yang dihasilkan sesuai dengan yang

diinginkan.

2.2.2 Model Prototipe

Menurut jurnal (Widiyanto Wahyu Wijaya ,2018) prototype

didefinisikan sebagai alat yang memberikan ide bagi pembuat maupun pemakai

potensial tentang cara sistem berfungsi dalam bentuk lengkapnya, dan proses

untuk menghasilkan sebuah prototype disebut prototyping. Prototyping adalah

proses pembuatan model sederhana software yang mengijinkan pengguna

memiliki gambaran dasar tentang program serta melakukan pengujian awal.

Prototyping memberikan fasilitas bagi pengembang dan pemakai untuk saling

berinteraksi selama proses pembuatan, sehingga pengembang dapat dengan

mudah memodelkan perangkat lunak yang akan dibuat. Prototyping merupakan

salah satu metode pengembangan perangat lunak yang banyak digunakan. Kunci

agar model prototype ini berhasil dengan baik adalah dengan mendefinisikan

aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju

bahwa prototype dibangun untuk mendefinisikan kebutuhan. Gambar 2.3 dibawah

ini
Membangun/
Memperbaiki
Mendengarkan
Mock-up
Pelanggan

Pelanggan
Melihat/Meng
uji Mock-up

Sumber : S., Rosa A. dan Shalahuddin, M. 2013

Gambar 2.3 Model Prototipe

Model prototipe juga memiliki kelemahan sebagai berikut :

a. Pelanggan dapat sering mengubah-ubah atau menambah-tambah

spesifikasi kebutuhan karena menganggap aplikasi sudah

dengan cepat dikembangan, karena adanya iterasi ini dapat

menyebabkan pengembang banyak mengalah dengan pelanggan

karena perubahan atau penambahan spesifikasi kebutuhan

perangkat luank.

b. Pengembangan lebih sering mengambil kompromi dengan

pelanggan untuk mendapatkan prototipe dengan waktu yang

cepat sehingga pengembang lebih sering melakukan segala cara

guna menghasilkan prototipe untuk didemontrasikan.

Model prototipe cocok digunakan untuk menjabarkan kebutuhan

pelanggan secara lebih detail karena pelanggan sering kali kesulitan

menyampaikan kebutuhannya secara detail tanpa melihat gambaran yang jelas.

Untuk mengantisipasi agar proyek dapat berjalan sesuai dengan target waktu dan
biaya diawal, maka seabaiknya spesifikasi kebutuhan sistem harus sudah

disepakati oleh pengembang dengan pelanggan secara tertulis. Dokumen tersebut

akan menjadi patokan agar spesifikasi kebutuhan sistem masih dalam ruang

lingkup proyek.

2.2.3 Model Rapid Application Development (RAD)

Menurut jurnal (Widiyanto Wahyu Wijaya ,2018) Rapid Aplication

Development (RAD) adalah sebuah model proses perkembangan perangkat lunak

sekuensial linier yang menekankan siklus perkembangan yang sangat pendek

(kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi

“kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat

dicapai dengan menggunakan pendekatan konstruksi berbasis komponen.

Menurut Kendall (2010), RAD adalah suatu pendekatan berorientasi objek

terhadap pengembangan sistem yang mencakup suatu metode pengembangan

serta perangkatperangkat lunak. RAD bertujuan mempersingkat waktu yang

biasanya diperlukan dalam siklus hidup pengembangan sistem tradisional antara

perancangan dan penerapan suatu sistem informasi. Pada akhirnya, RAD sama-

sama berusaha memenuhi syarat-syarat bisnis yang berubah secara cepat .adapun

Gambar dari model RAD dapat kita lihat pada Gambar 2.4 dibawah ini:
Pemodela
n Bisnis

Pemodela
Pemodela
n Bisnis n Data
Pemodela
n Bisnis
Pemodela Pemodela
n Data n Proses

Pembuata
Pemodela n Aplikasi
Pemodela
n Data
n Proses

Pengujian
dan
Pergantian
Pemodelan Pembuata
Proses n Aplikasi

Pembuatan Pengujian
dan
Aplikasi
Pergantian

Pengujian
dan
Pergantian

60-90 hari

Sumber : S., Rosa A. dan Shalahuddin, M. 2013

Gambar 2.4 Model RAD


a. Pemodelan bisnis

Pemodelan yang dilakukan untuk memodelkan fungsi bisnis untuk

mengetahui informasi apa yang terkait proses bisnis, informasi

apa saja yang harus dibuat, siapa yang harus membuat informasi

itu, bagaimana alur informasi itu, proses apa saja yamg terkait

informasi itu.

b. Pemodelan data

Memodelkan data apa saja yang dibutuhkan berdasarkan

pemodelan bisnis dan mendefinisikan atribut-atributnya beserta

relasinya dengan data-data yang lain.

c. Pemodelan proses

Mengimplementasikan fungsi bisnis yang sudah didefinisikan

terkait dengan pendefinisian data.

d. Pembuatan aplikasi

Mengimplementasikan pemodelan proses dan data menjadi

program. Model RAD sangat menganjurkan pemakaian

komponen yang sudah ada jika dimungkinkan.

e. Pengujian dan pergantian

Menguji komponen-komponen yang dibuat. Jika sudah teruji

maka tim pengembang komponen dapat beranjak untuk

mengembangkan komponen berikutnya

Model RAD memiliki kelemahan sebagai berikut :


a. Pembuatan sistem perangkat lunak dengan sekala besar

memerlukan sumber daya manusia yang cukup besar untuk

membentuk tim dan mengembangkan komponen.

b. Jika tidak da persetujuan untuk mengembangkan perangkat lunak

secara dengan cepat (rapid) maka proyek dengan model ini akan

gagal karena hanya akan bingung mendefinisikan kebutuhan

pelanggan.

c. Model RAD tidak cocok digunakan untuk sistem perangkat lunak

memiliki risiko teknis sangat tinggi.

2.2.4 Model Iteratif

Model iteratif (iteratif model) mengkombinasikan proses-proses pada

model air terjun dan iteratif pada model prototipe. Model inkremental akan

menghasilkan versi-versi perangkat lunak yang sudah mengalami penambahan

fungsi untuk setiap pertambahannya (inkremen/increment). Gambar dari model

Iteratif dapat kita lihat pada Gambar 2.5 dibawah ini:


System/Rekayasa Inkremen 1

Informasi
Analisis Desain Kode Uji

Inkremen 2 Analisis Desain Kode Uji

Inkremen 3 Analisis Desain Kode Uji

Sumber : S., Rosa A. dan Shalahuddin, M. 2013

Gambar 2.5 Model Iteratif

2.,2.5 Model Spiral

Model spiral (spiral model) memasangkan iteratif pada model prototipe

dengan kotrol dan aspek sistematik yang diambil dari model air terjun. Model

spiral menyediakan pengembangan dengan cara cepat dengan perangkat lunak

yang memiliki versi yang terus bertambah fungsinya (increment). Gambar dari

model spiral dapat kita lihat pada gambar 2.6 dibawah ini:
Sumber : S., Rosa A. dan Shalahuddin, M. 2013

Gambar 2.6 Model Spiral

2.3 Unified Modeling Language (UML)

2.3.1 Definisi Unified Modeling Language (UML)

Berdasarkan jurnal (Kurnia Teddy, 2018) UML merupakan bahasa untuk

visualisasi, spesifikasi, konstruksi, serta dokumnetasi. UML sebagai suatu cara

untuk mengkomunikasikan idenya kepada para pemrogram serta calon pengguna

sistem/perangkat lunak. Dengan adanyan bahasa yang bersifat standar,

komunikasi perancang dengan pemrogram (komunikasi antar anggota kelompok

pengembang) serta calon pengguna diharapkan menjadi mulus.

Unified Modeling Language (UML) adalah bahasa untuk menspesifikasi,

menvisualisasikan, serta mengonstruksi bangunan dasar sistem perangkat lunak,

termasuk melibatkan pemodelan aturan-aturan bisnis. UML merupakan pekakas

utama untuk analisis dan perancangan sistem berorientasi objek (Adi Nugroho,

2011).
Menurut jurnal (M Teguh Prihandoyo,2018) Unifield Modeling Language

merupakan salah satu metode pemodelan visual yang digunakan dalam

perancangan dan pembuatan sebuah software yang berorientasikan pada objek.

UML merupakan sebuah standar penulisan atau semacam blue print diamna

didalamnya termasuk sebuah bisnis proses, penulisan kelas-kelas dalam sebuah

bahasa yang spesifik.

2.3.2 Sejarah UML

Bahasa Pemograman berorientasi objek yang pertama dikembangkan

dikenal dengan nama Simula-67 yang dikembangkan pada tahun 1967.

Perkembangan aktif dari pemograman berorientasi objek mulai menggeliat ketika

berkembangnya bahasa pemrograman Smaltalk pada awal 1980-an yang keudian

diikuti dengan perkembangan bahasa pemograman berorientasi objek yang

lainnya seperti C objek,C++,Eiffel, dan CLOS. Sekitar 5 tahun setelah Smaltalk

berkembang, maka berkembang pula metode pengembangan berorientasi objek

(S., Rosa A. dan Shalahuddin, M. 2013).

Pada 1996, Object Management Group (OMG) mengajukan proposal agar

adanya standarisasi pemodelan berorientasi objek dan bulan September 1997,

UML diakomodasi oleh OMG sehingga sampai saat ini UML telah memberikan

kontribusinya yang cukup besar.Secara fisik, UML adalah sekumpulan spesifikasi

yang dikeluarkan oleh OMG.UML terbaru adalah UML 2.3 yang terdiri dari 4

macam spesifikasi, yaitu Diagram Interchange Specification, UML Infrastructure,

UML Superstructure, dan Object Constaint Language (OCL) (S., Rosa A. dan

Shalahudin M., 2013).


2.4 Jenis – Jenis Diagram UML

2.4.1 Use Case Diagram

Use case adalah rangkaian sekelompok yang saling terkait dan membentuk

system secara teratur yang dilakukan atau diawasi oleh sebuah actor .Use case

digunakan untuk membentuk tingkah laku benda dalam sebuah model serta

direalisasikan oleh sebuah kolaborasi (Tohari Hamim, 2014)

Diagram use case dapat sangat membantu bila kita sedang menyusun

requirement sebuah system, mengkomunikasikan rancangan dengan klien, dan

merancang test case untuk semua feature yang ada pada system.Sebuah use case

dapat menginclude fungsionalitas use case lain sebagai bagian dari proses dalam

dirinya . Secara umum diasumsikan bahwa use case yang di include akan

dipanggil setiap kali use case yang di include akan dipamnggil setiap kali use case

yang menginclude di eksekusi secara normal (Tohari Hamim, 2014).

Use-case adalah deskripsi dari urutan aksiaksi yang ditampilkan sistem

yang menghasilkan suatu hasil yang terukur bagi suatu actor.

Syarat penamaan pada Use Case adalah nama didefinisikan sesimpel

mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu

pendefenisian apa yang disebut aktor dan use case.

a. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi

dengan sistem yang akan di buat itu sendiri, jadi walaupun simbol dari

aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.

b. Use Case merupakan fungsionalitas yangdisediakan sistem sebagai

unit-unit yang saling bertukar pesan antar unit atau aktor.


Berikut adalah simbol-simbol yang ada pada diagram use case:

Simbol-simbol dari Use Case dapat kita lihat pada Tabel 2.1 dibawah ini:

Tabel 2.1 Simbol pada Use Case Diagram

Simbol Deskripsi

Use Case Fungsionalitas yang disediakan sistem

sebagai unit-unit yang saling bertukar

Nama use case pesan antar unit atau aktor; biasanya

dinyatakan dengan menggunakan kata

kerja diawal frase nama use case.

Aktir / actor Orang, proses, atau sistem lain yang

berinteraksi dengan sistem informasi

yang akan dibuat di luar sistem

informasi yang akan dibuat itu sendiri,

jadi walaupun simbol dari aktor

adalah gambar orang, tapi aktor belum

nama actor tentu merupakan orang; biasanya

dinyatakan menggunakan kata benda

di awal frase nama actor

Asosiasi / association Komunikasi antara aktor dan Use

Case yang berpartisipasi pada use

case atau use case memiliki interaksi

dengan actor

Relasi use case tambahan kesebuah


Ekstensi / extend
use case dimana use case yang

ditambahkan dapat berdiri sendiri


<<extend>>
walau tampa use case tambahan itu;

mirip dengan prinsip inheritance pada

pemrograman berorientasi objek;

biasanya use case tambahan memiliki

nama depan yang sama dengan use

case yang ditambahkan, misal

Validasi
username

<<extend>>

Validasi user

<<extend>>

Validasi user
Arah panah mengarah pada use case

yang ditambahkan; biasanya use case

yang menjadi extend-nya merupakan

jenis yang sama dengan use case

menjadi induknya.

Generalisasi / Hubungan generalisasi dan

generalization spesialisasi (umum-khusus) antara dua

buah use case dimana fungsi yang satu

adalah fungsi yang lebih umum dari

lainnya, misalnya:

Ubah data

Mengolah data

Menghapus data

Arah panah mengarah pada use case


yang menjadi generalisasinya

(umum).

Menggunakan / include / uses Relasi use case tambahan ke sebuah

<<include>> use case dimana use case yang

ditambahkan memerlukan use case ini

<<uses>> untuk menjalankan fungsinya atau

sebagai syarat dijalankan use case ini.

Ada dua sudut pandang yang cukup

besar mengenai include di use case:

1. Include berarti use case yang

ditambahkan akan selaulu

dipanggil saat use case

tambahan dijalankan, misal

pada kasus berikut:

Validasi
username

<<include>>

login
2. Include berarti use case yang

tambahan akan selalu

melakukan pengecekan apakah

use case yang ditambahkan

telah dijalankan sebelum use

case tambahan dijalankan,

misal pada kasus berikut:

Validasi
username

<<include>>

login

Kedua interpretasi diatas dapat dianut

salahsatu atau keduanya tergantung

pada pertimbangan dan interpretasi

yang dibutuhkan.

Sumber : S., Rosa A. dan Shalahuddin, M. 2013

2.4.2 Class Diagram


Class diagram adlah sebuah spesifikasi yang jika di instanisasi akan

menghasilkan sebuah objek dan merupakan inti dari pengembangan dan

perancangan beriorentasi objek. Kelas menngambarkan keadaan (atribut/properti)

suatu system , sekaligus menawarkan layan untuk memanipulasi keadaan tersebut

(metode/fungsi) (Tohari Hamim, 2014).

Diagram kelas atau class diagram menggambarkan struktur sistem dari

segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas

memiliki apa yang disebut atribut dan metode atau operasi.

1. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas.

2. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu

kelas.

3. Nama atau operasi.

Atribut dan metode dapat memiliki salah satu sifat berikut (Tohari Hamim,

2014) :

1. Private, tidak dapat dipanggil dari luar class yang bersangkutan.

2. Proctected, hanya dapat dipanggil class yang bersangkutan dan anak

anak yang mewarisinya

3. Public, dapat dipanggil kapan saja.

Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsi-

fungsi sesuai dengan kebutuhan sistem sehingga pembuat perangkat lunak atau

programmer dapat membuat kelas-kelas di dalam program perangkat lunak sesuai

perancangan diagram kelas. Susunan struktur kelas yang baik pada diagram kelas
sebaiknya memiliki jenis-jenis kelas sebagai berikut (S., Rosa A. dan

Shalahuddin, M. 2013) :

1. Kelas main, kelas yang mempunyai fungsi awal dieksekusi ketika

sistem dijalankan.

2. Kelas yang menangani tampilan sistem (view), kelas yang

medefinisikan dan mengatur tampilan ke pemakai.

3. Kelas yang diambil dari pendefinisian use case (controller), kelas

yang menangani fungsi-fungsi yang harus ada diambil dari

pendefinisian use case.

4. Kelas yang diambil dari pendefinisian data (model), kelas yang

digunakan untuk memegang atau membungkus data menjadi sebuah

kesatuan yang diambil maupun akan disimpan ke basis data.

Simbol-simbol dari class diagram dapat kita lihat pada Tabel 2.2 dibawah ini:

Tabel 2.2 Simbol Class Diagram

Simbol Deskripsi

Kelas

nama_kls
Kelas pada struktur sistem.
+atribut

+operasi()

Antarmuka/ Sama dengan konsep interface dalam pemograman berorientasi

Interface objek.

Asosiasi/ Relasi antarkelas dengan makna umum, asosiasi biasanya juga

Association disertai dengan multiplicity.


Asosiasi berarah/ Relasi antarkelas dengan mkana kelas yang satu digunakan

Directed oleh kelas yang lain, asosiasi biasnya juga disertai dengan

Association multiplicity.

Generalisasi Relasi antar kelas dengan makna generalisasi-spesialisasi

(umum khusus).

Kebergantungan/
Relasi antar kelas dengan makna semua bagian (whole-part).
Dependency

Sumber : S., Rosa A. dan Shalahuddin, M. 2013

2.4.3. Sequence Diagram

Sequence diagram adalah diagram yang memberikan gambaran atas

model instances dari sebuah class. Objek-objek diidentifikasikan dengan cara

meletakkan nama instance-nya kemudian diikuti oleh tanda titik dua di depan

nama class nya .nilai property / atribut dituliskan berpasangan seperti

“nama_atribut=nilai”. Sedangkan notasi sebuah objek digambarkan segi empat

yang terbagi atas 2 bagian (Tohari Hamim, 2014).

Diagram sekuence menggambarkan kelakuan objek pada use case dengan

mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima

antar objek. Oleh karena itu untuk menggambar diagram sekuen maka harus

diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode

yamg dimiliki kelas yang diinstansiasi menjadi objek itu. Membuat diagram

sekuen juga dibutuhkan untuk melihat skenario yang ada pada use case (S., Rosa

A. dan Shalahuddin, M. 2013).


Simbol-simbol dari Sequence diagram dapat kita lihat pada Tabel 2.3

dibawah ini:

Tabel 2.3 Simbol Sequence Diagram

Simbol Deskripsi

Aktor Orang, proses, atau sistem lain yang berinteraksi dengan

nama aktor sistem informasi yang akan dibuat di luar sistem

atau informasi yang akan dibuat itu sendiri, jadi walaupun


nama aktor simbol dari aktor adalah gambar orang, tapi aktor belum

tanpa waktu aktif tentu merupakan orang; biasanya dinyatakan

menggunakan kata benda di awal frase nama aktor.

Garis hidup / lifeline Menyatakan kehidupan suatu objek.

Objek Menyatakan objek yang berinteraksi pesan

Nama objek :
nama kelas

Waktu aktif Menyatakan objek dalam keadaan aktif dan berinteraksi,

semua yang terhubung dengan waktu aktif ini adalah

sebuah tahapan yang dilakukan di dalamnya, misalnya

2: cekStatusLogin()

1: login

3: open()

Maka cekStatusLogin() dan open() dilakukan di dalam

metode login()
Aktor tidak memiliki waktu aktif

Pesan tipe create Menyatakan suatu objek membuat objek yang lain, arah

<<create>> panah mengarah pada objek yang dibuat.

Pesan tipe call Menyatakan suatu objek memanggil operasi/ metode

1.Nama_metode() yang ada pada objek lain atau dirinya sendiri,

1:nama_metode()

Arah panah mengarah pada objek yang memiliki

operasi/metode, karena ini memanggil operasi/metode

maka operasi/metode yang dipanggil harus ada pada

diagram kelas sesuai dengan kelas objek yang

berinteraksi.

1 : masukan Menyatakan bahwa suatu objek mengirim

data/masukan/informasi ke objek lainnya, arah panah

mengarah pada objek yang dikirimi.

1 : keluaran Menyatakan bahwa suatu objek yang telah menjalankan

suatu operasi atau metode menghasilkan suatu

kembalian ke objek tertentu, arah panah mengarah pada

objek yang menerima kembalian.


<<destroy>> Menyatakan suatu objek mengakhiri hidup objek yang

lain, arah panah mengarah pada objek yang diakhiri,

sebaiknya jika ada create maka ada destroy

Sumber : S., Rosa A. dan Shalahuddin, M. 2013

2.4.4 Collaboration Diagram

Collabration diagram menggambarkan interaksi antar objek/bagian dalam

bentuk urutan pengiriman pesan. Collaboration diagram menunjukkan message-

message obyek yang dikirimkan satu sama lain. Collaboration diagram adalah

bentuk lain dari squence diagram. Bila squence diagram diorganisir menurut

waktu maka collabration diagram diorganisir menurut ruang atau space.

Collaboration diagram merupakan asosiasi diantara obyek-obyek. Panah didekat

garis asosiasi menunjukkan message, sedangkan content message ditunjukkan

dengan label. Angka pada message menunjukkan urutan message.

Collaboration diagram merupakan cara alternative untuk

menggambarkan scenario dari suatu system .diagram ini menngambarkan

interaksi objek diatur oleh objek sekelilingnya dan hubungan antara setiap objek

dengan objek lainnya.Collaboration diagaram memuat (Tohari Hamim, 2014) :

1. Objek yang digambarkan dengan segi empat.

2. Hubungan antara objek yang digambarkan dengan garis

penghubung.

3. Pesan yang di gambarkan dengan teks dan panah dari objek .


Berikut ini simbol-simbol yang sering digunakan pada saat pembuatan

collaboration diagram, dapat kita lihat pada tabel 2.4 berikut ini (S., Rosa A. dan

Shalahuddin, M. 2013):

Tabel 2.4 Simbol-Simbol Collaboration Diagram

Simbol Deskripsi

Objek yang melakukan interaksi pesan.

Objek

Link Relasi antara objek yang menghubngkan objek satu

dengan lainya atau dengan diri sendiri.

Stimulus Arah pesan yang terjadi, jika pada suatu link ada

dua arah pesan yang berbeda maka arah juga

digambarkan du arah pada dua sisi link.

Sumber : S., Rosa A. dan Shalahuddin, M. 2013

2.4.5 Statechart Diagram

Statechart diagram menunjukan state-state dari objek tunggal, event-event

atau pesan yang menyebabkan transisi dari satu state ke state yang lain, dan

action yang merupakan hasil dari perubahan sebuah state , state diagram tidak

akan dibuat untuk setiap class item.

State chart diagram hanya dibuat untuk class yang berkelakuan

dinamis.interaction diagram dapat dipelajari untuk menentukan dynamic objek di

system , yaitu objek yang menerima dan mengirim beberapa pesan, Statechart
diagram juga sangat berguna untuk meneliti kelakuan dari sebuah kumpulan

whole class dan control class (Tohari Hamim, 2014);

State machine diagram atau statechart diagram atau dalam bahasa

indonesia disebut diagram mesin status digunakan untuk menggambarkan

perubahan status atau transaksi status dari sebuah mesin atau sistem perubahan

tersebuh digambarkan dalam bentuk graf berarah. Statechart diagram cocok

digunakan untuk menggambarkan alur interaksi pengguna denagn sistem.Berikut

ini simbol-simbol yang sering digunakan pada saat pembuatan statechart

diagram, symbol-simbol dari Statechart dapat kita lihat pada Tabel 2.5 dibawah

ini:

Tabel 2.5 Simbol-Simbol Statechart Diagram

Simbol Deskripsi

Start/Status Keadaan awal pada saat system mulai hidup.

Awal

(Initial State)

End / Status Keadaan akhir dari daur hidup suatu system.

Akhir (Final

State)

Event Kegiatan yang menyebabkan berubahnya status mesin.

State Sistem pada waktu tertentu. State dapat berubah jika ada event

tertentu yang memicu perubahan tersebut.

Sumber : S., Rosa A. dan Shalahuddin, M. 2013


2.4.6 Activity Diagram

Activity diagram memodelkan workflow process bisnis dan urutan

aktivitas dalam sebuah proses .diagram ini sangat mirip dengan flowchart karena

memodelkan workflow dari suatu aktivitas ke aktivitas lainnya atau dari aktivitas

ke status . membuat activity diagram pada awal pemodelan proses cukup

menguntungkan untuk membantu memahami keseluruhan proses . activity

diagram juga bermanfaat untuk menngambarkan parallell behavior atau

menggambarkan interaksi antara beberapa use case (Tohari Hamim, 2014).

Elemen-elemen dari activity diagram meliputi (Tohari Hamim, 2014) :

1. Status chart (mulai) dan end (terakhir).

2. Aktifitas yang mempresentasikan sebuah langkah dalam work flow .

3. Transition menunjukan terjadinya perubahan status aktivitas .

4. Keputusan yang menunjukan alternative dalam workflow.

5. Synchronization bars yang menunjukan subflow parallel .

Synchronization bars dapat digunakan untuk menunjukan concurrent

threads pada work flow proses bisnis .

6. Swimlanes yang mempresentasikan role bisnis yang bertanggung

jawab pada aktivitas yang berjalan.

Simbol-simbol pada activity diagram dapat kita lihat pada Tabel 2.6 dibawah ini:

Tabel 2.6 Simbol pada Activity Diagram

Simbol Deskripsi

Status awal Status awal aktivitas sistem, sebuah

diagram aktivitas memiliki sebuah


status awal

Aaktivitas Aktivitas yang dilakukan sistem,

aktivitas biasanya diawali dengan kata


aktivitas
kerja

Percabangan / decision Asosiasi percabangan dimana jika ada

pilihan aktivitas lebih dari satu

Penggabungan / join Asosiasi penggabungan dimana lebih

dari satu aktifitas digabungkan menjadi

satu

Status akhir Status akhi dilakukan sistem, sebuah

diagram aktifitas memiliki sebuah

status akhir

Swimlane Memisahkan organisasi bisnis yang

bertanggung jawab terhadap aktivitas

yang terjadi

Nama swimlane

atau
Sumber : S., Rosa A. dan Shalahuddin, M. 2013

2.4.7 Deployment Diagram

Diagram deployment menunjukan tata letak sebuah system secara fisik .

diagram ini akan menampakan bagian bagian software yang berjalan pada pada

bagian hardware yang digunakan untuk mengimplementasikan sebuah system dan

keterhubungan antara komponen komponen hardware tersebut (Tohari Hamim,

2014)..

Untuk menggambar diagram deployment , ada beberapa hal yang harus di

identifikasikan terlebih dahulu (Tohari Hamim, 2014).:

1. Menentukan node

2. Hubungan antar node

Berikut ini simbol-simbol yang sering digunakan pada saat pembuatan

deployment diagram, dapat kita lihat pada tabel 2.7 berikut ini S., Rosa A. dan

Shalahuddin, M. 2013).
Tabel 2.7 Simbol-Simbol Deployment Diagram

Simbol Deskripsi

Package Package merupakan sebuah bungkusan dari satu atau

lebih node

Node adalah sumber daya fisik yang menjalankan kode

komponen.

Node

Dependency Ketergantungan antara node, arah panah mengarah pada

node yang dipakai.

Link Relasi antara node.

Sumber : S., Rosa A. dan Shalahuddin, M. 2013


2.5 Kecerdasan Buatan (Artificial Intelligence)

Para ahli mendefinisikan Artificial intelegence secara berbeda-beda

tergantung sudut pandang mereka masing masing . ada yang fokus pada logika

berpikir tingkah laku manusia .( Suyanto, 2014).

Menurut jurnal (Rahman Fakhrul dkk,2017) Artificial Intelligence (AI) atau

kecerdasan buatan merupakan cabang dari ilmu komputer yang menaruh perhatian

pada pengotomatisasi tingkah laku cerdas. Pernyataan tersebut juga dapat

dijadikan defenisi dari AI. Defenisi ini menunjukkan bahwa AI adalah bagian dari

komputer sehingga harus didasarkan pada sound theoretical (teori suara) dan

prinsip - prinsip aplikasi dari bidangnya.


Menurut jurnal (Yanto Musli, 2017) Artificial intelligence adalah

kecerdasan buatan secara umum dapat diartikan sebagai ilmu komputer yang

mempelajari bagaimana membuat sebuah mesin (komputer) dapat melakukan

pekerjaan sebaik apa yang dilakukan oleh manusia bahkan lebih baik dari apa

yang dikerjakan oleh manusia. Banyak pengertian atau definisi dari kecerdasan

buatan ini yang dikemukakan oleh para ahli.

2.5.1 Sejarah Ai

Istilah AI dikemukakan pada tahun 1956 di konfrensi Darthmoutht ,sejak

saat itu AI terus dikembangkan sebab berbagai penelitian mengenai teori-teori dan

prinsip-prinsip nya juga terus berkembang .Meskipun istilah AI baru muncul

tahun 1956, tetapi teori-teori yang mengarah ke AI sudah muncul sejak tahun

1941. Berikut ini tahapan sejarah perkembangan AI secara ringkas (Suyanto,

2014) :

1. Era computer elektronik (1941)

2. Masa persiapan (1943-1956)

3. Awal perkembangan AI (1952-1969)

4. Perkembangan AI melambat (1966-1974)

5. Sistem berbasis pengetahuan (1969-1979)

6. AI menjadi sebuah industry (1980-1988)

7. Kembalinya jaringan saraf tiruan (1986- sekarang)

2.5.2 Kecerdasan Alami dan Kecerdasan Buatan


Jika dibandingkan dengan kecerdasanalami (kecerdasan yang dimiliki oleh

manusia), kecerdasan buatan memiliki keuntungan komersial, antaralain (Turban)

(Sutojo, dkk : 2011):

1. Kecerdasan buatan lebih bersipat permanen. Kecerdasan alamiakan cepat

mengalami perubahan. Kemampuan kecerdasan buatan tidak akan pernah

berubah selama programnya tidak diubah oleh programer.

2. Kecerdasan buatan lebih mudah diduplikasi dan disebarkan. Misalnya saja

pemerintah membutuhkan 10.000 orang pakar pernyakit jantung untuk

ditempatkan di seluruh Indonesia.

3. Kecerdasan buatan lebih murah dibandingkan kecerdasan alami.

4. Kecerdasan buatan bersifat konsisten. Misalnya saja telah dibuat

sistempakar hakim pengadilan untuk mengadili kasus-kasus pidana di

Indonesia.

5. Kecerdasan buatan dapat didokumentasikan. Solusi dan keputusan yang

dibuat oleh kecerdasan buatan dapat didokumentasi dengan mudah karna

disimpan dalam hard disk dan pencarian datanya relatif lebih mudah

diacak.

6. Kecerdasan buatan dapat mengerjakan perkerjaan lebih cepat dibanding

kecerdasan alami.

7. Kecerdasan buatan dapat mengerjakan pekerjaan lebih baik dibanding

dengan kecerdasan alami.

Sementara itu, kecerdasan alami memberikan keuntungan sebagai berikut:


1. Kreatif. Pengetahuan seorang manusia selalu bertambah seiring dengan

perkembangan waktu.

2. Kecerdasan alami memungkinkan orang menggunakan pengalaman secara

langsung. Sedangkan pada kecerdasan buatan harus bekerja dengan input-

input simbolik.

3. Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan

buatan sangat terbatas.

2.6 Sistem Pakar (Expert System)

Istilah sistem pakar berasal dari istilah knowledge-based exspres system.

Istilah ini muncul karena untuk memecahkan masalah, sistem pakar menggunakan

pengetahuan seorang pakar yang dimasukkan dalam komputer (Sutojo, dkk :

2011).

Menurut jurnal ( Rahman Fakhrul dkk, 2017), istilah sistem pakar berasal

dari kata knowledge-based expert system . istilah ini muncul karena untuk

memecahkan suatu masalah, system pakar menggunakan pengetahuan yang

dimasukan ke dalam komputer. Seseorang yang bukan pakar menggunakan

system pakar untuk meningkatkan kemampuan pemecahan masalah, sedangkan

seorang pakar menggunakan sistem pakar untuk knowledge assistant.

2.6.1 Konsep dasar sistem pakar

Konsep dasar sistem pakar melipiti enam hal berikut (Sutojo, dkk : 2011):

1. Kepakaran (Expertise)
Kapankah merupakan suatu pengetahuan yang diperoleh dari pelatihan,

membaca, dan pengalama.

2. Pakar (Expert)

Pakar adalah seseorang yang mempunyai pengetahuan, pengalaman, dan

metode khusus, serta mampu menerapkannya untuk memecahkan

masalah atau memberi nasihat.

3. Pemindahan Kepakaran (Transferring Expertise)

Tujuan dari sistem pakar adalah memindahkan kepakaran dari seorang

pakar ke dalam komputer, kemudian ditransfer kepada orang lain yang

bukan pakar.

4. Inferensi (Inferencing)

Inferensi adalah sebuah prosedur (program) yang mempunyai

kemampuan dalam melakukan penalaran.

5. Aturan-aturan (Rule)

Kebanyakan software sistem pakar komersial adalah sistem yang

berbasis rule (rule-based systems), yaitu pengetahuan disimpan terutama

dalam bentuk rule, sebagai prosedur-prosedur pemecahan masalah.

6. Kemampuan Menjelaskan (Explanatian Capability)

Fasilitas lain dari sistem pakar adalah kemampuanya untuk menjelaskan


sarana atau rekomendasi yang diberikannya.
2.6.2 Ciri-ciri sistem pakar

Ciri-ciri dari sistem pakar adalah sebagai berikut:

1. Terbatas pada domain keahlian tertentu.


2. Dapat memberikan penalaran untuk data-data yangtidak lengkap atau tidak

pasti.

3. Dapat menjelaskan alasan-alasan dengan cara yang dapat dipahami.

4. Bekerja berdasarkan kaidah/rule tertentu.

5. Mudah dimodifikasi.

6. Basis pengetahuan dan mekanisme inferensi terpisah.

7. Keluarannya bersifat ajuran.

Sistem dapat mengaktifkan kaidah secara searah yang sesuai, dituntun oleh

dialog dengan pengguna.

2.6.3 Area Permasalahan Aplikasi Sistem Pakar

Biasanya aplikasi system pakar menyentuh beberapa area permasalahan

berikut (Sutojo, T.,Dkk, 2011):

1. Interpretasi : menghasilkan deskripsi situasi berdasarkan data-data

masukan.

2. Prediksi : memperikirakan akibat yang mungkin terjadi dari situasi

yang ada.

3. Diagnosis : menyimpulkan suatu keadaan berdasarkan gejala-gejala

yang diberikan.

4. Desain : melakukan perancangan berdasarkan kendala-kendala yang

diberikan.

5. Planning : merencanakan tindakan-tindakan yang akan dilakukan.


6. Monitoring : membandingkan hasil pengamatan dengan proses

perencanaan.

7. Debugging : menentukan penyelesaian dari suatu kesalahan system.

8. Reparasi : melaksanakan rencana perbaikan

9. Instruction : melakukan intruksi untuk diagnosis, debugging, dan

perbaikan kerja.

10. Kontrol : melakukan control terhadap hasil intrepretasi, diagnosis,

debugging, monitoring, dan perbaikan tingkah laku system.

2.6.4 Perbandingan Sistem Konvensional dengan Sistem Pakar

Karakteristik dan kemampuan yang dimiliki oleh Sistem Pakar berbeda

dengan Sistem Konvensional. Perbedaan ini ditujukan sebagai berikut (Sutojo, T.,

Dkk, 2011) :

Tabel 2.8 Perbandingan Sistem Konvensional dengan Sistem Pakar

Sistem Konvensional Sistem Pakar

Informasi dan pemrosesannya biasanya Basis pengetahuan dipisahkan secara

digabungkan dalam satu program. jelas dengan mekanisme inferensi.

Program tidak membuat kesalahan (yang Program dapat berbuat kesalahan.

membuat kesalahan: pemograman atau

pengguna).
Biasanya tidak menjelaskan mengapa Penjelasan merupakan bagian

data masukan diperlukan atau bagaimana terpenting dari semua sistem pakar.

output dihasilkan.

Perubahan program sangat menyulitkan. Perubahan dalam aturan-aturan

mudah untuk dilakukan.

Sistem hanya bisa beroperasi setelah Sistem dapat beroperasi hanya

lengkap atau selesai. dengan aturan-aturan yang sedikit

(sebagai prototype awal).

Eksekusi dilakukan langkah semi langkah Eksekusi dilakukan dengan

(algoritmik). menggunakan heuristic dan logika

pada seluruh basis pengetahuan.

Perlu informasi lengkap agasr bisa Dapat beroperasi dengan informasi

beroperasi yang tidak lengkap atau

mengandung ketidakpastian.

Manipulasi efektif dari basis data yang Manipulasi efektif dari basis

besar. pengetahuan yang besar.

Menggunakan data. Menggunakan pengetahuan.

Tujuan utama : efisiensi Tujuan utama : efetivitas

Mudah berurusan dengan data kuantitatif. Mudah berurusan dengan data

kualitatif.

Menangkap, menambah, dan Menangkap, menambah, dan

mendistribusikan akses ke data numeric mendistribusikan akses ke


atau informasi pertimbangan dan pengetahuan.

Sumber : Sutojo, T., Dkk, 2011

2.6.5 Struktur Sistem Pakar

Sistem pakar disusun oleh dua bagian utama, yaitu lingkungan

pengembangan (development enviroment) dan lingkungan konsultasi

(consultantion enviroment). Lingkungan pengembangan sistem pakar digunakan

untuk memasukkan pengetahuan pakar kedalam lingkungan sistem pakar,

sedangkan lingkungan konsultasi digunakan oleh pengguna yang bukan pakar

guna memperoleh pengetahuan pakar. Komponen-komponen sistem pakar dapat

dilihat pada gambar dibawah ini (Sutojo, T., Dkk, 2011):

Sumber : Sutojo, dkk (2011)

Gambar 2.6 Arsitektur Sistem Pakar


Keterangan :

1. Akusisi Pengetahuan (Knowledge Acquisition)

Subsistem ini digunakan untuk memasukan pengetahuan dari seorang pakar

dengan cara merekayasa pengetahuan agar bisa diproses oleh komputer dan

menaruhnya ke dalam basis pengetahuan dengan format tertentu (dalam

bentuk representasi pengetahuan).

2. Basis Pengetahuan (Knowledge Base)

Basis pengetahuan mengandung pengetahuan yang diperlukan untuk

memahami, memformulasikan, dan menyelesaikan masalah.Pada basis

pengetahuan terdapat dua bentuk pendekatan basis pengetahuan yang umum,

yaitu:

a. Penalaran Berbasis Aturan (Rule-Based Reasoning).

Pada penalaran berbasis aturan, pengetahuan direpresentasikan dengan

menggunakan aturan berbentuk: IF-THEN. Bentuk ini digunakan

apabila dimiliki sejumlah pengetahuan pakar pada suatu permasalahan

tertentu, dan si pakar dapat menyelesaikan masalah tersebut secara

berurutan.Disamping itu bentuk ini juga digunakan apabila dibutuhkan

penjelasan tentang jejak (langkah-langkah) pencapaian solusi.

b. Penalaran Berbasis Kasus (Case-Based Reasoning)

Pada penalaran berbasis kasus, basis pengetahuan akan berisi solusi-

solusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu


solusi untuk keadaan yang terjadi sekarang (fakta yang ada). Bentuk ini

digunakan apabila user menginginkan untuk tahu lebih banyak lagi pada

kasus-kasus yang hampir sama (mirip). Selain itu, bentuk ini juga

digunakan apabila telah dimiliki sejumlah situasi atau kasus tertentu

dalam basis pengetahuan.

3. Mesin Inferensi (Inference Engine)

Mesin inferensi adalah sebuah program yang berfungsi untuk memadukan

proses penalaran terhadap suatu kondisi berdasarkan pada basis pengetahuan

yang ada, memanipulasi dan mengarahkan kaidah, model, dan fakta yang

disimpan dalam basis pengetahuan untuk mencapai solusi atau kesimpulan.

Dalam prosesnya, mesin inferensi menggunakan strategi pengendalian,yaitu

strategi yang berfungsi sebagai panduan arah dalam melakukan proses

penalaran. Terdapat dua pendekatan untuk mengontrol inferensi dalam sistem

pakar berbasis aturan, yaitu:

a. Pelacakan Kebelakang (Backward Chaining).

Pelacakan kebelakang adalah pendekatan yang dimotori tujuan (goal-

driven). Dalam pendekatan ini pelacakan dimulai dari tujuan,

selanjutnya dicari aturan yang memiliki tujuan tersebut untuk

kesimpulannya. Selanjutnya proses pelacakan menggunakan premis

untuk aturan tersebut sebagai tujuan baru dan mencari aturan lain

dengan tujuan baru sebagai kesimpulannya. Pelacakan kedepan

(forward chaining) adalah pendekatan yang dimotori data (data-

driven). Dalam pendekatan ini pelacakan dimulai dari informasi


masukan dan selanjutnya mencoba menggambarkan kesimpulan,

pelacakan kedepan mencari fakta yang sesuai dengan bagian IF dari

aturan IF-THEN. Prosesnya ditunjukkan pada gambar 2.8 dibawah

ini:

a. Daerah Kerja (Blackboard)

Untuk merekam hasil sementara yang akan dijadikan sebagai

keputusan dan untuk menjelaskan sebuah masalah yang sedang

terjadi, sistem pakar membutuhkan Blackboard, yaitu area pada

memori yang berfungsi sebagai basis data.

b. Antarmuka Pengguna (User Interface)

Digunakan sebagai media komunikasi antara pengguna dan Sistem

Pakar. Komunikasi ini paling bagus disajikan dalam bahasa alami

(natural language) dan dilengkapi dengan grafik, menu dan formulir

elektronik. Pada bagian ini akan terjadi dialog antara Sistem Pakar

dengan pengguna.

c. Subsistem Penjelasan (Explaintion Subsystem)

Berfungsi sebagai penjelasan kepada pengguna, bagaimana suatu

kesimpulan dapat diambil. Kemampuan seperti ini sangat penting bagi

pengguna untukmengetahui proses pemindahan keahlian pakar

maupun dalam pemecahan masalah.

d. Sistem Perbaikan Pengetahuan (Knowledge Refining System)

Kemampuan memperbaiki pengetahuan dariseorang pakar diperlukan

untuk 5menganalisis pengetahuan, belajar dari kesalahan masa lalu,


kemudian memperbaiki pengetahuannya sehingga dapat dipakai pada

masa yang akan datang.

e. Pengguna (User)

Pada umumnya pengguna sistem pakar bukanlah seorang pakar (non-

expert) yang membutuhkan solusi, saran, atau pelatihan (training) dari

berbagai permasalahan yang ada.

2.6.6 Manfaat Sistem pakar


Berdasrkan jurnal (Rahman Fakhrul, 2018) Sistem pakar menjadi populer

karena sangat banyak manfaat yang diberikannya, antara lain :

1. Meningkatkan produktivitas, karena sistem pakar dapat bekerja lebih cepat dari

pada manusia.

2. Membuat seseorang yang awam bekerja layaknya seorang pakar.

3. Meningkatkan kualitas, dengan memberi nasehat yang konsisten dan

mengurangi kesalahan.

4. Dapat dihandalkan, sebab sistem pakar tidak pernah merasa bosan, kelelahan,

ataupun sakit.

2.6.7 Kekurangan Sistem pakar

Berdasarkan jurnal (Rahman Fakhrul, 2018) (Selain manfaat, sistem pakar

juga memiliki kekurangan. Diantara kekurangan sistem pakar tersebut adalah

sebagai berikut :

1. Biaya yang dibutuhkan sangat mahal untuk membuat dan memeliharanya

2. Sulit dikembangkan, karena keterbatasan keahlian dan ketersediaan pakar

3. Tidak selalu bernilai benar


2.7 Certainty Factor (Faktor Kepastian)

Teori Certainty Factor (CF) adalah untuk mengakomodasikan ketidakpastian

pemikiran (inexact reasoning) seorang pakar Seorang pakar (misalnya dokter)

sering menganalisis informasi yang dengan ungkapan dengan ketidakpastian,

untuk mengakomodasikan hal ini digunakan Certainty Factor(CF) guna

menggambarkan tingkat keyakinan pakar terhadap masalah yang sedang dihadapi.

Certainty Factor (Faktor Ketidak pastian) menyatakan kepercayaan dalam sebuah

kejadian (fakta atau hipotesa) berdasarkan bukti atau penilaian pakar. Certainty

Factor menggunakan suatu nilai untuk mengansumsikan derajat keyakinan

seorang pakar terhadap suatu data. Certainty Factor memperkenalkan konsep

keyakinan dan ketidakyakinan (Fanny,Rahmi Ras, Hasibuan,Nelly Astuti &

Bulolo,Efori,2017).

Pada Tabel 2.9 Berikut adalah aturan nilai kepercayaan yang diberikan

(Sutojo, T., Dkk, 2011):

Tabel 2.9 Interpretasi Nilai Certainty factor

Kepercayaan Nilai CF
Definitely not (Tidak Pasti) -1.0
Almost not certainty (Hampir tidak -0.8
pasti)
Probably not (Kemungkinan tidak) -0.6

Maybe not (Mungkin tidak) -0.4

Unknown (Tidak tahu) -0.2 to 0.2

Maybe Mungkin () 0.4

Probably (Kemungkinan besar) 0.6

Almost certainty (Hampir pasti 0.8

Definitely (Pasti) 1.0

Sumber : Sutojo, T., Dkk, 2011

2.7.1 Model Menghitung Certainty Factor

Ada dua tahap model yang sering digunakan untuk menghitung tingkat

keyakinan (CF) dari sebuah rule adalah sebagai berikut (Sutojo, T., Dkk, 2011) :

1. Metode “Net Belief” yang diusulkan oleh E.H Shortliffe dan B.G
Buchanan.

CF(Rule) = MB(H,E)-MD(H,E)..................................................... (2-1)

1 P(H)=1
Max[P(H|E), P(H)] – P(H) ........................................... (2-2)
MB(H,E) lainnya
Max[1,0] – P(H)

1 P(H)=0
Min [P(H|E), P(H)] – P[H]........................................... (2-3)
MD(H,E) lainnya
Min [1,0] – P[H]

Keterangan :

CF[h,e] = Faktor kepastian

MB[h,e] = Ukuran kepercayaan terhadap hipotesis h, jika diberikan

evidence e (antara 0 dan 1)


MD[h,e] = Ukuran ketidakpercayaan terhadap

hipotesis h, jika diberikan evidence e

(antara 0 dan 1)

2. Dengan menggali dari hasil wawancara dengan pakar.

2.7.2 Kelebihan Certainty Factor

Kelebihan metode certainty factor adalah (Sutojo, T., Dkk, 2011) :

1. Metode ini cocok dipakai dalam sistem pakar yang mengandung

ketidakpastian.

2. Dalam sekali proses perhitungan hanya dapat mengolah 2 data saja

sehingga keakuratan data dapat terjaga.

2.7.3 Kekurangan Certainty Factor

1. Permodelan ketidakpastian yang menggunakan perhitungan metode

certainty factor biasanya masih diperdebatkan.

2. Untuk data lebih dari 2 buah, harus dilakukan beberapa kali

pengolahan data.

2.8 Website

2.8.1 Definisi Website

Website adalah sekumpulan halaman informasi yang disediakan melalui jalur

internet sehingga bisa diakses di seluruh dunia selama terkoneksi dengan jaringan

internet. Website merupakan sebuah komponen yang terdiri dari teks, gambar, suara
8

animasi sehingga menjadi media informasi yang menarik untuk dikunjungi oleh

orang lain (Mandala,Eka Praja Wiyata, 2015).

Dimuat di jurnal (Hasugian Penda Sudarto, 2018) bahwa menurut pendapat

Arief (2011:7), “Web adalah salah satu aplikasi yang berisikan dokumen–dokumen

multimedia (teks, gambar, suara, animasi, video) di dalamnya yang mengunakan

protokol HTTP (hypertext transfer protokol) dan untuk mengakses menggunakan

perangkat lunak yang disebut browser”.

Fungsi website diantaranya :

1. Media Promosi

2. Media Pemasaran

3. Media Informasi

4. Media Pendidikan

5. Media Komunikasi

Secara umum, website digolongkan menjadi tiga jenis, yaitu (Mandala,Eka

Praja Wiyata, 2015) :

a. Website Statis

Website statis merupakan website yang memiliki isi tidak dimaksudkan

untuk diperbarui secara berkala, sehingga pengaturan ataupun

pemutakhiran isi atas situs web tersebut dilakukan secara manual.

b. Website Dinamis

Website dinamis merupakan website secara spesifik didesain agar isi

yang terdapat dalam situs tersebut dapat diperbarui secara berkala

dengan mudah. Sesuai dengan namanya, isi yang terkandung dalam

website ini umumnya akan berubah setelah melewati satu periode

tertentu.
9

c. Website Interaktif

Website interaktif adalah website yang saat ini memang sedang banyak

digemari. Salah satu contoh website interaktif ini adalah blog dan

forum. Di website ini user bisa berinteraksi dan beradu argument

mengenai apa yang menjadi pemikiran mereka. Biasanya website

seperti memiliki moderator untuk mengatur supaya topic yang

diperbincangkan tidak melenceng dari alur pembicaraan.

2.8.2 Webserver dan Webbrowser

Web server itu dapat dikatakan sebagai suatu program komputer yang

memiliki tugas menerima permintaan HTTP dari komputer klien, yang dikenal

dengan nama web browser dan melayani mereka dengan menyediakan respon HTTP

berupa konten data, biasanya berupa halaman web yang terdiri dari dokumen HTML

dan objek yang terkait seperti gambar, text, suara, dan sebagainya (Mandala,Eka

Praja Wiyata, 2015).

2.9 Php dan MySQL

2.9.1 Php

Berdasarkan jurnal (Sitohang Hengki Tamando, 2018) PHP adalah

(Hypertext Preprocessor) adalah bahasa pemrograman web berbasis server (server

slide) yang mampu memparsing kode PHP dari kode dengan ekstensi PHP sehingga

menghasilkan tampilan website yang dinamis disisi client

Hypertext Preprocessor (PHP) adalah bahasan skrip yang dapat ditanamkan

atau disisipkan ke dalam HTML. PHP banyak dipakai untuk membuat situs web
10

dinamis. PHP dapat digunakan untuk membangun sebuah CMS (Content

Management System) (Mandala,Eka Praja Wiyata, 2015).

2.9.2 Mysql

Dimuat dalam jurnal (Hasugian Penda Sudarto,2018) My Sql (My Structure

Query Language) adalah aplikasi atau sistem untuk mengelola database atau

manajemen data. Untuk menyimpan segala informasi ke komputer mengunakan data.

MYSQL bertugas mengatur dan mengelola data-data pada database, selain itu MYSQL

dikenal sebagai sistem yang efisien dan reliable, proses query cepat dan mudah,

sehingga cocok digunakan untuk aplikasi berbasis web.

Dimuat dalam jurnal Eka (2015) menjelaskan bahwa dengan menggunakan

SQL, kita dapat melakukan hal-hal berikut:

1. Memodifikasi struktur database .

2. Mengubah, mengisi, menghapus isi database .

3. Mentransfer data antara database yang berbeda.

2.10 Penyakit Kulit Kelinci

Kelinci adalah hewan mamalia herbivora yg hidup didaratan. Kelinci

berkembang biak dengan cara melahirkan atau bisa disebut juga dengan vivipar.

Karena jenisnya yang beraneka ragam, menyebabkan kelinci dapat ditemukan

diberbagai tempat.  Kelinci mampu bertahan hidup hingga 5 tahun. Masa

mengandung kelinci sekitar 28-35 hari. Sampai saat ini, kelinci masih dapat sering

kita jumpai. Kelinci juga termasuk hewan peliharaan yang banyak digemari oleh

manusia. Ukuran badan kelinci yang sudah dewasa tidak terlalu besar. Karena kelinci

banyak digemari semua kalangan, oleh karena itu kelinci di Indonesia banyak

dijadikan hewan ternak.


11

Jenis Penyakit Kulit Kelinci :

1. Pasteurellosis

Penyakit ini disebabkan oleh infeksi saluran air mata dan sinus hidung

kelinci dengan gejala mata berair, hidung berair dan sering bersin.

Penyakit ini bisa dipicu karena penyakit pernapasan, masalah gigi,

hingga kandang berventilasi buruk. Bakter Pasteurella Multocida

dapat diterima karena tertular dari kelinci lain atau memang sudah ada

di dalam tubuh kelinci. Kelinci harus segera dibawa ke dokter hewan

untuk mendapatkan pengobatan. Penting menjaga lingkungan mereka

tetap bersih dan bebas kontaminasi infeksi.

2. Tungau Telinga (Telinga Berkerak dan Bau)

Telinga kelinci akan muncul kerak dan berwarna coklat dipenuhi

cairan yang bau. Gejala awal biasanya muncul bintik merah muda dan

kelinci akan menggaruk telinganya terus-terusan. Penyakit ini

menular melalui binatang kecil yang disebut tungau. Pastikan kondisi

kandang selalu bersih dan tidak lembab, tempat pakan dan minum

bersih, berikan pakan yang kering, kurangi kepadatan kandang dan

pisahkan kelinci yang sakit.

3. Jamur Kulit

Gejalanya adalah kulit yang berwarna bintik-bintik merah dan bulu

yang tebal tetapi kusut. Penyebabnya adalah kondisi kandang yang


12

kotor, oleh karena itu pastikan untuk selalu membersihkan kandang

kelinci. Apabila penyakit ini sudah diderita kelinci, bersihkan terlebih

dahulu bagian tubuh yang terkena jamur, lalu cukur bulunya, berikan

yodium dan oleskan salep yang membasmi jamur.

4. Scabies

Penyakit ini bersifat zoonosis lo rekanaker yang artinya bisa menular

ke manusia Tanda – tanda klinis kelinci yang terjangkit scabies adalah

gatal-gatal, terjadi kerontokan bulu, dan kerusakan pada kulit. Pada

kelinci bagian yang paling sering terjangkit adalah kuku, telinga dan

mulut. Pada bagian-bagian tersebut nampak seperti koreng. Untuk

menjaga agar kelinci tidak terjangkit scabies adalah dengan

melakukan sanitasi kandang dan lingkungan serta menjaga kandang

kelinci agar tidak lembab. Untuk pengobatan pada kelinci yang masih

belum parah bisa dengan menggunakan PK ( Permanganas Kalikus)

yang dapat di beli di apotik terdeket. Cukup di oleskan pada bagian

yang terjangkit.

Anda mungkin juga menyukai