BAB II LANDASAN TEORI

29 

Loading.... (view fulltext now)

Loading....

Loading....

Loading....

Loading....

Teks penuh

(1)

8 BAB II

LANDASAN TEORI

2.1 Sistem

Sistem dapat diartikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung untuk melakukan tugas bersama-sama. Secara garis besar, sebuah sistem informasi terdiri atas tiga komponen utama, ketiga komponen tersebut mencakup, sofware, hardware dan brainware. Ketiga komponen ini saling berkaitan satu sama lain. Pratama ( 2014).

Sistem dapat didefinisikan sebagai sekumpulan objek, ide, berikut keterkaitannya di dalam mencapai tujuan. Dengan kata lain sistem adalah sekumpulan komponen (sub-sistem fisik dan non fisik/logika) yang saling berhubungan satu sama lainnya dan bekerja sama untuk mencapai tujuan. Prahasta (2014).

2.2 Kecerdasan Buatan

Menurut Sutojo, Mulyono dan Suhartono (2011), kecerdasan buatan berasal dari bahasa Inggris “Artifical Intelligence” atau disingkat AI, yaitu

intelligence adalah kata sifat yang berarti cerdas, sedangkan artifical artinya

buatan. Kecerdasan buatan yang dimaksud disini merujuk pada mesin yang mampu berpikir, menimbang tindakan yang akan diambil, dan mampu mengambil keputusan seperti yang dilakukan oleh manusia.

Menurut Herbert Alexander Simon kecerdasan buatan merupakan kawasan penelitian, aplikasi dan intruksi yang terkait dengan pemograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas. Sutojo, Mulyono dan Suhartono (2011).

2.3 Sistem Pakar (Expert System)

Menurut Sutojo, Mulyanto dan Suhartono (2011) Sistem pakar adalah suatu sistem yang dirancang untuk dapat menirukan keahlian seorang pakar dalam menjawab pertanyaan dan memecahkan suatu masalah. Sistem pakar merupakan cabang dari kecerdasan buatan yang menggunakan

(2)

pengetahuan-pengetahuan khusus yang dimiliki oleh seorang ahli untuk menyelesaikan suatu masalah.

2.3.1 Sejarah Sistem Pakar

Sejarah sistem pakasr mulai dikembangkan oleh komunitas kecerdasan buatan pada pertengahan tahun 1960. Pada periode ini penelitian kecerdasan buatan didominasi pada kepercayaan terhadap beberapa pasang dari penalaran hukum dengan kemampuan komputer akan menghasilkan pakar atau bahkan menampilkan tujuan umum seorang manusia.

Pada pertengahan tahun 1970, beberapa sistem pakar sudah mulai muncul. Memahami pentingnya peranan pengetahuan pada sistem ini, para ilmuwan kecerdasan buatan bekerja untuk mengembangkan teori-teori representasi pengetahuan dan prosedur pengambilan keputusan secara umum dan kesimpulan-kesimpulan.

Pada awal tahun 1980–an, teknologi sistem pakar pertama dibatasi oleh pandangan akademis dan mulai terlihat sebagai aplikasi yang komersial seperti XCON, XSTL dan CATS-1. Sebagai tambahan untuk membangun sistem pakar, usaha yang sangat mendasar adalah membangun alat untuk mempercepat konstruksi dari sistem pakar seperti MYCIN dan AGE. Sejak akhir tahun 1980-an, perkembangan software berkembang sejalan dengan perkembangan komputer termasuk mikro komputer.

2.3.2 Tujuan Sistem Pakar

Tujuan dari sistem pakar adalah untuk memindahkan kemampuan

(transferring expertise) dari seorang ahli atau sumber keahlian yang lain

ke dalam komputer dan kemudian memindahkannya dari komputer kepada pemakai yang tidak ahli (bukan pakar). Proses ini meliputi empat aktivitas yaitu:

1. Akuisi pengetahuan (knowledge acquisition) yaitu kegiatan mencari dan mengumpulkan pengetahuan dari para ahli atau sumber keahlian yang lain.

(3)

2. Representasi pengetahuan (knowledge representation) adalah kegiatan menyimpan dan mengatur penyimpanan pengetahuan yang diperoleh dalam komputer. Pengetahuan berupa fakta dan aturan disimpan dalam komputer sebagai sebuah komponen yang disebut basis pengetahuan.

3. Inferensi pengetahuan (knowledge inferencing) adalah kegiatan melakukan inferensi berdasarkan pengetahuan yang telah disimpan didalam komputer.

4. Pemindahan pengetahuan (knowledge transfer) adalah kegiatan pemindahan pengetahuan dari komputer ke pemakai yang tidak ahli. 2.3.3 Ciri-ciri sistem pakar

Menurut Sutojo, Mulyono dan Suhartono (2011), ciri-ciri sistem pakar adalah sebagai berikut :

