BAB II Landasan Teori 2.1 Sistem Pakar Sistem pakar (Expert System) mulai dikembangkan pada pertengahan tahun 1960-an oleh Artificial Intellegence Corporation. Sistem pakar yang muncul pertama kali adalah General–Purpose Problem Solve (GPS) yang merupakan sebuah Predecessor untuk menyusun langkah-langkah
yang
dibutuhkan untuk mengubah situasi awal menjadi state tujuan yang telah ditentukan sebelumnya dengan menggunakan domain masalah yang kompleks. Secara umum, sistem pakar (Expert System) adalah sistem basis komputer yang berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Pada dasarnya sistem pakar diterapkan untuk mendukung aktifitas pemecahan masalah. Beberapa aktifitas pemecahan masalah yang dimaksud antara lain: pembuatan keputusan (decision making), panduan pengetahuan (Knowledge fusing), pembuatan
disain
(forecasting)
pengaturan
(regulating),
pengendalian
(controlling), diagnosis (diagnosing), perumusan (prescribing), penjelasan (explaning), pemberian nasihat(advising) dan pelatihan (tutoring). Kusumdawi, S. (2003) Sistem pakar dibuat pada wilayah pengetahuan tertentu untuk suatu kepakaran tertentu yang mendekati kemampuan manusia disalah satu bidang.
11
Sistem pakar mencoba mencari solusi yang tepat sebagaimana yang dilakukan oleh seorang pakar. Selain itu, sistem pakar juga dapat memberikan penjelasan tentang langkah yang diambil dan memberikan alasan atas saran atau kesimpulan yang ditentukannya. Sistem pakar disusun oleh tiga modul utama (Staugaard, 1987), yaitu:
1.
Modul Penerimaan Pengetahuan (Knowledge Acquisition Mode) Sistem berada pada modul ini, pada saat ia menerima pengetahuan
dari pakar. Proses mengumpulkan pengetahuan-pengetahuan yang akan digunakan untuk
pengembangan sistem, dilakukan dengan bantuan
knowledge engineer. Peran knowledge engineer adalah sebagai penghubung antara suatu sistem pakar dengan pakarnya 2.
Modul Konsultasi (ConsultationMode) Pada saat sistem berada pada posisi memberikan jawaban atas
permasalahan yang diajukan oleh user, sistem pakar berada dalam modul konsultasi. Pada modul ini, user berinteraksi dengan sistem dengan menjawab pertanyaan-pertanyaan yang diajukan oleh sistem. 3.
Modul Penjelasan(Explanation Mode) Modul ini menjelaskan proses pengambilan keputusan oleh sistem
(bagaimana suatu keputusan dapat diperoleh).
2.2 Konsep Dasar Sistem Pakar Pengetahuan dari suatu sistem pakar mungkin dapat direpresentasikan dalam
sejumlah
cara.
Salah
satu
metode
12
yang paling umum
untuk
merepresentasikan pengetahuan adalah dalam bentuk tipe aturan (rule) If...Then (Jika...Maka). walaupun cara diatas sangat sederhana, namun banyak hal yang berarti dalam membangun sistem pakar dengan mengekspresikan pengetahuan pakar dalam bentuk aturan diatas. Konsep dasar suatu sistem pakar mengandung beberapa unsur yakni: a. Keahlian Keahlian merupakan suatu penguasaan dibidang tertentu yang didapatkan dari pelatihan, membaca atau pengalaman. b. Ahli Seorang ahli adalah seorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru sekitar topik permasalahan (domain), menyusun kembali pengetahuan, memecahkan aturan-aturan jika diperlukan dan menentukan relevan setidaknya keahlian mereka. c. Pengalihan Keahlian Pengalihan keahlian dari para ahli ke komputer untuk kemudian diahlikan lagi seorang lain yang bukan ahli (tujuan utama sistem pakar). Proses ini membutuhkan Ativitas, yakni tambahan pengetahuan yang merupakan fakta dan prosedur (ke komputer), inferensi pengetahuan dan pengalihan pengetahuan kepengguna
13
d. Inferensi Mekanisme inferensi merupakan perangkat lunak yang penalaran
dengan
menggunakan
pengetahuan
yang
melakukan ada
untuk
menghasilkan kesimpulan atau hasil akhir. e. Aturan-aturan merupakan informasi tentang cara bagaimana memperoleh fakta baru dari fakta yang telah diketahui f. Kemampuan menjelaskan kemampuan komputer untuk memberikan penjelasan kepada pengguna tentang suatu informasi tertentu dari pengguna dan dasar yang dapat digunakan oleh komputer untuk dapat menyimpulkan suatu kondisi. (Arhami, 2005) 2.2.1
Ciri-Ciri Sistem Pakar Sistem pakar merupakan program-program praktis yang menggunakan
strategi heuristic yang dikembangkan oleh manusia untuk menyelesaikan permasalahan-permasalahan yang spesifik (khusus). Heuristic merupakan suatu strategi untuk melakukan pencarian masalah secara selektif, yang memandu proses pencarian yang dilakukan disepanjang jalur yang memiliki kemungkinan sukses paling besar. Disebabkan oleh keheuristikkannya dan sifatnya yang berdasarkan pengetahuan, maka umumnya sistem pakar bersifat: a. Memiliki informasi yang handal, baik dalam menampilkan langkahlangkah antara maupun dalam menjawab pertanyaan-pertanyaan tentang proses penyelesaian 14
b. Mudah dimodifikasi, yaitu dengan menambah atau menghapus suatu kemampuan dari basis pengetahuannya c. Heuristik
dalam
menggunakan
pengetahuan
untuk
mendapatkan
penyelesaiannya d. Dapat digunakan dalam berbagai komputer, karena kemampuan untuk beradaptasi 2.2.2
Karakteristik Sistem Pakar Ada beberapa sistem pakar yang membedakan sistem pakar dengan yang
lainnya. Karakteristik yang menjadi pedoman utama dalam pengembangan sistem pakar, karakteristik yang dimaksud adalah sebagai berikut: a. Terbatasnya pada domain keahlian tertentu b. Memiliki kemampuan memberikan penalaran untuk data yang tidak pasti c. Berdasarkan pada kaidah/rule d. Dirancang agar dapat dikembangkan e. Keluarannya bersifat anjuran f. Memiliki informasi yang handal g. Dapat digunakan berbagai jenis komputer 2.2.3
Keuntungan Sistem Pakar Beberapa keuntungan sistem pakar adalah sebagai berikut:
a. Memungkinkan orang awam dapat mengerjakan pekerjaan para ahli b. Dapat melakukan proses secara berulang secara otomatis
15
c. Mampu mengambil dan melestarikan keahlian para pakar (terutama keahlian langka) d. Meningkatkan produktivitas dengan cara meningkatkan efisiensi e. Menghemat waktu kerja f. Menyederhanakan pekerjaan g. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidak pastian h. Keluaran bersifat anjuran i. Media pelengkap dalam pelatihan j. Memiliki kemampuan untuk mengakses pengetahuan 2.2.4
Kelemahan sistem pakar Disamping memiliki keuntungan sistem pakar juga memiliki beberapa
kelemahan, diantaranya: a. Biaya yang diperlukan sangat mahal b. Sulit dikembangkan c. Sistem pakar tidak sepenuhnya benar. (Kusumadewi, 2003) 2.3
Komponen Sistem Pakar Sistem pakar disusun oleh bagian utama, yaitu lingkungan pengembangan
(development environment) dan lingkungan konsultan (consultation environment). Lingkungan pengembangan sistem pakar digunakan untuk memasukkan pengetahuan pakar kedalam lingkungan sistem pakar, sedangkan lingkungan konsultasi digunakan untuk pengguna yang bukan pakar guna memperoleh
16
pengetahuan pakar. Komponen-komponen sistem pakar dalam kedua bagian tersebut dapat dilihat pada gambar 2.1 berikut ini: Lingkungan Konsultasi
Lingkungan Pengembangan
Basis Pengetahuan Fakta dan Aturan
Pemakai
Fakta tentang Antar muka
kejadian tertentu
Knowledge enginner
Mesin Inferensi Pakar
Aksi yang direkomendasi Perbaikan Pengetahuan workplace
Gambar 2.1 Komponen Sistem Pakar (Arhami, 2005) Komponen-komponen yang terdapat dalam sistem pakar, yaitu: 1. Antar Muka Pengguna (User Interface) Perangkat lunak yang menyediakan media komunikasi antara pengguna dengan sistem. Antar muka menerima informasi dari pemakai dan mengubahnya kedalam bentuk yang dapat diterima oleh sistem. Pada bagian ini terjadi dialog antara program dan pemakai, yang memungkinkan sistem
17
pakar menerima intruksi dan informasi (input) dari pemakai, juga memberikan informasi (output) kepada pemakai. 2. Basis Pengetahuan Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi dan penyelesaian masalah yang dapat berasal dari pakar, jurnal, majalah dan sumber pengetahuan lain. Komponen sistem pakar ini disusun atas dua elemen dasar yaitu: fakta dan aturan. 3. Akuisisi Pengetahuan (Knowledge Acquisition) Akuisisi pengetahuan merupakan transformasi keahlian dalam menyelesaikan masalah dari sumber pengetahuan kedalam program komputer. Tedapat 4 metode utama dalam akuisisi pengetahuan, yaitu: wawancara, analisis protocol, observasi pada pekerjaan pakar dan induksi aturan dari contoh. Pengetahuan direpresentasikan dalam aturan yang menentukan jenis penyakit kulit berdasarkan syarat dan gejala yang diketahui. Akuisisi pengetahuan dilakukan sepanjang proses pembangunan sistem yang di bagi dalam 6 tahap, yaitu: a. Tahap Identifikasi Tahap identifikasi meliputi pengetahuan komponen-komponen kunci yang meliputi Knowledge enginner, karakteristik masalah, sumberdaya, dan tujuan. Knowledge engeinner dan pakar bekerja bersama untuk menentukan aspek masalah
18
b. Tahap Konseptualisasi Konsep-konsep kunci dan hubungannya yang telah ditentukan pada tahap pertama dibuat lebih jelas dalam tahap konseptualisasi c. Tahap Formalisasi Tahap ini meliputi pemetaan konsep-konsep kunci, sub-masalah dan bentuk aliran informasi yang telah ditentukan dalam tahap-tahap sebelumnya kedalam reoresentasi formal yang paling sesuai dengan masalah yang ada d. Tahap Implementasi Tahap ini meliputi pengetahuan dari tahap sebelumnya yang telah diformalisasi kedalam skema representasi pengetahuan yang di pilih e. Tahap Pengujian Pada tahap ini di lakukan pengujian dengan menggunakan beragam sampel masalah, yang meliputi: kesalahan logika, kegagalan input/output serta strategi kontrol f. Devisi Prototipe Unsur yang terpenting diantara semua tahapan karena memiliki kemampuan kembali ketahap-tahap sebelumnya untuk memperbaiki sistem. 4. Mesin Inferensi Mesin inferensi merupakan perangkat lunak yang melakukan penalaran dengan menggunakan pengetahuan yang ada untuk menghasilkan suatu kesimpulan atau hasil akhir. Dalam komponen ini dilakukan pemodelan proses pemikiran manusia. 19
Inferensi merupakan proses untuk menghasilkan informasi dari fakta yang di ketahui atau diasumsikan. Inferensi adalah konklusi logis (logical conclusion) atau inplikasi berdasarkan informasi yang tersedia dalam hal ini akan digunakan metode inferensi dalam pengambilan kesimpulan. Ada 2 metode inferensi yang penting dalam sistem pakar untuk menarik kesimpulan yaitu: a. Berantai Kedepan(Forward Chaining) Berantai kedepan adalah cara pembentukan dari fakta menuju hipotesa. Seluruh fakta akan diberikan kepada sistem dan sistem akan melakukan deduksi terhadap hipotesa yang paling mungkin. Metode forward chaining ini digunakan dalam menangani masalah pengendali (controlling) dan peramalan (prognosis). Cara ini dapat di tunjukkan pada gambar 2.3 berikut ini:
Observasi A
Aturan R1
Fakta C
Kesimpulan 1 Aturan R3
Fakta D
Observasi B
Aturan R2
Kesimpulan 2
Aturan R2 Fakta E
Gambar 2.2 Proses Forward Chaining (Arhami, 2005)
20
b. Berantai Ke Belakang (Backward chaining) merupakan pendekatan yang dimotori tujuan (goal driven), dalam pendekatan ini pelacakan dimulai dari tujuan, selanjutnya di cari aturan yang memiliki tujuan tersebut untuk kesimpulan. Metode ini digunakan untuk memecahkan masalah diagnosis. Cara ini ditunjukan pada gambar 2.4 berikut ini. Observasi A
Aturan R1
Fakta C Aturan R3 Tujuan 1
Observasi B
Aturan R2
Fakta D Aturan R2
Gambar 2.3 Proses Backward Chaining (Arhami, 2005) Karakteristik forward dan backward chaining yang membedakannya:
Tabel 2.1 tabel perbedaan forward chaining dan backward chaining
Forward chaining
backward chaining
Perencanaan, monitoring, control
diagnosis
Disajikan untuk masa depan
disajikan untuk masa lalu
Antecedent ke konsekuen
konsekuen ke antecedent
Data memandu, penalaran dari bawah ke
tujuan memandu, penalaran dari atas ke
atas
bawah
Bekerja ke depan untuk mendapatkan
bekerja ke belakang untuk mendapatkan
solusi apa yang yang mengikuti fakta
fakta yang mendukung hipotesis
Breadth first search dimudahkan
depth first search dimudahkan
Antecedent menentukan pencarian
konsekuen menentukan pencarian
21
5. Fasilitas Penjelasan Fasilitas penjelas adalah komponen tambahan yang akan meningkatkan kemampuan sistem pakar. Komponen ini mengambarkan penalaran sistem kepada pemakai dengan cara menjawab pertanyaan. 6. Workpace Workpace merupakan area dari sekumpulan memori kerja yang digunakan untuk merekam hasil-hasil dan kesimpulan yang dicapai. 7. Perbaikan Pengetahuan Pakar memiliki pengetahuan untuk menganalisis dan meningkatkan kinerjanya serta kemampuan untuk belajar dari kinerjanya. 2.4 Android Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, midleware dan aplikasi. Android menyediakan
platform
yang terbuka
bagi
para pengembang untuk
menciptakan aplikasi. 2. 4.1 Sejarah Android Pada awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat peranti lunak ponsel atau smartphone. Kemudian, dalam mengembangkan Android dibentuk Open Handset Alliance, yang merupakan konsorsium dari 34 perusahaan peranti lunak dan telekomunikasi termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
22
Pada saat android dirilis secara perdana pada 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan open source pada perangkat mobile. Sekitar September 2007 Google mengenalkan Nexus One, salah satu jenis smartphone yang menggunakan Android sebagai sistem operasinya.
Telepon
seluler ini diproduksi oleh HTC Corporation dan tersedia di pasaran pada 5 Januari 2008. Seiring pembentukan Open Handset Alliance (OHA), OHA mengumumkan produk perdana mereka Android, perangkat mobile yang merupakan modifikasi kernel Linux 2.6. Sejak Android dirilis telah dilakukan pula berbagai pembaharuan berupa perbaikan bug dan penambahan fitur baru. Pada masa saat ini vendor-vendor smartphone sudah memproduksi handset berbasis android, beberapa vendor tersebut diantaranya HTC, Motorola, Samsung, LG, Huawei, Dell, Nexus, Sony Ericsson, Acer, Philips, T-Mobile, IMO, Nexian, Asus dan sebagainya. Hal ini dikarenakan android itu adalah sistem operasi yang open source sehingga bebas didistribusikan dan dipakai oleh vendor manapun. [Wikipedia, diakses 22 oktober 2012] 2. 4. 2 Android SDK (Android Software Development Kit) Android SDK adalah tools API (Application Programming Interface) yang diperlukan untuk mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Sebagai platform aplikasi netral, Android memberi kesempatan untuk membuat aplikasi yang dibutuhkan yang bukan merupakan
23
aplikasi bawaan handphone atau smartphone. Beberapa fitur android diantaranya yakni : 1. Application framework yang mendukung pergantian komponen dan reusable. 2. Dalvik virtual machine dioptimalkan untuk perangkat mobile. 3. Integrated browser berdasarkan engine opensource Webkits. 4. Optimized graphics didukung oleh libraries grafis 2D, grafis 3D berdasarkan spesifikasi OpenGL ES 1.0 (opsional hadware). 5. SQLite untuk penyimpanan data (database). 6. Media support yang mendukung audio, video dan gambar dengan format MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF (tergantung hardware). 7. Bluetooth, EDGE, 3G, and WiFi (tergantung hardware). 8. Camera, GPS, compass, and accelerometer (tergantung hardware). 9. Rich development environment, lingkungan development yang kaya termasuk dengan emulator, tools untuk debugging, memori dan plugins untuk Eclipse IDE. (Safaat, 2012) 2.4.3 Arsitektur Android Arsitektur
android
menggambarkan
komponen-komponen
yang
membangun sebuah aplikasi Android. Berikut ini adalah gambaran arsitektur android yang dikutip dari buku Android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android.
24
Gambar 2.4 Arsitektur Android (Safaat, 2012) Secara garis besar arsitektur Android dapat dijelaskan sebagai berikut : a. Application dan Widgets Application dan widgets merupakan puncak dari diagram arsitektur android. Lapisan aplikasi ini merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pada lapisan ini terdapat aplikasi inti yang dipergunakan pengguna, yakni: email client, program SMS, kalender, peta, browser, kontak dan lain-lain. b. Application Framework Android merupakan Open Development Platform yakni developer dapat melakukan pengembangan dengan membangun aplikasi yang bagus dan inovatif. Dalam android terdapat kerangka aplikasi (Application Framework) yang menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi.
25
Selain itu, android juga menyediakan abstraksi generik untuk mengakses perangkat, serta mengatur tampilan (user interface) dan sumber daya aplikasi. Komponen-komponen yang termasuk didalam Application Framework yakni : 1. Activity Manager. 2. Content Providers. 3. Resource Manager. 4. Location Manager. 5. Notification Manager. c. Libraries Libraries merupakan lapisan dimana fitur-fitur Android tersebut berada. Android menyertakan satu set library dalam bahasa C/C++ yang digunakan oleh berbagai komponen yang ada pada sistem Android. Kemampuan ini dapat diakses oleh programmer melewati Android application framework. Berikut ini merupakan beberapa library yang dipergunakan dalam Android, diantaranya, yakni : a. Libraries media untuk pemutaran media audio dan video. b. Libraries untuk manajemen tampilan. c. Libraries Graphics yang mencakup SGL dan Open GL untuk grafis 2 dan 3D. d. Libraries SQLite untuk dukungan database. e. Libraries SSL dan WebKit terintegrasi dengan web browser dan security. f. Libraries Live WebCore yang mencakup modern web browser dengan engine embedded web view, dan library lainnya.
26
d. Android Runtime Pada android tertanam paket pustaka inti yang menyediakan sebagian besar fungsi android. Inilah yang membedakan Android dibandingkan dengan sistem operasi lain yang juga mengimplementasikan Linux. Android Runtime merupakan mesin virtual yang membuat aplikasi android menjadi lebih tangguh dengan paket pustaka yang telah ada. Didalam Android Runtime dibagi menjadi dua bagian, yaitu : 1. Pustaka inti (Core Libraries) Aplikasi Android dibangun dalam bahasa Java. Sehingga diperlukan libraries yang berfungsi untuk menterjemahkan bahasa Java/ C, sehingga source code program dapat dikenali dan diekseskusi. 2. Dalvik Virtual Machine Mesin virtual ini merupakan sebuah interpreter mesin virtual yang mengeksekusi file dalam format Dalvik Executable (*.dex). Dengan format ini Dalvik akan mengoptimalkan efisiensi penyimpanan dan pengalamatan memori pada file yang dieksekusi. Dalvik berjalan di atas kernel Linux 2.6, dengan fungsi dasar seperti threading dan manajemen memori yang terbatas. e. Linux Kernel Lapisan ini merupakan lapisan dimana inti dari sistem operasi Android. Didalamnya berisi file-file sistem yang mengatur sistem processing, memory,
27
resource, drivers dan sistem-sistem operasi android lainnya. Linux kernel yang dipergunakan Android adalah Linux Kernel release 2.6. (Safaat, 2012) 2.5 JSON(JavaScript Object Notation) JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data. JSON terbuat dari dua struktur: 1.
Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array.
2.
Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).
Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian
28
karena
format
data
mudah
dipertukarkan
dengan
bahasa-bahasa
pemprograman yang juga berdasarkan pada struktur data ini. JSON menggunakan bentuk sebagai berikut: Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua)dan setiap pasangan nama/nilai dipisahkan oleh , (koma).
Gambar 2.5 Objek JSON (http://www.json.org/json-id.html, akses 2012)
Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma).
Gambar 2.6 Larik JSON (http://www.json.org/json-id.html, akses 2012)
Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-struktur tersebut dapat disusun bertingkat.
29
Gambar 2.7 Struktur Value JSON (http://www.json.org/json-id.html, akses 2012)
String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java. (http://www.json.org/json-id.html,akses 2012)
Gambar 2.8 Struktur String JSON (http://www.json.org/json-id.html, akses 2012)
2.6 Sejarah Laptop Laptop atau komputer jinjing adalah komputer bergerak yang berukuran relatif kecil dan ringan, beratnya berkisar dari 1-6 kg, tergantung ukuran, 30
bahan, dan spesifikasi laptop tersebut. Sumber daya laptop berasal dari baterai atau adaptor A/C yang dapat digunakan untuk mengisi ulang baterai dan menyalakan laptop itu sendiri. Baterai laptop pada umumnya dapat bertahan sekitar 1 hingga 6 jam sebelum akhirnya habis, tergantung dari cara pemakaian, spesifikasi, dan ukuran baterai. Laptop terkadang disebut juga dengan komputer notebook atau notebook saja. [Wikipedia. akses 22 oktober 2012] Laptop mulai menjadi pembicaraan serius dikalangan para produsen dan desain PC pada awal 1070-an, ketik komputer pribadi yang portable diangkat ke permukaan. Sebuah “personel, portable information manipulator” yang dibayangkan oleh Alan Key di Xerox PARC pada tahun 1985, dan dijelaskan pada tahun 1972 dalam makalahnya yaitu “Dynabook”. Proyek IMB SCAMP yaitu Special Computer APL Machine Portable telah didemonstrasikan pada tahun 1973. Prototipe ini didasarkan pada processor PALM (Put All Logic In Microcode). IBM 5100, komputer portable atau laptop pertama yang tersedia secara komersial, muncul pada bulan September 1975, dan didasarkan pada prototipe SCAMP. Komputer portable yang memiliki mesin CPU 8 bit ini kemudian diterima secara luas dan jumlahnya semakin meningkat. Osborne 1, yang dirilis pada tahun 1981, menggunakan zilog Z80 dan beratnya 10,7kg itu pun belum termasuk baterai. Layar CRT hanya 5 Inch atau 13 cm, dan menggunakan 5,26 inci single density floppy drive. Pada tahun yang sama komputer laptop
31
berukuran portable pertama, Epson HX 20, diumumkan. Epson memiliki layar LCD, baterai isi ulang, dan sebuah printer kalkulator ukuran 1,6 kg. Laptop pertama yang menggunakan flip form factor muncul pada awal tahun 1980-an. Magnum Dulmont dirilis di Australia pada tahun 1981 – 1982 tapi dipasarkan secara global sampai pada tahun 1984 – 1985. Beberapa CPU yang digunakan antaranya adalah Inter 1990 i386SL, dirancang untuk menggunakan daya minimum untuk meningkatkan daya hidup baterai komputer portable, dan didukung oleh manajemen daya dinamis seperti Intel SpeedStep dan AMD PowerNow dalam beberapa desain.Perkembangan teknologi komputer telah banyak membawa perubahan pada komputer portable atau laptop ini. Desain yang semakin ramping, bobot yang semakin ringan dan kemampuan menghemat daya menjadi bagian terpenting dalam perkembangan laptop berikutnya. 2.6.1 Acer Acer merupakan sebuah merek lima besar komputer pribadi dunia. Produk Acer antara lain adalah desktop, notebook, server, penyimpanan data, layar, peripheral, dan solusi e-bisnis untuk bisnis, pemerintah, pendidikan dan pengguna pribadi. Pertama kali didirikan dengan nama Multitech yang didirikan pada 1976, yang kemudian dinamakan Acer pada 1987. Grup pan Acer mempekerjakan 39.000 orang di lebih dari 100 negara. Pendapatannya pada 2002 adalah US$12,9 miliar. Kantor pusatnya terletak di Kota Sijhih, Taipei County,Taiwan. (Wikipedia, di akses 17 desember 2012)
32
2.6.1.1 Data kerusakan pada laptop acer 4520 1. Tombol fn tidak berfungsi Tombol fn merupakan tombol fungsi yang digunakan untuk mensetting notebook 4520 seperti memperbesar volume suara, menghidupkan wifi. Tetapi jika tombol fn yang ada tidak dapat digunkan, apa yang akan dilakukan pada tombol fn tersebut. Adapun beberapa kemungkinan terjadi:
Penyebab 1: sistem operasi mengalami kerusakan(akan muncul pesan error pada saat laptop nyala) Solusi
: install ulang sistem operasi
Penyebab2 : Driver hotkey belum dis install Solusi
: install ulang driver hotkey yang telah di sediakan di cr bawaan latop 4520.
Penyebab3 : kondisi fisik luar tombol fn dalam keadaan tidak normal Solusi
:
a. Lepaskan tombol dapat dilakukan dengan bantuan gunting kuku dan menarik keluar tombol yang mengalami kerusakan. Gunakan hook kecil untuk menarik secara perlahan sampai kunci memang benar-benar telah tertarik keluar. Angkatlah engsel plastik yang terlipat dibawah bagian tombol yang rusak tersebut, dan lakukan pembersihan secara hati-hati.
33
b. Pasang kembali tombol yang sudah Anda bersihkan sesuai dengan tempat seperti Anda membukanya sebelumnya. Tutup bagian tombol secara tepat. Penyebab4 : disekitar tombol fn terkena tumahan cairan atau air Solusi
:
a. menekan tombol secara bersamaan kemudian lepaskan dengan cepat. Lakukan berulang-ulang pada seluruh tombol dan kemudian restart laptop kembali b.
ketika langkah step 1 tidak bisa,coba bongkar papan keyboard dengan hati hati coba periksa berishkan carbon yang ada di papn keyboard tersebut dengan tiner dan pasang kembali, kemudian hidupkan.
c. Ketika step 2 bisa mungkin ada jalur di tombol fn yang mengalami kerusakan yang disebabkan oleh tumpahan cairan atau air,
di
anjurkan bawa ketempat servis. Penyebab5 : hanya tombol solusi yang tidak berfungsi Solusi1
: periksa jalur papan keyboard dengan membongkar terlebih dahulu lalu dengan hati hati. Apabila kondisi jalur PCB (printed circuit board) ada yang rusak kemungkinan itu penyebab rusaknya.
34
Solusi2
: download aplikasi keyboard test untuk mengetes tombol Fn apabila dilayar keyboard test berwarna merah maka tombol fn mengalami kerusakan.coba bongkar papan keyboard dengan hati hati coba periksa bersihkan carbon dan juga sensor yang ada di tombol fn tersebut dengan tiner dan pasang kembali, kemudian hidupkan.
Untuk melihat seluruh data kerusakan, pertanyaan atau penyebab dan juga solusi setiap kerusakan dengan penyababnya maka dapat di lihat pada lampiran 1 untuk data kerusakan, lampiran 2 untuk data pertanyaan atau penyebab dan lampiran 3 untuk data solusi. 2.7 Metode RUP (Rational Unified Process) Unified Process atau dikenal dengan proses iteratif dan incremental merupakan sebuah proses pengembangan perangat lunak yang dilakukan secara berulang (iteratif) dan inkremental (bertahap dengan progres menaik). Iteratif bisa dilakukan di dalam setiap tahap, atau iteratif tahap pada proses pengembangan perangkat lunak untuk menghasilkan perbaikan fungsi yang inkremental (bertambah menaik) dimana setiap iterasi akan memperbaiki iterasi berikutnya. Salah satu Unified Process yang terkenal adalah RUP (Rational Unified Process). RUP (Rational Unified Process) fokus pada arsitektur lebih diarahkan berdasarkan penggunaan kasus (Use Case driven). RUP merupakan proses rekayasa perangkat lunak dengan pendefinisian yang baik (well-defined) dan penstrukturan yang baik (well structured). RUP menyediakan pendefinisian
35
struktur yang baik untuk alur hidup proyek perangkat lunak. RUP adalah sebuah produk proses perangkat lunak yang dikembangkan oleh Rational Software diakuisi oleh IBM di bulan Februari 2003. (Rosa, Shalahuddin,2011)
Gambar 2. 9 Proses iteratif RUP (Rosa, Shalahuddin,2011) Melalui gambar dibawah dapat dilihat bahwa RUP memiliki, a. Dimensi pertama digambarkan secara horizontal. Dimensi ini mewakili aspek-aspek dinamis dari pengembangan perangkat lunak. Aspek ini dijabarkan dalam tahapan pengembangan atau fase. Setiap fase akan memiliki suatu major milestone yang menandakan akhir dari awal dari phase selanjutnya. Setiap fase dapat berdiri dari satu beberapa iterasi. Dimensi ini terdiri atas Inception, Elaboration, Construction, dan Transition. b. Dimensi kedua digambarkan secara vertikal. Dimensi ini mewakili aspekaspek
statis
dari
proses
pengembangan
perangkat
lunak
yang
dikelompokkan ke dalam beberapa disiplin. Proses pengembangan perangkat lunak yang dijelaskan kedalam beberapa disiplin terdiri dari
36
empat elemen penting, yakni who is doing, what, how dan when. Dimensi ini terdiri atas Business Modeling, Requirement, Analysis and Design, Implementation,
Test,
Deployment,
Configuration
dan
Change
Manegement, Project Management, Environtment.
Gambar 2.10 Tahap pengembangan sistem (Kruchten,2003) Keterangan dari fase RUP adalah sebagai berikut : 1. Inception (Permulaan) Tahap ini lebih pada memodelkan proses bisnis yang dibutuhkan (business modelling) dan mendefinisikan kebutuhan akan sistem yang akan dibuat (requirements), pada tahapan ini penulis mengklasifikasikan ke dalam proses bisnis yang telah berjalan beserta analisis pengembangannya.
37
2. Elaboration (perluasan/perencanaan) Tahap ini lebih difokuskan pada perencanaan arsitektur sistem. Tahap ini juga dapat mendeteksi apakah arsitektur sistem yang diinginkan dapat dibuat atau tidak. Mendeteksi risiko yang mungkin terjadi dari sistem arsitektur yang dibuat. Tahap ini lebih pada analisis dan design sistem serta implementasi sistem yang fokus pada purwapura sistem (Prototype). Pada tahapan ini penulis mengklasifikasikan dalam analisis perencanaan pembangunan aplikasi yang disesuaikan dengan kebutuhan dan bisnis proses yang telah berjalan. 3. Construction (Konstruksi) Tahap ini fokus pada pengembangan komponen dan fitur-fitur sistem. Tahap ini lebih pada pengimplementasian dan pengujian yang fokus pada implementasi perangkat lunak pada kode program. Tahap ini menghasilkan produk perangkat lunak dimana menjadi syarat dari Initial Operational Capacity Milestone atau batas kemampuan operasional awal. Pada tahapan ini penulis mulai mengimplementasikan analisis perancangan kedalam bahasa pemograman J2ME yang akan membangun seluruh komponen sistem yang akan di buat. 4. Transition (transisi) Tahap in lebih pada deployment atau instalasi sistem agar dapat dimengerti oleh user. Pada tahapan ini penulis menguji kelayakan aplikasi secara keseluruhan yang berguna untuk menjamin kesesuaian aplikasi dengan rancangan.
38
2.8 Unified Modeling Language ( UML ) Unified Modeling Language (UML) adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma berorientasi objek pemodelan sesungguhnya digunakan untuk penyederhanaan permasalahan – permasalahan yang kompleks sedemikian rupa sehingga lebih mudah depelajari dan dipahami menurut Nugroho, A. (2010). Jika digambarkan dalam bentuk diagram UML adalah sebagai berikut,
Gambar 2. 11 UML Diagram (Rosa, Shalahuddin,2011) Penjelasan dari gambar diatas adalah sebagai berikut:
Structure diagram yaitu kumpulan diagram yang dilakukan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan.
Behaviour diagram
yaitu kumpulan diagram yang digunakan untuk
39
menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.
Interaction diagram yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antar subsistem pada suatu sistem.
Kelebihan dari UML adalah dapat menggambarkan pemetaan (gambaran) dari tahap analisis ke dalam tahap perancangan dan akhirnya implentasi. UML memberikan notasi - notasi yang konsisten dan ini memudahkan model tersebut untuk berkomunikasi dengan pengguna. Gambar berikut menampilkan view dalam UML. (Nugroho, 2010)
Component View
Logical View
Use Case View
Devloyment View
Concurency View
Gambar 2. 12 View dalam UML (Rosa, Shalahuddin,2011) 1. Usecase view mendeskripsikan secara fungsional sistem terhadap aktor ekternal yang berinteraksi dengan sistem. Aktor eksternal tersebut dapat berupa sistem lain atau user. View yang memperlihatkan fungsionalitas dari sistem.
40
2. Logical view yang memperlihatkan bagaimana fungsionalitas tersebut dirancang kedalam sistem ( static structure dan dynamic behavior ). 3. Component view mendeskripsikan bagaimana sistem memberikan layanan secara fungsionalitas dilihat dari dalam sistem. Struktur statis digambarkan dalam
diagram
kelas
dan
objek,
sedangkan
model
dinamisnya
digambarkan dalam state, sequence dan activity diagram. 4. Concurrency view menggambarkan transaksi dan pembagian dari sistem menjadi proses-proses dan pemrosesannya. 5. Deployment view yang memperlihatkan penyebaran sistem kedalam arsitektur fisik ( komputer dan alat-alat ). Grafik aktual yang mengilustrasikan bagian-bagian dari sistem di gambarkan dalam tipe-tipe diagram. UML memiliki 9 tipe diagram yaitu : usecase diagram, activity digram, class diagram, object diagram, sequence diagram, statechart diagram, collaboration diagram, component diagram dan deployment diagram. Tetapi pada kasus penelitian ini saya mengambil beberapa diagram untuk memecahkan kasus tersebut, diantaranya: 2.8.1
Usecase Diagram Usecase diagram memperlihatkan hubungan diantara aktor dan
usecase. Aktor merepresentasaikan seorang user atau sub sistem lain yang akan berinteraksi dengan sistem. Sedangkan usecase merupakan urutan kejadian yang menggambarkan interaksi antara user dengan sistem fungsionalitas sistem didefinisikan ke dalam usecase dari sudut eksternal sistem yang berguna untuk uji kelayakan fungsionalitas.
41
Gambar 2. 13 UseCase Diagram (Rosa, Shalahuddin,2011) Terdapat tiga jenis hubungan yang terjadi antara usecase yaitu : 1. Extends relationship: Hubungan generalization dimana satu usecase memperluas usecase yang lain dengan cara penambahan aksi-aksi pada usecase yang umum 2. Uses relationship: Hubungan generalization dimana satu usecase menggunakan usecase yang lain, ini menandakan sebagai bagian dari specilized usecase, tingkah laku dari usecase yang umum akan diikutsertakan. 3. Grouping: Ketika sejumlah usecase menangani fungsi yang sama atau dalam beberapa cara berhubungan satu dengan yang lainnya, mereka dapat diikat (bundle) dalam UML Package. Tabel 2. 2 Relasi–relasi dalam use case (Rosa, Shalahuddin,2011)
42
2.8.2
Activity Diagram Diagram ini menjelaskan alur kerja sebuah sistem. Activity diagram
mirip dengan state diagram karena sejumlah aktivitas menggambarkan keadaan suatu proses dengan memperlihatkan urutan aktivitas yang dijalankan baik berupa pilihan maupun paralel. Diagram ini juga berguna untuk menganalisa sebuah usecase dengan menggambarkan aksi-aksi yang diperlukan dan kapan aksi-aksi tersebut dijalankan, menjelaskan urutan algoritma yang komplek dan memodelkan sejumlah aplikasi dengan proses paralel.
Gambar 2. 14 Contoh activity diagram 2.8.3
Sequence Diagram Diagram ini menjelaskan bagaimana objek berinteraksi dengan
lainnya dengan cara mengirim dan menerima pesan. Sequence diagram memiliki dua sumbu : sumbu vertikal dan sumbu horizontal. Sumbu vertikal putus-putus merepresentasikan “lifetime” objek dan sumbu horizontal menunjukan sekumpulan objek. Diagram ini juga menyatakan interaksi
43
khusus diantara objek yang terjadi pada beberapa tempat selama fungsi tertentu dijalankan. Komunikasi diantara objek direpresentasikan dengan garis horizontal disertai dengan nama operasinya.
Gambar 2. 15 Sequence Diagram (Rosa, Shalahuddin,2011) 2.8.4
Class Diagram Digunakan untuk menggambarkan tipe-tipe objek dan hubungannya
dalam sebuah sistem. Class diagram memodelkan struktur class dan isinya dengan menggunakan elemen-elemen model seperti class, package dan objek. Class terdiri dari tiga bagian yaitu Nama class, atribut dan operasi. Class yang didefinisikan secara global dapat diakses oleh objek diluar class tersebut. nama atribut
operasi
Gambar 2. 16 Class Diagram (Rosa, Shalahuddin,2011) 44
Keterangan : 1.
Nama: Bagian yang paling atas berisi nama kelas, ditulis dalam huruf tebal dan diletakkan di tengah-tengah. Nama diambil dari domain permasalahan dan harus sejelas mungkin. Oleh karena itu nama kelas haruslah berupa kata benda.
2.
Attribut kelas memiliki atribut yang menggambarkan karakteristik dari objek. Atribut kelas yang benar adalah yang dapat mencakup informasiinformasi yang dilukiskan dan mengenali instance tertentu dari kelas. Tipe dari atribut dapat berupa primitif atribut atau tipe lainnya.
3.
Operasi:
Operasi
digunakan
untuk
memanipulasi
atribut
atau
menjalankan aksi-aksi. Operasi biasanya disebut dengan fungsi, tetapi mereka terdapat di dalam kelas dan dapat diaplikasikan hanya pada objek dalam kelas tersebut. (Rosa, Shalahuddin,2011)
45