SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika
Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia
HASBY FACHRUL HAQQI AN-NAHROWI
10105106
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
i
APLIKASI DIAGNOSA KERUSAKAN PADA SEPEDA MOTOR
BERBASIS HANDPHONE MENGGUNAKAN
J2ME (JAVA 2 MICRO EDITION)
Oleh
Hasby Fachrul Haqqi An-Nahrowi 10105106
Tugas Akhir ini membahas tentang “Aplikasi Diagnosa Kerusakan Pada Sepeda Motor Berbasis Handphone Menggunakan J2ME (Java 2 Micro Edition)”. Aplikasi dibagi menjadi tiga bagian yaitu : Diagnosa, Bantuan dan Tentang. Pengguna berinteraksi dengan aplikasi melalui ponsel. Fungsionalitas yang disediakan untuk pengguna adalah menu Diagnosa untuk menampilkan macam-macam jenis kerusakan dan memilih jenis kerusakan untuk memulai proses diagnosis, menu Bantuan untuk menampilkan informasi bagaimana menggunakan menu-menu dalam aplikasi diagnosa kerusakan pada sepeda motor ini dan menu Tentang untuk menampilkan informasi tentang pembuat aplikasi diagnosa kerusakan pada sepeda motor ini.
Aplikasi diagnosa yang dibuat ini mampu mendiagnosa jenis kerusakan yang dialami sebagai diagnosa awal. Aplikasi diagnosa ini akan memberikan informasi kepada pengguna berupa kemungkinan penyebab sebagai hasil diagnosa dan saran tindakan yang dapat dilakukan untuk mengatasi kemungkinan penyebabnya.
ii By
Hasby Fachrul Haqqi An-Nahrowi 10105106
This final project discusses about "Motorcycle’s Damage Diagnosis Application Based On Handphone Using J2me (Java 2 Micro Edition)." Applications are divided into three sections : Diagnosis, Help and About. Users interact with applications via mobile phone. Functionality provided to users is to display the Diagnostics menu different types of damage and select the type of damage to begin the process of diagnosis, the Help menu to display information on how to use the menus in the application of damage diagnosis on this bike and menu About to display information about the maker diagnostic applications of damage on this bike.
Applications made this diagnosis can diagnose the type of damage experienced as an early diagnosis. This diagnostic application will provide information to users in the form of probable cause as a result of the diagnosis and suggestions for actions that can be done to overcome the possible causes.
vi
BAB I PENDAHULUAN 1.1 Latar Belakang ... 1
BAB II LANDASAN TEORI 2.1 Java 2 Micro Edition (J2ME) ... 9
2.1.1 Pengertian J2ME ... 9
2.1.2 Connected Limited Device Configuration (CLDC) ... 12
vii
2.4.7 Component Diagram... .... 21
2.4.8 Deployment Diagram... .... 21
2.4.9 Tujuan Perancangan UML ... 21
2.5 Kecerdasan Buatan ... 22
2.5.1 Pengertian Kecerdasan Buatan ... 22
2.5.2 Klasifikasi Program Kecerdasan Buatan ... 23
2.6 Sistem Pakar ... 24
2.6.1 Pengertian Sistem Pakar ... 24
2.6.2 Ciri-ciri Sistem Pakar ... 25
2.6.3 Keuntungan dan Kelemahan Sistem Pakar ... 26
2.6.3.1 Perbandingan Pakar Dengan Sistem Pakar ... 27
2.6.4 Komponen Sistem Pakar ... 27
2.6.5 Representasi Pengetahuan ... 30
2.6.6 Aturan (Rule) ... 31
2.7 Metode Inferensi Backward Chaining ... 32
2.8 Telepon Selular ... 32
BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Sistem ... 40
viii
3.3.3 Spesifikasi Pengguna (user) ... 44
3.4 Analisis Manajemen Memori ... 44
3.5 Analisis Perbandingan Metode Forward Chaining dengan Backward Chaining... 45
3.6 Analisis Kebutuhan Fungsional ... 47
3.7 Perancangan UML (Unified Modelling Language) ... 48
3.7.1 Use Case Diagram ... 48
3.7.1.1 Definisi Use Case ... 49
3.7.2 Skenario Use Case... 49
3.7.3 Realisasi Use Case Tahap Analisis ... 52
3.7.3.1 Kelas Analisis Use Case Konsultasi Kerusakan ... 53
3.7.3.2 Kelas Analisis Use Case Bantuan ... 53
3.7.3.3 Kelas Analisis Use Case Profil ... 54
3.7.4 Sequence Diagram ... 54
3.7.5 Activity Diagram ... 56
3.7.6 Class Diagram ... 60
3.8 Perancangan Basis Pengetahuan ... 60
3.9 Perancangan Arsitektur Menu ... 89
3.10Perancangan Antarmuka ... 89
3.11.1 Perancangan Antarmuka Halaman Splash screen ... 89
3.11.2 Perancangan Antarmuka Halaman Utama ... 90
3.11.3 Perancangan Antarmuka Konsultasi Kerusakan ... 91
3.11.4 Perancangan Antarmuka Halaman Pertanyaan ... 92
3.11.5 Perancangan Antarmuka Halaman Penyebab ... 93
3.11.6 Perancangan Antarmuka Halaman Bantuan... 94
3.11.7 Perancangan Antarmuka Halaman Profil ... 95
ix
4.4 Implementasi Antarmuka ... 100
4.4.1 Tampilan Splash Screen ... 101
4.4.2 Tampilan Menu Utama ... 101
4.4.3 Tampilan Konsultasi ... 102
4.4.4 Tampilan Bantuan ... 103
4.4.5 Tampilan Profil ... 104
4.5 Pengujian Sistem ... 105
4.5.1 Rencana Pengujian ... 106
4.5.2 Kasus dan Hasil Pengujian ... 106
4.5.3 Kesimpulan Hasil Pengujian Alpha ... 108
4.5.4 Pengujian Betha ... 108
4.5.5 Kesimpulan Hasil Pengujian Betha ... 112
4.6 Kesimpulan Pakar ... 113
BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 114
5.2 Saran ... 114
1 1.1 Latar Belakang Masalah
Orang membutuhkan komunikasi untuk menjaga hubungan dengan
temannya, peralatan dan layanan-layanan telepon lainnya. Di antara peralatan elektronik yang banyak orang miliki dan gunakan adalah telepon selular yang sering dibawa kemanapun mereka berada.
Telepon Seluler atau Ponsel adalah salah satu alat komunikasi yang dapat dibawa kemana saja oleh pengggunanya. Dengan adanya perkembangan
teknologi yang sangat pesat, ponsel saat ini tidak hanya digunakan untuk komunikasi suara, tetapi juga dapat membeli tiket, mencari berita, perbankan, mendiagnosa sesuatu dan digunakan untuk berselancar di Internet, bahkan
untuk mengoperasikan peralatan tertentu.
Boleh dikatakan suatu saat nanti kemampuan telepon selular akan dapat
menyamai kemampuan komputer yang ada saat ini. Dengan kemampuan CPU dan memory yang makin meningkat, semakin dimungkinkan bagi developer untuk mengembangkan aplikasi-aplikasi pada telepon selular. Sehingga suatu
saat nanti telepon selular betul-betul merupakan suatu peralatan multifungsi yang selain untuk komunikasi juga untuk mengendalikan peralatan,
Pada saat ini orang-orang sudah tidak asing lagi dan sangat bergantung dengan telepon selular dan kendaraan khususnya sepeda motor, dikarenakan
dengan menggunakan sepeda motor kita dapat menghemat waktu dan biaya menuju tempat tujuan. Namun demikian, sering terjadi kendala dari sepeda
motor yang menyebabkan kerusakan sehingga dapat mengganggu aktifitas yang akan dilakukan.
Banyak pengendara sepeda motor yang tidak mengetahui kendala yang
dialami oleh sepeda motor tersebut. Maka, dari permasalahan tersebut perlu adanya sebuah aplikasi yang akan membantu pengendara sepeda motor untuk
mendiagnosa kerusakan pada sepeda motor dengan memanfaatkan perkembangan teknologi telepon selular.
Dari permasalahan di atas, penulis akan membangun sebuah aplikasi
yaitu “Aplikasi Diagnosa Kerusakan Pada Sepeda Motor Berbasis HandPhone Menggunakan J2ME (Java 2 Micro Edition)”.
1.2 Rumusan Masalah
Berdasarkan latar belakang dan judul yang telah dijabarkan diatas, maka pokok permasalahan yang dapat disimpulkan adalah :
“Bagaimana Membangun Aplikasi Diagnosa Kerusakan Pada Sepeda Motor
1.3 Maksud dan Tujuan
Maksud dari penulisan ini untuk membangun Aplikasi Diagnosa
Kerusakan Pada Sepeda Motor Berbasis HandPhone Menggunakan J2ME (Java 2 Micro Edition).
Tujuan yang akan dicapai dalam pembuatan aplikasi ini adalah :
1. Memberi kemudahan informasi kepada pengendara sepeda motor dalam mendeteksi kerusakan pada sepeda motor.
2. Memanfaatkan perkembangan teknologi telepon selular untuk membangun aplikasi diagnosa kerusakan pada sepeda motor.
1.4 Batasan Masalah/Ruang Lingkup kajian
Untuk memudahkan dalam penyelesaian masalah agar terarahnya penyusunan skripsi ini, maka penulis akan membatasi ruang lingkup masalah
dan yang akan dibahas adalah :
1. Aplikasi yang dibangun adalah untuk mendiagnosa kerusakan pada sepeda motor bebek 4 tak yang tahun perakitannya diatas tahun 1990.
2. Aplikasi ini hanya dapat mendiagnosa kerusakan pada sepeda motor yang menggunakan sistem kerja karburator.
3. Pemakai yang melakukan interaksi dengan aplikasi ini diasumsikan mengetahui beberapa komponen dalam sepeda motor.
4. Interaksi yang dimaksud adalah menjawab pertanyaan yang diberikan
5. Aplikasi ini dapat digunakan pada ponsel yang mendukung bahasa pemrograman Java.
6. Model proses menggunakan metode Waterfall. 7. Menggunakan metode inferensi Backward Chaining.
8. Bahasa pemrograman menggunakan J2ME (Java 2 Micro Edition).
1.5 Metodologi Penelitian
Metodologi yang digunakan dalam penulisan tugas akhir ini adalah
sebagai berikut :
1. Metodologi Pengumpulan Data
Metode pengumpulan data yang digunakan dalam penelitian ini adalah
sebagai berikut : a. Observasi
Melakukan pengamatan langsung ke lapangan untuk mengumpulkan informasi yang dibutuhkan dalam hal ini bagian informasi proses mendiagnosa kerusakan pada sepeda motor.
b. Studi Literatur
Melakukan penelusuran pustaka dan sumber lainnya mengenai segala
sesuatu yang dibutuhkan dalam pembangunan Aplikasi Diagnosa Kerusakan Pada Sepeda Motor Berbasis HandPhone Menggunakan J2ME (Java 2 Micro Edition).
c. Wawancara (Interview)
Data akan diperoleh dengan melakukan tanya jawab dengan
dibutuhkan seperti mekanik dan lain sebagainya yang berhubungan dengan sepeda motor yang mengetahui permasalahan dalam
pembangunan aplikasi diagnosa kerusakan awal yang berhubungan dengan sepeda motor. Data wawancara ini juga akan digunakan
sebagai bahan referensi untuk pembangunan aplikasi diagnosa kerusakan pada sepeda motor.
2. Metodologi Pengembangan Perangkat Lunak.
Metodologi yaitu kesatuan metode-metode atau aturan-aturan pekerjaan yang digunakan oleh suatu ilmu pengetahuan. Sedangkan
metode adalah suatu cara atau teknik yang sistematik untuk mengerjakan sesuatu. Dalam pengembangan perangkat lunak ini digunakan metode The Classic Life Cycle (Paradigma Waterfall). Pada metode ini terdapat 5 tahap
untuk mengembangkan suatu perangkat lunak. Kelima tahapan itu tersusun dari atas kebawah, diantaranya : Analysis, Design, Coding, Testing,
Maintenance. Dimana konsep dari metode ini adalah bagaimana melihat
suatu masalah secara sistematis dan terstruktur dari atas ke bawah.
Tahap-tahap pengembangan perangkat lunak metode waterfall dapat
System
Gambar 1.1. Metode The Classic Life Cycle / Waterfall
a. System / Information Engineering
Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu proyek, dimulai dengan menetapkan berbagai kebutuhan dari semua
elemen yang diperlukan sistem dan mengalokasikannya kedalam pembentukan perangkat lunak.
b. Analysis adalah tahap menganalisa hal-hal yang diperlukan dalam
pelaksanaan proyek pembuatan atau pengembangan aplikasi.
c. Design adalah tahap penterjemah dari keperluan-keperluan yang
dianalisis ke dalam bentuk yang lebih mudah dimengerti oleh pemakai. d. Coding adalah tahap penterjemah data/pemecahan masalah aplikasi
ditentukan. Pada tahap ini bahasa pemograman yang digunakan dalam pembuatan aplikasi menggunakan J2ME (Java 2 Micro Edition).
e. Testing adalah tahap pengujian terhadap program yang telah dibuat.
Pengujian ini dimulai dengan membuat suatu uji kasus untuk setiap
fungsi pada perangkat lunak, kemudian dilanjutkan dengan pengujian terhadap modul-modul dan terakhir pada tampilan antar muka untuk memastikan tidak ada kesalahan dan semua berjalan dengan baik dan
input/output yang diberikan hasilnya sesuai dengan yang diinginkan.
f. Maintenance adalah perangkat lunak yang telah dibuat dapat mengalami perubahan sesuai permasalah yang terjadi.
1.6 Sistematika Penulisan
Sistematika penulisan tugas akhir penelitian ini disusun untuk memberikan
gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :
BAB I PENDAHULUAN
Bab ini menguraikan tentang latar belakang masalah, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian dan sistematika
penulisan.
BAB II. LANDASAN TEORI
Bab ini membahas teori yang digunakan dalam perancangan sistem.
keras yang menjadi bahan penelitian dan penjelasan tentang aplikasi yang akan dibangun.
BAB III. ANALISIS DAN PERANCANGAN MASALAH
Bab ini akan membahas tentang tahap analisis sistem, analisis masalah,
analisis data, representasi pengetahuan, metode inferensi yang digunakan, identifikasi masukan, identifikasi keluaran, analisis kebutuhan non fungsional dan fungsional, perancangan antar muka dan perancangan pemodelan data.
BAB IV. IMPLEMENTASI DAN PENGUJIAN
Bab ini akan menjelaskan tentang imlpementasi program dan pengujian
terhadap aplikasi yang telah dibangun.
BAB V. KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan yang diperoleh dari topik tugas akhir yang
9 2.1Java 2 Micro Edition (J2ME)
2.1.1 Pengertian J2ME
Java2 Micro Edition atau yang biasa disebut J2ME adalah lingkungan
pengembangan yang didesain untuk meletakkan perangkat lunak Java pada barang
elektronik beserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak
berfungsi baik pada sebuah perangkat maka belum tentu juga berfungsi baik pada
perangkat yang lainnya. J2ME membawa Java ke dunia informasi, komunikasi,
dan perangkat komputasi selain perangkat komputer desktop yang biasanya lebih
kecil dibandingkan perangkat komputer desktop. J2ME biasa digunakan pada
telepon selular, pager, Personal Digital Assistants (PDA) dan sejenisnya.
J2ME adalah bagian dari J2SE, karena itu tidak semua library yang ada
pada J2SE dapat digunakan pada J2ME. Tetapi J2ME mempunya beberapa library
khusus yang tidak dimiliki J2SE. Arsitektur J2ME dapat dilihat pada gambar
Gambar 2.1 Arsitektur J2ME
Teknologi J2ME juga memiliki beberapa keterbatasan, terutama jika
diaplikasikan pada ponsel. J2ME sangat tergantung pada perangkat (device) yang
digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel dan
dukungannya terhadap teknologi J2ME. Misalnya, jika sebuah ponsel tidak
memiliki kamera, maka jelas J2ME pada ponsel tersebut tidak dapat mengakses
kamera. Keterbatasan lainnya adalah pada ukuran aplikasi, karena memori pada
ponsel sangat terbatas. Sebagian besar ponsel tidak mengijinkan aplikasi J2ME
menulis pada file karena alasan keamanan.
Configuration merupakan Java library minimum dan kapabilitas yang
dipunya oleh para pengembang J2ME, yang maksudnya sebuah mobile device
dengan kemampuan Java akan dioptimalkan untuk menjadi sesuai. Configuration
hanyalah mengatur hal-hal tentang kesamaan sehingga dapat dijadikan ukuran
kesesuaian antar device. Misalnya sebuah lampu sepeda dirancang sedemikian
sehingga dapat digunakan oleh berjenis-jenis sepeda. Dalam J2ME telah
Configuration) untuk perangkat kecil dan CDC (Connected Device Configuration)
untuk perangkat yang lebih besar. Lingkup CLDC dan CDC dapat dilihat pada
gambar di bawah ini :
Gambar 2.2 Lingkup Configuration
Profile berbeda dengan configuration, profile membahas sesuatu yang
spesifik untuk sebuah perangkat. Sebagai contoh misalnya, sebuah sepeda dengan
merk tertentu, tentunya mempunyai ciri spesifik dengan sepeda lain.
Dalam gambar J2ME terdapat dua buah profile yaitu MIDP dan
Foundation Profile. Keterhubungan antara configuration dan profile yang ada
pada J2ME beserta jenis mesin virtualnya dapat dilihat pada gambar berikut :
2.1.2 Connected Limited Device Configuration (CLDC)
Gambar 2.4 Arsitektur CLDC
CLDC atau Connected Limited Device Configuration adalah perangkat
dasar dari J2ME, spesifikasi dasar yang berupa library dan API yang
diimplemetasikan pada J2ME, seperti yang digunakan pada telepon selular, pager
dan PDA. Perangkat tersebut dibatasi dengan keterbatasan memori, sumber daya
dan kemampuan memproses. Spesifikasi CLDC pada J2ME adalah spesifikasi
minimal dari package, kelas dan sebagian fungsi Java Virtual Machine yang
dikurangi agar dapat diimplementasikan dengan keterbatasan sumber daya pada
alat-alat tersebut, JVM yang digunakan disebut KVM (Kilobyte Virtual Machine).
Posisi CLDC pada arsitektur J2ME dapat dilihat pada gambar di atas.
2.1.3 Connected Device Configuration (CDC)
CDC atau Connected Device Configuration adalah spesifikasi dari
konfigurasi J2ME. CDC merupakan komunitas proses pada Java yang
mempunyai standardisasi. CDC terdiri dari virtual machine dan kumpulan library
adalah source code yang menyediakan sambungan dengan macam-macam
platform.
Perbedaan antara CDC dan CLDC dapat dilihat dari tabel dibawah ini
Tabel 2.1 Tabel Perbandingan Antara CDC dan CLDC
CLDC CDC
Mengimplementasikan subset dari J2SE Mengimplementasikan seluruh fitur pada
J2SE
JVM yang digunakan dikenal dengan nama
KVM
JVM yang digunakan dikenal dengan nama
CVM
Digunakan pada perangkat handled dengan
ukuran memori terbatas (160 – 512 Kbytes)
Digunakan pada perangkat handled dengan
ukuran memori minimal 2 Mbytes
Prosesor : 16 Bit atau 32 Bit Prosesor : 32 Bit
2.2 Profil
Profil merupakan bagian perluasan dari konfigurasi, yaitu sekumpulan
kelas yang terdapat pada konfigurasi, terdapat juga kelas-kelas spesifik yang
didefinisikan lagi di dalam profil. Dengan kata lain, profil akan membantu secara
fungsional yaitu dengan menyediakan kelas-kelas yang tidak terdapat di level
konfigurasi. Berikut ini adalah profil J2ME yang tersedia saat ini yaitu :
1. MIDP (Mobile Information Device Profile)
MIDP adalah profil yang disediakan oleh Sun Microsystems. MIDP
menyediakan librari-librari Java untuk implementasi dasar antarmuka (GUI),
implementasi jaringan (networking), database, dan timer. MIDP dirancang
2. PDAP (Personal Digital Assistant Profile)
Yaitu profil untuk PDA yang memperluas fungsi-fungsi pada konfigurasi
CLDC dan digunakan khusus untuk menambahkan kemampuan-kemampuan
lebih apabila dibandingkan dengan penggunaan profil MIDP.
3. Foundation Profile
Yaitu profil yang digunakan untuk konfigurasi CDC. Profil ini
menambahkan beberapa kelas dari J2SE ke dalam konfigurasi CDC, dan
berperan juga sebagai pondasi untuk membentuk profil baru lainnya.
4. Personal Profile
Yaitu profil yang mendefinisikan ulang PersonalJava sebagai profil yang
dapat digunakan sebagai profil dalam J2ME. Profil ini merupakan hasil
perluasan dari Foundation Profile.
5. RMI Profile
Yaitu profil yang menambahkan dukungan RMI (Remote Method
Invocation) ke dalam konfigurasi CDC.
2.2.1 Mobile Information Device Profile (MIDP)
MIDP atau Mobile Information Device Profile adalah spesifikasi untuk
sebuah profil J2ME. MIDP memiliki lapisan di atas CLDC, API tambahan untuk
daur hidup aplikasi, antarmuka, jaringan dan penyimpanan persisten. Pada saat
ini terdapat MIDP 1.0 dan MIDP 2.0. Fitur tambahan MIDP 2.0 dibanding
MIDP 1.0 adalah API untuk multimedia. Pada MIDP 2,0 terdapat dukungan
Media API (MMAPI). Posisi MIDP pada arsitektur J2ME dapat dilihat pada
gambar di atas. Berikut adalah perbandingan MIDP 1.0 dan MIDP 2.0 :
Tabel 2.2 Perbandingan MIDP 1.0 dan MIDP 2.0
Spesifikasi MIDP 1.0 MIDP 2.0
Mendekati 1:1 Medekati 1:1
Input Keyboard dan touch screen Keyboard dan touch screen Memori 128 KB memori non-volatile untuk
komponen MIDP.
8 KB memori non-volatile untuk data persistence yang dibuat oleh aplikasi.
32 KB memori volatile untuk JRE.
256 KB memori non-volatile untuk komponen MIDP.
8 KB memori non-volatile untuk data persistence yang dibuat oleh aplikasi.
128 KB memori volatile untuk JRE. Jaringan Dua arah, tanpa kabel (wireless) Dua arah, tanpa kebel (wireless)
Library J2ME
Multimedia Memiliki kemampuan untuk
memainkan file multimedia (suara dan video)
MIDP User Interface API memiliki API level tinggi dan level rendah. API
level rendah berbasiskan penggunaan dari kelas abstrak Canvas, sedangkan kelas
API level tinggi antara lain Alert, Form, List dan TextBox yang merupakan
eksistensi dari kelas abstrak Screen. API level rendah lebih memberikan
kemudahan kepada pengembang untuk memodifikasi sesuatu dengan
kehendaknya, sedangkan API level tinggi biasanya hanya memberikan
pengaksesan yang terbatas. Arsitektur antarmuka MIDP dapat dilihat pada
Gambar 2.5 MIDP User Interface
2.3 MIDlet
MIDlet adalah bagian dari kelas javax.microedition.midlet.MIDlet yang
didefinisikan pada MIDP. MIDlet berupa sebuah kelas abstrak yang merupakan
sub kelas dari bentuk dasar aplikasi sehingga antarmuka antara aplikasi J2ME
dan aplikasi manajemen pada perangkat dapat terbentuk.
2.3.1 Daur Hidup MIDlet
MIDlet terdiri dari beberapa metode yang harus ada, yaitu construktor()
protected void startApp() throws MIDletStateChangeException, protected void
pauseApp(), protected void destroyApp(boolean unconditional) throws
Gambar 2.6 Alur Hidup MIDlet
Ketika MIDlet dijalankan maka akan diinisialisasi dengan kondisi pause
dan dijalankan pauseApp(), kondisi berikutnya adalah fungsi MIDlet dijalankan,
yaitu pada startApp(). Metode tersebut diimplementasikan sebagai protected
dengan maksud agar MIDlet lain tidak dapat memanggil metode tersebut.
Ketika keluar dari MIDlet, maka metode destroyApp() akan dijalankan
sebelum MIDlet benar-benar tidak berjalan lagi. DestroyApp() akan memanggil
notifyDestroyed(), dan notifyDestroyed() akan memberitahu platform untuk
menterminasi MIDlet dan membersihkan semua sumber daya yang mengacu pada
MIDlet.
Dalam implementasinya, MIDlet memiliki struktur direktori antara lain sebagai
1. src
menyimpan source code untuk MIDlet dan kelas lain yang diperlukan.
2. res
Menyimpan sumber daya yang dibutuhkan oleh MIDlet, seperti
misalnya gambar icon.
Unified Modelling Language (UML) adalah sebuah bahasa untuk
menentukan, visualisasi, konstruksi, dan mendokumentasikan artifacts dari sistem
software, untuk memodelkan bisnis, dan sistem nonsoftware lainnya. Artifacts
adalah sepotong informasi yang digunakan atau dihasilkan dalam suatu proses
rekayasa software. Artifacts dapat berupa model, deskripsi, atau software.
Untuk membuat suatu model, UML memiliki diagram grafis yang diberi
nama berdasarkan sudut pandang yang berbeda-beda terhadap sistem dalam
proses analisa atau rekayasa. Diagram grafis tersebut antara lain :
1. Use case diagram
3. Behavior diagram :
a. Statechart diagram
b. Activity diagram
c. Interaction diagram :
1. Sequence diagram
2. Collaboration diagram
4. Implementation diagram :
a. Component diagram
b. Deployment diagram
2.4.1 Use Case Diagram
Use case diagram menjelaskan manfaat sistem jika dilihat menurut
pandangan orang yang berada diluar sistem (actor). Diagram ini menunjukkan
fungsionalitas suatu sistem atau kelas dan bagaimana sistem berinteraksi dengan
dunia luar.
2.4.2 Class Diagram
Class diagram membantu dalam visualisasi struktur kelas-kelas dari suatu
sistem dan merupakan tipe diagram yang paling banyak dipakai. Class diagram
memperlihatkan hubungan antarkelas dan penjelasan detail tiap-tiap kelas didalam
model desain dari suatu sistem .
Selama proses analisis, class diagram memperlihatkan aturan-aturan dan
class diagram berperan dalam menangkap struktur dari semua kelas yang
membentuk arsitektur sistem yang dibuat.
2.4.3 Statechart Diagram
Statechart diagram dapat digunakan untuk memodelkan perilaku dinamis
satu kelas atau objek. Statechart diagram juga dapat memperlihatkan urutan
keadaan sesaat (state) yang dilalui sebuah objek, kejadian yang menyebabkan
sebuah transisi dari satu state atau aktivitas kepada yang lainnya, dan aksi yang
menyebabkan perubahan satu state atau aktivitas.
2.4.4 Activity Diagram
Activity diagram memodelkan alur kerja sebuah proses bisnis dan urutan
aktivitas dalam suatu proses. Diagram ini sangat mirip dengan flowchart karena
dapat memodelkan sebuah alur kerja satu aktivitas ke aktivitas lainnya atau dari
satu aktivitas ke dalam keadaan sesaat (state). Seringkali bermanfaat bila
membuat sebuah proses activity diagram terlebih dahulu dalam memodelkan
sebuah proses untuk membantu memahami proses secara keseluruhan.
2.4.5 Sequence Diagram
Sequence diagram menjelaskan interaksi objek yang disusun dalam suatu
urutan waktu. Diagram ini secara khusus berasosiasi dengan use case. Sequence
diagram memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk
2.4.6 Collaboration Diagram
Collaboration diagram melihat pada interaksi dan hubungan terstruktur
antarobjek. Tipe diagram ini menekankan pada hubungan antarobjek, berbeda
dengan sequence diagram yang menekankan pada urutan kejadian. Collaboration
diagram digunakan sebagai alat untuk menggambarkan interaksi yang
mengungkapkan keputusan mengenai perilaku sistem.
2.4.7 Component Diagram
Component diagram menggambarkan alokasi semua kelas dan objek ke
dalam komponen-komponen dalam desain fisik sistem software. Diagram ini
memperlihatkan pengaturan dan kebergantungan antara komponen-komponen
software, seperti source code, binary code, dan komponen tereksekusi (executable
components).
2.4.8 Deployment Diagram
Deployment diagram memperlihatkan pemetaan software kepada
hardware. Setiap model hanya memiliki satu diagram deployment.
2.4.9 Tujuan Perancangan UML
Perancangan UML mempunya beberapa tujuan utama. Tujuan-tujuan
tersebut adalah sebagai berikut :
1. Menyediakan bahasa pemodelan visual yang ekspresif dan siap pakai untuk
2. Menyediakan mekanisme perluasan dan spesifikasi untuk memperluas konsep
inti.
3. Mendukung spesifikasi independen pada bahasa pemrograman dan proses
pengembangan tertentu.
4. Menyediakan basis formal untuk bahasa pemodelan.
5. Mendukung konsep-konsep pengembangan level tinggi, seperti komponen,
kolaborasi, framework dan pattern.
2.5 Kecerdasan Buatan
2.5.1 Pengertian Kecerdasan Buatan
Kecerdasan buatan adalah suatu ilmu yang mempelajari cara membuat
komputer melakukan sesuatu seperti yang di lakukan oleh manusia. Kecerdasaan
buatan (Artificial Intelegence) merupakan kawasan penelitian, aplikasi dan
instruksi yang terkait dengan pemprograman komputer yang melakukan sesuatu
hal dalam pandangan manusia adalah cerdas. Kecerdasan buatan (AI) sebagai
sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada
saat ini dapat dilakukan lebih baik oleh manusia.
Ada tiga tujuan kecerdasan buatan, yaitu membuat komputer lebih cerdas,
mengerti tentang kecerdasan dan membuat mesin lebih berguna. Yang dimaksud
kecerdasan adalah kemampuan untuk belajar atau mengerti dari pengalaman,
memahami pesan yang kontradiktif dan ambigu, menanggapi dengan cepat dan
baik atas situasi yang baru. Menggunakan penalaran dalam memecahkan masalah
2.5.2 Klasifikasi Program Kecerdasan Buatan
Makin pesatnya perkembangan teknologi menyebabkan adanya
perkembangan dan perluasan lingkup yang membutuhkan kehadiran kecerdasan
buatan, karakteristik cerdas mulai dibutuhkan diberbagai disiplin ilmu dan
teknologi. Kecerdasan tidak hanya dominan dibidang ilmu komputer
(informatika), namun juga sudah merambah di berbagai disiplin ilmu yang lain.
Enam golongan dasar dalam kecerdasan buatan adalah :
1. Sistem Pakar (Expert System)
Disini komputer digunakan sebagai sarana untuk menyimpan pengetahuan
para pakar. Dengan demikian komputer akan memiliki keahlian untuk
menyelesaikan permasalahan dengan meniru keahlian yang dimiliki oleh
pakar.
2. Pengolahan Bahasa ALami (Natural Language Proccesing) dan Peniruan
Sematik ( Sematik Modeling) Seperti penerjemah dari suatu bahasa
kebahasa lain.
3. Pembuktian Teorema (Theorem Proving) dan Penalaran Terotomatisasi
(Automatic Reasoning), Seperti program Simon’s Logic Theorist yang
bermanfaat untuk membuktikan suatu dalil matematis dari sejumlah
aksioma.
4. Robotika (Robotics) dan perencanaan (Planning) seperti robot-robot dalam
industri
5. Peniruan perilaku manusia (Human Performance Modeling), perangkat
psikolog untuk menganalisa teori Freud dan berbagai teori psikologi
lainnya.
6. Permainan game cerdas (Game Playing), seperti permainan catur.
2.6 Sistem Pakar
2.6.1 Pengertian Sistem Pakar
Sistem pakar adalah sistem berbasis komputer yang menggunakan
pengetahuan, fakta dan teknik penalaran dalam memecahan masalah. Yang
biasanya hanya dapat dipecahkan oleh seorang pakar dalam bidang tersebut.
Pada dasarnya sistem pakar diterapkan untuk mendukung aktivitas
pemecahan masalah. beberapa pemecahan masalah yang dimaksud antara lain :
pembuatan keputusan (decicion making), pemaduan pengetahuan (knowledge
fusing), pembuatan desain (designing), perencanaan (planning), prakiraan
(forecasting), pengaturan (regulating), pengendalian (controlling), diagnosis
(diagnosing), perumusan (prescribing), penjelasan (explaining), pemberian
nasihat (advising), dan pelatihan (tutoring). Selain itu sistem pakar juga dapat
berfungsi sebagai asisten yang pandai dari seorang pakar.
Sistem pakar dibuat pada wilayah pengetahuan tertentu untuk suatu
kepakaran tertentu yang mendekati kemampuan manusia disalah satu bidang.
Sistem pakar mencoba mencari solusi yang memuaskan sebagaimana yang
dilakukan seorang pakar. Selain itu sistem pakar juga dapat memberikan
penjelasan terhadap langkah yang diambil dan memberikan alasan atas saran atau
Biasanya sistem pakar hanya digunakan untuk memecahkan masalah yang
sulit untuk dipecahkan dengan pemrograman biasa, mengingat biaya yang
diperlukan untuk membuat sistem pakar jauh lebih besar dari pembuatan sistem
biasa. Lebih jelas mengenai konsep dasar sistem pakar ini dapat dilihat pada
gambar :
Gambar 2.7 Konsep Dasar Fungsi Sistem Pakar
2.6.2 Ciri – Ciri Sistem Pakar
Sistem pakar memiliki ciri- ciri sebagai berikut :
1. Terbatas pada bidang yang terpilih
2. Dapat memberikan penalaran untuk data – data yang tidak lengkap atau
tidak pasti.
3. Dapat mengemukakan rangkaian alasan yang diberi hanya dengan cara
yang dapat dipahami.
5. Dirancang untuk dapat dikembangkan secara bertahap.
6. Outputnya bersifat nasihat atau anjuran.
7. Output tergantung dari dialog dengan user
8. Knowledge base dan inference engine terpisah.
2.6.3 Keuntungan dan Kelemahan Sistem Pakar
a. Keuntungan Sistem Pakar :
1) Memungkinkan orang awam dapat mengerjakan pekerjaan para
ahli.
2) Dapat melakukan proses secara berulang secara otomatis.
3) Menyimpan pengetahuan dan keahlian para pakar.
4) Meningkatkan output dan produktivitas.
5) Meningkatkan kualitas.
6) Memiliki kemampuan untuk mengakses pengetahuan.
7) Meningkatkan kapabilitas dalam penyelesaian masalah.
8) Menghemat waktu dalam pengambilan keputusan.
b. Kelemahan Sistem Pakar :
1) Biaya mahal.
2) Sulit dikembangkan.
2.6.3.1 Perbandingan Pakar dengan Sistem Pakar
Tabel 2.3 Perbandingan antara pakar dengan sistem pakar.
2.6.4 Komponen Sistem Pakar
Sistem pakar disusun oleh dua bagian utama, yaitu :
1. Lingkungan pengembangan (development environment), yaitu digunakan
untuk memasukkan pengetahuan pakar ke dalam lingkungan sistem pakar.
2. Lingkungan konsultasi (consultation environment), yaitu digunakan oleh
pengguna yang bukan pakar guna memperoleh pengetahuan pakar.
Gambar 2.8 Komponen-komponen Sistem Pakar
a. Knowledge Base
Knowledge base (basis pengetahuan) adalah sebuah basis data yang
menyimpan aturan-aturan tentang suatu domain knowledge/pengetahuan
tertentu. Knowledge base merupakan inti dari program sistem pakar karena
basis pengetahuan itu merupakan presentasi pengetahuan (knowledge
presentation).
Basis pengetahuan mengandung pengetahuan untuk pemahaman,
formulasi, dan penyelesaian masalah. Komponen sistem pakar ini disusun atas
dua elemen dasar, yaitu fakta dan aturan.
b. Working Memory
Working memory adalah bagian yang mengandung fakta-fakta, yaitu :
1. Fakta awal pada saat sistem beroperasi.
Sistem akan mencocokkan fakta yang diperoleh dengan pengetahuan
yang ada di basis pengetahuan untuk mencari fakta berikutnya ataupun untuk
mendapatkan suatu kesimpulan.
c. Inference Engine
Inference engine (mesin inferensi) mengandung mekanisme pola pikir
dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu
masalah. Mesin inferensi adalah program komputer yang memberikan
metodologi untuk penalaran tentang informasi yang ada dalam basis
pengetahuan dan dalam workplace/working memory, dan untuk
memformulasikan kesimpulan.
Inference engine (mesin inferensi) adalah prosesor dalam sistem pakar
yang bertugas untuk mencocokkan fakta yang diperoleh working memory dan
domain knowledge base untuk mengahasilkan suatu kesimpulan. Mesin
memulai pelacakannya dengan mecocokkan kaidah-kaidah dalam basis
pengetahuan dengan fakta-fakta yang ada dalam basis data. Terdapat dua
teknik inferensi, yaitu :
1. Penalaran maju (forward chaining), yaitu pencocokkan
premise-premise yang ada untuk menghasilkan kesimpulan.
2. Penalaran mundur (backward chaining), yaitu mencari fakta
berdasarkan kesimpulan untuk membuktikan bahwa kesimpulan adalah
d. Interface
Interface (antarmuka) merupakan mekanisme yang digunakan oleh
pengguna dan sistem pakar untuk berkomunikasi. Antarmuka menerima
informasi dan pemakai dan mengubahnya ke dalam bentuk yang dapat
diterima oleh sistem. Selain itu antarmuka menerima informasi dari sistem dan
menyajikannya ke dalam bentuk yang dapat dimengerti oleh pemakai.
2.6.5 Representasi Pengetahuan
Menurut Turban, ada beberapa tipe pengetahuan yang bisa dikategorikan
dalam bentuk keahlian, yaitu :
1. Teori-teori yang mendasari suatu permasalahan.
2. Aturan-aturan baku dan prosedur-prosedur yang berkaitan dengan
permasalahan tertentu.
3. Aturan-aturan (heuristik) tentang apa yang harus dikerjakan dalam suatu
permasalahan yang diberikan.
4. Strategi-strategi global untuk pemecahan dari tipe-tipe ini.
5. Meta knowledge (pengetahuan dari pengetahuan).
6. Fakta atau bukti tentang suatu permasalahan.
Dalam sistem pakar, pengetahuan yang telah diuraikan direpesentasikan ke
dalam bentuk yang dapat diproses oleh komputer. Ada empat jenis representasi
pengetahuan, yaitu :
1. Logika
2. Jaringan Semantik
3. Frame
2.6.6 Aturan (Rules)
Rules merupakan pengetahuan prosedural yang menghubungkan informasi
yang diberikan dengan tindakan (action). Struktur rule, secara logika
menghubungkan satu atau lebih antecendent (premis) yang berada pada bagian
IF, dengan satu atau lebih consequent (konklusi) pada bagian THEN. Contoh :
IF warna baju itu biru THEN saya suka baju itu.
Sebuah rule dapat mempunyai multiple premise yang tergabung dengan
menggunakan operasi logika (AND, OR). Bagian konklusi dapat berupa kalimat
tunggal atau gabungan dengan menggunakan operasi logika (AND) dan dapat
pula memiliki kalimat ELSE. Contoh : IF baju warna biru AND harga baju
murah, THEN saya akan beli baju itu.
Aturan (rules) terdiri dari beberapa jenis, yaitu : relationship/hubungan,
rekomendasi, strategi, heuristik, interpretasi, analisis, dan desain. Representasi
pengetahuan jenis aturan (rules) memiliki beberapa keunggulan dan
keterbatasan, yaitu :
1. Keunggulan
a. Modifikasi dan perawatan relatif mudah.
b. Uncertainty dapat dikombinasikan dengan rules.
c. Tiap rules biasanya independent dari yang lainnya.
2. Keterbatasan
a. Pengetahuan yang kompleks membutuhkan rules yang sangat banyak.
b. Sistem dengan banyak rules mempunyai keterbatasan dalam proses
2.7 Metode Inferensi Backward Chaining
Backward chaining adalah suatu rantai yang dilintasi dari suatu hipotesa
kembali ke fakta yang mendukung hipotesa tersebut. Pokok permasalahan
backward chaining adalah untuk mendapatkan suatu rantai yang menghubungkan
fakta-fakta ke hipotesis.
Dalam backward chaining, sistem bekerja dari tujuan/hipotesis kemudian
menghubungkan fakta yang diperoleh dengan aturan yang ada untuk
mencocokkan dengan tujuan yang diharapkan. Gambar 2.9 memperlihatkan
konsep dari backward chaining.
Gambar 2.9 Konsep Backward Chaining
2.8 Telepon Selular
Handphone atau dengan nama lain telepon selular merupakan sebuah
perangkat telekomunikasi elektronik yang mempunyai kemampuan dasar yang
sama dengan telepon fixed line yang konvensional, namun dapat dibawa ke
menggunakan kabel (nirkabel, wireless). Indonesia mempunyai dua jaringan
telepon selular nirkabel saat ini, yaitu Global System for Mobile
Telecommunication (GSM) dan Code Division Multi Access (CDMA).
Telepon selular selain berfungsi untuk melakukan dan menerima
panggilan, umumnya juga mempunya fungsi pengiriman dan penerimaan pesan
singkat atau Short Message Service (SMS). Telepon selular juga beredar di
pasaran dengan harga yang cukup tinggi karena adanya tambahan fitur, seperti
kamera, layanan internet, Bluetooth dan lain sebagainya. Selain itu juga terdapat
manufacture telepon selular di beberapa negara yang menyiadakan layanan
generasi ketiga (3G) yang menambahkan jasa video call maupun televisi online di
ponsel mereka.
Selain kelebihan tersebut, kebanyakan Vendor telepon selular telah
menyertakan fasilitas Java Enable pada produknya. Dengan adanya fitur Java
Enable pada telepon selular, memungkinkan pengguna telepon selular tersebut
semakin mudah untuk menambahkan sendiri aplikasi-aplikasi berbasisi Java 2
Micro Edition (J2ME).
2.9 Sepeda Motor
2.9.1 Prinsip Kerja Mesin Sepeda Motor
Sistem kerja yang baik pada sebuah mesin kendaraan sangat di tentukan
oleh beberapa faktor. Berikut ini adalah beberapa hal yang harus dilakukan agar
mesin kendaraan sepeda motor dapat bekerja dengan baik :
1) Mengisap bahan bakar (campuran bensin dengan udara) masuk
2) Menaikkan tekanan gas campuran bensin dan udara agar
diperoleh tekanan hasil
3) pembakaran yang cukup tinggi.
4) Meneruskan gaya tekan hasil pembakaran sahingga dapat
digunakan sebagai tenaga penggerak.
5) Membuang gas hasil pembakaran keluar dari ruang pembakaran.
Pada sepeda motor tenaga didapat dari hasil pembakaran bensin
bercampur udara di dalam suatu ruang baker yang kemudian akan menimbulkan
panas. Panas ini kemudian di ubah menjadi tenaga gerak/tenaga mekanis di dalam
suatu mesin yang disebut “Motor Bakar”.
2.9.2 Bagian Penting Mesin Sepeda Motor
1) Silinder
Adalah sebagai tempat pembakaran campuran bahan bakar dengan udara
untuk mendapatkan tekanan dan temperature yang tinggi. Silinder pada
umumnya dibuat dari bahan baja tuang untuk mesin besar dan untuk
mesin kecil terbuat dari bahan logam alumuniun paduan yang di bagian
dalamnya dipasangkan tabung dari bahan baja yaitu pada bagian tempat
bergeraknya torak.
2) Kepala Silinder
Terbuat dari bahan alumunium paduan, Untuk menghindari terjadinya
kebocoran gas terutama pada saat langkah kompresi, maka pemasangan
paking dan pengencangan baut untuk merapatkan kepala silinder
3) Bak Mesin
Bak mesin merupakan tempat silinder, poros engkol, dan gigi transmisi,
terbuat dari bahan alumunium paduan.
4) Torak/Piston
Terbuat dari bahan alumunium paduan yang mempunyai sifat :
a) Ringan
b) Penghantar panas yang baik
c) Pemuaian kecil
d) Tahan terhadap keausan akibat gesekan dan
e) Kekuatan yang tinggi terutama pada temperature tinggi
5) Cincin Torak
Fungsinya untuk mempertahankan kerapatan antara torak dangan
dinding silinder agar tidak ada kebocoran gas dari ruang bakar kedalam
bak mesin. Cincin torak ada dua macam, yakni cincin kompresi dan
cincin pelumasan.
6) Pena Torak
Berfungsi untuk mengikat torak terhadap batang penggerak, selain itu
juga berfungsi sebagai pemindah tenaga dari torak ke batang penggerak
agar gerak bolak balik dari torak agar dapat di ubah menjadi gerak
berputar pada poros enggkol.
7) Batang Penggerak
8) Poros Engkol
Pada umumnya poros engkol terbuat dari bahan baja
9) Roda Gaya/Roda Penerus
Berputarnya poros engkol secara terus menerus itu adalah akibat adanya
tenaga gerak (energi kinetis) yang di simpan pada roda penerus sebagai
kelebihan pada saat langkah kerja. Roda penerus atau disebut juga roda
gila dalam pembuatannya harus di balancing dengan teliti agar putaran
mesin rata betul tanpa getaran – getaran. Pada mesin sepeda motor
umumnya roda gila berfungsi juga sebagai rotor generator.
10) Katup.
Untuk mesin 4 langkah pemasukan bahan bakar dan pembuangan gas
sisa pembakaran dilakukan melalui katup masuk dan katup buang.
2.9.3 Prinsip Kerja Mesin 4 Langkah/Tak
1) Langkah Isap
a) Torak dari TMA ke TMB
b) Katup masuk terbuka, katup buang tertutup
c) Campuran bahan bakar dengan udara yang telah tercampur di dalam
karburator, masuk dan di isap ke dalam silinder.
d) Saat torak berada di TMB katup masuk akan tertutup
2) Langkah kompresi atau penekanan
a) Torak bergerak dari TMB ke TMA
b) Katup masuk dan katup buang kedua-duanya tertutup sehingga gas
torak yang mengakibatkan tekanan gas akan naik sambil mengeluarkan
panas.
c) Beberapa saat sebelum torak mencapai TMA busi mengeluarkan bunga
api listrik.
d) Gas/bahan bakar yang telah mencapai tekana tinggi tadi terbakar
e) Akibat pembakaran bahan bakar tadi, tekanan akan naik menjadi
kira-kira tiga kali lipat.
3) Langkah kerja/ekpansi
a) Saat ini kedua katup masih dalam keadaan tertutup
b) Gas yang terbakar tadi dengan temperature dan tekanan yang tinggi
akan mengembang kemudian menekan dan memaksa torak turun dari
TMA ke TMB
c) Saat inilah pertama kali tenaga poros (kalori) di ubah menjadi tenaga
bergerak/mekanis. Tenaga ini disalurkan belalui batang penggerak,
selanjutnya oleh poros engkol di ubah menjadi gerak putar
4) Langkah pembuangan
a) Katup buang terbuka, katup masuk tertutup.
b) Torak bergerak dari TMB ke TMA.
c) Gas sisa pembakaran terdorong oleh torak keluar melalui katup buang
menuju udara bebas.
2.9.4 Sistem Bahan Bakar
Tenaga yang timbul di dalam suatu motor bakar adalah akibat adanya
adanya oksigen yang tepat di dalam udara. Dengan demikian peranan udara di sini
adalah untuk mempermudah pembakaran bensin.
2.9.5 Fungsi Karburator.
Berikut ini adalah fungsi dari karburator :
a) Mencampur perbandingan udara dengan bensin dalam
perbandingan yang tepat pada setiap putaran mesin.
b) Memasukkan campuran bensin dengan udara ke dalam ruang bakar
dalam bentuk kabut.
2.9.5.1 Fungsi Dari Bagian Karburator
1) Katup gas
Mengatur jumlah campuran bensin dengan udara yang akan di masukkan
ke dalam ruang bakar. Bentuk lekukan (coakan) pada bagian bawah
katup gas yang mengarah lubang pemasukan udara saat posisi menutup
akan berfungsi sebagai penutup saluran udara.
2) Jarum penyiram
Untuk mengatur jumlah campuran bensin dengan udara yang mengalir
melalui saluran penyiram dari ¼ sampai dengan ¾ pembukaan katup.
3) Penyiram stasioner
Untuk mengatur jumlah bensin yang digunakan pada waktu stasioner.
4) Penyiram utama
Untuk mengatur jumlah bensin yang digunakan pada waktu putaran
5) Ruang pelampung
Sebagai tempat menampung sementara bensin yang akan di alirkan ke
ruang bakar.
6) Pelampung
Untuk mempertahankan tinggi permukaan bensin di dalam ruang
pelampung agar selalu tetap dan tepat.
7) Sekrup penyetel udara
Untuk mengatur jumlah udara yang akan bercampur dengan bensin.
8) Sekrup penyetel gas
Untuk mengatur posisi pembukaan katup pada dudukan terendah untuk
menentukan putaran stasioner.
9) Cuk
Untuk menutup saluran udara agar terjadi percampuran yang kaya
dengan sementara apabila menghidupkan mesin pada waktu mesin dan
cuaca dalam keadaan dingin.
10) Penyiram udara
Untuk mengontrol udara yang menuju penyiram utama dan kedua agar
terjadi percampuran kaya pada kecepatan tinggi dan percampuran miskin
40
3.1 Analisis Sistem
Analisis sistem (systems analysis) dapat didefinisikan sebagai penguraian
dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya
dengan maksud untuk mengidentifikasikan dan mengevaluasi
permasalahan-permasalahan, kesempatan- kesempatan, hambatan-hambatan yang terjadi dan
kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan
perbaikan-perbaikannya. Analisis sistem ini diperoleh melalui wawancara dan observasi
yang akan ditemukan beberapa data dan fakta yang akan dijadikan bahan uji dan
analisis menuju penerapan dan pembangunan sebuah aplikasi yang diusulkan.
3.2 Analisis Masalah
Sebagian besar masyarakat sekarang telah menjadikan sepeda motor
sebagai sarana transportasi utama. Menggunakan sepeda motor dapat menghemat
waktu dan biaya menuju tempat tujuan. Namun demikian, sering terjadi kendala
dari sepeda motor yang menyebabkan kerusakan sehingga dapat mengganggu
aktifitas yang akan dilakukan. Banyak pengendara sepeda motor yang tidak
mengetahui kendala kerusakan yang dialami oleh sepeda motor tersebut.
Masalah bagi pengendara yang tidak mengetahui Jenis kerusakan, akan
sangat fatal apabila Jenis kerusakan tersebut tidak segera ditangani. Alasan
tidak mengetahui kerusakan yang dialami dan pengendara malas untuk datang ke
bengkel.
Aplikasi yang akan dibuat ini akan membantu mendiagnosa kerusakan
yang terjadi pada sepeda motor. Tetapi aplikasi ini tidak menuntun menjadi
seorang mekanik bagi para pengguna. Apa yang diberikan aplikasi ini adalah
menunjukkan kerusakan yang terjadi pada sepeda motor serta memberikan saran.
Aplikasi yang akan dibuat ini memberikan saran-saran praktis menangani
kerusakan, sehingga menumbuhkan kemandirian di saat yang tepat.
3.2.1 Jenis Jenis Kerusakan Sepeda Motor
Dari permasalahan diatas, terdapat beberapa jenis kerusakan yang sering
terjadi pada sepeda motor. Berikut beberapa jenis kerusakan yang dibahas oleh
aplikasi ini :
Tabel 3.1 Jenis Kerusakan
No Jenis Kerusakan
1 Mesin mati
2 Mesin tidak dapat di starter
3 Mesin tidak bekerja dengan halus
4 Mesin hidup tidak normal
5 Mesin tiba-tiba mati
6 Mesin cepat panas
7 Mesin tidak dapat menghasilkan daya penuh
8 Mesin susah hidup
9 Akselerasi kurang
10 Pedal gas tidak dapat kembali ke posisi semula 11 Minyak pelumas cepat menjadi encer
15 Terdengar suara tembakan dari knalpot pada saat turun gas 16 Terdengar bunyi pada saat pengereman
17 Ada rembesan pelumas pada bagian mesin 18 Speedometer tidak berfungsi
19 Klakson tidak berfungsi 20 Lampu sorot mati
21 Lampu rem belakang mati 22 Lampu sein mati
23 Lampu sein menyala tapi tidak berkedip 24 Motor terasa goyang pada saat dikendarai
3.3 Analisis Kebutuhan Non Fungsional
3.3.1 Spesifikasi Perangkat Lunak
Perangkat lunak digunakan dalam sebuah sistem merupakan
perintah-perintah yang diberikan kepada perangkat keras agar bisa saling berinteraksi
diantara keduanya. Perangkat lunak yang dibutuhkan untuk membangun aplikasi
diagnosa kerusakan pada sepeda motor ini adalah sebagai berikut :
1. Sistem Operasi Windows XP SP2.
2. J2SE SDK (Java2 Standart Edition Software Development Kit) versi 1.6.0.
3. J2MEWTK (Java2 Micro Edition Wireless Toolkit) versi 2.5.2 dengan
MIDP 2.1,
4. Netbeans versi 6.8.
Program ini dirancang dengan menggunakan MIDP1.0 dan MIDP2.0 pada
J2ME dengan menggunakan kelas – kelas standar untuk aplikasi GUI pada level
tinggi dan level rendah. Jadi aplikasi ini dapat digunakan ke semua jenis
handphone yang mendukung J2ME dengan spesifikasi MIDP1.0 dan MIDP2.0.
emulator handphone untuk membandingkan hasilnya. Sehingga ditentukanlah
perangkat handphone yang sangat cocok untuk menjalankan aplikasi ini dengan
baik.
3.3.2 Spesifikasi Perangkat Keras
Komputer dan handphone atau ponsel terdiri dari perangkat keras dan
perangkat lunak yang saling berinteraksi. Perangkat lunak memberikan
instruksi-instruksi kepada perangkat keras untuk melakukan suatu tugas tertentu, sehingga
dapat menjalankan suatu sistem di dalamnya.
Pada aplikasi diagnosa kerusakan pada sepeda motor ini, perangkat keras
yang digunakan untuk menuliskan kode program adalah sebagai berikut :
a. AMD Athlon XP 1800+
b. RAM 1 GB
c. VGA 256 MB
d. Hardisk 80 GB
e. Monitor
f. Mouse dan Keyboard
g. Handphone (yang mendukung teknologi Java)
Sedangkan perangkat keras yang digunakan untuk menguji langsung hasil
3.3.3 Spesifikasi Pengguna (user)
Tabel 3.2 Spesifikasi pengguna
Syarat User
Mengerti oprasional Handphone
Dapat mengoprasikan aplikasi
Memiliki handphone yang suppot java
3.4 Analisis Manajemen Memori
Pada pemrograman MIDP tidak dikenal adanya penyimpanan data ke
dalam file. Hal ini disebabkan pada umumnya device tidak memiliki sistem file.
MIDP telah menyediakan sebuah mekanisme penyimpanan data secara persisten
(tetap) di memori device yang berupa kumpulan-kumpulan record. Mekanisme
penyimpanan seperti ini dinamakan dengan RMS (Record Management System).
Record yang telah ditempatkan di dalam ruang penyimpanan selanjutnya
dapat diambil kembali untuk kemudian digunakan sesuai dengan kebutuhan.
Ruang penyimpanan yang tetap (persistent storage) adalah sebuah tempat
non-volatil untuk menyimpan data-data dalam sebuah aplikasi. Di sinilah tempat
record-record akan disimpan. Kita harus dapat menggunakan ruang penyimpanan
ini secara efisien, karena mengingat keterbatasan memori yang terdapat di dalam
Sebenarnya, untuk melakukan penyimpanan data lokal secara default, kita
dapat menempatkan data tersebut sebagai atribut dari file JAD atau JAR yang
dibuat. Data yang disimpan dengan cara ini nilainya bersifat read-only atau hanya
dapat dibaca. Artinya, tidak dapat mengganti nilai tersebut pada saat aplikasi
dijalankan.
Selain itu, kita juga dapat membundel/membungkus satu atau beberapa file
dan direktori di dalam file JAR. Sebagai contoh, apabila kita ingin menyimpan
lima buah file gambar dalam aplikasi yang dibuat, maka kita dapat menempatkan
file-file tersebut ke dalam direktori /res. Pada saat kompilasi, file-file tersebut akan
terbungkus ke dalam file JAR yang terbentuk. Sebagai konsekuensinya, file JAR
yang dihasilkan tentu akan membengkak ukurannya sesuai dengan ukuran dari
masing-masing file gambar yang disertakan ke dalam aplikasi. Sama halnya
seperti data biasa, file dalam kasus ini juga akan bersifat read-only.
3.5 Analisis Perbandingan Metode Forward Chaining dengan Backward
Chaining
Sistem berbasis rule terdiri dari fakta yang benar, daftar rule untuk
inferensi fakta-fakta baru dan rule interpreter untuk mengontrol proses inferensi.
ada dua macam cara untuk memproses inferensi rule : Forward Chaining dan
Backward Chaining. Forward Chaining (Runut maju) merupakan metode
pencarian yang memulai proses pencarian dari sekumpulan data atau fakta, dari
fakta-fakta tersebut dicari suatu kesimpulan yang menjadi solusi dari
pengetahuan yang premisnya sesuai dengan fakta-fakta tersebut, kemudian dari
aturan-aturan tersebut diperoleh suatu kesimpulan. Forward Chaining (runut
maju) memulai proses pencarian dengan data sehingga strategi ini disebut juga
data-driven.
Backward Chaining (runut balik) merupakan metode pencarian yang
arahnya kebalikan dari runut maju. Proses pencarian dimulai dari tujuan, yaitu
kesimpulan yang menjadi solusi dari permasalahan yang dihadapi. Mesin inferensi
mencari aturan-aturan dalam basis pengetahuan yang kesimpulannya merupakan
solusi yang ingin dicapai, kemudian dari aturan-aturan yang diperoleh,
masing-masing kesimpulan dirunut balik jalur yang mengarah ke kesimpulan tersebut.
Jika informasi-informasi atau nilai dari atribut-atribut yang mengarah ke
kesimpulan tersebut sesuai dengan data yang diberikan maka kesimpulan tersebut
merupakan solusi yang dicari, jika tidak sesuai maka kesimpulan tersebut bukan
merupakan solusi yang dicari. Backward Chaining (runut balik) memulai proses
pencarian dengan suatu tujuan sehingga strategi ini disebut juga goal driven.
Tabel 3.3 Panduan untuk memilih sistem inferensi
Forward Chaining Backward Chaining
1) Ada banyak hal yang hendak
2) Terdapat banyak fakta awal
3) Ada banyak aturan berbeda yang
dapat memberikan kesimpulan
yang sama
3) Jika terdapat banyak aturan yang
memenuhi syarat untuk dipicu
Tabel 3.4 Karakteristik Forward dan Backward chaining
Forward chaining Backward chaining
1) Perencanaan,monitoring, kontrol 1) Diagnosis
2) Disajkan untuk masa depan 2) Disajikan untuk masa lalu
3) Antecedent ke konsekuen 3) Konsekuen ke antecedent
4) Data memandu, penalaran dari
bawah ke atas
4) Tujuan memandu, penalaran dari
atas ke bawah
5) Bekerja ke depan untuk
mendapatkan solusi apa yang
mengikuti fakta
5) Bekerja ke belakang untuk
mendapatkan fakta yang
mendukung hipotesis
6) Breadth first search dimudahkan 6) Depth first search dimudahkan
7) Antecedent menentukan pencarian 7) Konsekuen menentukan
pencarian
8) Penjelasan tidak difasilitasi 8) Penjelasan difasilitasi
Sehingga dari kesimpulan yang diambil dari analisis perbandingan metode
tersebut, aplikasi yang akan dibangun menggunakan metode backward chaining
(runut mundur) dan dalam merepresentasikan pengetahuan menggunakan tabel
keputusan.
3.6 Analisis Kebutuhan Fungsional
Dalam membangun aplikasi diagnosa kerusakan pada sepeda motor ini
digunakan metode peracangan berorientasi objek. Pada dasarnya perancangan
berorientasi objek memberikan kemudahan dalam hal perawatan atau maintance
Selain itu, perancangan aplikasi sistem ini menggunakan metode
perancangan berorientasi objek dengan menggunakan UML (Unified Modeling
Language) untuk menentukan, visualisasi, konstruksi, dan mendokumentasikan
informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan sistem.
Berdasarkan analisis yang telah dilakukan dalam pembuatan aplikasi ini,
maka dapat dilihat apa yang menjadi masukan (input), keluaran (output), metode
yang digunakan, dan antar muka sistem yang dibuat, sehingga sistem yang dibuat
sesuai yang diharapkan.
Hasil perancangan berupa gambaran umum mengenai aplikasi secara
keseluruhan yang akan menjelaskan proses implementasi dari sistem. Pada
penelitian ini, perancangan aplikasi diagnosa kerusakan pada sepeda motor ini
dapat dibagi menjadi beberapa sub bagian, yaitu :
1. Perancangan UML (Unified Modelling Language)
2. Perancangan Basis Pengetahuan
3. Perancangan Antarmuka
3.7 Perancangan UML (Unified Modify Language)
3.7.1 Use Case Diagram
Use case diagram aplikasi sistem pakar untuk diagnosa awal gangguan
Daftar gejala
Gambar 3.1 Use Case Diagram
3.7.1.1 Definisi Use Case
Definisi Use Case berfungsi untuk menjelaskan proses yang terdapat pada
setiap Use Case. Definisi Use Case dapat dilihat dari tabel 3.3.
Tabel 3.5 Definisi Use Case
No. Use Case Deskripsi
1 Konsultasi Kerusakan Proses untuk memulai mendiagnosa kerusakan
berdasarkan Jenis.
2 Bantuan Proses untuk melihat keterangan bagaimana
menggunakan aplikasi ini.
3 Profil Proses untuk melihat informasi tentang pembuat
aplikasi
3.7.2 Skenario Use Case
Skenario Use Case berfungsi untuk menjelaskan lebih detail mengenai
Motor, Dengan penjelasan mengenai keterangan tabel Skenario Use Case adalah
sebagai berikut :
1. Ringkasan merupakan deskripsi mengenai kegunaan atau fungsi modul.
2. Rasional merupakan deskripsi dari Use Case.
3. Pengguna menggunakan deskripsi mengenai pengguna Use Case.
4. Prekondisi merupakan deskripsi keadaan sebelum modul dijalankan.
5. Aliran dasar merupakan alur kerja pengguna.
6. Aliran alternatif merupakan aliran dasar lain.
7. Postkondisi merupakan deskripsi keadaan setelah modul dijalankan.
Untuk Skenario Use Case untuk Use Case lain dapat dilihat dari tabel 3.6
sampai 3.8.
Tabel 3.6 Skenario Use Case Konsultasi kerusakan
Identifikasi
Nomor 1
Nama Konsultasi kerusakan
Tujuan Mengetahui penyebab kerusakan yang dialami
berdasarkan Jenis
Deskripsi Proses untuk memulai mendiagnosa kerusakan
berdasarkan Jenis.
Aktor User
Skenario Utama
Kondisi Awal Pengguna membuka halaman utama
Aksi Aktor Reaksi Sistem
1. Memilih menu konsultasi
kerusakan
2. Sistem merespon dengan cara
menampilkan daftar Jenis
kerusakan memberikan beberapa pertanyaan
yang berhubungan dengan Jenis
kerusakan yang dipilih hingga
menampilkan kemungkinan
penyebab
5. Memilih saran 6. Sistem merespon dengan cara
menampilkan penjelasan tentang
tindakan awal yang dapat dilakukan
Kondisi Akhir Pengguna dapat melihat kemungkinan penyebab dan
saran yang dapat dilakukan dari suatu kerusakan
Tabel 3.7 Skenario Use Case Bantuan
Identifikasi
Nomor 2
Nama Bantuan
Tujuan Dapat menampilkan bantuan menggunakan aplikasi
sistem pakar ini
Deskripsi Proses untuk menampilkan bantuan
Aktor User
Skenario Utama
Kondisi Awal Pengguna membuka halaman utama
Aksi Aktor Reaksi Sistem
1. Memilih menu bantuan 2. Sistem merespon dengan cara
menampilkan penjelasan
menggunakan aplikasi
Kondisi Akhir Pengguna dapat melihat bantuan menggunakan
Tabel 3.8 Skenario Use Case Profil
Identifikasi
Nomor 3
Nama Profil
Tujuan Mengetahui informasi tentang pembuat aplikasi ini
Deskripsi Proses untuk melihat informasi tentang pembuat
aplikasi
Aktor User
Skenario Utama
Kondisi Awal Pengguna membuka halaman utama
Aksi Aktor Reaksi Sistem
1. Memilih menu profil 2. Sistem merespon dengan cara
menampilkan informasi tentang
pembuat aplikasi
Kondisi Akhir Pengguna dapat melihat informasi tentang pembuat
aplikasi sistem pakar ini
3.7.3 Realisasi Use Case Tahap Analisis
Realisasi Use Case menjelaskan tentang kelas analisis dalam setiap use
case. Dalam aplikasi sistem pakar ini kelas analisis dibagi menjadi beberapa
3.7.3.1 Kelas Analisis Use Case Konsultasi Kerusakan
Gambar 3.2 Kelas Analis Use Case Konsultasi Kerusakan
Setelah user memilih menu konsultasi kerusakan, user akan diberikan
pilihan untuk memilih Jenis kerusakan yang dialami. User akan menjawab
pertanyaan-pertanyaan yang berhubungan dengan Jenis yang di alami. Kemudian
user mendapat kemungkinan penyebab dan saran yang dapat dilakukan.
3.7.3.2 Kelas Analisis Use Case Bantuan
Gambar 3.3 Kelas Analis Use Case Bantuan
user
bantuan
infoAplikasi
User memilih menu bantuan, lalu sistem akan muncul halaman info
bantuan yang menjelaskan tentang keterangan setiap menu yang terdapat dalam
aplikasi sistem pakar ini.
3.7.3.3 Kelas Analisis Use Case Profil
Gambar 3.4 Kelas Analis Use Case Bantuan
User memilih menu profil. Kemudian sistem akan muncul halaman tentang
info pembuat aplikasi sistem pakar ini.
3.7.4 Sequence Diagram
Sequence diagram aplikasi diagnosa kerusakan pada sepeda motor
berbasis handphone ini dibagi menjadi beberapa sub bagian, yaitu :
1. Konsultasi Kerusakan
Sequence diagram untuk konsultasi kerusakan dapat dilihat pada gambar 3.5
sd kelas analisis Profil
user
profil
: user
gejala pertanyaanpertanyaan penyebab dan saran
5: mencari penyebab dan saran
6: menampilkan penyebab dan saran
Gambar 3.5Sequence diagram untuk konsultasi kerusakan
2. Bantuan
Sequence diagram menu bantuan dapat dilihat pada gambar 3.6
: user : user
bantuan
bantuan info aplikasiinfo aplikasi
1: memilih bantuan
2: melihat bantuan
3: tampil info aplikasi