1. Berdasarkan pada kaidah atau rule tertentu. 2. Mudah dimodifikasi.

3. Memiliki kemampuan untuk belajar beradaptasi. 2.3.4 Manfaat Sistem Pakar

Menurut Sutojo, Mulyono dan Suhartono (2011), manfaat system pakar adalah :

1. Membuat seseorang yang awam bekerja seperti layaknya seorang pakar.

2. Meningkatkan kualitas dengan memberi nasehat yang konsisten dan mengurangi kesalahan.

3. Mampu menangkap pengetahuan dan kepakaran seseorang. 4. Dapat beroperasi dilingkungan yang berbahaya.

5. Memudahkan akses pengetahuan seorang pakar. 2.3.5 Aturan-Aturan (Rule)

Kebanyakan software sistem pakar komersial adalah sistem yang berbasis rule (rule-based system), yaitu pengetahuan disimpan terutama dalam bentuk rule, sebagai prosedur-prosedur pemecahan masalah.

(4)

Contoh rule pada sistem ini adalah sebagai berikut: IF Sakit kepala (Gejala 1)

AND Pilek (Gejala 2) AND Demam (Gejala 3) THEN Influenza

2.3.6 Perbandingan Pakar dan Sistem Pakar

Perbandingan kemampuan antara seorang pakar dengan sistem pakar disajikan pada Tabel 2.1

Tabel 2.1. Perbandingan Pakar dan Sistem Pakar (Sutojo, Mulyono dan Suhartono, 2011).

No Pakar Manusia Sistem Pakar

1. Memiliki waktu yang terbatas karena manusia membutuhkan istirahat

Waktu tidak terbatas karena dapat digunakan kapanpun

2. Tempat akses bersifat lokal pada suatu tempat saja dimana pakar berada

Dapat digunakan diberbagai tempat

3. Pengetahuan bersifat variabel dan dapat berubah tergantung situasi

Pengetahuan bersifat konsisten

4. Kecepatan untuk menemukan solusi bervariasi

Kecepatan untuk memberikan solusi bersifat konsisten

5. Biaya yang diperlukan untuk konsultasi sangat mahal

Biaya yang diperlukan untuk konsultasi lebih murah

2.3.7 Komponen Dasar Sistem Pakar

Suatu sistem disebut sebagai sistem pakar jika mempunyai ciri-ciri tertentu. Hal ini juga harus didukung oleh komponen-komponen sistem pakar yang mampu menggambarkan tentang ciri-ciri tersebut. Komponen sistem pakar dapat digambarkan pada gambar :

(5)

Gambar 2.1 Struktur Bagan Sistem Pakar (Sutojo, Mulyono dan Suhartono, 2011)

Komponen-komponen sistem pakar terlihat pada Gambar 2.1 diatas dan berikut penjelasan dari masing-masing komponen. Sutojo, Mulyono dan Suhartono (2011), yaitu:

1. Subsistem penambahan pengetahuan. Bagian ini digunakan untuk memasukkan pengetahuan, mengkontruksi atau memperluas pengetahuan dalam basis pengetahuan. Pengetahuan itu bisa berasal dari buku, ahli, basisdata, penelitian, dan gambar.

2. Basis pengetahuan. Berisi pengetahuan yang dibutuhkan untuk memahami, memformulasikan dan menyelesaikan masalah.Motor inferensi (inference engine). Program yang berisi metodologi yang digunakan untuk melakukan penalaran terhadap informasi-informasi basis pengetahuan dan blackboard, serta digunakan untuk memformulasikan konklusi. Ada tiga elemen utama dalam motor inferensi, yaitu:

a) Interpreter: Mengeksekusi item-item agenda yang terpilih menggunakan aturan-aturan dalam basis pengetahuan.

(6)

b) Scheduler: Akan mengontrol agenda.

c) Consistency enforce: Akan berusaha memelihara konsistenan dalam mempresentasikan solusi yang bersifat darurat.

3. Blackboard. Merupakan area dalam memori yang digunakan untuk merekam kejadian yang sedang berlangsung termasuk keputusan sementara. Ada tiga tipe keputusan yang dapat direkam, yaitu:

a) Rencana: Bagaimana menghadapi masalah.

b) Agenda: Aksi-aksi yang potensial yang sedang menunggu untuk dieksekusi.

c) Solusi: Calon aksi yang akan dibangkitkan.

4. Antarmuka digunakan untuk media komunikasi antar user dan program.

5. Subsistem penjelas. Digunakan untuk melacak respon dan member penjelas tentang kelakuan sistem pakar secara interaktif melalui pertanyaan:

a) Mengapa suatu pertanyaan diajukan oleh sistem pakar? b) Bagaimana konklusi dicapai?

c) Mengapa ada arternatif yang dibatalkan?

d) Rencana apa yang digunakan untuk mendapatkan solusi?

