BAB II LANDASAN TEORI
2.1
Konsep Dasar Sistem
2.1.1 Definisi Sistem Menurut Prof. Dr. Mr. S. Prajudi Atmosudirdjo menyatakan bahwa suatu sistem terdiri atas objek-objek, atau unsur-unsur, atau komponenkomponen yang berkaitan dan berhubungan satu sama lainnya sedemikian rupa sehingga unsur-unsur tersebut merupakan suatu kesatuan pemrosesan atau pengolahan yang tertentu.1 Model Umum sebuah sistem terdiri dari input, proses, dan output. Hal ini merupakan konsep sebuah sistem yang sangat sederhana mengingat sebuah sistem dapat mempunyai beberapa masukan dan keluaran sekaligus. Selain itu sebuah sistem juga memiliki karakteristik atau sifat-sifat tertentu yang mencirikan bahwa hal tersebut bisa dikatakan sebagai suatu sistem. Adapun karakterisik yang dimaksud adalah sebagai berikut : 1. Komponen Sistem (Components) Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi yang bekerja sama membentuk satu kesatuan. Komponen-komponen sistem tersebut dapat berupa suatu bentuk 1
Sutabri, Tata. Analisa Sistem Informasi. Hal : 10.
11
12
subsistem. Setiap subsistem memiliki sifat-sifat dari sistem yang menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. Suatu sistem dapat mempunyai sistem lebih besar yang disebut dengan Supra Sistem. 2. Batasan sistem (Boundary) Ruang lingkup sistem merupakan daerah yang membatasi antara sistem dengan sistem lainnya atau sistem dengan lingkungan luarnya. Batasan sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan yang tidak dapat dipisah-pisahkan. 3. Lingkungan Luar Sistem (Environment) Bentuk apapun yang ada diluar ruang lingkup atau batasan sistem yang mempengaruhi operasi sistem tersebut dengan lingkungan luar sistem. 4. Penghubung Sistem (Interface) Media yang menghubungkan sistem dengan subsistem yang lain disebut dengan penghubung sistem atau interface. Penghubung ini memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem yang lain. 5. Masukan Sistem (Input) Energi yang dimasukkan ke dalam sistem disebut masukan sistem, yang dapat berupa pemeliharaan (maintenance input) dan sinyal (signal input).
13
6. Keluaran Sistem (Output) Hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. Keluaran ini merupakan masukan bagi subsistem yang lain. 7. Pengolah Sistem (Proses) Suatu sistem dapat mempuyai suatu proses yang akan mengubah masukan menjadi keluaran. 8. Sasaran Sistem (Objective) Suatu sistem memiliki tujuan dan sasaran yang pasti dan bersifat deterministik.2
2.1.2 Daur Hidup Sistem Siklus hidup sistem (system life cycle) adalah proses evolusioner yang diikuti dalam penerapan sistem atau subsistem informasi berbasisi komputer. Siklus hidup sistem terdiri dari serangkaian tugas yang mengukui langkah-langkah pendekatan sistem, karena tugas-tugas tersebut mengikuti pola yang teratur dan dilakukan secra top down. Siklus hidup sistem sering disebut
sebagai
pendekatan
air
terjun
(waterfall
approach)
bagi
pembangunan dan pengembangan sistem. Adapun beberapa fase atau tahapan dari daur hidup suatu sistem, diantaranya adalah :
2
Sutabri, Tata. Analisa Sistem Informasi. Hal : 12-13.
14
1. Mengenali adanya kebutuhan Sebelum segala sesuatunya terjadi, timbul suatu kebutuhan atau problema yang harus dapat dikenali sebagaimana adanya. Kebutuhan dapat terjadi sebagai hasil perkembangan organisasi. Volume kebutuhan itu meningkat melebihi kapasitas dari sistem yang ada. Semua kebutuhan ini harus dapat didefinisikan dengan jelas. Tanpa adanya kejelasan dari kebutuhan yang ada, pembangunan sistem akan kehilangan arah dan efektivitasnya. 2. Pembangunan Sistem Suatu proses atau seperangkat prosedur yang harus diikuti guna menganalisis kebutuhan yang timbul dan membangun suatu sistem untuk memenuhi kebutuhan tersebut. 3. Pemasangan Sistem Setelah tahap pembangunan sistem selesai, sistem kemudian akan dioperasikan. Pemasangan sistem merupakan tahap yang penting dalam daur hidup
sistem, dimana perahlihan dari tahap
pembangunan menuju tahap operasional adalah pemasangan sistem, yang merupakan langkah akhir dari suatu pembangunan sistem. 4. Pengoperasian Sistem Program-program komputer dan prosedur-prosedur pengoperasian yang membentuk suatu sistem informasi semuanya bersifat statis sedangkan organisasi yang ditunjang oleh sistem informasi selalu
15
mengalami perubahan karena pertumbuhan kegiatan, perubahan peraturan dan kebijaksanaan ataupun kemajuan teknologi. Untuk mengatasi perubahan perubahan tersebut, sistem harus diperbaiki atau diperbaharui. 5. Sistem menjadi usang Kadang-kadang perubahan yang terjadi begitu drastis sehingga tidak dapat diatasi hanya dengan melakukan perbaikan pada sistem yang berjalan. Tiba saat dimana secara ekonomis dan teknis, sistem yang ada sudah tidak layak lagi untuk dioperasikan dan sistem yang baru perlu dibangun untuk menggantikannya. Sistem informasi kemudian akan melanjutkan daur hidupnya. Sistem dibangun untuk memenuhi kebutuhan. Sistem beradaptasi terhadap aneka perubahan lingkungannya yang dinamis hingga kemudian sampai pada kondisi dimana sistem tidak dapat lagi beradaptasi. Sistem baru kemudian dibangun untuk menggantikannya. Tentang duar hidup sistem ini dapat dilihat pada Gambar 2.1 dibawah. Mengenali Adanya Kebutuhan
Pembangunan Sistem
Sistem Menjadi Usang
Pemasangan Sistem
Pengoperasian Sistem
Gambar 2.1 Daur Hidup Sistem 3
3
Sutabri, Tata. Analisa Sistem Informasi. Hal : 15-17.
16
2.1.3 Definisi Data Informasi dan data merupakan satu kesatuan yang sangat erat hubungannya. Sama halnya dengan pendefinisian informasi dan data itu sendiri, banyak orang yang salah mengartikannya antara data dan informasi. Data adalah kenyataan yang menggambarkan suatu kejadian serta merupakan suatu kesatuan yang nyata, merupakan bentuk yang masih mentah sehingga perlu diolah lebih lanjut melalui suatu model untuk menghasilkan informasi. Sedangkan informasi adalah data yang telah diklasifikasikan atau diolah atau diinterpretasikan untuk digunakan dalam proses pengambilan keputusan.4
2.2
Sistem Pakar
Pakar atau ahli ialah seseorang yang banyak dianggap sebagai sumber tepercaya atas teknik maupun keahlian tertentu yang bakatnya untuk menilai dan memutuskan sesuatu dengan benar, baik, maupun handal sesuai dengan aturan dan status oleh sesamanya ataupun khayalak dalam bidang khusus tertentu. Lebih umumnya, seorang pakar ialah seseorang yang memiliki pengetahuan ataupun kemampuan luas dalam bidang studi tertentu. Para pakar dimintai nasihat dalam bidang terkait mereka, namun mereka tidak selalu setuju dalam kekhususan bidang studi. Melalui pelatihan, pendidikan, profesi, publikasi, maupun pengalaman, seorang pakar dipercaya memiliki
4
Sutabri, Tata. Analisa Sistem Informasi. Hal : 18.
17
pengetahuan khusus dalam bidangnya di atas rata-rata orang, di mana orang lain bisa secara resmi (sah) mengandalkan pendapat pribadi.5
2.2.1 Definisi Sistem Pakar Sistem Pakar adalah salah satu cabang dari AI yang membuat penggunaan secara luas knowledge yang khusus untuk penyelesaian masalah tingkat manusia yang pakar. Seorang pakar adalah orang yang mempunyai keahlian dalam bidang tertentu, yaitu pakar yang mempunyai knowledge atau kemampuan khusus yang orang lain tidak mengetahui atau mampu dalam bidang yang dimilikinya. Gambar 2.2 dibawah Menggambarkan konsep dasar suatu sistem pakar knowledge-base. Pengguna menyampaikan fakta atau informasi untuk sistem pakar dan kemudian menerima saran dari pakar atau jawaban ahlinya. Bagian dalam sistem pakar terdiri dari 2 komponen utama yaitu knowledge base yang berisi knowledge dan mesin inferensi yang menggambarkan kesimpulan. Kesimpulan tersebut merupakan respons dari sistem pakar atau permintaan pengguna.
Gambar 2.2 konsep dasar fungsi sistem pakar 6 5 6
http://id.wikipedia.org/wiki/Pakar. [Anonymous], pada tanggal 10 april 2014 pukul 19.44. Arhami, Muhammad. Konsep Dasar Sistem Pakar. Hal : 3-4.
18
Ada beberapa alasan mendasar mengapa sistem pakar dikembangkan untuk menggantikan seorang pakar,diantaranya : 1. Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi. 2. Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar. 3. Seorang pakar akan pensiun atau pergi. 4. Seorang pakar adalah mahal. 5. Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat (hostile environtment). Tujuan dari sebuah sistem pakar adalah untuk mentransfer kepakaran yang dimiliki seorang pakar ke dalam komputer,dan kemudian kepada orang lain (nonexpert). Aktivitas yang dilakukan untuk memindahkan kepakaran adalah : 1. Knowledge Acquisition (dari pakar atau sumber lainnya). 2. Knowledge Representation (ke dalam komputer). 3. Knowledge Inferencing. 4. Knowledge Transfering. Ada beberapa keunggulan dari sistem pakar,yaitu : 1. Menghimpun data dalam jumlah yang sangat besar. 2. Menyimpan data tersebut untuk jangka waktu yang panjang dalam suatu bentuk tertentu. 3. Mengerjakan perhitungan secara cepat dan tepat dan tanpa jemu mencari kembali data yang tersimpan dengan kecepatan tinggi.
19
Sementara kemampuan sistem pakar diantaranya adalah : 1. Menjawab berbagai pertanyaan yang menyangkut bidang keahliannya. 2. Bila diperlukan dapat menyajikan asumsi dan alur penalaran yang digunakan untuk sampai ke jawaban yang dikehendaki. 3. Menambah fakta kaidah dan alur penalaran sahih yang baru ke dalam otaknya. Ada banyak keuntungan bila menggunakan sistem pakar, yaitu : 1. Menjadikan pengetahuan dan nasehat lebih mudah didapat. 2. Meningkatkan output dan produktivitas. 3. Menyimpan kemampuan dan keahlian pakar. 4. Meningkatkan
penyelesaian
masalah
menerusi
paduan
pakar,
penerangan, sistem pakar khas. 5. Meningkatkan reliabilitas. 6. Memberikan respons (jawaban) yang tepat. 7. Merupakan panduan yang intelligence (cerdas). 8. Dapat bekerja dengan informasi yang kurang lengkap dan mengandung ketidak pastian. 9. Intelligence database (basis data cerdas), bahwa sistem pakar dapat digunakan untuk mengakses basis data dengan cara cerdas (Kerschberg : 86, Schur : 88). Selain keuntungan-keuntungan diatas, sistem pakar seperti halnya sistem lainnya, juga memiliki kelemahan, diantaranya adalah :
20
1. Masalah dalam mendapatkan pengetahuan di mana pengetahuan tidak selalu bisa didapatkan dengan mudah karena kadangkala pakar dari masalah yang kita buat tidak ada, dan kalaupun ada kadang-kadang pendekatan yang dimiliki oleh pakar berbeda-beda. 2. Untuk membuat suatu sistem pakar yang benar-benar berkualitas tinggi sangatlah sulit dan memerlukan biaya yang sangat besar untuk pengembangan dan pemeliharaannya. 3. Boleh jadi sistem tidak dapat membuat keputusan. 4. Sistem pakar tidaklah 100% menguntungkan, walaupun seorang tetap tidak sempurna atau tidak selalu benar. Oleh karena itu perlu diuji ulang secara teliti sebelum digunakan. Dalam hal ini peran manusia tetap merupakan faktor dominan. Kelemahan-kelemahan atau kekurangan dari sistem pakar tersebut bukanlah sama sekali tidak bisa diatasi, tetapi dengan terus melakukan perbaikan dan pengolahan berdasarkan pengalaman yang telah ada maka hal itu diyakini akan dapat diatasi, walaupun dalam waktu yang panjang dan terus menerus.7
2.2.2 Mesin Inferensi Komponen ini mengandung mekanisme pola pikir dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Mesin inferensi adalah program komputer yang memberikan metodologi untuk penalaran
7
Arhami, Muhammad. Konsep Dasar Sistem Pakar. Hal : 7-11.
21
tentang informasi yang ada dalam basis pengetahuan dan dalam workspace, dan untuk memformulasikan kesimpulan (turban : 1995). Kebanyakan sistem pakar berbasis aturan menggunakan strategi inferensi yang dinamakan modus ponen. Berdasarkan strategi ini, jika terdapat aturan “IF A THEN B”, dan jika diketahui bahwa A benar, maka dapat disimpulkan bahwa B juga benar. Strategi inferensi modus ponen dinyatakan dalam bentuk :
[A AND (A
Dengan A dan A
B)]
B
B adalah proposisi-proposisi dalam basis pengetahuan.
Terdapat 2 pendekatan untuk mengontrol inferensi dalam sistem pakar berbasis aturan, yaitu pelacakan ke belakang (Backward Chaining) dan pelacakan ke depan (Forward Chaining). 1. Pelacakan ke belakang (Backward Chaining) 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 dengan kesimpulannya. Proses berlanjut sampai semua kemungkinan ditemukan. Gambar 2.3 menunjukan proses backward chaining.
22
Gambar 2.3 proses Backward Chaining 2. 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 ke depan mencari fakta yang sesuai dengan bagian IF dari aturan IF-THEN. Gambar dibawah menunjukan proses forward chaining.
Gambar 2.4 proses Forward Chaining Kedua metode inferensi tersebut dipengaruhi oleh tiga macam penelusuran, yaitu Depth-first search, Breath-first search dan Best-first search. 1. Depth-first search, melakukan penelusuran kaidah secara mendalam dari simpul akar bergerak menurun ke tingkat dalam yang berurutan. 2. Breadth-first search, bergerak dari simpul akar, simpul yang ada pada setiap tingkat diuji sebelum pindah ke tingkat selanjutnya. 3. Best-first search, bekerja berdasarkan kombinasi kedua metode sebelumnya.
23
Start
Goal (End)
Gambar 2.5 Diagram Alir Teknik Penelusuran Depth First Search
Start Level 0
Level 1
Level 2
Goal Gambar 2.6 diagram alir teknik penelusuran Breadth First Search Dalam memilih apakah akan menggunakan pelacakan ke depan atau pelacakan ke belakang, semuanya bergantung masalah yang akan dibuat sistem pakarnya, dan belum dapat dibuktikan mana yang lebih baik diantara kedua metode inferensi ini.
24
Untuk sebuah sistem pakar yang besar, dengan jumlah rule yang relatif banyak, metode pelacakan kedepan akan dirasakan sangat lamban dalam pengambilan kesimpulan, sehingga untuk sistem-sistem yang besar digunakan metode pelacakan ke belakang.8
2.2.3 Definisi Deteksi Usaha menemukan dan menentukan keberadaan, anggapan, atau kenyataan: dr hasil dapat diketahui siapa pelaku kejahatan itu; mendeteksi untuk menemukan atau menentukan keberadaan atau kenyataan sesuatu; melacak; terdeteksi untuk dapat dideteksi; selesai dideteksi: kasus kejahatan itu tidak dengan baik karena banyak hambatan dari oknum-oknum tertentu; pendeteksian dan proses, cara, perbuatan mendeteksi; pelacakan.9
2.2.4 Definisi Handphone Telepon seluler (ponsel) atau telepon genggam (telgam) atau handphone (HP) adalah perangkat telekomunikasi elektronik yang mempunyai kemampuan dasar yang sama dengan telepon konvensional saluran tetap, namun dapat dibawa ke mana-mana (portabel, mobile) dan tidak perlu disambungkan dengan jaringan telepon menggunakan kabel (nirkabel; wireless). Saat ini Indonesia mempunyai dua jaringan telepon nirkabel yaitu sistem GSM (Global System for Mobile Telecommunications)
8
Arhami, Muhammad. Konsep Dasar Sistem Pakar. Hal : 19-21. Hidayat, Arif. “Pengertian Deteksi” diakses dari http://artikata1.blogspot.com/2013/08/pengertian-deteksi.html, pada tanggal 14 april 2014 pukul 23.32. 9
25
dan sistem CDMA (Code Division Multiple Access). Badan yang mengatur telekomunikasi seluler Indonesia adalah Asosiasi Telekomunikasi Seluler Indonesia (ATSI).10 Hardware merupakan serangkaian piranti elektronik yang tercompact pada handphone yang berfungsi saling terkait antar piranti menjadi satu bagian yang tidak terpisahkan.
Gambar 2.7 Komponen Hardware Handphone Hardware utama dari handphone antara lain rangkaian transmisi, rangkaian receiver (penerima), power supply, penguat sinyal, komponen input, dan komponen output. Berikut adalah penjelasannya : 1. Power
Supply,
Baterai
berfungsi
memberikan
tegangan
untuk
membangkitkan seluruh piranti elektronik yang terkait dalam handphone,
10
http://id.wikipedia.org/wiki/Telepon_genggam. [Anonymous], pada tanggal 12 april 2014 pukul 20.34.
26
Berkenaan dengan power supply di handphone terdapat sebuah integrated circuit (IC) power supply yang berfungsi mengatur masukan tegangan secara otomatis saat handphone di charge. IC power supply akan memutus tegangan dari charger ke handphone saat baterai telah terisi penuh, sehingga baterai tidak overload dan dapat mengurangi resiko baterai droop.
Gambar 2.8 Power Supply 2. Rangkaian Transmisi, Berfungsi mentransmisikan gelombang radio (radio frequency atau RF). RF dipancarkan menuju stasiun relay operator sim-card base transreciever system (BTS) berupa sinyal audio, grafik, dan alfonumerik analog. Rangkaian transmisi memungkinkan mengirim gelombang yang berisi data selanjutnya dapat diterima handphone lain. Pada handphone tertentu juga dilengkapi dengan infrared dan Bluetooth. Infrared dan Bluetooth juga termasuk dalam rangkaian transmisi yang
27
dapat berupa ringtone, gambar, phone book, bahkan klip video maupun musik (MP3).
Gambar 2.9 Rangkaian Transmisi 3. Rangkaian Receiver (penerima), Merupakan kebalikan dari rangkaian transmitter yang berfungsi sebagai pengolah dan penyaring sinyal yang diterima handphone dari operator sim-card (BTS). Rangkaian receiver dilengkapi dengan frequency shintesizer (osilator frequency) yang merupakan IC pembangkit sinyal frequensi yang memiliki jalur 26MHz dan berfungsi menerima data yang berupa suara, grafik, dan alfanumerik.
Gambar 2.10 Rangkaian Receiver (Penerima) 4. Komponen Penguat Sinyal, Berfungsi menguatkan daya penerimaan sinyal gelombang elektromagnetik operator sim-card agar diterima baik
28
dan jelas oleh handphone. Komponen penguat sinyal terdiri antena dan switch antena. Pada handphone keluaran lama, antena menjulur keluar dari body handphone (external). Saat ini kebanyakan handphone telak banyak menggunakan antena yang tidak tampak menjulur keluar (internal). Switch antena berfungsi sebagai duplexer atau memungkinkan terjadi komunikasi dua arah secara otomatis. Pada perangkat (hand talky), switch antena masih menggunakan half duplexer atau komunikasi satu jalur, sehingga pada saat berkomunikasi pengguna hand talky harus bergantian dalam mengirim atau menerima informasi.
Gambar 2.11 Komponen Penguat Sinyal 5. Komponen Input, Merupakan pendukung utama handphone untuk memasukkan data, antara lain keypad dan microphone, saat ini kebanyakan handphone telah dilengkapi dengan komponen input pendukung seperti radio, kamera, dan pengaturan ringtone atau gambar.
29
Gambar 2.12 Komponen Input 6. Komponen Output, Merupakan pendukung utama handphone sebagai sarana hasil keluaran olahan data, antara lain speaker, liquid crystal device (LCD), light emiting dioda (LED), dan vibrator.
Gambar 2.13 Komponen Output Penjelasannya adalah sebagai berikut : a. Speaker berfungsi mengubah sinyal listrik menjadi suara.
30
Gambar 2.14 Speaker b. LCD berupa crystal cair yang terpadu sebagai media untuk mengubah sinyal elektrik menjadi karakter huruf dan angka. LCD secara umum berfungsi menampilkan data keluaran dari sistem yang terdapat dalam handphone. Data keluaran dapat berupa huruf, angka, pesan, penunjuk waktu, indikator baterai dan indikator sinyal.
Gambar 2.15 LCD c. LED merupakan rangkaian dioda yang dapat menyala jika terdapat arus yang melalui terminal positif dan terminal negatif.
31
Gambar 2.16 LED d. Vibrator merupakan motor yang digerakkan secara otomatis oleh baterai yang dapat menghasilkan getaran mekanis. Motor bekerja secara otomatis pada saat handphone menerima sinyal elektromagnetik dari luar, dapat berupa pesan singkat (SMS) maupun saat menerima panggilan dari luar.
Gambar 2.17 Vibrator 11
11
Fadlul, Hwachid. “Komponen Hardware Pada Ponsel” diakses dari http://ilmuhandphoneku.blogspot.com/2013/04/komponen-hardware-pada-ponsel.html, pada tanggal 15 april 2014 pukul 21.55.
32
2.2.5 Definisi Metode Metode berasal dari Bahasa Yunani “Methodos’’ yang berarti cara atau jalan yang ditempuh. Sehubungan dengan upaya ilmiah, maka metode menyangkut masalah cara kerja untuk dapat memahami objek yang menjadi sasaran ilmu yang bersangkutan. Fungsi metode berarti sebagai alat untuk mencapai tujuan.12
2.2.6 Pencarian Melebar Pertama (Breadth First Search) Pada metode breadth-first search, semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1. Pencarian dimulai dari node akar terus ke level ke-1 dari kiri ke kanan, kemudian berpindah ke level berikutnya demikian pula dari kiri ke kanan hingga ditemukannya solusi. Lihat gambar dibawah ini :
Gambar 2.18 Metode Breadth First Search
12
Setiawan, Topan. “Pengertian dan Definisi Metode, Penelitian dan Metode Penelitian” diakses dari http://setiawantopan.wordpress.com/2012/02/22/metode-penelitian-dan-metode-penelitian/, pada tanggal 20 april 2014 pukul 19.00.
33
1. Algoritma a. Buat suatu variabel Node_List dan tetapkan sebagai keadaan awal. b. Kerjakan langkah-langkah berikut ini sampai tujuan tercapai atau Node_List dalam keadaan kosong : 1) Hapus elemen pertama dari Node_List, sebut dengan nama E. jika Node_List kosong, keluar. 2) Pada setiap langkah yang aturannya cocok dengan E, kerjakan : a) Aplikasikan aturan tersebut untuk membentuk suatu keadaan baru. b) Jika keadaan awal adalah tujuan yang diharapkan, sukses dan keluar. c) Jika tidak demikian, tambahkan keadaan awal yang baru tersebut pada akhir Node_List. 2. Keuntungan a. Tidak akan menemui jalan buntu. b. Jika ada satu solusi, maka breadth first search akan menemukannya. Dan jika ada lebih dari satu solusi, maka solusi minimum akan ditemukan. 3. Kelemahan a. Membutuhkan memori yang cukup banyak, karena menyimpan semua node dalam satu pohon. b. Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk mendapatkan solusi pada level yang ke-(n+1).
34
4. Analisis ruang dan waktu a. Diasumsikan : 1) Ada satu solusi (1 tujuan ditemukan) pada pohon. 2) Pohon pelacakan memiliki cabang yang selalu sama, yaitu sebanyak b. 3) Tujuan dicapai pada level ke-d. 4) Tujuan dicapai pada pertengahan pohon (kondisi rata-rata). b. Analisis Ruang 1) Antrian pertama memiliki 1 keadaan. 2) Setelah mencapai langkah pertama, antrian akan berisi b keadaan. 3) Pemrosesan setiap b keadaan pada level-0 akan menambahkan b keadaan lagi pada antrian. 4) Sehingga setelah dilakukan pemrosesan semua keadaan pada level ke-d, maka antrian menyimpan keadaan sebanyak bd-1. 5) Karena diasumsikan bahwa tujuan terletak ditengah, maka antrian akan menyimpan bd-1/2 keadaan. Lihat gambar dibawah ini :
Gambar 2.19 Analisis Ruang Metode Breadth First Search
35
c. Analisis Waktu 1) Ukuran waktu disini diambil dari banyaknya keadaan yang dikunjungi. Jika diasumsikan bahwa setiap node membutuhkan waktu yang sama dalam pemrosesan, maka : Waktu = waktu untuk memproses node-node di level ke-1 + waktu untuk memproses node-node dilevel ke-2 + … + waktu untuk memproses node-node dilevel ke-(d-1) + waktu untuk memproses node-node dilevel ke-(d)/2 = 1 + b + b2 + b3 + … + bd-1 + bd/2 = O(bd) 13
2.3
UML (Unified Modeling Language)
Unified modeling language adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (OO).14 Dengan menggunakan UML, kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan
13 14
Kusumadewi, Sri. Artificial Intelligence. Hal : 23-26. Fowler, Martin. UML Distilled Edisi 3. Hal : 1.
36
operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax atau semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax
mendefinisikan
bagaimana
bentuk-bentuk
tersebut
dapat
dikombinasikan.15 Notasi UML dibuat sebagai kolaborasi dari Grady Booch DR.James Rumbough, Ivar Jacobson, Rebecca Wirfs-Brock, Peter Yourdon, dan lainnya. Jacobson menulis tentang pendefinisian persyaratanpersyaratan sistem yang disebut use case, juga mengembangkan sebuah metode untuk perancangan sistem yang disebut Object Oriented Software Engineering (OOSE) yang berfokus pada analisis. Booch, Rumbough dan Jacobson biasa disebut dengan tiga sekawan (three amigos). Semuanya bekerja di Rational Software Corporation dan berfokus pada standarisasi dan perbaikan ulang UML. Simbol UML mirip dengan Booch, notasi OMT, dan juga ada kemiripan dengan notasi lainnya. Penggabungan beberapa metode menjadi UML dimulai pada tahun 1993. Setiap orang dari tiga sekawan di Rational mulai menggabungkan idenya dengan metode-metode lainnya. Pada akhirnya tahun 1995 Unified Method versi 0.8 diperkenalkan. Unified Method diperbaiki dan diubah menjadi UML pada tahun 1996, 15
Jatnika, Hendra. “Metodologi Berorientasi Objek” diakses dari http://www.hendra-jatnika.web.id/index.php/akdm/know/doc_download/34-teori-mbo, pada tanggal 25 april 2014 pukul 08.00.
37
UML 1.0 disahkan dan diberikan pada Object Technology Group (OTG) pada tahun 1997, dan pada tahun itu juga beberapa perusahaan pengembang utama perangkat lunak mulai mengadopsinya. Pada tahun yang sama OMG merilis UML 1.1 sebagai standar industri.16
2.3.1 Diagram-Diagram Dalam UML Untuk mendapatkan banyak pandangan terhadap sistem yang akan dibangun, UML menyediakan beberapa diagram visual yang menunjukkan berbagai aspek dalam sistem. Terdapat beberapa diagram dalam UML yang digunakan oleh penulis, diantaranya yaitu : use case diagram, activity diagram dan sequence Diagram. 1. Use Case Diagram Diagram use case menunjukkan tiga aspek dari sistem yaitu : actor, use case dan system atau sub system boundary. Actor mewakili peran orang, sistem yang lain atau alat ketika berkomunikasi dengan use case. Ilustrasi actor, use case dan boundary dapat dilihat pada gambar 2.20 dibawah.
Sistem
Actor
Use Case
Actor
Gambar 2.20 Use Case Model
16
Sholiq. Pemodelan Sistem Informasi Berorientasi Objek dengan UML. Hal : 6-7.
38
Diagram use case atau use case diagram menyajikan interaksi antara use case dan aktor. Dimana, aktor dapat berupa orang, peralatan, atau sistem lain yang berinteraksi dengan sistem yang sedang dibangun. Use case menggambarkan fungsionalitas sistem atau persyaratanpersyaratan yang harus dipenuhi sistem dari pandangan pemakai.
Mentransfer Uang
Mendepositokan Dana
Mengganti PIN Petugas Bank
Customer
Mengecek Saldo
Membayar Kredit Sistem Kredit Menarik Uang
Gambar 2.21 Diagram Use Case Untuk Sistem ATM Gambar
diatas
merupakan
contoh
diagram
use
case
yang
menunjukkan interaksi antara use case dan aktor untuk sistem ATM. Pada contoh ini, aktor pelanggan menggunakan beberapa use case, antara lain : menarik uang, mendepositkan dana, mentransfer uang, mengecek saldo, membayar kredit, dan mengganti PIN. Petugas bank dapat mengganti PIN pelanggan. Use case membayar kredit memberikan arah panah ke aktor sistem kredit, dimana merupakan aktor berupa sistem lain yang menerima informasi atau data dari sistem ATM. 17
17
Sholiq. Pemodelan Sistem Informasi Berorientasi Objek dengan UML. Hal : 7-8.
39
2. Activity Diagram Activity diagram adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku paralel sedangkan flowchart tidak bisa.18 Diagram aktivitas atau activity diagram menggambarkan aliran fungsionalitas sistem. Pada tahap pemodelan bisnis, diagram aktivitas dapat digunakan untuk menunjukkan aliran kerja bisnis (business work flow). Dapat juga digunakan untuk menggambarkan aliran kejadian (flow of events) dalam use case. Berikut contoh diagram aktivitas dimana aktivitas dalam diagram direpresentasikan dengan bentuk bujur sangkar bersudut tidak lancip, yang di dalamnya berisi langkah-langkah apa yang sedang terjadi dalam aliran kerja. Ada sebuah keadaan mulai (start state) yang menunjukkan dimulainya aliran kerja, dan sebuah keadaan selesai (end state) yang menunjukkan akhir diagram, titik keputusan dipresentasikan dengan diamond. Diagram aktivitas tidak perlu dibuat untuk setiap aliran kerja, tetapi diagram ini akan sangat berguna untuk aliran kerja yang kompleks dan melebar. Contoh diagram aktivitasnya dapat dilihat pada gambar 2.22 dibawah.
18
Munawar. Pemodelan Visual dengan UML. Hal : 109.
40
Bagian Layanan Pelanggan
Manager Departemen Kredit
Set Batas Kredit
Menghimpun Informasi Pelanggan
do/ Cek histori kredit pelanggan
Membuka Account Kredit Baru
Account
Pelanggan
Review Histori Kredit Membatalkan Account
Menerima Kredit
Account [Disetujui]
Account
[Baru] [Buka] Account [Dibatalkan]
Menyetujui Account
Menandatangani Surat Perjanjian
Gambar 2.22 Contoh Alira Kerja (Workflow) Dengan Diagram Aktivitas 3. Sequence Diagram Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah skenario. Diagram ini menunjukkan sejumlah contoh obyek dan message (pesan) yang diletakkan diantara obyek-obyek ini di dalam use case. Komponen utama sequence diagram terdiri atas obyek yang dituliskan dengan kotak segiempat bernama. Message diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan progress vertical. 1. Obyek atau Participant Obyek diletakkan di dekat bagian atas diagram dengan urutan dari kiri ke kanan. Mereka diatur dalam urutan guna menyederhanakan diagram. Setiap participant terhubung dengan garis titik-titik yang disebut lifeline. Sepanjang lifeline ada kotak yang disebut
41
activation. Activation mewakili sebuah eksekusi operasi dari participant. Panjang kotak ini berbanding lurus dengan durasi activation. Berikut gambar 2.23 adalah gambar participant pada sebuah sequence diagram.
Gambar 2.23 Participant Pada Sebuah Sequence Diagram 2. Message Sebuah message bergerak dari satu participant ke participant yang lain dan dari satu lifeline ke lifeline yang lain. Sebuah participant bisa mengirim sebuah message kepada dirinya sendiri. Sebuah message bisa jadi simple, synchronous atau asynchronous. Message yang simple adalah sebuah perpindahan (transfer) control dari satu participant ke participant yang lainnya. Jika sebuah participant mengirimkan sebuah message synchronous, maka jawaban atas message tersebut akan ditunggu sebelum diproses dengan urusannya. Namun jika message asynchronous yang dikirimkan, maka jawaban atas message tersebut tida perlu ditunggu. Simbol message pada sequnce diagram bisa dilihat pada gambar 2.24 dibawah.
42
Asynchronous
Simple Synchronous
Gambar 2.24 Simbol-simbol Message 3. Time Time adalah diagram yang mewakili waktu pada arah vertical. Waktu dimulai dari atas ke bawah. Message yang lebih dekat dari atas akan dijalankan terlebih dahulu dibanding message yang lebih dekat ke bawah. Berdasarkan penjelasan yang ada, tampak bahwa sequence diagram menunjukkan dua dimensi. Dimensi dari kiri ke kanan menunjukkan tata letak obyek atau participant dan dimensi dari atas ke bawah menunjukkan lintasan waktu.
Actor
Name 1
Name 2
Participant (Obyek) Activation Message
Lifeline
Gambar 2.25 Simbol-simbol Yang Ada Pada Sequence Diagram Gambar diatas menunjukkan esensi simbol dari sequence diagram dan simbol kerjanya secara bersama-sama. Participant terletak disebelah atas. Setiap lifeline menggunakan garis putus-putus yang menurun
43
dari
participant.
Garis
yang
solid
dengan
tanda
panah
menghubungkan antara satu lifeline dengan lifeline yang lain dan mewakili sebuah message dari satu participant ke participant yang lain. Dari gambar tersebut terlihat seseorang actor menginisialisasi sequence diagram meskipun actor bukan bagian dari sequence diagram.19 Berikut contoh dari sequence diagram, misalkan dalam use case “menarik uang”. Disini mempunyai beberapa kemungkinan, seperti penarikan uang secara normal, percobaan penarikan uang tanpa kecukupan ketersediaan dana, penarikan dengan penggunaan PIN yang salah, dan lainnya. Yang akan dibahas disini adalah diagram sekuensial panarikan satu juta rupiah (tanpa adanya kesalahan seperti nomor PIN atau perhitungan) yang akan ditunjukkan pada gambar 2.26 Diagram ini menunjukkan aliran proses dalam use case “menarik uang”.
19
Munawar. Pemodelan Visual dengan UML. Hal : 87-89.
44
Arvin : Customer
Layar ATM
Pembaca Kartu
Account Arvin
Dispenser Tunai
Terima Kartu Membaca Nomor Kartu Inisialisasi Account Buka Account Isian PIN Masukkan PIN Pilihan Transaksi
Verifikasi PIN
Memilih Transaksi (Menarik Uang) Isian Nilai Penarikan Masukkan Nilai Penarikan Menarik Uang (1 Juta) Verifikasi dana (1 Juta) Kurangi saldo (1 Juta) Sediakan uang (1 Juta) Sediakan tanda terima Keluarkan Kartu
Gambar 2.26 Diagram Sekuensial Untuk Penarikan Uang Satu Juta Oleh Arvin
Berikut penjelasan dari Gambar 2.26 diatas. Proses dalam use case diawali ketika seorang pelanggan (Arvin) memasukkan kartu ATM ke dalam pembaca kartu yang digambarkan oleh sebuah obyek yang terdapat dibagian atas diagram. kemudian pembaca kartu membaca nomor kartu, membuka account obyek milik Arvin, dan menampilkan layar ATM untuk meminta nomor PIN. Arvin memasukkan nomor PIN, layar membaca PIN dan melakukan verifikasi. Layar menampilkan beberapa pilihan dan Arvin memilih menu menarik uang. Layar kemudian menampilkan isian jumlah uang yang akan
45
diambil Arvin, dan Arvin mengetik satu juta rupiah. Kemudian layar menarik uang tersebut dari alat penghitung. Hal ini mengalami beberapa urutan proses yang dilakukan oleh obyek-obyek. Pertamatama, account milik Arvin menampilkan bahwa nilai penarikan adalah satu juta rupiah, kemudian permintaan tersebut dikirimkan ke account. Selanjutnya diinstruksikan pada dispenser tunai untuk menyediakan satu juta rupiah. Dan akhirnya, account memberikan perintah keluarkan kartu ke obyek pembaca kartu.20 4. Class Diagram Class diagram atau diagram kelas digunakan untuk menampilkan kelas-kelas atau paket-paket di dalam sistem dan relasi antar mereka. Ia memberikan gambaran sistem secara statis. Biasanya, dibuat beberapa diagram kelas untuk satu sistem. Satu diagram kelas menampilkan subset dari kelas-kelas dan relasinya. Yang lainnya, mungkin menampilkan kelas-kelas termasuk atribut dan operasi dalam kelas-kelas. Dan yang lainnya lagi, mungkin menampilkan paketpaket kelas dan relasi antar paket-paket. Dapat dibuat beberapa diagram sesuai yang diinginkan untuk mendapatkan gambaran lengkap terhadap sistem yang dibangun. Tidak ada aturan yang mengharuskan berapa banyaknya diagram kelas harus dibuat. Diagram kelas adalah alat perancangan terbaik untuk tim pengembang perankat lunak. Diagram tersebut membantu pengembang mendapatkan
20
Sholiq. Pemodelan Sistem Informasi Berorientasi Objek dengan UML. Hal : 9-11.
46
struktur sistem sebelum menuliskan kode program, membantu untuk memastikan bahwa sistem adalah rancangan terbaik.
<
> FormUtamaPenjualan
<> FormResep
<> FormObatJual
<> ManagerJualObat
<<entity>> ObatJual
<<entit... Obat
<> FormJenisPelanggan
<> PenggerakBasisData
Gambar 2.27 Contoh Class Diagram 21
2.4
Perangkat Lunak Yang Digunakan
Perangkat lunak (software) yang penulis gunakan dalam membuat program aplikasi ini adalah Microsoft Office Access 2003 sebagai pengolah database dan pembuatan program aplikasi dengan menggunakan Visual Basic.Net 2008.
2.4.1 Visual Basic.Net 2008 Visual Basic.Net 2008 adalah salah satu program berorientasi objek, selain itu ada pula program Java dan C++ yang juga berbasis objek. 21
Sholiq. Pemodelan Sistem Informasi Berorientasi Objek dengan UML. Hal : 101-102.
47
Program Visual Basic.Net 2008 adalah produksi Microsoft Corp. Program ini biasa dipaket bersama-sama dengan Visual C# 2008 dan Visual C++ 2008 dalam paket Visual Studio 2008. Visual Basic.Net 2008 (disingkat VB.Net 2008) menawarkan banyak kemudahan dibandingkan versi-versi sebelumnya, antara lain teknik pemrograman dapat dibuat lebih terstruktur dan lebih banyak bantuan dalam pemrograman. Jauh lebih mudah untuk menguasainya dibandingkan dengan versinya yang terdahulu,yaitu visual Basic 6 (disingkat VB6).22
Gambar 2.28 Tampilan Awal Microsoft Visual Studio 2008
2.4.2 Database Microsoft Office Access 2003 Microsoft office access adalah salah satu program dari microsoft office yang dijalankan dengan menggunakan sistem operasi windows yang berguna untuk penanganan data dan informasi secara struktural : membuat,
22
http://dosen.narotama.ac.id/wp-content/uploads/2011/12/Membuat-Aplikasi-Berbasis-Pendekatan-Sistemdengan-Visual-Basic-Net-2008.pdf. [Anonymous], pada tanggal 25 maret 2014 pukul 20.30.
48
menyimpan, merubah dan mengaksesnya kembali dalam sebuah database. Singkatnya microsoft access adalah program aplikasi pembuat database.
Gambar 2.29 Tampilan Awal Microsoft Office Access 2003