5
BAB II
LANDASAN TEORI
2.1 Sistem Pakar 2.1.1 Pengertian Sistem Pakar langkah pertama dalam menyelesaikan setiap masalah adalah dengan mendefinisikan terlebih dahulu ruang lingkup permasalahan tersebut atau domain untuk permasalahan yang akan diselesaikan. Sistem pakar adalah salah satu dari AI (Artificial Intelligence) atau kecerdasan buatan yang membuat penggunaan secara luas knowledge yang khusus untuk penyelesaian masalah tingkat manusia yang pakar. (Arhami, 2011) Pengguna menyampaikan data atau informasi untuk sistem pakar dan kemudian menerima saran dari pakar atau jawaban ahlinya. Bagian dari 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 atas permintaan pengguna.
Gambar 2.1 Konsep Dasar Fungsi Sistem Pakar (Arhami, 2011)
6
Ada beberapa definisi tentang sistem pakar, antara lain:
Menurut Durkin: Sistem pakar adalah suatu program komputer yang dirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan oleh seorang pakar. (Arhami. 2011)
Menurut Ignizio: Sistem pakar adalah suatu model dan prosedur yang berkaitan dalam suatu domain tertentu, yang mana tingkat keahliannya dapat dibandingkan dengan keahlian seorang pakar. (Arhami. 2011)
Menurut Giarratano dan Riley: Sistem pakar adalah suatu sistem komputer yang bisa menyamai atau meniru kemampuan seorang pakar. (Arhami. 2011)
2.1.2 Struktur Sistem Pakar menurut Muhammad Arhami (2011:13), sistem pakar disusun oleh dua bagian utama, yaitu lingkungan pengembangan dan lingkungan konsultansi. Lingkungan pengembangan sistem pakar digunakan untuk memasukan pengetahuan pakar kedalam lingkungan sistem pakar, sedangkan lingkungan konsultasi digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar. Komponen-komponen sistem pakar dalam kedua bagian tersebut dapat dilihat dalam gambar 2.2 berikut ini:
7
Gambar 2.2 Arsitektur Sistem Pakar (Arhami, 2011) Komponen komponen yang terdapat dalam sistem pakar adalah seperti yang terdapat pada gambar 2.2, yaitu user interface, basis pengetahuan, akuisisi pengetahuan, mesin inferensi, workplace, fasilitas penjelasan, perbaikan pengetahuan. Antar Muka Pengguna (User Interface) User interface merupakan mekanisme yang digunakan oleh pengguna dan sistem pakar untuk berkomunikasi. Antarmuka menerima informasi dari pemakai dan mengubahnya kedalam bentuk yang dapat diterima oleh sistem. Selain itu antarmuka menerima informasi dari sistem dan menyajikannya kedalam bentuk yang dapat dimengerti oleh pemakai.(Arhami 2011).
8
Akuisisi Pengetahuan Akuisisi pengetahuan adalah akumulasi, transfer dan transformasi keahlian dalam menyelesaikan masalah dari sumber pengetahuan kedalam program computer. Terdapat tiga metode utama dalam akuisisi pengetahuan (Anastasia Lubis, 2011). yaitu:
Wawancara Wawancara adalah metode akuisisi yang melibatkan pembicara dengan pakar secara langsung dalam suatu wawancara.
Analisis protocol Dalam metode akuisisi ini, pakar diminta untuk melakukan suatu pekerjaan dan mengungkapkan proses pemikirannya dengan menggunakan kata-kata. Pekerjaan tersebut direkam, ditulis, dan dianalis.
Observasi pada pekerjaan pakar Dalam metode ini pekerjaan dalam bidang tertentu yang dilakukan pakar direkam dan diobservasi
Konseptualisasi Identifikasi kerusakan laptop memang sangat membutuhkan pengalaman dan pengetahuan yang cermat untuk dapat mengenal cirri-ciri kerusakan beserta gejala-gejala kerusakan dan sebab-sebab utama kerusakan yang terjadi. Karena banyak sekali gejala-gejala kerusakan yang hampir sama apabila tidak memiliki kejelian dan ketelitian untuk menelusurinya. Oleh karena itu diperoleh suatu konsep untuk mengembangkan system pakar ini, bagaimana cara untuk menanggulangi atau menentukan solusi dari kerusakan tersebut. (Anastasia Lubis, 2011). Perancangan Basis Pengetahuan Baisis pengetahuan merupakan kumpulan pengetahuan dibidang tertentu pada tingkat pakar dalam format tertentu. Pengetahuan ini diperoleh dari akumulasi pengetahuan pakar. (Anastasia Lubis, 2011).
9
Perancangan Representasi Pengetahuan Representasi pengetahuan dimaksudkan untuk mengorganisasikan basis pengetahuan dalam bentuk dan format tertentu untuk bisa dimengerti oleh computer. (Anastasia Lubis, 2011). Mesin Inferensi Komponen ini mengandung mekanisme pola pikir dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. (Arhami, 2011). mesin inferensi adalah program computer yang memberikan metodologi untuk penalaran tentang informasi yang ada dalam basis pengetahuan dan dalam workplace untuk menformulasikan kesimpulan. Workplace Menurut Muhammad Arhami (2011), Merupakan area dari sekumpulan memori kerja. Workplace digunakan untuk merekam hasil-hasil antara dan kesimpulan yang dicapai. ada 3 tipe keputusan yang dapat direkam, yaitu;
Rencana Bagaimana menghadapi masalah
Agenda Aksi-aksi potensial yang sedang menunggu untuk diakses
Solusi Calon aksi yang akan dibangkitkan
Fasilitas Penjelasan Fasilitas penjelasan adalah komponen tambahan yang akan meningkatkan kemampuan sistem pakar. Komponen ini menggambarkan penalaran sistem kepada pemakai.(Arhami, 2011). Perbaikan Pengetahuan Pakar memiliki kemampuan untuk menganalis dan meningkatkan kinerjanya serta kemampuan untuk belajar dari kinerjanya. Pengetahuan tersebut adalah penting dalam pembelajaran terkomputerisasi, sehingga program akan mampu menganalisis penyebab kesuksesan dan kegagalan yang dialaminya.(Arhami, 2011).
10
2.2 Metode Analisis Data 2.2.1 Forward Chaining Forward Chaining merupakan
strategi pencarian
yang memulai proses pencarian
dari sekumpulan data atau fakta, dari data-data tersebut dicari suatu kesimpulan yang menjadi solusi dari permasalahan yang dihadapi. Mesin inferensi mencari kaidah-kaidah dalam basis pengetahuan yang premisnya sesuai dengan data-data tersebut, kemudian dari kaidah-kaidah tersebut diperoleh suatu kesimpulan. Forward chaining memulai proses pencarian dengan data sehingga
strategi ini
disebut juga data-driven. Jadi metode forward chaining
dimulai dari informasi masukan (if) dahulu kemudian menuju konklusi (then) Informasi masukan dapat berupa data, bukti, temuan atau pengamatan. Sedangkan konklusi dapat berupa tujuan, penjelasan, atau diagnosis. Forward chaining merupakan penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis (Bago, J. ,2012) . Pada forward chaining, pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri (IF dulu). Dengan kata lain, penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis. (srikusuma dewi 2008).
11
Tabel 2.1 Contoh Aturan-Aturan No.
Aturan
R-1
IF A & B THEN C
R-2
IF C THEN D
R-3
IF A & E THEN F
R-4
IF A THEN G
R-5
IF F & G THEN D
R-6
IF G & E THEN H
R-7
IF C & H THEN I
R-8
IF I & A THEN J
R-9
IF G THEN J
R-10
IF J THEN K
Contoh: Pada table 2.1 terlihat ada 10 aturan yang tersimpan dalam basis pengetahuan. Fakta awal yang diberikan hanya A & F (artinya A dan F bernilai benar). Ingin dibuktikan apakah K bernilai benar? Langkah langkah inferensi adalah sebagai berikut:
Dimulai dari R-1, A merupakan fakta sehingga bernilai benar, sedangkan B belum bisa diketahui kebenarannya, sehingga C pun juga belum bisa diketahui kebenarannya. Oleh karena itu kita tidak dapat mendapatkan informasi apapun pada R-1 ini, sehingga kita menuju R-2.
Pada R-2, kita tidak mengetahui informasi apapun tentang C, sehingga kita juga tidak dapat memastikan kebenaran D. oleh karena itu kita tidak mendapatkan informasi apapun pada R-2 ini, sehingga kita menuju R-3.
12
Pada R-3, baik A maupun E adalah fakta sehingga jelas benar. Dengan demikian F sebagai konsekuen juga ikut benar. Sehingga sekarang kita mendapatkan fakta baru yaitu F. karena F bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-4.
Pada R-4, A adalah fakta sehingga jelas benar. Dengan demikian G sebagai konsekuen juga ikut benar. Sehingga sekarang kita mempunyai fakta baru yaitu G. karena G bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-5.
Pada R-5, baik F maupun G adalah benar berdasarkan aturan R-3 dan R-4. Dengan demikian D sebagai konsekuen juga ikut benar. Sehingga sekarang kita mendapatkan fakta baru yaitu D. karena D bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-6.
Pada R-6, baik a maupun G adalah benar berdasarkan fakta dan R-4. Dengan demikian H sebagai konsekuen juga ikut benar. Sehingga sekarang kita mendapatkan fakta baru yaitu H. karena H bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-7.
Pada R-7, meskipun H benar berdasarkan R-6, namun kita tidak tau kebenaran C, sehingga I pun juga belum bisa diketahui kebenarannya. Oleh karena itu kita tidak mendapatkan informasi apapun pada R-7 ini. Sehingga menuju ke R-8.
Pada R-8, meskipun A benar karena fakta, namun kita tidak tau kebenaran I, sehingga J pun juga belum bisa diketahui kebenarannya. Oleh karena itu kita tidak mendapatkan informasi apapun pada R-7 ini. Sehingga menuju ke R-9.
Pada R-9, J bernilai benar karena G benar berdasarkan R-4. karena J bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-7.
Pada R-10, K bernilai benar karena J benar berdasarkan R-9. karena H sudah merupakan hipotesis yang hendak kita buktikan (=K), maka terbukti bahwa K adalah benar.
Tabel munculnya fakta baru dapat dilihat pada tabel 2.1 sedangkan alur inferensi terlihat pada tabel 2.2
13
Tabel 2.2 Fakta Baru Aturan
Fakta baru
R-3
F
R-4
G
R-5
D
R-6
H
R-9
J
R-10
K
Gambar 2.3 Forward Chaining (Andriani,R.,2010) Adapun kelebihan dan kelemahan metode forward chaining, yaitu: Kelebihan: 1. Kelebihan utama dari forward chaining yaitu metode ini akan bekerja dengan baik ketika problem bermula dari mengumpulkan atau menyatukan informasi lalu kemudian mencari kesimpulan apa yang dapat diambil dari informasi tersebut 2. Merupakan pendekatan paling sempurna untuk beberapa tipe dari problem solving task, yaitu planning, monitoring, control, dan interpretation
14
Kelemahan: 1. Kelemahan utama metode ini yaitu kemungkinan tidak adanya cara untuk mengenali dimana beberapa fakta lebih penting dari fakta lain. 2. Sistem bisa saja menanyakan pertanyaan yang tidak berhubungan. Walaupun jawaban dari pertanyaan tersebut penting, namun hal ini akan membingungkan user untuk menjawab pada subjek yang tidak berhubungan. 2.2.2 Backward Chaining Merupakan metode pencarian yang arahnya kebalikan dari forward chaining , proses pencarian dimulai dari tujuan, yaitu kesimpulan yang menjadi solusi dari permasalahan yang dihadapi.
Gambar 2.4 Backward Chaining (Andriani,R.,2010) Adapun kelebihan dan kelemahan metode backward chaining, yaitu: Kelebihan: 1.
Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan backward chaining.
2. Menggunakan pendekatan goal-driven, dimulai dari ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada sebab-sebab yang mendukung (ataupun kontradiktif) dari ekspektasi tersebut.
15
Kelemahan: 1. sistem akan secara umum memperoleh fakta dari pengguna untuk membantu dalam pembuktian atau penyangkalan hipotesis hingga lebih lama. 2. Walaupun jawaban dari pertanyaan tersebut langsung ke hasil, namun hal ini akan membingungkan user untuk menjawab pada subjek yang tidak berhubungan. 2.3 Analisa Atau Diagnosa Kerusakan 2.3.1 Diagnosa Kerusakan Power Supply / Ic Power Dihidupkan agak sulit, batere tidak mau dicharge, Mati Total. Indikator charger nyala, setelah dicarge lampu indikator pada charger mati (konslet). Jadi terjadi arus balik pada powernya. Kerusakan ini sering terjadi. 2.3.2 Diagnosa Kerusakan Motherboard Sulit menghidupkan laptop, lebih parah lagi mati total. Baterai laptop tidak bisa dicharge. Biasanya setelah dicharge lampu indikator charge pada laptop menyala tapi beberapa saat kemudian mati (bermasalah pada chipset-nya) 2.3.3 Diagnosa Kerusakan Harddisk Loading data maupun ke sistem begitu lambat, muncul bunyi yang tidak normal atau tidak biasa didengar, tidak bisa masuk ke Windows, bisa login tapi harddisk tidak terdeteksi. Loading lambat bias akibat harddisk sudah mulai melemah karena piringan data pada harddisk tidak sanggup berputar dengan cepat atau bagian head-nya tidak cepat membaca piringan tersebut. Untuk permasalahan sering restrat bisa saja ada bad sector pada harddisk sehingga saat sistem membaca file sistem, karena bad sector maka file tidak ditemukan dan akhirnya sistem melakukan restart dengan sendirinya. Untuk masalah harddisk tidak terdeteksi bisa saja power circuit pada harddisk tersebut sudah rusak atau firmware-nya yang rusak sehingga tidak terdeteksi oleh BIOS.
16
2.3.4 Diagnosa Kerusakan VGA Layar tidak tampil, layar muncul blank berwarna putih, muncul garis-garis warna tidak beraturan. 2.3.5 Diagnosa Kerusakan USB Solderan yang ada di konektor USB maupun port sudah mulai retak dikarenakan panas dan umur dari laptop itu sendiri. 2.4 Laptop Laptop adalah komputer bergerak (bisa dipindahkan dengan mudah) yang berukuran relatif kecil dan ringan, beratnya berkisar dari 1-6 kg, tergantung ukuran, bahan, dari spesifikasinya, laptop dapat digunakan dalam lingkungan yang berbeda dari komputer. Mereka termasuk layar, keyboard, dan trackpad atau trackball, yang berfungsi sebagai mouse . Karena dimaksudkan untuk digunakan di mana saja, Laptop memiliki baterai yang memungkinkan untuk beroperasi tanpa terhubung ke stopkontak (sumber listrik). Laptop juga termasuk adaptor daya yang memungkinkan untuk menggunakan daya dari stopkontak dan mengisi kembali baterai.
Gambar 2.5 Laptop (Jogiyanto,M.,2011) Laptop secara signifikan lebih lambat daripada komputer desktop. tetapi kemajuan teknologi manufaktur telah memungkinkan laptop melakukan hampir sama dengan Komputer PC desktop. Bahkan, laptop high-end sering melakukan lebih baik daripada komputer desktop
17
yang mempunyai spesifikasi rendah. Kebanyakan laptop juga mencakup beberapa I / O port, seperti USB port, yang memungkinkan keyboard standar dan mouse untuk digunakan dengan laptop. Laptop modern sering termasuk adaptor jaringan nirkabel / wireless, yang memungkinkan pengguna untuk mengakses Internet tanpa memerlukan kabel. Sebuah komputer laptop, biasanya disebut komputer notebook oleh produsen, terdiri dari baterai atau AC-powered komputer pribadi umumnya lebih kecil daripada tas yang dapat dengan mudah diangkut dan mudah digunakan di perpustakaan, kantor,atau pada pertemuan tertentu. Sebuah laptop biasanya berat kurang dari 5 dan 3 inci atau kurang tergantung ketebalannya. Di antara pembuat paling terkenal dari komputer laptop adalah IBM, Apple, Compaq, Dell, dan Toshiba. Laptop computer umumnya lebih biaya dari komputer desktop dengan kemampuan yang sama karena mereka lebih sulit untuk merancang dan memproduksi. Sebuah laptop secara efektif dapat berubah menjadi sebuah komputer desktop dengan docking station , bingkai hardware yang memasok koneksi untuk input / output perangkat periferal seperti printer atau monitor yang lebih besar. Port replikator memungkinkan Anda untuk menghubungkan laptop ke sejumlah peripheral melalui colokan tunggal. Laptop biasanya menggunakan teknologi layar tipis.terdiri dari transistor atau layar matriks aktif lebih cerah dan pandangan yang lebih baik pada sudut yang berbeda dari STN atau layar
dual-scan.
Laptop
menggunakan
beberapa
pendekatan
yang
berbeda
untuk
mengintegrasikan mouse ke dalam keyboard, termasuk touch pad ,trackball , dan pointing stick. Sebuah port serial juga memungkinkan mouse biasa bisa terpasang.PC Card adalah perangkat keras insertable untuk menambahkan modem atau network card ke laptop. CD-ROM dan digital hard disk serbaguna memungkin built-in atau attachable. 2.5 Android Android adalah suatu sistem operasi berbasis linux yang berfungsi sebagai sistem informasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasinya sendiri.
18
2.5.1 Sejarah Perkembangan Android Android 1.0 Astro Pertama kali dirilis pada 23 Spetember 2008. Sebenarnya Android versi pertama ini akan dinamai dengan nama "Astro" tapi karena alasan hak cipta dan trademark nama"Astro" tidak jadi disematkan pada versi pertama dari OS Android ini. Pada android versi pertama ini sudah mulai diperkenalkan Android Market, tempat untuk mendownload berbagai macam aplikasi dan update untuk Android. Kemudian terdapat fitur syncronisasi dengan berbagai layanan Google lainnya seperti Google Contact, Calender, Maps, Talk, dan lainnya. Android 1.1 Bender Pertama kali dirilis pada 9 Februari 2009. Versi Android kedua ini juga mengalami masalah penamaan yang sama dengan versi pertamanya. Pada awalnya Android ini akan diberi nama "Bender" akan tetapi karena alasan melanggar trademark, nama "Bender" tidak jadi disematkan pada versi Android ini. Android 1.5 Cupcake Pertama kali dirilis pada 30 April 2009. mulai versi Android ini penamaan menggunakan nama makan pencuci mulut (dessert) mulai digunakan, karena ini merupakan versi yang ketiga maka penamaan diawali dengan huruf "C" dan jadilah "Cupcake" menjadi nama resmi dari versi OS Android ketiga ini. OS ini berbasiskan pada kernel Linux 2.6.27 dan menambahkan beberapa update serta UI baru dari versi Android sebelumnya. Mulai terdapat "widget" yang dapat dibesar kecilkan. Kemudian ditambah kemampuan untuk meng-upload video dan gambar ke Youtube dan Picasa.
19
Gambar 2.6 Android Cupcake Android 1.6 Donut Donut (versi 1.6) diluncurkan dalam tempo kurang dari 4 bulan semenjak peluncuran perdana Android Cupcake, yaitu pada bulan September 2009. Android versi Donut memiliki beberapa fitur yang lebih baik dibanding dengan pendahulunya, yakni mampu menayangkan indikator baterai pada ponsel, pengguna dapat memilih dan menentukan file yang akan dihapus, zoom-in zoom-out gambar dengan membaca gerakan serta arah gerakan tangan (gesture), penggunaan koneksi CDMA/EVDO, dan lain sebagainya.
Gambar 2.7 Android Donut
20
Android versi 2.0/2.1 Eclair Masih ditahun yang sama, Android kembali merilis operating sistem versi terbarunya, yaitu Android versi 2.0/2.1 Eclair. Android Eclair diluncurkan oleh Google 3 bulan setelah peluncuran Android versi 1.6. Dengan meluncurkan 4 versi ditahun yang sama, akhirnya begitu banyak perusahaan pengembang gadget atau handset yang mulai tertarik untuk menggunakan dan mengembangkan Android sebagai platform utama yang digunakan untuk handset-handset terbaru mereka. Inilah dimana era kebangkitan Android yang sempat mendobrak doktrin penggunaan sistem layar yang awalnya dipandang kurang user friendly bagi pengguna.
Gambar 2.8Android Éclair Android versi 2.2 Froyo: Frozen Yoghurt Butuh 5 bulan bagi Google untuk melakukan regenerasi dari Android Eclair versi sebelumnya ke versi Froyo Frozen Yoghurt. Pada tanggal 20 Mei 2010, Android versi 2.2 alias Android Froyo ini dirilis. Sistem operasi dengan julukan Froyo ini melakukan beberapa update dan juga pembenahan seputar aplikasi serta tampilannya. Keinginan untuk bisa menempatkan sebuah kartu ekspansi berbentuk slot Micro SD berkapasitas besar sudah bisa diwujudkan oleh OS versi ini.
21
Gambar 2.9 Android Froyo Android versi 2.3 Gingerbread 7 bulan kemudian Android kembali melakukan gebrakan dengan merilis kembali Android versi 2.3 atau yang dikenal sebagai Android Gingerbread. dari segi tampilan Gingerbread jauh lebih atraktif dan sudah mampu mendukung fitur dualkamera untuk melakukan video call. Bukan hanya itu saja, Android Gingerbread juga mulai mengkonsentrasikan kepada kemampuan untuk meningkatkan mutu aplikasi-aplikasi permainan berbasis mobile android.
Gambar 2.10 Android Gingerbread Android versi 3.0/3.1 Honeycomb Pada bulan Mei 2011 Android versi 3.0/3.1 atau Android Honeycom dirilis. Android Honeycomb merupakan sebuah sistem operasi Android yang tujuannya memang dikhususkan bagi penggunaan tablet berbasis Android. Halaman pengguna (user interface) yang digunakan pada Android versi ini juga sangat berbeda dengan yang digunakan pada smartphone Android. Hal tersebut tentu saja disebabkan oleh tampilan layar yang lebih besar pada tablet serta untuk
22
mendukung penggunaan hardware dengan spesifikasi yang lebih tinggi yang digunakan pada perangkat tersebut.
Gambar 2.11 Android Honeycomb Android versi 4.0 Ice Cream Sandwich Android ICS atau Ice Cream Sandwich juga dirilis pada tahun yang sama dengan Honeycomb, yaitu pada bulan Oktober 2011. Begitu banyak fitur-fitur terbaru yang disematkan pada sistem operasi ini, antara lain yaitu fitur yang memaksimalkan fotografi, grafis dan resolusi gambar, kualitas video, sistem pengenal wajah dan masih banyak lagi lainnya.
Gambar 2.12 Android Ice Cream Sandwich
23
Android versi 4.1 Jelly Bean Android Jelly Bean merupakan versi Android yang terbaru pada saat ini. Salah satu gadget yang menggunakan sistem operasi Jelly Bean adalah Google Nexus 7 yang diprakarsai oleh ASUS, vendor asal Taiwan yang juga menjadi teman satu kampung halaman dengan Acer. Fitur terbaru dari sistem operasi Android Jelly Bean ini salah satunya adalah peningkatan kemampuan on-screen keyboard yang lebih cepat serta lebih responsif, dan beberapa fiture keren lainnya.
Gambar 2.13 Android Jelly Bean Android versi 5 Key Lime Pie Adroid terbaru yang tentunya mempunyai fiture yang lebih baik dari versi sebelumnya akan di rilis rencananya pada 15-17 mei 2013 di Sanfransisco, Amerika Serikat. Android versi terbaru Key Lime Pie ini lebih mudah beradaptasi pada berbagai perangkat mulai dari smartphone, notebook dan mungkin chipset ARM berbasis PC desktop.
24
Gambar 2.14 Android Kit Kat 2.6 Teori Program 2.6.1 Eclipse Eclipse merupakan salah satu IDE favorit yang digunakan untuk melakukan pemrograman, termasuk ketika membuat aplikasi android. Disamping bersifat gratis serta opensource sehingga setiap orang bisa melihat kode pemorgamannya, eclipse juga menyediakan beragam plug-in yang mampu dikembangkan oleh penggunanya untuk menghasilkan sebuah aplikasi Komponen-komponen IDE Eclipse:
Gambar 2.15 Komponen-Komponen IDE Eclipse (Prabowo,R.,2012)
25
1. Src, Di src terdapat nama proyek dan dibawahnya ada file java untuk menuliskan source code yang menjelaskan logic dari android. 2. Folder gen, adalah file yang berisi file yang di-generate oleh computer dan didalamnya terdapat file R.java. 3. File android.jar berisi sejumlah library agar program bisa berjalan di sistem operasi android yang ditentukan dan didalamnya terdapat assets sebagai tempat untuk menampilkan file-file tertentu. 4. Folder Bin. Terdapat folder res (sersource) yang merupakan salinan dari folder res utama. Dan res juga berisikan file executable yang siap dijalankan dengan ekstensi .apk (android package). 5. Folder Res, terdapat data sejumlah resource yang ada dalam tahapan desain, salah satu yang penting adalah folder layout yang akan menjelaskan tampilan layout screen anda. Didalam Res juga terdapat values yang terdapat banyak nilai. Didalam Res terdapat androidManifest.xml yang berisi berbagai code data dari nama icon dan label dari proyek berasal. Terakhir ada project.properties yang didalamnya terdapat info mengenai properties dari proyek 2.7 SQLite SQLite adalah database opensource yang ditanam pada android. Dukungan yang diberikan sama seperti RDBMS standart dan mendukung pada bahasa sintaks SQL. SQLite merupakan sebuah sistem manajemen basisdata relasional yang bersifat ACID-compliant dan memiliki ukuran library yang relatif kecil. Software ini ditulis menggunakan bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D. Richard hipp. Tidak seperti pada paradigma client-server umumnya, inti SQLite bukanlah sebuah sistem mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai sebuah integral dari sebuah program secara keseluruhan. SQlite mendukung tipe data TEXT (yang mirip dengan string di java), INTEGER (mirip dengan long dijava), serta REAL (mirip dengan double dijava). Semua type lain harus dikonversi kedalam salah satu type ini sebelum disimpan kedatabase. SQlite sendiri tidak memvalidasi apakah type yang dituliskan ke kolom sesuai dengan type yang didefinisikannya.
26
Paket SQlite Untuk menangani database, di Android tersedia paket bernama android.database. didalamnya terdapat semua class untuk bekerja dengandatabase. Class yang khusus untuk database ini bernama android.database.sqlite. ada beberapa komponen yang akan dijelaskan disini. Yaitu: 1. SQLiteOpenHelper disini ada method super () yang berguna menentukan nama dan versi database yang akan dipakai. Di class ini adalah method onCreate() dan onUpgrade(). 2. SQLiteDatabase adalah class dasar untuk database SQLite di android. Di sini, programmer bisa membuka query, update, dan menutup database. SQLiteDatabase punya banyak method, seperti method insert(), update(), dan delete() . Ada juga execSQL() yang bisa mengeksekusi SQL secara langsung. 3. Cursor berfungsi mengembalikan objek cursor. Cursor adalah hasil dari query, yaitu satu baris (record) dari hasil query. Dengan cursor, android bisa melakukan buffer hasil query dengan efisien karena tidak perlu me-load data ke memori. 4. ListView dan ListActivity listView adalah view yang memungkinkan anda menampilkan berbagai list elemen. listActivity adalah activity khusus yang membuat penggunaan ListViews lebih mudah. Untuk bekerja dengan database dan listView, programmer harus bisa menggunakan simpleCursorAdapter. SimpleCursorAdapter memungkinkan anda membuat layout untuk tiap row dari listView. 2.8 Hardware Hardware atau perangkat keras adalah bagian komputer yang bisa kita lihat wujud fisiknya. Hardware komputer tersusun dari komponen komponen elektronika dan mekanis yang dirakit membentuk modul-modul yang diberi nama sesuai dengan fungsinya
27
2.8.1 Power Supply Unit (PSU)
Gambar 2.16 Power Supply Unit (Pawirosumoto,S.,2010) Power supply adalah sebagai alat atau perangkat keras yang mampu menyuplai tenaga atau tegangan listrik secara langsung dari sumber tegangan listrik ke tegangan listrik yang lainnya. Power supply biasanya digunakan untuk komputer sebagai penghantar tegangan listrik secara langsung kepada komponen-komponen atau perangkat keras lainnya yang ada di komputer tersebut, seperti hardisk, kipas, motherboard dan lain sebagainya Jenis Power Supply yang terdapat
pada kebanyakan komputer sekarang ini terbagi
menjadi dua jenis. Kedua jenis power supply tersebut adalah Power Supply AT dan Power Supply ATX. Dari kedua jenis power supply tersebut memiliki beberapa perbedaan dan fungsinya. Power Supply berfungsi sebagai pengkonversi dan penyalur energi listrik dari outlet sumber (misalnya listrik PLN) ke bentuk energi listrik yang dapat digunakan untuk menjalankan komponen komputer yang berada di dalam casing. Biasanya, PSU ini diletakkan di bagian belakang casing.
28
2.8.2 Motherboard (Papan Utama)
Gambar 2.17Motherboard (Pawirosumoto,S.,2010) Motherboard/mainboard adalah komponen utama yang membangun sebuah komputer. Berbentuk papan persegi dengan slot-slot untuk memasukkan komponen-komponen lain. Fungsinya untuk menghubungkan seluruh komponen PC. Perangkat keras komputer lain semuanya melekat langsung pada slot motherboard atau setidaknya terhubung menggunakan kabel. Jenis Motherboard pada masa kini memiliki banyak varian dan model yang bermacammacam. Motherboard itu sendiri merupakan komponen yang terpenting dari sebuah computer atau laptop karena komponen tersebut merupakan pengatur dari jalannya semua rangkaian yang terpasang dan tersambung kepada motherboard, dari processor, memory, slot dan komponen eksternal lainnya. Fungsi Motherboard dalam Komputer sangat begitu penting dikarenakan motherboard sebuah tempat untuk di letakkannya komponen yang berfungsi di computer. Di antaranya memiliki kemampuan untuk mengatur pemberian tenaga berupa listrik pada komponen yang ada pada komputer.
29
2.8.3 Hard Disk Drive(HDD)
Gambar 2.18 Hard Disk Drive (Pawirosumoto,S.,2010) Harddisk adalah media penyimpanan dimana data disimpan pada piringan metal yang bisa berputar. Data disimpan dalam lingkaran konsentris yang disbut juga dengan track. Tiaptiap track dibagi menjadi beberapa sector yang nantinya akan digunakan untuk pembagi pada hardisk. Jenis
Hardisk saat
ini
memiliki
banyak
pilihan
guna
memuaskan
para
pengguna komputer. Hardisk sendiri merupakan salah satu komponen yang terdapat pada komputer yang berfungsi untuk menyimpanan data sekunder dengan daya simpan yang besar. Hard-disk berfungsi sebagai tempat penyimpanan data utama dalam sebuah sistem komputer. Sistem Operasi , aplikasi, dan dokumen-dokumen disimpan pada hard-disk ini. Pada PC terbaru, ada juga perangkat keras baru yang bernama Solid State Drive (SSD). Fungsinya sama seperti hard-disk, namun menawarkan kecepatan transfer data yang lebih cepat. 2.8.4 Video Graphic Array (VGA)
Gambar 2.19 Video Graphic Array (Pawirosumoto,S.,2010) VGA adalah standar tampilan komputer analog yang dipasarkan pertama kali oleh IBM pada tahun 1987. Walaupun standar VGA sudah tidak lagi digunakan karena sudah diganti oleh standar yang lebih baru, VGA masih diimplementasikan pada Pocket PC. VGA merupakan
30
standar grafis terakhir yang diikuti oleh mayoritas pabrik pembuat kartu grafis komputer. Tampilan Windows sampai sekarang masih menggunakan modus VGA karena didukung oleh banyak produsen monitor dan kartu grafis. Jenis VGA Kartu VGA ISA adalah jenis kartu VGA yang dimasukkan pada slot ekspansi ISA (Industry Standard Architecture) bus yang masih bersistemkan I/O 8-bit atau 16-bit, Kartu VGA EISA adalah jenis kartu VGA yang dipasang pada slot ekspansi EISA (Extended Industry Standard Architecture) bus yang adalah 32-bit sistem I/O VGA berfungsi sebagai penghubung yang memungkinkan pengiriman data-data grafis antara PC dan perangkat display seperti monitor atau proyektor. Sebagian besar komputer memiliki VGA yang terpisah sebagai kartu ekspansi yang dipasang pada slot motherboard. Namun ada juga komputer yang mempunyai VGA terintegrasi pada motherboard atau pada CPU-nya. 2.8.5 Random Access Memory (RAM)
Gambar 2.20 Random Access Memory (Pawirosumoto,S.,2010) RAM adalah memory tempat penyimpanan sementara pada saat komputer dijalankan dan dapat diakses secara acak atau random. Fungsi dari RAM adalah mempercepat pemprosesan data pada komputer. DRAM (Dynamic Random Access Memory) yang merupakan jenis memori semikonduktor yang memerlukan kapasitor sebagai tumpuan untuk menyegarkan data yang ada di dalamnya. RAM ini memiliki kecepatan lebih tinggi dari EDO-RAM. Namun lebih rendah dibandingkan SRAM.Dalam strukturnya, DRAM hanya memerlukan satu transistor dan kapasitor per bit, sehingga memiliki kepadatan sangat tinggi. DRAM mempunyai frekuensi kerja yang bervariasi, yaitu antara 4,77MHz hingga 40MHz.
31
RAM berfungsi sebagai tempat transit data sementara untuk operasi-operasi yang tengah dijalankan oleh CPU. RAM bersifat volatile, artinya perangkat ini tidak meyimpan data secara permanen, hanya untuk operasi yang dibutuhkan saja. Kapasitas RAM pada PC yang sering kita temukan cukup beragam , mulai dari 256 MB (MegaBytes) – 16 GB (GigaBytes) 2.9 UML (Unified Modeling Langage) UML adalah salah standar bahasa yang banyak digunakan di dunia industri untuk mendefinisikan requirement, membuat analis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung. (Alan Dennis, 2012). 2.9.1 Diagram UML UML terdiri dari 13 macam diagram yang dikelompokan dalam 3 kategori. Pembagian kategori tersebut dapat dilihat pada gambar berikut:
Gambar 2.21 Diagram UML(Alan Denis, 2012) Menurut (Rosa dan Shalahudin, 2011) penjelasan singkat dari pembagian kategori tersebut adalah sebagai berikut:
32
Structure diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan.
Behavior diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem
Interaction diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antar subsistem pada suatu sistem.
2.9.2 Use Case Diagram Use case diagram merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih actor dengan sistem informasi yang akan dibuat.(Alan Denis, 2012) Berikut adalah simbol-simbol yang terdapat pada use case diagram: Table 2.3 Simbol Use Case Simbol
Nama Simbol Actor/Role
Keterangan “a person or system that derives benefit from and is external to the subject.”
User
Seseorang atau sesuatu yang berinteraksi dengan sistem. Use Case
“Represents a major piece of system functionality.”
Menggambarkan bagaimana seseorang akan menggunakan sistem. Subject
“Represents the scope of the subject, e.g., a system or an individual business process”.
Merupakan lingkup subjek , misalnya , sistem atau individu proses bisnis
33
Association
“Links an actor with the use case(s) with
Relationship
which it interacts.” Untuk
mendokumentasikan
aliran-aliran
logika dalam setiap Use Case. Extends
“Represents the extension of the use case to include optional behavior.” Memungkinkan suatu Use Case memiliki kemungkinan
memperluas
fungsionalitas
yang disediakan oleh use case lainnya Include
“Represents functionality
the of
inclusion one
use
of
case
the within
another.” Include memungkinkan Use Case untuk menggunakan fungsional yang di sediakan oleh Use Case lainnya Generalisasi
“Represents a specialized use case to a more generalized one.”
Digunakan untuk memperlihatkan bahwa beberapa
aktor
atau
usecase
sesuatu yang bersifat umum.
memiliki
34
Appointment System Make New Pattient appt
<
>
Create New Pattient New Patient Make Payment Arrangement
«extends» Make Apointment
Make Old Patient appt
«extends» Update Patient Information
Old Patient
Produce Schedule Information
<>
Manage Schedule <>
management Record Avalibility
doctor
Gambar 2.22 Contoh Usecase Diagram (Alan Denis, 2012) 2.9.3 Activity Diagram “Aktivitity Diagram digunakan untuk model perilaku dalam independen proses bisnis benda. Dalam banyak hal, diagram aktivitas dapat dipandang sebagai diagram aliran data yang canggih yang digunakan dalam hubungannya dengan analysis terstruktur. Namun, tidak seperti aliran data diagram, diagram aktivitas termasuk notasi yang membahas pemodelan paralel, kegiatan bersamaan dan proses”. (Alan Dennis, 2012)
35
Berikut adalah simbol-simbol yang terdapat pada Activity diagram: Tabel 2.4 Activity Simbol-Simbol Diagram Simbol
Nama Simbol
Keterangan
Initial Node
“Is used to represent a set of actions.” merupakan tanda awal dari sebuah aktivitas.
Final-Activity Node
“Is used to stop all control flows and object flows in an activity (or action).” merupakan
tanda
berakhirnya
sebuah
aktivitas. Activity
“Is used to represent a set of actions.” merupakan sebuah gambaran aktivitas yang terjadi.
Decision Node
“Is used to represent a test condition to ensure that the control flow or object flow only goes down one path.”
Pilihan untuk pengambilan keputusan Merge Node
“Is used to represent a test condition to ensure that the control flow or object flow only goes down one path.”
membawa kembali jalur keputusan bersama yang
berbeda
yang
dibuat
menggunakan keputusan simpul
dengan
36
Swimlane Name
Swimlane
“Separate business organization that is responsible for the activity that occurs.” memisahkan
organisasi
bisnis
yang
bertanggung jawab terhadap aktifitas yang terjadi. Control Flow
“Shows the sequence of execution.” Menunjukkan urutan eksekusi
Object Flow
“Shows the flow of an object from one activity (or action) to another activity (or action).”
Menunjukkan aliran objek dari satu kegiatan (atau tindakan) untuk kegiatan lain (atau tindakan).
37
Receptionist
Get patient information
Old patient Create new Patients
Make payment arrangements
create Appointment
Change Appointment Cancel Appointment
Gambar 2.23 Contoh Activity Diagram (Alan Denis, 2012) 2.9.4 Class Diagram Sebuah diagram kelas adalah model statis yang menunjukkan kelas dan hubungan antar kelas yang tetap konstan dalam sistem dari waktu ke waktu. Diagram kelas menggambarkan kelas, yang mencakup baik perilaku dan negara, dengan hubungan antara kelas. Berikut bagian pertama menyajikan unsur-unsur dari diagram kelas, diikuti dengan cara di mana diagram kelas ditarik. (Alan Dennis, 2012).
38
Tabel 2.5 Simbol Class Diagram Simbol
Nama Simbol
Keterangan “Represents a kind of person, place, or thing about which the system will need to capture and
Class
store information”
Kelas pada struktur sistem. “Represents properties that describe the state of an object.”
attribute name /derived attribute
Attribute
name
Memiliki daftar atribut dalam kompartemen tengahnya . “Represents the actions or functions that a class can perform.”
operation name ()
Operation
menunjukkan operasi yang tersedia untuk sebuah kelas
Aggregation
“Represents a logical a-part-of relationship between multiple classes or a class and itself. “
menggambarkan suatu class terdiri dari class lain atau suatu class adalah bagian dari class lain. “Represents a-kind-of relationship between Generalizatio n
multiple classes. “ Generalization merupakan sebuah taxonomic relationship antara class yang lebih umum dengan
39
class yang lebih khusus.
“Represents a relationship between multiple
Association
classes or a class and itself. “
1, 1…*, 0…1
Asosiasi yang menghubungkan classdengan class Multiplycity.
Symptop -Name 1..*
Illness -Descriptions 0..* 0..*
0..* Patient
Person
Appointment
-Amount -Issurance carrier
-lastname -firstname -addres -phone -brithday -age
1 0..*
Bill -Date -Amount -Purpose
1
Medical History nurse
-time -date -reason
employe
-Heart disease -highblood preasure -diabetes 0..1 -alergies
1
0..*
Doctor
administrative staff
Gambar 2.24 Contoh Class Diagram (Alan Denis, 2012) 2.9.5 Sequence Diagram Menggambarkan interaksi antara sejumlah objek dalam urutan waktu. Kegunaanya untuk menunjukan rangkaian pesan yang dikkirim antara objek juga interaksi antara objek yang terjadi pada titik tertentu dalam eksekusi system.
40
Tabel 2.6 Simbol Sequence Diagram Simbol
Nama Simbol
Keterangan “Is a person or system that derives benefit from and is external to the system.”
orang atau sistem yang berasal dari manfaat dan Actor
eksternal ke sistem yang berpartisipasi secara berurutan dengan mengirim dan / atau menerima pesan
“Participates in a sequence by sending and/or
anObject : a Class
receiving messages.” Object
Berpartisipasi secara berurutan dengan mengirim dan / atau menerima pesan yang ditempatkan diatas diagram “Is a long narrow rectangle placed atop a
Execcution
lifeline.”
Occurrence
Menyatakan objek dalam keadaan aktif dan berinteraksi pesan. “Conveys information from one object to another one.”
Message Pesan yang mengambarkan komunikasi yang terjadi antar objek. “Returned the message when an actor send the Message
message.”
(return)
Pesan yang dikirim untuk diri sendiri secara langsung.
41
“Denotes the life of an object during a sequence.” Lifeline Menyatakan kehidupan suatu objek. “a return is labeled with the value being returned Message
and shown as a dashed arrow.”
(return) Pesan yang dikirim untuk diri sendiri.
42
Patients
Patients:PatientsList
:unPaidBills:BillsList
(b) detail pengeluaran dioka2
aReceptionist RequestAppt(Name Addres) LookUpPatient()
aPatients(cdsts)lookUp(ii[s])
MatchApps{}
CreateAppt{i} NewCance(appt)
anAppointments
ApptTimes?{}
Gambar 2.25 ContohSequence Diagram (Alan Denis, 2012)
43
2.10 Flowchart Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung. Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah.
Setelah
flowchart
selesai
disusun,
selanjutnya
pemrogram
(programmer)
menerjemahkannya ke bentuk program dengan bahasa pemrograman yang disebut dengan algoritma. Algoritma ini merupakan penjelas secara terperinci dalam bentuk kalimat yang sejelas-jelasnya tentang alur bagan yang kita buat pada flowchart. (Yatini, 2010) Tabel 2.7 Flow Direction Simbols Arus / Flow
Penghubung antara prosedur / proses
Connector
Simbol keluar / masuk prosedur atau proses dalam lembar / halaman yang sama
Off-line Connector
Simbol keluar / masuk prosedur atau proses dalam lembar / halaman yang lain
44
Tabel 2.8 Processing Symbols Process
Simbol yang menunjukkan pengolahan yang dilakukan Komputer
Decision
Simbol untuk kondisi yang akan menghasilkan beberapa kemungkinan jawaban / aksi
Predefined Process
Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan didalam storage
Terminal
Simbol untuk permulaan atau akhir darti suatu program
Manual Input
Simbol untuk pemasukan data secara manual on-line keyboard
Tabel 2.9 Input Output Symbols Input-Output
Simbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya
Document
Simbol yang menyatakan input berasal dari dokumen dalam bentuk kertas atau output di
45
cetak dikertas
Disk and On-line Storage
Simbol untuk menyatakan input berasal dari disk atau output di simpan ke disk
Gambar 2.26 Conceptual Flowchart dan Detail Flowchart (Yatini, 2010)