6. Sistem penyaring pengetahuan. Sistem ini digunakan untuk mngevaluasi kinerja sistem pakar itu sendiri untuk melihat apakah pengetahuan-pengetahuan yang ada masih cocok digunakan dimasa mendatang.

2.3.8 Teknik Inferensi

Mesin inferensi adalah bagian yang mengandung mekanisme fungsi berpikir dan pola-pola penalaran sistem yang digunakan seorang pakar. Mekanisme ini akan menganalisa suatu masalah tertentu dan selanjutnya mencari kesimpulan yang terbaik. Siswanto (2010).

Menurut Siswanto (2010), Ada dua teknik penalaran (inference) yaitu sebagai berikut:

(7)

1. Forward Chaining (Pelacakan ke depan) : Forward chaining adalah pendekatan data-driven yang dimulai dari informasi yang tersedia atau dari ide dasar, kemudian mencoba menarik kesimpulan. Teknik ini memulai pencarian dengan fakta yang diketahui untuk menguji kebenaran hipotesa, kemudian mencocokkan fakta tersebut dengan bagian IF dari rule IF-THEN. Teknik ini cocok digunakan untuk menangani masalah peramalan (prognosis) dan pengendalian (controlling).

2. Backward Chaining (Pelacakan ke belakang): Teknik ini memulai pencarian dari kesimpulan (goal) dengan mencari sekumpulan hipotesa-hipotesa yang mendukung menuju fakta-fakta yang mendukung sekumpulan hipotesa tersebut.

2.4 Faktor Kepastian (Certainty Factor)

Faktor Kepastian (Certainty factor) ini diusulkan oleh Shortliffe dan Buchanan pada tahun 1975 untuk mengakomodasi inexact reasoning (ketidakpastian pemikiran) seorang pakar. Teori ini berkembang bersamaan dengan pembuatan sistem pakar MYCIN. Team pengembang MYCIN mencatat bahwa dokter sering kali menganalisa informasi yang ada dengan ungkapan seperti misalnya : “mungkin, kemungkinan besar, hampir pasti”. Untuk mengakomodasi hal ini, tim MYCIN menggunakan Certainty Factor (CF) guna menggambarkan tingkat keyakinan pakar terhadap permasalahan yang sedang dihadapi. Secara umum, rule direperesentasikan dalam bentuk sebagai berikut :

IF E1 [AND / OR] E2 [AND / OR] ... En THEN H (CF=CFi)

Dimana :

E1 ... En : fakta-fakta (evidence) yang ada

H : hipotesa atau konklusi yang dihasilkan

CF : tingkat keyakinan (Certainty Factor) terjadinya hipotesa H akibat adanya fakta-fakta E1 s/d En.

(8)

2.4.1 Model Untuk Menghitung Tingkat CF dari Sebuah Rule

Sampai saat ini ada dua model yang sering digunakan untuk menghitung tingkat keyakinan (CF) dari sebuah rule adalah sebagai berikut. Denok (2010) :

1. Menggunakan metode Belief Disbelief yang disusulkan oleh E. H. Shortliffe dan B. G.Buchhaman, yaitu :

CF(H,E) = MB(H,E) – MD(H,E) perhitungan CF ………(2.1)

1 : if P(H) = 1 MB(H | E) = [P(H |E)]−P(H) 1−P(H)

