BAB II LANDASAN TEORI 2.1 Tinjauan Pustaka A. Teori Model Waterfall Menurut Sukamto dan Shalahuddin (2014:26), SDLC atau Software Development Life Cycle atau sering disebut juga System Development Life Cycle adalah proses mengembangkan atau mengubah suatu sistem perangkat lunak dengan menggunakan model-model dan metodologi yang digunakan orang untuk mengembangkan sistem-sistem perangkat lunak sebelumnya (berdasarkan best practice atau cara-cara yang sudah terjadi baik). Seperti halnya proses metamorphosis pada kupu-kupu yang indah akan dibutuhkan beberapa tahap untuk dilalui, sama halnya dengan membuat perangkat lunak, memiliki dasar tahapan yang dilalui agar menghasilkan perangkat lunak yang berkualitas. SDLC memiliki beberapa model dalam penerapan tahapan prosesnya. Salah satunya adalah model waterfall. Menurut Sukamto dan Shalahuddin (2014:28) Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier (secuential linier) atau alur hidup klasik (classic life cycle). 8
9 Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengkodean, pengujian dan tahap pendukung (support). Berikut adalah gambar model air terjun. Sistem / Rekayasa Informasi Analisa Desain Pengkodean Pengujian Sumber : Sukamto dan Shalahuddin (2014:29) Gambar II.1. Ilustrasi Waterfall 1. Analisis kebutuhan perangkat lunak Proses pengumpulan kebutuhan dilakukan secara intensif untuk menspesifikasikan kebutuhan perangkat lunak seperti apa yang dibutuhkaan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan. 2. Desain Desain perangkat lunak adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antar muka, dan prosedur pengkodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap
10 analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan. 3. Pembuatan kode program Desian harus ditransalasi ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain. 4. 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. Model Waterfall adalah model SDLC yang paling sederhana. Model ini hanya cocok untuk pengembangan perangkat lunak dengan spesifikasi yang tidak berubah-ubah. B. Teori Metode Inferensi (Inference Method) Menurut Kusrini (2008:8) Inferensi merupakan proses untuk menghasilkan informasi dari fakta yang diketahui atau diasumsikan. Inferensi adalah konklusi logis (logical conclusion) atau implikasi berdasarkan informasi yang tersedia.
11 Ada dua metode inferensi yang penting dalam sistem pakar yaitu: 1. Runut Maju (Forward Chaining) Menurut Wilson dalam Kusrini (2008:8) mengemukakan bahwa menggunakan himpunan aturan kondisi-aksi. Dalam metode ini, data digunakan untuk menentukan aturan mana yang akan dijalankan, kemudian aturan tersebut dijalankan. 2. Runut Balik (Backward Chaining) Menurut Giarattano dan Riley dalam Kusrini (2008:8) mengemukakan bahwa Runut balik merupakan metode penalaran kebalikan dari runut maju. Dalam runut balik penalaran dimulai dengan tujuan kemudian balik ke jalur yang akan mengarah ke tujuan tersebut. C. Unified Modeling Language (UML) Menurut Nugroho (2016:6), UML (Unified Modeling Language) adalah bahasa permodelan untuk sistem atau perangkat lunak yang berparadigma berorientasi objek. Permodelan (modeling) sesungguhnya digunakan untuk penyederhanaan permasalahan-permasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami. Menurut Sukamto dan Shalahuddin (2014:133) UML (Unifed Modeling Language) adalah salah satu standar bahasa yang banyak digunakan di dunia industri untuk mendefinisikan requirement, membuat analisa, & desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek.
12 UML menyediakan 9 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu: 1. Use Case Diagram Menurut Sukamto dan Shalahudin (2014:155) Use case atau diagram use case merupakan permodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsifungsi itu. 2. Sequence Diagram Diagram sekuen menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambarkan diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diintansiasi menjadi objek itu. Membuat diagram sekuen juga dibutuhkan untuk melihat skenario yang ada pada use case. 3. Collaboration Diagram Collaboration Diagram dipakai untuk memodelkan interaksi antar objek di dalam sistem. Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, collaboration diagram lebih fokus pada pemahaman atas keseluruhan operasi yang dilakukan oleh object.
13 4. State Machine Diagram State Machine Diagram atau statechart diagram atau dalam bahasa Indonesia disebut diagram mesin status atau sering juga disebut diagram status yang digunakan untuk menggambarkan perubahan status atau transisi status dari sebuah mesin atau sistem atau objek. Jika diagram sekuen digunakan untuk interaksi antar objek maka diagram status digunakan untuk interaksi didalam sebuah objek. Perubahan tersebut digambarkan dalam suatu grafik berarah. State machine diagram merupakan pengembangan dari diagram Finite State Automata dengan penambahan beberapa fitur dan konsep baru. Diagram Finite State Automata (FSA) ini biasanya diajarkan dalam mata kuliah Automata. State machine diagram cocok digunakan untuk menggambarkan alur interaksi pengguna dengan sistem. 5. Activity Diagram Diagram aktivitas atau activity diagram adalah menggambarkan workflow (aliran kerja) atau aktifitas 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 oleh aktor. Diagram aktivitas juga banyak digunakan juga banyak digunakan untuk mendefinisikan hal-hal sebagai berikut: a. Rancangan proses bisnis dimana setiap urutan aktifitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.
14 b. Urutan atau pengelompokkan tampilan dari sistem atau user interface dimana setiap aktifitas dianggap memiliki sebuah rancangan antarmuka tampilan. c. Rancangan pengujian dimana setiap aktifitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya. d. Rancangan menu yang ditampilkan pada perangkat lunak. 6. Class Diagram 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. Atribut merupakan variable-variabel yang dimiliki oleh suatu kelas. Diagram kelas dibuat agar pembuat program atau programmer membuat kelas-kelas sesuai rancangan didalam diagram kelas agar antara dokumentasi perancangan dan perangkat lunak sinkron. Banyak berbagai kasus, perancangan kelas yang dibuat tidak sesuai dengan kelas-kelas yang dibuat pada perangkat lunak, sehingga tidaklah ada gunanya lagi sebuah perancangan karena apa yang dirancang dan hasilnya tidak sesuai. 7. Object Diagram Diagram objek menggambarkan struktur sistem dari segi penamaan objek dan jalannya objek dalam sistem. Pada diagram objek harus dipastikan semua kelas yang sudah didefinisikan pada diagram kelas harus dipakai objeknya, karena jika tidak, pendefinisian kelas itu tidak dapat dipertanggungjawabkan. Diagram objek juga berfungsi untuk mendefinisikan contoh nilai atau isi dari atribut tiap kelas.
15 8. Component Diagram Diagram komponen atau component diagram dibuat untuk menunjukkan organisasi dan ketergantungan diantara kumpulan komponen dalam sebuah sistem. 9. Deployment Diagram Diagram Deployment atau deployment diagram menunjukkan konfigurasi komponen dalam proses eksekusi aplikasi. Diagram deployment juga dapat digunakan untuk memodelkan hal-hal sebagai berikut: a. Sistem tambahan (embedded system) yang menggambarkan rancangan device, node, dan hardwarenya. b. Sistem terdistribusi murni. c. Rekayasa ulang aplikasi. D. Entity Relationship Diagram (ERD) Menurut Robi (2016:32) ERD adalah diagram untuk menggambarkan desain konseptual suatu basis data rasional. ERD juga merupakan gambaran yang merelasi antara objek yang satu dengan objek yang lain, dari objek dunia nyata yang sering dikenal dengan hubungan antar entitas. Menurut Robi (2016:32) ERD mempunyai 3 komponen utama, yaitu: 1. Entitas (Entity) Entitas adalah suatu objek di dunia nyata yang dapat dibedakan dengan objek lainnya. Objek tersebut dapat berupa orang, benda ataupun hal lainnya.
16 2. Atribut (Attribute) Atribut merupakan semua informasi yang berkaitan dengan entitas. Atribut sering dikenal sebagai properti dari suatu entitas atau objek. 3. Relasi Gambar belah ketupat merupakan perlambangan relasi antar identitas atau sering disebut kerelasian. Menurut Robi (2016:38) ada 3 macam relasi menurut derajatnya, yaitu: 1. Sejenis (Binary) Relasi yang menghubungkan entitas tidak sejenis. kaprodi memimpin Program studi Sumber: Robi (2016:39) Gambar II.2. Derajat Relasi Binary
17 2. Ternaty Relasi yang menghubungkan lebih dari dua entitas yang tidak sejenis. Mahasiswa mendapat Mata Kuliah NIlai Sumber: Robi (2016:39) Gambar II.3. Derajat Relasi Ternaty 3. Unary Entitas yang bekerjasama dengan entitas itu sendiri. Karyawan Mengkoordinasi Sumber: Robi (2016:39) Gambar II.4. Derajat Relasi Unary
18 2.2. Penelitian Terkait Menurut Deby Saputra dkk (2015:29) Kucing adalah salah satu hewan yang popular dikalangan masyarakat. Kepopulerannya membuat jumlah peminat kucing di Indonesia sangatlah besar, namun hal ini tidak diimbangi dengan pengetahuan pemeliharaannya dan ketersediaan dokter hewan yang cukup. Penelitian ini mengembangkan aplikasi sistem pakar unuk diagnosa penyakit kucing. Sistem pakar memiliki 11 basis pengetahuan tentang penyakit kucing, dan menggunakan motor inferensi forward chaining. Sistem pakar memberikan output diagnosa dan penanganan pertolongan pertama penyakit pada kucing bersadarkan input gejala yang dilakukan oleh user. Menurut Nia Kurniati dkk (2017:34) Kucing merupakan hewan yang mudah beradaptasi dan dapat menjadi teman baik bagi manusia. Kecerobohan pemilik dalam menjaga dan merawat kucing dapat mengakibatkan kematian bagi kucing. Salah satu penyakit yang sering dijumpai adalah penyakit kulit pada kucing. Pemahaman masyarakat akan penyakit kulit pada kucing masih rendah. Sehingga masih banyak masyarakat yang masih mengandalkan keahlian dari pakar secara manual. Selain itu, biaya untuk pengobatan ke dokter hewan sangatlah mahal dan keberadaan dokter hewan masih sangat sedikit. Kesalahan pemberian obat dapat memperparah kondisi kucing. Solusi dari permasalahan tersebut dapat dibangun melalui sistem pakar. Sistem pakar merupakan sistem penalaran yang dapat menentukan jenis penyakit seperti halnya dokter.