BAB II LANDASAN TEORI
2.1
Konsep Dasar Sistem
2.1.1
Definisi Sistem Beberapa pengertian tentang sistem dari beberapa ahli, antara lain:
a)
L. James Havery: ”Sistem adalah prosedur logis dan rasional untuk merancang suatu rangkaian komponen yang berhubungan satu dengan yang lainnya dengan maksud untuk berfungsi sebagai suatu kesatuan dalam usaha mencapai suatu tujuan yang telah ditentukan”.
b)
John Mc Manama: ”Menurutnya sistem adalah sebuah struktur konseptual yang tersusun dari fungsi-fungsi yang saling berhubungan yang bekerja sebagai suatu kesatuan organik untuk mencapai suatu hasil yang diinginkan secara efektif dan efesien”.
c)
Jogiyanto HM: ”Sistem diartikan sebagai suatu jaringan kerja dan prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan kegiatan atau untuk menyelesaikan suatu sasaran tertentu.
Sistem didefinisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling berhubungan untuk melakukan suatu tugas bersama–sama. Secara garis besar, sebuah sistem informasi terdiri atas tiga komponen utama. Ketiga komponen tersebut mencakup software,hardware dan brainware. Ketiga komponen ini saling berkaitan satu sama lain. Software mencakup semua perangkat lunak yang dibangun dengan bahasa pemrograman tertentu,pustaka , untuk kemudian menjadi sistem operasi ,aplikasi dan driver. Sistem operasi, aplikasi , driver , saling bekerja sama agar komputer dapat berjalan dengan baik. Hardware mencakup semua perangkat keras yang disatukan menjadi sebuah komputer.
Brainware mencakup kemampuan otak manusia, yang mencakup
ide,pemikiran, analisis di dalam menciptakan dan menggabungkan hardware dan software . Pengganbungan software dan hardware dengan bantuan brainware inilah
5
http://digilib.mercubuana.ac.id/
6
(melalui sejumlah prosedur) yang dapat menciptakan sebuah sistem yang bermanfaat bagi pengguna. Untuk memudahkan pembaca di dalam membayangkan dan memahami penjelasan yang disampaikan, maka penulis menyajikan sebuah bagan sederhana untuk mengilustrasikannya. Gambaran berikut menunjukan bagan sederhana mengenai sistem, prosedur,pengguna dan komponen-komponen di dalam sistem. Software
pengguna
Kumpulan Prosedur
Sistem
Hardware
Brainware Gambar 2.1 Komponen-Komponen Dalam Sistem
2.1.2
Karakteristik Sistem Suatu sistem mempunyai karakteristik atau sifat-sifat yang tertentu (Jogiyanto
HM,2005). yaitu mempunyai : a) Komponen Sistem ( Componens ) Sistem terdiri dari sejumlah komponen yang saling berinteraksi dan bekerja sama membentuk satu kesatuan. Komponen-komponen system atau elemen-elemen system dapat berupa suatu subsistem atau bagian-bagian dari system. b) Batasan Sistem ( Boundary ) Merupakan daerah yang membatasi antara sistem dengan sistem lainnya atau sistem dengan lingkungan luarnya. Dengan batasan ini, sistem dipandang sebagai satu kesatuan dan menunjukan ruang lingkup dari system tersebut. c) Lingkungan Luar Sistem (Environments) Lingkungan luar dari suatu sistem adalah apapun diluar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar system dapat bersifat menguntungkan dan juga merugikan, karena linkungan luar yang menguntungkan merupakan energy dari system dan dengan demikian harus dijaga dan dipelihara.
http://digilib.mercubuana.ac.id/
7
d) Penghubung Sistem ( Interface ) Penghubung sistem merupakan media penghubung antara satu subsistem dengan subsistem yang lain untuk dapat berinteraksi membentuk satu kesatuan. Melalui penghubung ini kemungkinan sumber-sumber daya mengalir dari satu subsistem ke subsistem lain. Keluaran suatu subsistem akan menjadi masukan untuk subsistem lainya melalui penghubung. e) Masukan Sistem ( Input ) Masukan sistem adalah energi yang dimasukkan kedalam sistem yang berupa masukan perawatan ( maintenance input ) dan sinyal masukan
( signal input ).
Maintenance input adalah energi yang dimasukkan agar sistem tersebut dapat beroperasi sedangkan Signal input adalah energi yang dimasukkan untuk didapat keluaran. f) Keluaran Sistem ( Output ) Yaitu hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. Keluaran ini merupakan masukan bagi sistem yang lain.
g) Pengolahan Sistem (Proses) Pengolahan sistem adalah bagian dari sistem yang melakukan pengolahan energi masukan sehinga menghasilkan keluaran yang berguna bagi sistem. h) Sasaran Sistem ( Objectives ) Sasaran sistem akan sangat menentukan masukan yang dibutuhkan sistem dan keluaran yang dihasilkan sistem. Suatu sistem akan dikatakan berhasil bila sistem mengenai sasaran atau tujuannya. 2.1.3
Analisa sistem dan perancangan sistem Analisa sistem adalah proses yang menentukan kebutuhan sistem apa yang harus
dilakukan sistem untuk memenuhi kebutuhan klien, bukanlah bagaimana sistem itu diimplmentasikan. Di dalam analisa sistem terdapat lengkah-langkah dasar yang harus dilakukan leh seorang analis sistem yaitu:
Mengumpulkan masalah
Mengerti bagaimana cara kerja suatu sistem
Menganalisa kerja suatu sistem
http://digilib.mercubuana.ac.id/
8
Membuat laporan dari hasil analis Setelah tahap analisis sistem selesai dilakukan, maka analis sistem telah mendapatkan
gambaran dengan jelas apa yang harus dikerjakan. Tiba waktunya sekarang bagi analis sistem untuk memikirkan bagaimana membentuk sistem tersebut. Tahap ini disebut dengan perancangan sistem. Desain sistem menentukan bagaimana suatu sistem akan menyelesaikan apa yang mesti diselesaikan, tahap ini menyangkut mengkonfigurasikan dari komponen-komponen perangkat lunak dan perangkat keras dari suatu sistem sehingga setelah instalasi dari sistem akan benar-benar memuaskan rancang bangun yang telah ditetapkan pada akhir analisis sistem. Tujuan dari perancangan sistem adalah : 1) Untuk memenuhi kebutuhan pemakai sistem. 2) Untuk memberikan gambaran yang jelas dan rancang bangun yang lengkap terhadap pemrogram komputer (programmer) dan ahli-ahli tehnik lainnya yang terlibat.
Dalam suatu perancangan sistem informasi terdiri dari rancangan komponenkomponen. Komponen-komponen ini dirancang dengan tujuan untuk dikomunikasikan sebagai user atau pemakai. Secara umum sebagai berikut : 1) Perancangan Model Rancangan model dari sistem informasi yang diusulkan dalam bentuk fisik dan model logika. Bagan alur sistem merupakan alat yang tepat untuk menggambarkan sistem fisik. Model logika dari sistem informasi lebih menjelaskan pada user bagaimana nantinya fungsi-fungsi dari sistem informasi secara logika akan bekerja. Model logika akan digambarkan dengan sequence diagram. 2) Perancangan Keluaran Keluaran merupakan produk dari sistem informasi yang dapat dilihat. Istilah keluaran dapat terdiri dari berbagai jenis. Yang dimaksud rancangan dari sistem ini adalah keluaran yang berbentuk tampilan di media kertas atau layar komputer. 3) Perancangan Masukan Alat masukan dapat dikategorikan ke dalam dua golongan yaitu alat input langsung dan alat input tidak langsung. Alat input langsung berupa alat yang langsung
http://digilib.mercubuana.ac.id/
9
dihubungkan ke CPU (central processing unit) seperti keyboard, sedang alat input tidak langsung adalah alat yang tidak langsung dihubungkan ke CPU. 4) Perancangan Basis Data Basis data merupakan kumpulan dari data yang berhubungan satu dengan lainnya. Data tersebut disimpan di simpanan luar komputer dan dipergunakan perangkat lunak (software) untuk menampilkannya. 5) Perancangan Kontrol Suatu sistem merupakan sasaran dari Miss Management ( kesalahan pada pengolahan ). Pengendalian yang diterapkan pada sistem informasi sangat berguna untuk mencegah terjadinya hal-hal yang tidak diinginkan. Dan dapat juga digunakan untuk melacak kesalahan-kesalahan yang sudah terjadi sehingga dapat dikoreksi. 2.2
Penyakit dan Jenis Penyakit Pada Hewan Herbivora Penyakit merupakan suatu keadaan tidak normal pada badan maupun pikiran
sehingga menyebabkan ketidaknyamanan, kelainan atau disfungsi pada hewan dimana klasifikasi penyakit itu dapat dibedakan antara penyakit menular ataupun penyakit tidak menular tergantung apa penyebab dan penularannya. Menurut buku e.encyclopedia fauna (2008) Herbivora yaitu jenis hewan yang memakan tumbuh-tumbuhan dan memamah biak, Setelah makanan masuk kedalam perut hewan herbivora, makanan tersebut nantinya akan dicerna lagi menggunakan mulut. Menurut Eko Susilo (2013:67) Jenis penyakit yang menyerang hewan herbivora antara lain; Pneumonia (radang paru-paru), Bloat (penyakit kembung), Paratuberkulosis (radang usus), Botulisme (kelumpuhan) dan lain-lainnya.
2.2.1
Mengenal Hewan Berdasarkan Sumber Makanannya Hewan biasanya mengonsumsi dua jenis makanan. Berikut ini jenis makanan hewan dan penjelasannya.
a.
Makanan dari tumbuhan Tumbuhan adalah produsen utama dalam rantai makanan. Karenanya
banyak hewan menjadikan tumbuhan sebagai sumber utama makanan. Biasanya, hewan hanya memakan bagian – bagian tertentu dari tumbuhan seperti daun, buah, batang, bunga, umbi/akar.
http://digilib.mercubuana.ac.id/
10
b.
Makanan dari hewan Selain memakan tumbuhan, beberapa jenis hewan juga menjadikan hewan
lain sebagai makanannya. Umumnya, hewan pemakan tumbuhanlah yang dijadikan mangsa bagi hewan lainnya. Namun, tak jarang hewan pemakan hewan juga dijadikan mangsa.
c. Hewan pemakan tumbuhan (herbivora) Herbivora merupakan sebutan untuk hewan yang hanya memakan tumbuhan sebagai sumber utama makanannya. Bagian tumbuhan yang dikonsumsi hewan herbivora adalah bagian daun, kulit kayu, biji, buah, dan bunga. Hewan ini mempunyai ciri khusus, yaitu gigi graham yang berguna untuk mengunyah makanan, sedangkan gigi taring dan gigi seri berguna untuk memotong makanan. Contoh hewan herbivora adalah sapi, kambing, kerbau, kuda, onta, monyet, dan sebagainya.
2.2.2
Merawat Hewan Peliharaan
1. Kandang Berbeda dengan hewan liar yang mempunyai habitat di alam, hewan peliharaan juga memiliki tempat untuk hidup. Hewan peliharaan akan lebih baik jika dipelihara di dalam kandang. Hal tersebut akan membantu melindungi hewan dari pemangsa dan juga dari alam.
2. Makanan dan Minuman Seperti yang telah kita pelajari di atas, hewan memerlukan makan dan minuman. Begitu juga hewan peliharaan. Kita harus memerhatikan pemberian makanan pada hewan peliharaan, jangan sampai terlambat, terlalu sedikit, atau terlalu banyak. Hal ini berguna untuk menjaga kelangsungan hidup hewan peliharaan tersebut.
3. Kebersihan hewan Selain tempat hidup dan juga makanan, kita juga perlu memerhatikan kebersihan hewan. Kebersihan disini meliputi kebersihan hewan dan kandangnya. Ini guna mencegah datangnya penyakit pada hewan peliharaan kita.
http://digilib.mercubuana.ac.id/
11
4. Kesehatan hewan Sebenarnya jika kita sudah melakukan tiga langkah diatas, kesehatan hewan peliharaan kita akan terjaga. Namun tidak menutup kemungkinan ada virus yang menjangkiti hewan peliharaan. Ini sangat penting diperhatikan oleh pemilik hewan peliharaan mengingat ada beberapa virus yang ditularkan oleh hewan pada manusia.
2.2.3
Kecerdasan Tiruan (Artifical Intellegence) Kecerdasan tiruan (AI) mempelajari bagaimana membuat komputer melakukan
sesuatu pada suatu kejadian atau peristiwa yang mana orang melakukannya dengan baik. Siswanto (2010 : 1) mendefinisikan AI sebagai berikut “Kecerdasan tiruan merupakan proses dimana peralatan mekanik dapat melaksanakan kejadian-kejadian dengan menggunakan pemikiran atau kecerdasan manusia”. Kecerdasan tiruan (AI) adalah sub bagian dari ilmu komputer yang merupakan suatu teknik perangkat lunak yang pemprogramannya dengan cara menyatakan data, pemrosesan data dan penyelesaian masalah secara simbolik, dari pada secara numerik. Apa saja yang dikerjakan dalam bagian-bagian kecerdasan tiruan (AI) berikut ini : Machine Vision, Robotics, Speech Processing, Theorem Proving, Pattern Recognation, Game Playing, Learning, Planning, dan Neural Network/Paraller Distributed.
2.2.4
Sistem Pakar (Expert System) Walaupun tujuan umum penyelesaian masalah masih jauh dari apa yang
diharapkan, namun sistem pakar berfungsi sangat baik dalam batasan domainnya. Hal ini dapat dibuktikan bahwa sistem pakar telah banyak diaplikasikan dalam berbagai bidang saat ini, seperti bisnis, kedokteran, ilmu pengetahuan, dan teknik. Hasil tersebut dapat ditemukan didalam buku-buku, jurnal, konferensi-konferensi, dan produksi yang berkenaan dengan sistem pakar.
a. Pengertian Sistem Pakar 1)
Menurut Siswanto (2010 : 117), sistem pakar merupakan program-
program yang bertingkah laku seperti manusia pakar/ahli (human expert). Sistem
http://digilib.mercubuana.ac.id/
12
ini adalah yang paling banyak aplikasinya dalam membantu menyelesaikan masalah-masalah dalam dunia nyata. 2)
Menurut Anna Hart (1994 : 5), sistem pakar adalah program-program
komputer yang dirancang untuk memanipulasi informasi secara canggih dan kemudian membantu manusia pakar yang mempekerjakan kepakaran dan pengetahuan. 3)
Menurut Muhammad Arhami (2006 : 3), sistem pakar adalah salah satu
cabang dari AI yang membuat penggunaan secara luas knowledge yang khusus untuk menyelesaikan masalah tingkat manusia yang pakar/ahli.
b.
Ciri – Ciri Sistem Pakar Menurut Siswanto (2010 : 123), suatu sistem dikatakan sistem pakar
apabila memiliki ciri-ciri sebagai berikut : 1) Terbatas pada domain keahlian tertentu. 2) Dapat memberikan penalaran untuk data yang tidak pasti. 3) Dapat mengemukakan rangkaian alasan-alasan yang diberikannya dengan cara yang dapat dipahami. 4) Berdasarkan pada kaidah/ketentuan/rule tertentu. 5) Dirancang untuk dapat dikembangkan secara bertahap. 6) Pengetahuan dan mekanisme penalaran (inference) jelas terpisah. 7) Keluarannya besifat anjuran. 8) Sistem dapat mengaktifkan kaidah secara terarah yang sesuai dituntun oleh dialog dengan user.
c.
Keuntungan dan Kelemahan Sistem Pakar Keuntungan dan kelemahan sistem pakar menurut Muhammad Arhami
(2006 : 10) : 1) Ada banyak keuntungan yang didapat bila menggunakan sistem pakar, di antaranya adalah : a)
Menjadikan pengetahuan dan nasihat lebih mudah didapatkan.
b)
Meningkatkan output dan produktivitas.
c)
Menyimpan kemampuan dan keahlian pakar.
d)
Meningkatkan penyelesaian masalah.
e)
Meningkatkan reliabilitas.
f)
Memberikan jawaban yang cepat.
http://digilib.mercubuana.ac.id/
13
g)
Merupakan panduan yang intelligence (cerdas).
h)
Dapat bekerja dengan informasi yang kurang lengkap dan mengandung ketidakpastian.
i)
Intelegence database (basis data cerdas), bahwa sistem pakar dapat digunakan untuk mengakses basis data dengan cara cerdas.
2) Selain keuntungan-keuntungan di atas, seperti halnya sistem lainnya, sistem pakar juga memiliki kelemahan, di antaranya adalah : a)
Masalah dalam mendapatkan pengetahuan dimana pengetahuan
tidak selalu bisa didapatkan dengan mudah, karena kadangkala pakar dari masalah yang kita buat tidak ada, dan kalaupun ada kadang-kadang pendekatan yang dimiliki oleh pakar berbeda-beda. b)
Untuk membuat suatu sistem pakar yang benar-benar berkualitas
tinggi sangatlah sulit dan memerlukan biaya yang sangat besar untuk pengembangan dan pemeliharaannya. c)
Boleh jadi sistem tak dapat membuat keputusan.
d)
Sistem pakar tidaklah 100% menguntungkan, walaupun seorang
tetap tidak sempurna atau tidak selalu benar. Oleh karena itu perlu diuji ulang secara teliti sebelum digunakan. Dalam hal ini peran manusia tetap merupakan faktor dominan.
d.
Komponen Sistem Pakar Sebuah program sistem pakar terdiri atas komponen-komponen. Berikut
komponen sistem pakar menurut Siswanto (2010 : 125) :
1) Basis Pengetahuan (Knowledge Base) Knowledge Based System (KBS) atau sistem berbasis pengetahuan merupakan bagian dari kecerdasan buatan / Artificial Intelegence (AI ). KBS memiliki kemampuan untuk melakukan komputasi, penyimpanan, proses berfikir, dan penyimpanan
pengetahuan
(
Sajja
&
Akerkar,
2010).
KBS
dapat
diimplementasikan untuk membantu pakar ( Expert ) menjawab pertanyaanpertanyaan tanpa menghabiskan waktu, dapat dilakukan dimanapun, dan kapanpun. Hal ini karena pengetahuan yang mereka miliki disimpan terlebih dahulu ke dalam Knowledge Based (Basis Pengetahuan).
http://digilib.mercubuana.ac.id/
14
a)
Inti program sistem pakar
b)
Merupakan representasi pengetahuan (Knowledge representation) dari seorang pakar.
c) (rule)
Tersusun atas fakta yang berupa objek dan kaidah/ketentuan yang
merupakan
informasi
tentang
cara
bagaimana
membangkitkan fakta baru dari fakta yang sudah diketahui. Facts list (daftar fakta-fakta) berisikan observasi dan sesuatu kenyataan yang dibutuhkan selama pengolahan.
2) Mesin Inferensi (Inference Engine) a)
Bagian yang mengandung mekanisme fungsi berfikir dan pola-
pola penalaran sistem yang digunakan seorang pakar. b)
Mekanisme ini akan menganalisa sesuatu masalah tertentu dan
selanjutnya mencari jawaban/kesimpulan yang terbaik. c)
Memilih pengetahuan yang relevan dalam rangka mencapai
kesimpulan. d)
Memulai pelacakannya dengan mencocokan kaidah (rule) dalam
basis pengetahuan dengan fakta-fakta yang ada dalam facts list disimpan dalam knowledge base di harddisk.
Ada dua teknik penalaran (inference) : a)
Pelacakan ke belakang (Backward Channing)
Memulai penalarannya dari kesimpulan (goal), dengan mencari sekumpulan hipotesa-hipotesa yang mendukung menuju fakta-fakta yang mendukung
sekumpulan
hipotesa-hipotesa
Kusumadewi (2003 : 118).
http://digilib.mercubuana.ac.id/
tersebut
menurut
Sri
15
Gambar 2.2 Pelacakan ke belakang (Backward Channing)
b)
Pelacakan ke depan (Forward Channing)
Memulai dari sekumpulan fakta-fakta (data) dengan mencari kaidah yang cocok dengan dugaan hipotesa yang ada menuju kesimpulan menurut Sri Kusumadewi (2003 : 116).
(start) Mata Berbintik
Mata Memerah Kulitnya Bersisik Badannya Kurus
RingWorm (goal)
Forward Channing (FC)
Gambar 2.3 Pelacakan ke kedepan (Forward Channing)
Kedua teknik penalaran dipengaruhi oleh tiga macam teknik penelusuran (searching) : a)
Depth-First Search, melakukan penelusuran kaidah secara
mendalam dari simpul akar bergerak menurun ke tingkat dalam yang berurutan menurut Sri Kusumadewi (2003 : 26).
http://digilib.mercubuana.ac.id/
16
Gambar 2.4 Diagram alir teknik penelusuran Depth-First Search
b)
Breadth-First Search, bergerak dari simpul akar, simpul yang
ada pada setiap tingkat diuji sebelum pindah ke tingkat selanjutnya menurut Sri Kusumadewi (2003 : 23).
Gambar 2.5 Diagram alir teknik penelusuran Breadth-First Search
c)
Best-First Search, bekerja berdasarkan kombinasi kedua metode
sebelumnya menurut Sri Kusumadewi (2003 : 41).
http://digilib.mercubuana.ac.id/
17
1
Level 0
1 2 2
3
Level 1
3 4
6
5
8
Goal
9
7
Level 2
Level 3
Gambar 2.6 Diagram alir teknik penelusuran Best-First Search
3) Antarmuka pemakai (User Interface) a)
Bagian penghubung antara sistem pakar dengan pemakai.
b)
Akan terjadi dialog antara program dan pemakai. Program akan
mengajukan pertanyaan-pertanyaan dan jawaban berbentuk ya/tidak, berbentuk panduan menu, pernyataan-peryataan bahasa alami (natural language), dan graphichs interface style. Pemrograman sistem pakar akan mengambil kesimpulan berdasaran jawaban-jawaban dari pemakai tadi.
4) Development Engine Bagian dari sistem pakar sebagai fasilitas untuk mengembangkan mesin inferensi dan penambahan basis pengetahuan yang akan dilakukan oleh knowledge engineer.
5) Pakar/Ahli (Expert) Orang yang memiliki pengetahuan khusus, pendapat, pengalaman dan metode, serta kemampuan untuk mengaplikasikan keahlian tersebut guna menyelesaikan masalah.
6) Pemakai (User) Orang yang menggunakan sistem pakar. Sistem pakar memiliki beberapa pemakai, yaitu : pemakai bukan pakar, pakar, pembangun sistem pakar yang ingin meningkatkan dan menambah basis pengetahuan dan pakar.
http://digilib.mercubuana.ac.id/
18
7) Perekayasa Sistem (Knowledge Engineer) Orang yang membantu pakar dalam menyusun area permasalahan dengan menginterpretasikan dan mengintegrasikan jawaban-jawaban pakar atas pertanyaan yang diajukan, menggambarkan analogi, mengajukan counter example dan menerangkan kesulitan-kesulitan konseptual.
Gambar hubungan antara komonen sistem pakar, sebagai berikut :
Gambar 2.7 Konsep dasar fungsi pada Sistem Pakar (Expert System)
e.
Klasifikasi Sistem Pakar Klasifikasi sistem pakar menurut Siswanto (2010 : 132) : 1) Diagnosa a)
Digunakan untuk merekomendasikan, misalnya : Obat untuk orang
sakit, kerusakan mesin, kerusakan rangkaian elektronik. b)
Menemukan apa masalah/kerusakan yang terjadi.
c)
Menggunakan pohon keputusan (decision tree) sebagai representasi
pengetahuannya.
2) Pengajaran a)
Digunakan untuk pengajaran, mulai dari SD s/d PT.
http://digilib.mercubuana.ac.id/
19
b)
Membuat diagnosa apa penyebab kekurangan dari siswa, kemudian memberikan cara untuk memperbaikinya.
3) Interpretasi Untuk menganalisa data yang tidak lengkap, tidak teratur, dan data yang kontradiktif, misalnya : Untuk interpretasi citra.
4) Prediksi a)
Untuk peramalan cuaca, misalnya : Bagaimana seseorang pakar meteorology memprediksi cuaca besok berdasarkan data-data sebelumya.
b)
Penentuan masa tanam.
5) Kontrol Digunakan untuk mengontrol kegiatan yang membutuhkan presisi waktu tinggi. misalnya : Pengontrolan pada industri-industri berteknologi tinggi.
2.3
Sejarah Android Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux
yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya, Google Inc, membeli Android Inc. yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5 november 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan open source pada perangkat mobile. Di lain pihak, Google merilis kode-kode Android dibawah lisensi Apache, sebuah lisensi perangkat lunak dan open platform perangkat seluler. Di dunia ini terdapat dua jenis distributor sistem operasi Android.Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua
http://digilib.mercubuana.ac.id/
20
adalah yang benar-benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution(OHD). 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 dipasaran pada 5 Januari 2010. Pada 9 Desember 2008, diumumkan anggota baru yang bergabung dalam program kerjaAndroid ARM Holdings, Atheros Communications, diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, dan Vodafone Group Plc. Seiring pembentukan Open Handset Alliance, OHA mengumumkan produk perdana mereka, Android, perangkat mobile yang merupakan modifikasi kernel Linux 2.6. sejak Android dirilis telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru. Pada masa saat ini kebanyakan vendor-vendor smartphone sudah memproduksi smart phone berbasis android, vendor-vendor itu antara lain, HTC, Motorola, Samsung, LG, HKC, Huawei, Archos, Webstation Camani, Dell, Nexus, SciPhone, WayteQ, Sony Ericsson, LG, Acer, Philips, T-Mobile, Nexian, IMO, Asus dan masih banyak lagi vendor smart phone didunia yang memproduksi androis. Hal ini karena android itu adalah sistemoperasi yang open source sehingga bebas didistribusikan dan dipakai oleh vendor manapun. Tidak hanya menjadi sistem operasi di smartphone, saat ini Android menjadi pesaing utama dari Apple pada sistem operasi Table PC. Pesatnya pertumbuhan Android selain factor yang disebutkan diatas adalah karena Android itu sendiri adalah platform yang sangat lengkap baik itu sistem operasinya, Aplikasi dan Tool Pengembang, Market aplikasi android serta dukungan yang sangat tinggi dari komunitas Open Source di dunia, sehingga android berkembang pesat baik dari segi teknologi maupun dari segi jumlah device yang ada di dunia. 2.3.1
The Dalvik Virtual Machine (DVM) Salah satu elemen kunci dari Android adalah dalvik Virtual Machine (DVM).
Android berjalan di dalam Dalvik Virtual Machine (DVM) bukan di Java Virtual Machine (JVM), sebenarnya banyak persamaannya dengan Java virtual machine (JVM) seperti Java ME (Java Mobile Edition), tetapi Android menggunakan Virtual Machine sendiri yang menurut saya dikustomisasian dirancang untuk memastikan bahwa beberapa feature-feature berjalan lebih efisien pada perangkat mobile.
http://digilib.mercubuana.ac.id/
21
Dalvik Virtual Machine (DVM) adalah “register bases”sementara Java Virtual Machine (JVM) adalah “ stack based”,DVM didesain dan ditulis oleh Dan Bornsten dan beberapa engineers Google lainya. Jadi bisa kita katakan “Dalvik equals(java) == false” . Dalvik Virtual Machine menggunakan kernel Linux untuk menangani fungsionalitas tingkat rendah termasuk keamanan, threading , dan proses serta manajemen memori. Ini memungkinkan kita untuk menulis Aplikasi C/C+ sama halnya seperti pada OS Linux kebanyakan. Meskipun dalam kenyataan kita harus banyak memahami Arsitektur dan proses sistem dari kernel linux yang digunakan dalam Android tersebut. Semua Hardware
yang berbasis Android dijalankan dengan menggunakan
Virtual Machine untuk eksekusi aplikasi, pengembang tidak perlu khawatir tentang implementasi perangkan keras tertentu. Dalvik Virtual Machine mengeksekusi executable file, sebuah format yang dioptimalkan untuk memastikan memori yang digunakan sangan kecil.The executable file diciptakan dengan mengubah kelas bahasa java dan kompilasi menggunakan tools yang disediakan dalam SDK Android. 2.3.2
Android SDK (Software Development Kit) Android SDK adalah tools API (Aplication Programming Interface) yang
diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci yang di release oleh Google. Saat ini disediakan Android SDK (Software Development kit) sebagai alat bantu dan API untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Sebagai platform aplikasi-netral, Android memberi Anda kesempatan untuk membuat Aplikasi yang kita butuhkan yang bukan merupakan aplikasi bawaan Handphone/Smartphone. Beberapa fitur-fitur Android yang paling penting adalah : 1. Framework Aplikasi yang mendukung penggantian komponen dan reusable. 2. Mesin Virtual Dalvik dioptimalkan untuk perangkatmobile 3 Integrated browser berdasarkan engine open source WebKit 4 Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis #D berdasarkan spesifikasi opengl ES 1,0 (Opsional akselerasi hardware) 5 SQLite untuk penyimpanan data 6 Media Support yang mendukung audio, video dan gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF), GSM Telephony (tergantung hardware) 7 Bluetooth, EDGE, 3G, dan Wifi (tergantung hardware)
http://digilib.mercubuana.ac.id/
22
8 Kamera, GPS, KOmpas, dan accelerometer (tergantung hardware) 9 Lingkunga Development yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE Eclipse
2.3.3
ADT (Android Development Tools) Android Development Tolls (ADT) adalah plugin yang di desain untuk IDE
Eclipse yang memberikan kita kemudahan dalam mengembangkan aplikasi android dengan menggunakan IDE Eclipse. Dengan menggunakan ADT untuk Eclipse akan memudahkan kita dalam membuat aplikasi project android, membuat GUI aplikasi, dan menambahkan komponen-komponen yang lainya, begitu juga kita dapat melakukan running aplikasi menggunakan Android SDK melalui eclipse, dengan ADT juga kita dapat melakukan pembuatan package android (apk) yang digunakan untuk distribusi aplikasi android yang kita rancang. 2.4
Mock Up Dalam dunia website, Mockup/Wireframe adalah rancangan awal sebuah desain
web yang dibuat secara manual menggunakan photoshop, atau software pengedit gambar lainya. Mockup merupakan gambar model atau prototif halaman web secara full dan detail. Format mockup ini biasanya berbentuk file. PSD (Photoshop Document). Sebenarnya, selain menggunakan photoshop atau software pengedit gambar, Mockup juga dapat dibuat dengan software yang memang dikhususkan untuk membuat mockup seperti Mockingbird, Cacoo, Mockflow, dan sebagainya. Namun, biasanya software-software seperti ini justru hanya memungkinkan pembuat untuk membuat mockup yang sederhana alias seadanya. Misalnya, hanya sebatas layout dan navigasinya saja. Mockup ini berfungsi sebagai acuan kerja pembuatan website agar tidak menyimpang dari tujuan awal membuatnya. Biasanya, pembuat website yang menggunakan mockup lebih efektif dan terstruktur karena pada saat pembuatan mockup itu sudah ditentukan kerangak pembuatan websitenya.Mockup dikerjakan oleh seorang web designer yang nantinya akan diserahkan pada web programmer. Oleh web programmer, Mockup ini nantinya akan diubah kebentuk halaman web berformat .html. Pengubahan ini biasanya disebut “Slicing PSD to HTML”. Pengubahan ini dilakukan secara manual oleh programmer dengan mengetikan kode-kode HTML dan CSS. (Muhammad Syakirurohman,2013)
http://digilib.mercubuana.ac.id/
23
2.5
Model Waterfall Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier
(sequential linear) atau alur hidup klasik (classic life cycle). Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian, dan tahap pendukung (support). 1. System Engineering and Modeling, pemodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen – elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition. 2. Software Requirements Analysis, proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari dua aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan. 3. Design, proses ini digunakan untuk mengubah kebutuhan - kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti dua aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software, 4. Coding, untuk dapat dimengerti oleh mesin, dalam hal ini adalah computer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer . 5. Testing / Verification, sesuatu yang dibuat haruslah diuji cobakan. Demikian juga dengan software, semua fungsi – fungsi software harus diuji cobakan, agar software bebas dari error, dan hasilnya harus benar – benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. 6. Maintenance, pemeliharaan suatu software diperlukan, termasuk didalamnya adalah pemngembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada error kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur – fitur yang belum ada pada software
http://digilib.mercubuana.ac.id/
24
tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.
2.6
Unified Modeling Language (UML).
2.6.1
Definisi UML Unified Modeling Language (UML) adalah keluarga notasi grafis yang didukung
oleh meta-model tunggal, yang membantu pendeskripsian dan desain system perangkat lunak, khususnya system yang dibangun menggunakan pemrograman berorientasi objek (OO) (Martin Fowler,2005).
1)
Use Case Diagram
Merupakan deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara user(pengguna) sebuah sistem dengan sistem yang dipakai (Munawar:2005). Urutan langkah-langkah yang menerangkan antara pengguna dan sistem disebut scenario. Secara umum use case adalah pola perilaku sistem dan juga urutan transaksi yang berhubungan yang dilakukan satu aktor atau bisa di deskripsikan use case adalah abstraksi dari interaksi antara sistem dan actor. Use case diagram terdiri dari :
http://digilib.mercubuana.ac.id/
25
Tabel 2.1 Komponen – Komponen Dalam Use Case Diagram
(Sumber : Soetam Rizky, 2011)
2)
Class Diagram Class diagram menggambarkan tipe-tipe dari obyek-obyek dalam sistem
dan berbagai jenis hubungan atau relasi yang ada. Class diagram juga menunjukkan atribut-atribut dan operasi-operasi dari sebuah kelas dan constraint yang berhubungan dengan obyek yang dikoneksikan. Terdapat beberapa komponen dari class diagram, yaitu :
http://digilib.mercubuana.ac.id/
26
Tabel 2.2 Komponen – Komponen Dalam Class Diagram
(Sumber : Soetam Rizky, 2011)
3)
Activity Diagram Menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses.
Dipakai pada business modeling untuk memperlihatkan urutan aktifitas proses bisnis. Sebuah activity diagram mempunyai:
Tabel 2.3 Komponen – Komponen Dalam Activity Diagram
http://digilib.mercubuana.ac.id/
27
(Sumber : Soetam Rizky, 2011)
4)
Sequence Diagram Sequence diagram adalah adalah perancangan form/layar ( visual coding).
Biasanya digunakan untuk tujuan analisa dan desain dan memfokuskan identifikasi metoda di dalam sebuah sistem. Diagram ini secara khusus berasosiasi dengan use case diagram. Memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu di dalam use case.
http://digilib.mercubuana.ac.id/
28
Tabel 2.4 Komponen – Komponen Dalam Sequence Diagram
(Sumber : Soetam Rizky, 2011)
2.7
Teori dasar rancangan basis data
2.7.1
Pengertian Basis Data Basis data atau juga disebut database, terdiri dari dua penggalan kata yaitu data
dan base, yang artinya berbasiskan pada data, tetapi secara konseptual, database diartikan sebuah koleksi atau kumpulan data-data yang saling berhubungan (relation), disusun
http://digilib.mercubuana.ac.id/
29
menurut aturan tertentu secara logis, sehingga menghasilkan informasi. Selain itu, untuk mengelola dan memanggil query basis data agar dapat disajikan dalam berbagai bentuk yang diinginkan dibutuhkan perangkat lunak yang disebut Sistem Manajemen Basis Data atau juga disebut Database Management System (DBMS). Penggabungan Database Management System (DBMS) dengan Basis Data akan membentuk satu kesatuan yang disebut Sistem Basis Data. Sistem Basis Data adalah suatu sistem penyusunan dan pengelolaan record-record dengan menggunakan komputer, dengan tujuan untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi/perusahaan sehingga mampu menyediakan informasi yang diperlukan pemakai untuk kepentingan proses pengambilan keputusan. 2.7.2
Tujuan Pengembangan Basis Data Sebagaimana usaha-usaha pada bidang yang lainya, pelaksanaan perangcangan
dan penyusunan basis data tentu mempunyai tujuan. Dalam beberapa referensi, tujuan basis data telah diperinci dengan cara yang berbeda-beda. Namun demikian, pada dasarnya tujuannya hamper sama. Perbedaan tersebut terlihat pada tingkat kedalaman perincian. Dengan demikian, perincian tujuan basis data bisa jadi berlainan dalam referensi yang satu dengan yang lain. Sebuah tinjauan tentang tujuan pengembangan basis data yang cukup terperinci disampaikan oleh James Martin (1975). Ia membedakan tujuan pengembangan basis data menjadi dua kelompok, yaitu tujuan primer dan tujuan sekunder. Tujuan primer dimaksudnkan sebagai tujuan utama yang ingin di capai dalam setiap usaha perancangan dan pengembangan basis data. Sedangkan tujuan sekunder merupakan tujuan tambahan yang dimaksudkan untuk mencapai tujuan primer. 2.8
Database Database adalah sekumpulan file data yang satu sama lainnya saling berhubungan
yang diorganisasi sedemikian rupa sehingga memudahkan untuk mendapatkan dan memproses data tersebut. Lingkungan sistem database menekankan pada data yang tidak tergantung (independent) pada aplikasi yang menggunakan data tersebut. Data adalah kumpulan-kumpulan fakta dasar (mentah) yang terpisah. Data menggambarkan suatu organisasi. Sebuah database harus dibuat dengan rapi agar setiap data yang dimasukkan sesuai dengan tempatnya. Sebagai contoh, di sebuah Perpustakaan penyimpanan buku
http://digilib.mercubuana.ac.id/
30
dilakukan berdasarkan atas jenis atau kategori-kategori tertentu dari buku-buku tersebut, misalnya kategori buku computer, buku pertanian dan lain-lain. Kemudian dikelompokan lagi berdasarkan abjad dari judul-judul buku. Ini dilakukan agar setiap pengunjung dapat dengan mudah mencari dan mendapatkan buku yang dimaksud. Bisa dibayangkan jika buku-buku tersebut tidak dikelompokan berdasarkan kategori-kategori yang ditentukan, maka seorang pengunjung akan sulit untuk mencari dan mendapatkan buku yang dimaksud. Untuk itu, sebuah database yang baik harus memiliki kategori-kategori yang digunakan sebagai pengelompokan data-data. Penggunaan database pada computer dilakukan
dengan
menggunakan
tabel-tabel.
Pada
tabel-tabel
tersebut
masih
dikelompokan lagi menjadi beberapa bagian untuk membedakan data yang satu dengan data yang lain. Pada sebuah tabel database harus memiliki satu kategori data yang digunakan sebagai kunci untuk membedakan data-data yang ada di dalam suatu tabel. Data kunci tersebut tidak boleh sama antara satu data dengan data yang lain. Data kunci sering disebut dengan primary key. 2.8.1
Konsep Relasional Database Relational Database Management System (RDMS) merupakan sekumpulan data
yang disimpan sedemikian rupa sehingga mudah diambil informasinya bagi pengguna dan data tersebut saling berhubungan. RDMS merupakan suatu paket perangkat lunak yang kompleks digunakan untuk memanipulasi database.
Ada tiga prinsip dalam RDMS : - Data definition Mendefinisikan jenis data yang akan dibuat (dapat berupa angka atau huruf), cara relasi data, validasi data dan lainnya. - Data Manipulation Data yang telah dibuat dan di definisikan tersebut akan dilakukan beberapa pengerjaan seperti penyaring data, melakukan proses query dan sebagainya. - Data Control
http://digilib.mercubuana.ac.id/
31
Bagian ini berkenaan dengan cara mengendalikan data, seperti siapa saja yang bisa melihat isi data, bagaimana data bisa digunakan oleh banyak user dan sebagainya. Semua operasi input dan output yang berhubungan dengan database harus menggunakan DBMS. Bila pemakai akan mengakses database, DBMS menyediakan penghubung (interface) antara pemakai dengan database.
Hubungan pemakai dengan database dapat dilakukan dengan dua cara : 1. Secara interaktif menggunakan bahasa pertanyaan (query language). 2. Dengan menggunakan program aplikasi. 2.8.2
Jenjang Data Dalam database terdapat jenjang atau urutan data mulai dari kumpulan yang
terkecil sampai yang terbesar. - Characters : merupakan bagian data yang terkecil, dapat berupa karakter numeric, huruf ataupun karakter-karakter khusus (special characters) yang membentuk suatu item data/field. - Field : mempresentasikan suatu atribut dari record yang menunjukan suatu item dari data, seperti misalnya nama, alamat dan lain sebagainya. Kumpulan dari field membentuk suatu record. Field name : harus diberi nama untuk membedakan field satu dengan yang lainnya, field representation : tipe field (karakter,teks,tanggal, angka dsb) dan lebar field (ruang maksimum yang dapat diisi dengan karakter-karakter data). Field value: isi dari field untuk masing-masing record. - Record
:
Kumpulan
dari
field
membentuk
suatu
record.
Record
menggambarkan suatu unit data individu yang tertentu. Kumpulan dari record membentuk suatu file. Misalnya file personalia, tiap-tiap record dapat mewakili data tiap-tiap karyawan. - File : File terdiri dari record-record yang menggambarkan suatu kesatuan data yang sejenis. Misalnya file mata pelajaran berisi data tentang semua mata pelajaran yang ada. - Database : Kumpulkan dari file/tabel membentuk suatu database.
http://digilib.mercubuana.ac.id/