: otherwise perhitungan MB………(2.2) 1 : if P(H) = 0 MD(H | E) = P(H)−[P(H|E) P(H)

: otherwise perhitungan MD………..(2.3) Dimana :

CF (H, E) = CF dari hipotesis H yang dipengaruhi oleh gejala (evidence) E. Besarnya CF antara -1 sampai dengan 1. Nilai -1 menunjukkan ketidakpercayaan mutlak sedangkan nilai 1 menunjukkan kepercayaan mutlak.

MB (H, E) = Ukuran kenaikan kepercayaan (measure of increased belief) terhadap hipotesis H yang

dipengaruhi oleh gejala E.

MD (H, E) = Ukuran kenaikan kepercayaan (meansure of

increased belief) terhadap hipotesis H yang

dipengaruhi oleh gejala E

P(H) = Probabilitas kebenaran hipotesa H.

(9)

E (Evidence) = Fakta / Gejala pada pasien.

H (Hipotesa) = Jawaban sementara dari suatu masalah yang masih bersifat praduga.

2. Menggali informasi dari hasil wawancara dengan pakar. Nilai CF didapat dari Qualitatif Term yang diberikan pakar sehingga menjadi nilai CF tertentu. Nilai Qualitatif Term dan nilai Certainty Factor nya dapat dilihat pada Tabel 2.2

Tabel 2.2 Nilai Interpretasi CF ( Sutojo, Mulyono dan Suhartono, 2011)

Certainty Term Certainty Factor

Pasti Tidak -1.0

Hampir Pasti Tidak -0.8

Kemingkinan Besar Tidak -0.6

Mungkin Tida -0.4

Tidak Tahu/Tidak Yakin -0.2 to 0.2

Mungkin 0.4

Kemungkinan Besar 0.6

Hampir Pasti 0.8

Pasti 1.0

Nilai Certainty Factor (CF) yang didapatkan dari hasil wawancara dengan pakar, selanjutnya digunakan sebagai nilai CF(H).

Contoh :

Pakar : “Bila sakit kepala dan pilek dan demam, maka ‘kemungkinan besar’ penyakitnya adalah influenza”

Rule : IF gejala 1 = sakit kepala (bobot=0.3) AND gejala 2 = pilek (bobot=0.3) AND gejala 3 = demam (bobot=0.2) THEN penyakit = influenza (CF = 0.8)

2.4.2 Aturan Kombinasi Metode Certainty Factor

Definisi Certainty Factor menurut David McAllister adalah suatu metode untuk membuktikan apakan suatu fakta itu pasti ataukah tidak

(10)

pasti yang berbentuk metric yang biasanya digunakan dalam sistem pakar. Metode ini sangat cocok untuk sistem pakar mendiagnosis sesuatu yang belum pasti. Aturan-aturan kombinasi Certainty Factor yang berlaku menurut McAllister dapat dilihat pada Tabel 2.3.

Tabel 2.3 Aturan-aturan McAllister ( Sutojo, Mulyono dan Suhartono, 2011)

No Kondisi Aturan Rumus

1 Apabila kedua nilai positif (+ +) CFc (CF1,CF2) = CF1 + CF2 * (1-CF1) 2 Apabila kedua nilai negatif (- -) CFc (CF1,CF2) = CF1 + CF2 * (1+CF1) 3 Apabila salah satu nilai negatif (+ -)

CFc= CF1+ CF2 1 − min (|CF1|,|CF2|)

2.4.3 Langkah Perhitungan Certainty Factor

Adapun langkah-langkah untuk melakukan perhitungan pada metode certainty factor yaitu :

a. Langkah Pertama

Tentukan nilai CF Pakar yang didapat dari hasil wawancara pakar dengan jawaban berdasarkan tabel 2.1

b. Langkah Kedua

Selanjutnya akan dilakukan perhitungan nilai CF nya dengan mengalikan antara nilai CF pakar {CF(H)} dan nilai CF Pengguna {CF(E)}. Perhitungannya :

CF(H,E)n = CF(H)n * CF(E)n c. Langkah Ketiga

Selanjutnya mengkombinasikan setiap 2 nilai CF sesuai dengan aturan-aturan yang ada. Apabila terdapat lebih dari 2 nilai CF, maka dilakukan pengulangan pengkombinasian nilai CF tersebut.

(11)

d. Langkah Keempat

Hasil dari nilai CF kombinasi yang didapatkan akan dikalikan dengan 100%. Sehingga jawaban yang didapatkan oleh pengguna akan dalam bentuk persentase.

2.5 Diagnosa

Diagnosa merupakan langkah awal penentuan jenis penyakit dengan cara melakukan penelitian terlebih dahulu ataupun melakukan pemeriksaan berdasarkan gejal-gejala. Pemeriksaan tersebut dilakukan terhadap suatu hal ataupun pemeriksaan medis sebagai penentuan jenis penyakit berdasarkan tanda atau gejala dengan menggunakan cara atau alat laboratorium, foto, uji klinik pembanding diagnosis yang membanding-bandingkan tanda klinik dari suatu penyakit dengan tanda penyakit klinik lain. Kamus Besar Bahasa Indonesia ( 2014).

2.6 Sistem Endokrin

Sistem endokrin adalah sistem kontrol kelenjar tanpa saluran ductless yang menghasilkan hormon yang tersirkulasi di tubuh melalui aliran darah untuk mempengaruhi organ-organ lain. Hormon bertindak sebagai "pembawa pesan" dan dibawa oleh aliran darah ke berbagai sel dalam tubuh, yang selanjutnya akan menerjemahkan "pesan" tersebut menjadi suatu tindakan. Sistem endokrin tidak memasukkan kelenjar eksokrin seperti kelenjar ludah, kelenjar keringat, dan kelenjar-kelenjar lain dalam saluran gastroinstestin. Suminarsih (2011).

2.6.1 Macam-Macam Penyakit Sistem Endokrin A. Diabetes

Gangguan endokrin yang paling umum adalah diabetes mellitus, yang terjadi apabila pankreas tidak menghasilkan insulin yang cukup atau tubuh tidak dapat menggunakan insulin yang tersedia dengan optimal. Gejala diabetes dapat meliputi:.

1. Haus atau lapar yang berlebih 2. Kelelahan

(12)

4. Mual 5. Muntah

6. Gangguan pada penglihatan B. Akromegali

Akromegali adalah gangguan di mana kelenjar pituitari

menghasilkan hormon pertumbuhan yang berlebih. Hal ini menyebabkan pertumbuhan yang berlebih, terutama pada tangan dan kaki. Gejala akromegali biasanya adalah :

1. Ukuran bibir, hidung, atau lidah yang terlalu besar 2. Tangan atau kaki yang bengkak

3. Perubahan struktur tulang muka 4. Nyeri pada tubuh dan sendi 5. Kelelahan

6. kelemahan 7. Sakit kepala

8. Gangguan pada penglihatan. C. Addison

Penyakit Addison ditandai dengan penurunan produksi kortisol dan aldosteron akibat kerusakan kelenjar adrenal. Gejala

Addison biasanya adalah:.

1. Depresi 2. Diare 3. Kelelahan 4. Sakit kepala

5. Napsu makan rendah 6. Tekanan darah rendah

7. Periode menstruasi yang terlewat 8. Mual

9. Penurunan berat badan 10. Kelemahan.

(13)

D. Sindrom Cushing

Sindrom Cushing disebabkan oleh kelebihan kortisol,

dihasilkan oleh kelenjar adrenal. Gejala dari Sindrom Cushing biasanya adalah.

1. Buffalo hump (lemak di antara bahu seperti punuk) 2. Kelelahan

3. Merasa sangat haus 4. Sering buang air kecil 5. Gula darah tinggi 6. Tekanan darah tinggi 7. Mudah marah

8. Kelemahan E. Graves

Penyakit Graves merupakan salah satu jenis hipertiroidisme yang mengakibatkan produksi hormon tiroid. Gejala penyakit Graves biasanya adalah:

1. Mata menonjol 2. Diare 3. Kesulitan tidur 4. Kelelahan 5. Kelemahan 6. Mudah marah

7. Detak jantung berdebar cepat 8. Penurunan berat badan. F. Hashimoto’s Thyroiditis

Hashimoto’s thyroiditis adalah suatu kondisi di mana tiroid

diserang oleh sistem imun, menyebabkan hipotiroidisme dan produksi hormon tiroid yang rendah, seperti :

1. Rambut kering dan rontok 2. Kelelahan

(14)

4. Periode menstruasi yang terlewat 5. Pertambahan berat badan.

G. Hipertiroidisme

Hipertiroidisme adalah kondisi yang ditandai dengan

kelenjar tiroid yang overaktif. Gejala umum dari hipertiroidisme meliputi:

1. Diare

2. Kesulitan tidur 3. Kelelahan 4. Mudah marah

5. Detak jantung berdebar cepat 6. Penurunan berat badan 7. Kelemahan.

H. Hipotiroidisme

Hipotiroidisme merupakan kondisi di mana tiroid

underaktif dan menghasilkan terlalu sedikit hormon tiroid. Gejala umum dari hipotiroidisme meliputi :

1. Sembelit

2. Menurunnya produksi keringat 3. Rambut kering dan rontok 4. Kelelahan

5. Nyeri pada tubuh dan sendi 6. Periode menstruasi yang terlewat 7. Kenaikan berat badan.

I. Prolaktinoma

Prolaktinoma muncul apabila kelenjar pituitari yang

disfungsional menghasilkan hormon prolactin berlebih, yang berguna dalam produksi ASI. Prolaktin berlebih dapat menyebabkan berbagai gejala, seperti :

1. Disfungsi ereksi 2. Kemandulan

(15)

3. Kehilangan libido

4. Periode menstruasi yang terlewat 2.7 Alat Bantu Perancangan Sistem

Alat bantu perancangan sistem merupakan alat yang umumnya digunakan untuk membantu analis dalam membuat model alur jalannya sebuah sistem. Alat bantu perancangan sistem yang akan digunakan dalam penyusunan Tugas Akhir ini adalah Unified Modelling Language (UML).

Menurut Rosa dan Shalahuddin (2014), UML adalah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek. Model ini merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung.

Beberapa jenis diagram yang sering digunakan didalam Unified

Modelling Langeage (UML) adalah :

2.7.1 Use Case Diagram

Menurut Rosa dan Salahuddin (2014), use case diagram mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat.

Tabel 2.4 Simbol Use Case Diagram (Rosa A. S. dan M. Salahuddin, 2014)

Simbol Deskripsi

Use case Fungsionalitas yang disediakan

sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor, biasanya dinyatakan dengan menggunakan kata kerja di awal frase nama use case Aktor / actor Orang, proses atau sistem lain

yang berinteraksi dengan sistem nama use case

(16)

Lanjutan Tabel 2.4 Simbol Use Case Diagram (Rosa A. S. dan M. Salahuddin, 2014).

Simbol Deskripsi

informasi yang akan dibuat itu sendiri.

Asosiasi / assosiation Komunikasi antar aktor dan

use case yang berpartisipasi

pada use case atau use ca se memiliki interaksi dengan aktor

Ekstensi / extend Relasi use case tambahan ke sebuah use case dimana use

case yang ditambahkan dapat

berdiri sendiri walaupun tanpa

use case tambahan itu

Arah panah mengarah pada use case yang ditambahkan; biasanya use case yang menjadi extend-nya merupakan jenis yang sama dengan use case yang menjadi induknya.

Generalisai/generalization Hubungan generalisasi dam spesialisasi (umum – khusus)

Nama aktor

<<extend>>

Validasi username

Validasi user

Validasi sidik jari <<extend>>

(17)

Lanjutan Tabel 2.4 Simbol Use Case Diagram (Rosa A. S. dan M. Salahuddin, 2014)

Simbol Deskripsi

antara dua buah use case dimana fungsi umum dari lainnya, misalnya:

Arah panah mengarah pada use case yang menjadi generalisasinya (umum)

Menggunakan/include/uses elasi use case tambahan ke sebuah use case dimana use case yang ditambahkan memelukan

use case ini untuk menjalankan

fungsinya atau sebagai syarat dijalankan use case ini

Ada dua sudut pandang yang cukup besar mengenai include di

use case :

a. Include berarti use case yang ditambahkan akan selalu dipanggil

b. use case tambahan dijalankan, misal pada kasus berikut :

<<include>>

Hapus data Mengelola data

(18)

Lanjutan Tabel 2.4 Simbol Use Case Diagram (Rosa A. S. dan M. Salahuddin, 2014)

Simbol Deskripsi

c. Include berarti use case yang ditambahkan akan selalu dipanggil

d. use case tambahan dijalankan, misal pada kasus berikut :

2.7.2 Activity Diagram

Menurut Rosa dan Salahuddin (2014), avtivity diagram menggambarkan workflow (alir kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem.

Login Validasi username

(19)

Tabel 2.5 Simbol Activity Diagram (Rosa A. S. dan M. Salahuddin, 2014)

Simbol Deskripsi

Status awal Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal

Aktivitas Aktivitas yang dilakukan

sistem, aktivitas biasanya diawali dengan kata kerj

Percabangan / decision Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu

Merge Sebuah belah ketupat dengan

beberapa aliran masuk dan satu pergi.

Penggabungan / join Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu

Fork Pemecahan dimana satu

aktivitas dipecah menjadi dua aktivitas

(20)

Lanjutan Tabel 2.5 Simbol Activity Diagram (Rosa A. S. dan M. Salahuddin, 2014)

Status akhir Stasus akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir

Swimlane Memisahkan organisasi bisnis

yang bertanggung jawab terhadap aktivitas yang terjadi

2.7.3 Sequence Diagram

Menurut Rosa dan Salahuddin (2014), sequence diagram mengambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek.

Tabel 2.6 Simbol Sequence Diagram ( Rosa A. S. dan M. Salahuddin, 2014)

Simbol Deskripsi

Aktor

atau

tanpa waktu aktif

Orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri

Garis hidup/lifeline Menyatakan kehidupan suatu objek

(21)

Lanjutan Tabel 2.6 Simbol Sequence Diagram ( Rosa A. S. dan M. Salahuddin, 2014)

Simbol Deskripsi

Objek Menyatakan objek yang

berinteraksi pesan

Waktu aktif Menyatakan objek dalam

keadaan aktif dan berinteraksi, semua yang terhubung dengan waktu aktif ini adalah sebuah tahapan yang dilakukan didalamnya, misalnya

Maka cekStatusLogin() dan open() dilakukan di dalam metode login(). Aktor tidak memiliki waktu aktif

Pesan tipe create Menyatakan suatu objek membuat objek yang lain, arahan panah mengarah ke objek yang dibuat

Pesan tipe call Menyatakan bahwa suatu objek memanggil operasi / metode yang ada pada objek lain atau dirinya sendiri.

nama objek : nama kelas

1: login() 2: cekStatusLogin() 3: open()

<<create>>

(22)

Lanjutan Tabel 2.6 Simbol Sequence Diagram ( Rosa A. S. dan M. Salahuddin, 2014)

Simbol Deskripsi

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.

Pesan tipe send Menyatakan bahwa suatu objek mengirimkan data / masukkan / informasi ke objek lainnya, arah panah mengarah pada objek yang dikirimi.

Pesan tipe return Menyatakan bahwa suatu objek yang telah menjalankan operasi/metode menghasilkan suatu kembalian ke objek tertentu. Arah panah mengarah pada objek yang menerima kembalian.

Pesan tipe destroy Menyatakan suatu objek mengakhiri hidup objek lain

(23)

2.7.4 Class Diagram

Menurut Rosa A.S. dan M. Salahuddin (2014), diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem.

Tabel 2.7 Simbol Class Diagram ( Rosa A. S. dan M. Salahuddin, 2014)

Simbol Deskripsi

Kelas Kelas pada struktur sistem

Antarmuka / interface

nama_interface

Sama dengan konsep interface

dalam pemrograman

berorientasi objek

Asosiasi / assosiation Relasi antarkelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity

Asosiasi berarah / directed

assosiation

Relasi antarkelas dengan makna kelas yang satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan

multipicity

Nama kelas +attribut 1 +attribut 2 +operation 1( )

(24)

Lanjutan Tabel 2.7 Simbol Class Diagram ( Rosa A. S. dan M. Salahuddin, 2014)

Simbol Deskripsi

Generalisasi Relasi antar kelas dengan makna generalisasi-spesifikasi (hukum khusus)

Kebergantungan/dependency Relasi antar kelas dengan makna kebergantungan antar kelas

Agregasi/aggregation Relasi antar kelas dengan makna semua-bagian (whole-part)

2.8 Android

2.8.1 Pengertian android

Menurut Nazruddin (2015), Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi.android meupakan generasi baru platform mobile, platform yang memberikan pengembang untuk melakukan pengembangan sesuai dengan yang diharapkan. Sistem operasi yang mendasari android dilisensikan dibawah GNU, General Public Lisensi Versi 2 (GPLv2).

Android (sistem operasi) atau OS Android merupakan sebuah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak.Yanto (2013).

(25)

2.8.2 Versi Android

Ada versi-versi android yang pernah dirilis salah satunya adalah android versi 2.2 (Froyo : Frozen Yoghurt). Pada bulan mei 2010 Android versi 2.2 Rev 1 diluncurkan. Android inilah yang sekarang sangat beredar di pasaran, salah satunya adalah dipakai di Samsung FX tab yang sudah ada di pasaran. Fitur yang tersedia di Android versi ini sudah kompleks diantaranya :

1. Kerangka aplikasi memungkinkan penggunaan dan penghapusan komponen yang tersedia.

2. Dalvik Virtual Machine dioptimalkan untuk perangkat mobile. 3. Grafik: grafik di 2D dan grafis 3D berdasarkan libraries

OpenGL.

4. SQLite: untuk menyimpan data.

5. Mendukung media: audio, video dan berbagai format gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).

Kamera, Global Positioning System (GPS), kompas, dan accelerometer (tergantung hardware).

2.9 Bahasa Pemrograman Java

Java adalah nama sebuah bahasa pemograman yang sangat terkenal. Sebagai bahasa pemograman, java dapat digunakan untuk menulis program. Sebagaimana diketahui, program adalah kumpulan instruksi yang ditujukan untuk komputer. Melalui program, komputer dapat diatur agar melaksanakan tugas tertentu sesuai yang ditentukan oleh pemogram (orang yang membuat program). Bahasa java dikembangkan di Sun Microsystems dan mulai diperkenalkan kepada publik pada tahun 1995. Seperti hal nya C++, java juga merupakan bahasa yang berorientasi objek.dengan demikian java juga memudahkan dalam pembuatan aplikasi yang berskala besar. Kadir (2014).

Java merupakan bahasa pemograman yang tangguh dan terbukti handal pada banyak aplikasi untuk mengembangkan aplikasi-aplikasi pada desktop dan server. Terdapat tiga edisi JAVA : JAVA SE (JAVA standard edition),

(26)

JAVA EE (JAVA ebterprise edition), dan JAVA ME (JAVA micro edition). JAVA SE dapat digunakan untuk mengembangkan aplikasi pada sisi client atau applet. JAVA EE dapat dipakai untuk mengembangkan aplikasi pada sisi

server, seperti JAVA sevlets dan JavaServer Pages. JAVA ME dapat

digunakan untuk mengembangkan aplikasi divais bergerak, seperti telepon genggam. Sianipar (2013).

Menurut Susanto (2011), Java merupakan bahasa pemrograman untuk membangun aplikasi pada sistem operasi Android. Oleh karena itu, untuk membangun aplikasi pada sistem operasi ini diperlukan dasar tentang pemrograman Java. Java merupakan pemrograman berorientasi objek. Oleh karena itu, setiap konsep yang akan diimplementasikan dalam Java berbentuk dalam kelas. Kelas ini mendefiniskan objek-objek yang memiliki kesamaan perilaku dan keadaan. Pada Java terdapat kumpulan kelas standar yang dikenal dengan Application Programming Interface (API) Java, selain itu dapat juga dideskripsikan kelas sendiri sesuai kebutuhan. Sintak dari bahasa pemrograman JAVA sebagai berikut :

a. Case Sensitive: adalah metode yang membedakan penulisan huruf besar dan kecil. Contoh: penulisan Hello dan hello dalam bahasa Java mempunyai arti yang berbeda.

b. Nama Class: semua nama class di Java harus diawali dengan huruf kapital. Atau jika nama class memiliki lebih dari satu kata, setiap kata harus diawali dengan huruf kapital. Contoh : class HelloWorld c. Nama Program: nama program harus sama dengan nama class.

Contoh: jika kita membuat program dengan nama class HelloWorld maka kita harus menyimpannya dengan nama HelloWorld.java

d. Nama Method: nama method harus diawali dengan huruf kecil. Atau jika nama method memiliki lebih dari satu kata, kata kedua dan seterusnya harus diawali dengan huruf besar (kapital). Contoh: public void iniMethodSaya()

(27)

public static void main(String[] args) - merupakan main() method yang akan di eksekusi sebagai main program atau program utama dan setiap program Java harus memiliki main() method.

2.10 SQLite

SQLite adalah salah satu software yang embedded yang sangat populer,

kombinasi SQL interface dan penggunaan memory yang sangat sedikit dengan kecepatan yang sangat cepat. SQLite android termasuk dalam android runtime, sehingga setiap versi dari android dapat membuat database dengan SQLite. Tidak ada database yang otomatis disediakan oleh android, jika kita menggunakan SQLite, kita harus mengcreate database sendiri, mendefinisikan tabelnya, index serta datanya. Banyak software Manager SQLite yang bisa di unduh secara gratis, salah satunya adalah SQLite yang addons dengan Mozilla

Firefox. Nazruddin ( 2015). Berikut adalah tampilan SQLite :

Gambar 2.2 Database SQLite

2.11 Pengujian Sistem

Pengujian merupakan bagian yang penting dalam siklus pengembangan perangkat lunak. Pengujian dilakukan untuk menjamin kualitas dari perangkat lunak. Selain itu, pengujian diharapkan dapat mengetahui keunggulan serta kelemahan sistem tersebut. Pressman (2012).

(28)

2.11.1 Black-Box Testing

Menguji perangkat lunak dari segi spesifikasi fungsionalitas tanpa menguji desain dank ode program. Pengujian dimaksudkan untuk mengetahui apakah fungsi-fungsi, masukan, dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan.

Menurut Pressman (2010), pengujian kotak hitam merupakan pendekatan pelengkap yang dilakukan untuk mengungkap kelas kesalahan yang berbeda dari yang diungkap oleh metode kotak putih. Pengujian kotak hitam berupaya untuk menemukan kesalahan dalam kategori berikut:

1. Fungsi yang salah satu hilang 2. Kesalahan antarmuka

3. Kesalahan dalan struktur data atau akses basis data eksternal 4. Kesalahan perilaku atau kinerja

5. Kesalahan inisialisasi dan penghentian

Tidak seperti pengujian kotak putih, yang dilakukan pada awal proses pengujian, pengujian kotak hitam cenderung diterapkan selama tahap-tahap pengujian selanjutnya, karena pengujian kotak hitam sengaja mengabaikan struktur kendali, perhatian difokuskan pada ranah informasi. Pengujian dirancang untuk menjawab pertanyaan-pernyataan berikut :

1. Bagaimana validitas fungsional diuji?

2. Bagaimana perilaku dan kinerja sistem diuji?

3. Kelas-kelas masukan apakah yang akan membentuk test case yang baik?

4. Apakah sistem sangat sensitif terhadap nilai masukan tertentu? 5. Bagaimana batas-batas kelas data diisolasi?

6. Berapa kecepatan dan volume data yang dapat ditolerir oleh sistem?

(29)

2.11.2 White-Box Testing

Pengujian kotak putih, terkadang disebut juga pengujian kotak kaca (glass-box testing), merupakan sebuah filosofi perancangan test

case yang menggunakan struktur kontrol yang dijelaskan sebagai

bagian dari perancangan peringkat komponen untuk menghasilkan

test case. Dengan menggunakan metode pengujian kotak putih.

Menurut Pressman (2010), dengan menggunakan metode pengujian kotak putih, maka akan memperoleh test case yang:

1. Menjamin bahwa semua jalur indepenen didalam modul dieksekusi sedikitnya satu kali.

2. Melaksanakan semua keputusan logis pada sisi benar dan yang salah.

3. Melaksanakan semua loop pada batas mereka dan dalam batas-batas operasional mereka.

4. Melakukan struktur data internal untuk memastikan kesahihannya.

Kompleksitas siklomatik V(G) ditentukan dengan menerapkan algoritma yang ada. V(G) dapat ditentukan dengan menghitung semua pernyataan kondisional, dengan rumus flow graph

V(G) = E – N + 2 atau V(G) = P + 1 flow graph ….(2.4) Keterangan :

V(G) = jumlah total grafik alir E = jumlah edge grafik alir N = jumlah node grafik alir

Figur

Memperbarui...

Related subjects :