BAB 2 LANDASAN TEORI Landasan teori merupakan teori yang

advertisement
BAB 2
LANDASAN TEORI
Landasan teori merupakan teori yang relevan yang digunakan untuk menjelaskan
tentang variabel yang akan diteliti dan sebagai dasar untuk memberi jawaban
sementara terhadap rumusan masalah yang diajukan, dan penyusunan instrument
penelitian. Teori yang digunakan bukan sekedar pendapat dari pengarang atau
pendapat lain, tetapi teori yang benar-benar telah teruji kebenarannya.
Pada Bab ini dijelaskan mengenai teori-teori dasar dan pengertianpengertian mengenai pokok pembajasan yang mengacu dalam pembuatan aplikasi
Transfusi dan Donor Darah Berbasis Android.
2.1 Sejarah Android
Android merupakan sistem operasi yang berbasis Linux dan dirancang untuk
perangkat seluler layar sentuh seperti smartphone serta komputer tablet. Android
pada awalnya dikembangkan oleh perusahaan bernama Android, Inc., dengan
dukungan finansial yang berasal dari Google, yang kemudian Google pun
membelinya pada tahun 2005. Sistem operasi android tersebut secara resmi dirilis
pada tahun 2007, bersamaan dengan didirikannya sebuah perusahaan Open Handset
Alliance, konsorsium dari beberapa perusahaan-perusahaan perangkat keras,
perangkat lunak, serta telekomunikasi yang memiliki tujuan untuk memajukan
Universitas Sumatera Utara
7
standar terbuka dari perangkat seluler. Ponsel yang berbasis sistem operasi Android
pertama dijual pada bulan Oktober 2008.
Sejarah android pada mulanya berasal dari perusahaan bernama Android,
Inc. didirikan tempatnya di Palo Alto, California, pada Oktober tahun 2003 oleh
Andy Rubin
(pendiri
Danger),
Rich
Miner
seorang pendiri
Wildfire
Communications, Inc., Nick Sears seorang mantan VP T-Mobile, dan Chris White
seorang
kepala
desain
dan
pengembangan
antarmuka
WebTV
untuk
mengembangkan sebuah "perangkat seluler pintar yang lebih sadar tentang lokasi
dan preferensi penggunanya". Tujuan awal dari perkembangan tersebut pada
mulanya diperuntukkan bagi kamera digital, namun disadari bahwa pasar dari
kamera digital tidak besar potensinya, dan pengembangan Android lalu dialihkan
pada pasar telepon pintar atau smartphone untuk menyaingi Symbian serta
Windows Mobile (iPhone Apple pada saat itu belum dirilis).
Sejak tahun 2008, Android mulai secara bertahap melakukan sejumlah
pembaruan atau update untuk meningkatkan kinerja dari sistem operasi tersebut
dengan menambahkan fitur baru, memperbaiki bug pada versi android yang
sebelumnya. Setiap versi yang dirilis dinamakan secara alfabetis dengan
berdasarkan nama sebuah makanan pencuci mulut, seperti cupcake, donut, dan
sebagainya.
2.2 Arsitektur Android
Secara garis besar Arsitektur Android terdapat 4 komponen utama dalam
membangun suatu arsitektur komputer yaitu Applications dan widget, Applications
Frameworks, Libraries dan Linux karnel.
Universitas Sumatera Utara
8
2.2.1
Applications dan Widget
Applications dan Widgets ini adalah layer di mana kita berhubungan dengan
aplikasi saja, dimana biasana kita download aplikasi kemudian kita lakukan
instalasi dan jalankan aplikasi tersebut. Di Layer terdapat aplikasi inti termasuk
klien email, program SMS, kalender, peta, browser, kontak, dan lain-lain. Semua
aplikasi ditulis menggunakan bahasa pemrograman Java.
2.2.2
Applications Frameworks
Android adalah "Open Development Platform" yaitu Android menawarkan kepada
pengembang atau memberi kemampuan kepada pengembang untuk membangun
aplikasi yang bagus dan inovatif. Pengembang bebas untuk mengakses perangkat
keras, akses informasi resources, menjalankan service background, mengatur
alarm, dan menambahkan status notifications, dan sebagainya. Pengembang
memiliki akses penuh menuju API framework seperti yang dilakukan oleh aplikasi
yang kategori inti. Arsitektur aplikasi dirancang supaya kita dengan mudah dapat
menggunakan kembali komponen yang sudah digunakan (reuse).
2.2.3
Libraries
Libraries ini adalah layer dimana fitur-fitur Android berada, biasanya para pembuat
aplikasi mengakses libraries untuk menjalankan aplikasi. Berjalan di atas kernel,
Layer ini meliputi berbagai library C/C++ inti seperti Libc danSSL, serta:
- Libraries media untuk pemutaran media audio dan video
- Libraries untuk manajemen tampilan
- Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D
- Libraries SWLite untuk dukungan database
Universitas Sumatera Utara
9
- Libraries SSL dan WebKit terintegrasi dengan web browser dan security.
- Libraries liveWebcore mencakup modern web browser dengan engine web view
- Libraires 3D yang mencakup implementasi OpenGL S 1.0 API's.
2.2.4
Linux Karnel
Linux Kernel adalah layer di mana inti dari operating sistem dari Android itu
berada. Berisi file-file system yang mengatur sistem processing, memory,
resource, driver, dan sistem-sistem operasi android lainnya. Linux kernel yang
digunakan android adalah linux kernel relase 2.6.
Gambar 2.1 Arsitektur Android
2.3 Android Studio
Android
Studio
adalah
Lingkungan
Pengembangan
Terpadu
Integrated
Development Environment (IDE) untuk pengembangan aplikasi Android,
Universitas Sumatera Utara
10
berdasarkan IntelliJ IDEA. Selain merupakan editor kode IntelliJ dan alat
pengembang yang berdaya guna, Android Studio menawarkan fitur lebih banyak
untuk meningkatkan produktivitas Anda saat membuat aplikasi Android, misalnya:
1. Sistem versi berbasis Gradle yang fleksibel.
2. Emulator yang cepat dan kaya fitur.
3. Lingkungan yang menyatu untuk pengembangan bagi semua perangkat
Android.
4. Instant Run untuk mendorong perubahan ke aplikasi yang berjalan tanpa
membuat APK baru.
5. Template kode dan integrasi GitHub untuk membuat fitur aplikasi yang
sama dan mengimpor kode contoh.
6. Alat pengujian dan kerangka kerja yang ekstensif.
7. Alat Lint untuk meningkatkan kinerja, kegunaan, kompatibilitas versi, dan
masalah-masalah lain.
8. Dukungan C++ dan NDK
9. Dukungan bawaan untuk Google Cloud Platform, mempermudah
pengintegrasian Google Cloud Messaging dan App Engine.
10. Laman ini berisi pengantar dasar fitur-fitur Android Studio. Untuk
memperoleh rangkuman perubahan terbaru, lihat Catatan Rilis Android
Studio.
2.4 Java
Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan
program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metodemetode yang melakukan pekerjaan dan mengembalikan informasi setelah
Universitas Sumatera Utara
11
melakukan tugasnya. Para pemrogram Java banyak mengambil keuntungan dari
kumpulan kelas di pustaka kelas Java, yang disebut dengan Java Application
Programming Interface (API).
Kelas-kelas ini diorganisasikan menjadi sekelompok yang disebut paket
(package). Java API telah menyediakan fungsionalitas yang memadai untuk
menciptakan applet dan aplikasi canggih. Jadi ada dua hal yang harus dipelajari
dalam Java, yaitu mempelajari bahasa Java dan bagaimana mempergunakan kelas
pada Java API. Kelas merupakan satu-satunya cara menyatakan bagian eksekusi
program, tidak ada cara lain. Pada Java program javac untuk mengkompilasi file
kode sumber Java menjadi kelas-kelas bytecode. File kode sumber mempunyai
ekstensi *.java. Kompilator javac menghasilkan file bytecode kelas dengan ekstensi
*.class. Interpreter merupakan modul utama sistem Java yang digunakan aplikasi
Java dan menjalankan program bytecode Java.
Beberapa keunggulan java yaitu java merupakan bahasa yang sederhana.
Java dirancang agar mudah dipelajari dan digunakan secara efektif. Java tidak
menyediakan fitur-fitur rumit bahasa pemrograman tingkat tinggi, serta banyak
pekerjaan pemrograman yang mulanya harus dilakukan manual, sekarang
digantikan dikerjakan Java secara otomatis seperti dealokasi memori. Bagi
pemrogram yang sudah mengenal bahasa C++ akan cepat belajar susunan bahasa
Java namun harus waspada karena mungkin Java mengambil arah (semantiks) yang
berbeda dibanding C++.
Java merupakan bahasa berorientasi objek (OOP) yaitu cara ampuh dalam
pengorganisasian dan pengembangan perangkat lunak. Pada OOP, program
komputer sebagai kelompok objek yang saling berinteraksi. Deskripsi ringkas OOP
Universitas Sumatera Utara
12
adalah mengorganisasikan program sebagai kumpulan komponen, disebut objek.
Objek-objek ini ada secara independen, mempunyai aturan-aturan berkomunikasi
dengan objek lain dan untuk memerintahkan objek lain guna meminta informasi
tertentu atau meminta objek lain mengerjakan sesuatu. Kelas bertindak sebagai
modul sekaligus tipe. Sebagai tipe maka pada saat jalan, program menciptakan
objek-objek yang merupakan instan-instan kelas. Kelas dapat mewarisi kelas lain.
Java tidak mengijinkan pewarisan jamak namun menyelesaikan kebutuhan
pewarisan jamak dengan fasilitas antarmuka yang lebih elegan.
Seluruh objek diprogram harus dideklarasikan lebih dulu sebelum
digunakan. Ini merupakan keunggulan Java yaitu Statically Typed. Pemaksaan ini
memungkinkan kompilator Java menentukan dan melaporkan terjadinya
pertentangan (ketidakkompatibelan) tipe yang merupakan barikade awal untuk
mencegah kesalahan yang tidak perlu (seperti mengurangkan variabel bertipe
integer dengan variabel bertipe string).
Java menggunakan model pengamanan tiga lapis (three-layer security
model) untuk melindungi sistem dari untrusted Java code. Pertama, bytecode
verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi
aturan-aturan dasar bahasa Java. Kedua, class loader menangani pemuatan kelas
Java ke runtime interpreter. Ketiga, manajer keamanan menangani keamanan
tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber
daya seperti sistem file, port jaringan, proses eksternal dan sistem window.
Universitas Sumatera Utara
13
2.5 HTML (Hyper Text Markup Language)
HTML adalah singkatan dari Hyper Text Markup Language yaitu bahasa
pemrograman standar yang digunakan untuk membuat sebuah halaman web, yang
kemudian dapat diakses untuk menampilkan berbagai informasi di dalam sebuah
penjelajah web Internet (Browser). HTML dapat juga digunakan sebagai link link
antara file-file dalam situs atau dalam komputer dengan menggunakan localhost,
atau link yang menghubungkan antar situs dalam dunia internet. Supaya dapat
menghasilkan tampilan wujud yang terintegerasi Pemformatan hiperteks sederhana
ditulis dalam berkas format ASCII sehingga menjadi halaman web dengan perintahperintah HTML.
HTML merupakan sebuah bahasa yang bermula bahasa yang sebelumnya
banyak dipakai di dunia percetakan dan penerbirtan yang disebut Standard
Generalized Markup Language (SGML).
2.6 CSS (Cascading Style Sheet)
Cascading Style Sheet (CSS) merupakan aturan untuk mengatur beberapa
komponen dalam sebuah web sehingga akan lebih terstruktur dan seragam. CSS
bukan merupakan bahasa pemograman.
Sama halnya styles dalam aplikasi pengolahan kata seperti Microsoft Word
yang dapat mengatur beberapa style, misalnya heading, subbab, bodytext, footer,
images, dan style lainnya untuk dapat digunakan bersama-sama dalam beberapa
berkas (file). Pada umumnya CSS dipakai untuk memformat tampilan halaman
web yang dibuat dengan bahasa HTML dan XHTML. CSS dapat mengendalikan
ukuran gambar, warna bagian tubuh pada teks, warna tabel, ukuran border, warna
border, warna hyperlink, warna mouse over, spasi antar paragraf, spasi antar teks,
Universitas Sumatera Utara
14
margin kiri, kanan, atas, bawah, dan parameter lainnya. CSS adalah bahasa style
sheet yang digunakan untuk mengatur tampilan dokumen. Dengan adanya CSS
memungkinkan kita untuk menampilkan halaman yang sama dengan format yang
berbeda.
2.7 PHP dan MySQL sebagai Web Service
Web service adalah aplikasi sekumpulan data (database), perangkat lunak
(software) atau bagian dari perangkat lunak yang dapat diakses secara remote oleh
berbagai piranti dengan sebuah perantara tertentu. Secara umum,web service dapat
diidentifikasikan dengan menggunakan URL seperti hanya web pada umumnya.
Namun yang membedakan web service dengan web pada umumnya adalah
interaksi yang diberikan oleh web service. Berbeda dengan URL web pada
umumnya, URL web service hanya menggandung kumpulan informasi, perintah,
konfigurasi atau sintaks yang berguna membangun sebuah fungsi-fungsi tertentu
dari aplikasi.
Web service dapat diartikan juga sebuah metode pertukaran data, tanpa
memperhatikan dimana sebuahdatabase ditanamkan, dibuat dalam bahasa apa
sebuah aplikasi yang mengkonsumsi data, dan di platform apa sebuah data itu
dikonsumsi. Web service mampu menunjang interoperabilitas. Sehingga web
service mampu menjadi sebuah jembatan penghubung antara berbagai sistem yang
ada.
Menurut W3C Web services Architecture Working Group pengertian Web
service adalah sebuah sistem softwareyang di desain untuk mendukung
Universitas Sumatera Utara
15
interoperabilitas interaksi mesin ke mesin melalui sebuah jaringan. Interfaceweb
service dideskripsikan dengan menggunakan format yang mampu diproses oleh
mesin (khususnya WSDL). Sistem lain yang akan berinteraksi dengan web service
hanya memerlukan SOAP, yang biasanya disampaikan dengan HTTP dan XML
sehingga mempunyai korelasi dengan standar Web (Web Services Architecture
Working Group, 2004).
2.8 Flowchart
Flowchart adalah bagan-bagan yang mempunyai arus untuk menggambarkan
langkah-langkah dalam menyelesaikan suatu masalah tertentu dan flowchart
merupakan salah satu cara penyajian dalam algoritma. Program flowchart
menggambarkan urutan logika dari suatu algoritma. Tahapan pembuatan program
yaitu mendefinisikan masalah dan menganalisanya. Mencakup: tujuan pembuatan
program, parameter yang digunakan, fasilitas yang disediakan, algoritma yang
diterapkan dan bahasa program yang digunakan.
2.8.1 Simbol pada Flowchart
Simbol pada flowchart merupakan gambar atau bagan yang memperlihatkan urutan
dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan
simbol. Dengan demikian setiap simbol menggambarkan proses tertentu.
Sedangkan hubungan antar proses digambarkan dengan garis penghubung.
Flowchart disusun dengan simbol-simbol. Simbol ini dipakai sebagai alat bantu
menggambarkan proses di dalam program. Simbol-simbol yang dipakai antara lain:
Universitas Sumatera Utara
16
1. Flow Direction Symbols
Yaitu, simbol yang dipakai untuk menghubungkan antara simbol yang satu
dengan simbol lainnya atau disebut juga connecting line.
Tabel 2.1. Flow Direction Symbols
Simbol
Nama
Fungsi
Penghubung antara
Arus / Flow
prosedur / proses.
Simbol keluar / masuk
Connector
prosedur
atau
proses
dalam lembar / halaman
yang sama.
Simbol keluar / masuk
Off-line Connector
prosedur
atau
proses.
dalam lembar / halaman
yang lain.
2. Processing Simbols
Yaitu, merupakan simbol yang menunjukkan jenis operasi pengolahan dalam suatu
prosedur.
Universitas Sumatera Utara
17
Tabel 2.2. Processing Simbols
Simbol
Nama
Fungsi
Simbol yang menunjukkan
Process
pengolahan yang dilakukan
Komputer.
Simbol untuk kondisi yang
Decision
akan menghasilkan beberapa
kemungkinan jawaban / aksi.
Simbol untuk mempersiapkan
Predefined Process
penyimpanan yang akan
Digunakan sebagai tempat
pengolahan didalam storage.
Terminal
Manual Input
Simbol
untuk permulaan atau
akhir darti suatu program.
Simbol untuk pemasukan data
secara manual on-line keyboard.
1. Input-Output Simbol
Simbol yang dipakai untuk menyatakan jenis peralatan yang digunakan sebagai
media input atau output.
Universitas Sumatera Utara
18
Tabel 2.3. Input-Output Simbol
Simbol
Nama
Fungsi
Simbol
Input-Output
yang
menyatakan
proses input dan output tanpa
tergantung dengan jenis
peralatannya.
Simbol yang menyatakan input
Document
berasal dari dokumen dalam
bentuk kertas atau output di
cetak dikertas.
Disk and On-line
Storage
Simbol untuk menyatakan input
berasal dari disk atau output di
simpan ke disk.
2.9 Entity Relationship Diagram
Menurut salah satu para ahli, Brady dan Loonam (2010), Entity Relationship
Diagram (ERD) merupakan teknik yang digunakan untuk memodelkan
kebutuhan data dari suatu organisasi, biasanya oleh System Analys dalam tahap
analisis persyaratan proyek pengembangan sistem. Sementara seolah-olah
teknik diagram atau alat peraga memberikan dasar untuk desain database
relasional yang mendasari sistem informasi yang dikembangkan. ERD bersamasama dengan detail pendukung merupakan model data yang pada gilirannya
digunakan sebagai spesifikasi untuk database.
Universitas Sumatera Utara
19
Tabel 2.4. Komponen ERD
Simbol
Nama
Fungsi
Entitas
Suatu objek yang dapat
diidentifikasi dalam
lingkungan pemakai.
Atribut
Mendeskripsikan karakter
entitas.
Relasi
Hubungan diantara sejumlah
entitas yang berbeda.
Garis
Penghubung antara relasi
dengan
entitas
dengan
atribut.
Universitas Sumatera Utara
Download