BAB 2 TINJAUAN PUSTAKA
2.1
Landasan Teori Teori umum merupakan analisis hubungan antara fakta yang satu dengan fakta
yang lain pada sekumpulan fakta yang bersifat universal atau menyeluruh.
2.1.1
Sinyal Analog dan Sinyal Digital Secara umum, sinyal dapat didefinisikan suatu besaran fisis yang
merupakan sebuah fungsi waktu, ruangan dan beberapa variable(Stoneytiti.2010). Sinyal adalah kuantitas terstruktur yang rentang waktunya bervariasi. Sebuah sinyal dapat dinyatakan sebagai fungsi dari waktu dan frekuensi. Secara umum sinyal terbagi ke dalam 2 jenis yaitu sinyal analog dan sinyal digital menurut Menurut Rec ITU - T G.701(International Telecomunication Union.1993) : 1. Sinyal
analog
adalah
suatu
sinyal
dimana
salah
satu
besaran
karakteristiknya mengikuti secara kontinyu perubahan dari besaran fisik lainnya yang melambangkan informasi, secara fisik sinyal analog berarti selalu mempunyai nilai di sepanjang waktu. Karakteristik yang dimiliki oleh sinyal analog antara lain: Amplitudo, frekuensi dan fasenya. 2. Sinyal digital adalah sebuah sinyal diskrit dimana informasinya dilambangkan oleh sejumlah deretan sinyal diskrit yang telah ditentukan jumlahnya. Sinyal digital merupakan hasil teknologi yang dapat mengubah signal menjadi kombinasi urutan bilangan 0 dan 1 (juga dengan biner), sehingga tidak mudah terpengaruh oleh noise, proses informasinya pun mudah, cepat dan akurat, tetapi transmisi dengan sinyal digital hanya mencapai jarak jangkau pengiriman data yang relatif dekat. Biasanya sinyal ini juga dikenal dengan sinyal diskret. Sinyal yang mempunyai dua keadaan ini biasa disebut dengan bit. Bit merupakan istilah khas pada sinyal digital. Sebuah bit dapat berupa nol (0) atau satu (1). Kemungkinan nilai untuk 9
10
sebuah bit adalah 2 buah (21). Kemungkinan nilai untuk 2 bit adalah sebanyak 4 2 (2 ), berupa 00, 01, 10, dan 11. Secara umum, jumlah kemungkinan nilai yang terbentuk oleh kombinasi n bit adalah sebesar 2n buah. Sistem digital merupakan bentuk sampling dari sitem analog. digital pada dasarnya di kodekan dalam bentuk biner atau Hexa. besarnya nilai suatu sistem digital dibatasi oleh lebarnya / jumlah bit (bandwidth). jumlah bit juga sangat mempengaruhi nilai akurasi sistem digital. Sinyal digital ini memiliki berbagai keistimewaan yang unik yang tidak dapat ditemukan pada teknologi analog yaitu : 1. Mampu mengirimkan informasi dengan kecepatan cahaya yang dapat membuat informasi dapat dikirim dengan kecepatan tinggi. 2. Penggunaan yang berulang – ulang terhadap informasi tidak mempengaruhi kualitas dan kuantitas informsi itu sendiri. 3. Informasi dapat dengan mudah diproses dan dimodifikasi ke dalam berbagai bentuk. 4. Dapat memproses informasi dalam jumlah yang sangat besar dan mengirimnya secara interaktif.
Sebagian besar sinyal-sinyal yang ditemukan dalam sains dan teknologi adalah analog(Yarlagadda,Rao.2010, p5). Yaitu, sinyal-sinyal yang merupakan fungsi dari suatu variabel kontinu, seperti waktu atau ruang, dan yang biasanya mengambil nilai-nilai dalam interval yang kontinu. Sinyal-sinyal seperti itu dapat diproses secara langsung dengan sistem analog yang tepat atau pengganda frekuensi yang bermaksud mengubah karakteristiknya atau mengambil beberapa informasi yang diinginkan. Itu artinya sinyal telah diproses secara langsung dalam bentuk analognya, dengan sinyal masukan maupun keluarannya adalah sinyal analog.
Proses ini diilustrasikan pada gambar berikut :
11
Gambar 2.1 Sistem Proses Sinyal Analog (Yarlagadda,Rao.2010, p5)
Pemrosesan sinyal digital menyediakan suatu metode alternatif untuk pemrosesan sinyal analog, seperti yang diilustrasikan pada gambar berikut :
Gambar 2.2 Sistem Proses Sinyal Digital (Yarlagadda,Rao.2010, p6)
Untuk melakukan pemrosesan sinyal digital, diperlukan suatu interface yang dinamakan pengkonversi sinyal analog menjadi sinyal digital (A/D). Keluaran pengkonversi A/D adalah sinyal digital yang cocok dengan masukan terhadap prosesor digital. Untuk pemakaian dengan keluaran digital dari prosesor sinyal digital akan disampaikan kepada pemakai dalam bentuk analog. Untuk itu, diperlukan sebuah interface lain untuk mengubah sinyal digital menjadi sinyal analog, yang dinamakan dengan pengkonversi sinyal digital menjadi sinyal analog (D/A). Namun pada beberapa aplikasi, pengkonversi D/A tidak diperlukan, dikarenakan aplikasi tersebut hanya melakukan analisis sinyal
12
dengan informasi yang ingin disampaikan dalam bentuk digital. Program aplikasi yang diteliti oleh penulis merupakan salah satu aplikasinya.
2.1.2
File Audio Wave File Wave adalah format sebuah file untuk menyimpan audio digital yang
dibuat oleh Microsoft dan menjadi standar dari format file audio komputer untuk segala sesuatu mulai dari suara sistem dan permainan, hingga format file untuk CD audio. File Wave dapat diidentifikasi dengan nama file berekstension WAV (.wav).(Bosi,Marina.2014) File Wave merupakan format umum yang paling sederhana untuk menyimpan data sinyal audio. File Wave terdiri dari 3 chunk (potongan) informasi yaitu : 1. RIFF chunk yang mengidentifikasikan bahwa file tersebut adalah file Wave. 2. Format chunk yang berisi format dari informasi file suara seperti jumlah channel, sample rate, resolusi.. 3. Data chunk yang menunjukkan ukuran dari informasi file suara dan di dalamnya terdapat kumpulan data. Sebuah file RIFF dimulai dengan urutan potongan. Sebuah file WAVE seringkali hanya terdiri file RIFF dengan potongan sebuah WAVE yang terdiri dari dua sub potongan -a “fmt” merupakan potongan untuk menentukan format data dan potongan yang berisi data sampel yang sebenarnya(Truesdell,Cliff.2007 p162). Formulir ini disebut bentuk Canocinal, berikut adalah bentuk dari Canonical WAVE file format :
13
Gambar 2.3 The Canonical WAVE file format (Truesdell,Cliff.2007 p163)
2.1.3
Transformasi Diskrit Fourier Transformasi Fourier, yang ditemukan oleh Jean Baptiste Joseph Fourier
pada tahun 1807, sering digunakan untuk mentransformasikan sebuah sinyal domain
waktu
yang
bersifat
kontinu
menjadi
sinyal
domain
frekuensi(Nyeon,Do.2010,p 41). Transformasi Fourier merupakan sebuah transformasi integral yang menyatakan ulang sebuah fungsi ke dalam bentuk fungsi berbasis sinus, yaitu sebagai sebuah penjumlahan ataupun integral dari fungsi sinus yang dikalikan dengan suatu koefisien
14
Transformasi kontinu Fourier menggambarkan spektrum dari sebuah sinyal waktu non-periodik yang bersifat kontinu(Ronald,Bracewell.2004). Transformasi kontinu Fourier X ( f ) dari sebuah fungsi waktu bersifat kontinu x(t) dapat ditulis sebagai berikut :
(1) Transformasi kontinu Fourier merupakan sebuah metode yang sangat berguna untuk menentukan komponen frekuensi dari sebuah sinyal waktu, menentukan distribusi momentum dari partikel, dan untuk berbagai aplikasi lainnya. Transformasi kontinu Fourier sebetulnya merupakan dekomposisi dari sebuah fungsi menjadi bentuk fungsi berbasis sinus, yang biasanya diekspresikan sebagai eksponensial yang rumit. Oleh karena untuk mengerjakan transformasi kontinu Fourier diperlukan kalkulus untuk menghitung integral yang ada, di mana komputer dapat menampilkan transformasi Fourier berupa fungsi-fungsi yang diskrit, membuat Joseph Fourier menciptakan transformasi diskrit Fourier dengan mengganti fungsi integral menjadi fungsi penjumlahan yang terbatas. Transformasi diskrit Fourier (DFT) atau yang sering disebut sebagai transformasi Fourier terbatas, adalah sebuah transformasi Fourier yang seringkali digunakan dalam pemrosesan sinyal dan bidang-bidang yang berkaitan dengan analisis frekuensi yang terkandung di dalam sebuah sinyal, untuk menyelesaikan persamaan diferensial parsial, dan untuk operasi seperti konvolusi. DFT diperkenalkan sebagai aproksimasi metode numerik untuk mengerjakan fungsi transformasi Fourier(Orion,Julius.2007,p 69). DFT X (m) dari sebuah sinyal waktu yang diskrit x(n) dapat ditulis sebagai berikut :
(2) Dengan fungsi penjumlahan yang terbatas, tidak dijumpai kesulitan dengan fungsi yang tak terbatas bersifat kontinu. Dalam bidang proses sinyal
15
digital, sinyal dan spektra diproses hanya dalam bentuk sampel, sehingga DFT adalah sesuatu yang benar-benar dipakai untuk memrosesnya. Implementasi dari DFT dapat menggunakan transformasi Fourier cepat atau fast Fourier transform. DFT merupakan metode yang lebih relevan untuk komputasional serta lebih sederhana secara matematika dibandingkan dengan transformasi Fourier.
2.1.4
Fast Fourier Transform Walaupun DFT adalah prosedur matematika yang paling tepat untuk
menentukan isi frekuensi dari berbasis-waktu, namun penggunaannya tidak efisien(Ronald,Bracewell.2004). Ketika jumlah cuplikan dalam DFT bertambah, maka perhitungannya akan bertambah jauh lebih banyakPada tahun 1965, ilmuwan Cooley dan Tukey menciptakan suatu algoritma yang sangat efisien dalam mengimplementasikan DFT. Algoritma itu dikenal dengan nama fast Fourier transform (FFT). Dalam perkembangannya, ada berbagai macam algoritma yang dikembangkan untuk FFT ini, namun yang akan dipakai adalah algoritma FFT radix-2(Nyeon,Do.2010,p 40). Algoritma FFT radix-2 sangat efisien ketika menghitung DFT dengan batasan adalah ukuran dari DFT haruslah dalam bentuk perpangkatan dari 2 (N = 2k). Jumlah dari perhitungan yang dibutuhkan untuk memproses FFT sejumlah
N-titik adalah Dari persamaan pada N-titik pada DFT, yaitu :
(3) FFT memisahkan input data x(n) menjadi dua bagian, yaitu elemen ganjil dan elemen genap, sehingga persamaan 3 berubah menjadi :
(4 )
16
Dengan mengeluarkan fase sudut yang konstan dari penjumlahan tersebut :
(5) Persamaan berikut disederhanakan dengan menetapkan notasi baku, yaitu sehingga persamaan 5 berubah menjadi :
(6) Karena
kita bisa menggantikan
dengan
sehingga persamaan menjadi :
(7) Sekarang kita mempunyai 2 buah penjumlahan N / 2 yang akan menghasilkan N-titik DFT. Dengan menggantikan nilai m pada persamaan 7 dengan m+ N / 2 , maka didapat :
(8) Melihat hubungan :
(9) Untuk semua n bilangan bulat, maka faktor yang disebut dengan twiddle factor di depan penjumlahan dapat disederhanakan menjadi : (10) Dengan menggunakan persamaan 2-11 dan 2-12, maka nilai X (m+ N / 2) pada persamaan 8 berubah menjadi :
17
(11) Sehingga di dapat 2 persamaan baru, yaitu :
(12) dan
(13) Dengan hanya merubah tanda pada twiddle factor maka kita mendapatkan 2 buah persamaan, yaitu X (m) dan X (m+ N / 2) . Sehingga kita hanya membutuhkan m sebanyak N / 2 mulai dari 0 hingga (N / 2) −1 untuk mendapatkan semua nilai outputnya. Dengan mengambil contoh kasus N=8(Hidayat,Risanuri.2011). Dengan x[n] adalah fungsi waktu dalam bentuk diskret, dan X[k] adalah transformasi fouriernya. Dan n = 0 1 2 .. N-1, serta k = 0 1 2 .. N-1. Persamaan (1) jika dijabarkan secara detail akan membentuk sebuah persamaan matriks seperti berikut ini,
(14) Gambar 2.4 adalah bentuk diagram DFT dengan N=8. Anggap bahwa WN 0
= e0 = 1, dan perkalian dengan angka 1 tidak perlu dilakukan. Dengan N=8
jumlah perkalian dan penjumlahan DFT murni berturut-turut adalah 56 dan 56. Di dalam berbagai buku tentang DFT dikatakan jumlah perkalian sama dengan
18
N2. Namun jumlah itu dengan menyertakan perkalian dengan WN 0 (=1). Di sini perkalian dengan WN 0 dianggap tidak perlu (tidak dilakukan), sehingga jumlah perkaliannya adalah N2-N. Dari diagram dan/atau persamaan matriks, tampak pula bahwa jumlah penjumlahannya adalah juga N2-N. Untuk mempermudah penjelasan pada Gambar 2.4
Gambar 2.4 Penjelasan untuk persamaan 14 (Nyeon,Do.2010,p 42)
Dengan membagi menjadi 2 kelompok , yaitu kelompok genap dan kelompok ganjil dengan menggunakan persamaan 7 , dan dijabarkan menjadi :
(15)
19
Catatan bahwa pada perkalian WNk dengan (W8k) adalah sebuah perkalian array/vektor. Perkalian array A dan B dengan perintah A.*B adalah perkalian elemen-demi elemen dari vektor-vektor A dan B, menghasilkan vector dengan ukuran yang sama dengan vektor A atau B (seperti operasi penjumlahan). Vektor A dan B harus mempunyai ukuran yang sama, kecuali salah satunya adalah bilangan scalar. Dapat dibuktikan bahwa, jika n dan k adalah integer (bilangan bulat), maka
Sehingga persamaan 15 dapat disederhanakan menjadi :
(16) Lihat matriks yang berisi W. Empat baris di bawah adalah sama dengan empat baris yang atas. Persamaan 16 jika digambarkan dalam bentuk diagram adalah seperti Gambar 2.5. Disini jumlah perkalian dan penjumlahan berturut-turut adalah (4x4x2)=32 dan (3x4x2 + 8)=32.
20
Gambar 2.5 Implementasi FFT dari 8-titik DFT menggunakan dua buah 4-titik DFT dan empat buah 2-titik DFT menggunakan persamaan 16. (Nyeon,Do.2010,p 46)
Telah kita ketahui dari persamaan 12 bahwa persamaan Transformasi Fourier terbagi menjadi dua kelompok, yaitu kelompok genap dan kelompok ganjil. Anggap bahwa fungsi genap x[2r] menjadi fungsi baru, katakanlah xe[n], dan fungsi ganjil x[2r+1] menjadi fungsi baru xo[n]. Dengan penjabaran seperti berikut,
(17)
(18)
(19)
21
Kelompok genap dan kelompok ganjil masing – masing tersebut membentuk persamaan yang mirip seperti persamaan 12. Sehingga masing – masing kelompok tersebut dapat di dekomposisi seperti langkah sebelumnya. Dengan penjabaran pada persamaan 20, maka persamaan Transformasi Fourier dapat dikembangkan menjadi seperti persamaan 21.
(20)
(21)
(22) Dari definisi W N, maka WN0 = e−
j2 0/ N
=1 dan WNN/2 = e−
sehingga bagian 2-titik DFT ditunjukkan oleh Gambar 2.6
2πN / N
= -1
22
Gambar 2.6 Sebuah titik – titik DFT (Nyeon,Do.2010,p 50)
(23) Dekomposisi seperti langkah di atas terus dilakukan hingga unit terkecil DFT untung panjang-2 terbentuk. Sebuah DFT panjang 2 membentuk diagram kupu-kupu seperti terlihat pada Gambar 2.6
Gambar diagram dapat dilihat pada Gambar 2.7. Terlihat bahwa tingkat kerumitan dalam hal jumlah perkalian dan penjumlahan dapat dikurangi. Di sini jumlah perkalian dan penjumlahan berturut-turut adalah (2x2x2x2 + 4x2)=24 dan (2x2x2 + 4x2 +8)=24. Inilah dekomposisi terkecil DFT untuk N=8.
23
Gambar 2.7 Dekomposisi terkecil DFT, N=8 (Nyeon,Do.2010,p 57)
Tabel 2.1 menunjukkan perbandingan jumlah operasi perkalian dan penjumlahan antara DFT langsung dengan setelah melalui dekomposisi menjadi FFT. Terdapat selisih penghematan operasi perkalian/penjumlahan yang signifikan pada FFT, sehingga operasi ini jauh lebih popular di banding DFT secara langsung.
Tabel 2.1 Perbandingan jumlah perkalian penjumlahan DFT dan FFT
24
2.1.5
Software Development Life Cycle Menurut Turban, et. al., Software Development Life Cycle (SDLC) adalah
kerangka terstruktur yang terdiri dari beberapa proses yang berurutan vang diperlukan untuk membangun suatu sistem informasi(Turban,Efraim.1998). Pendekatan waterfall digunakan untuk menggambarkan SDLC. SDLC dirancang dengan tujuan untuk membangun alur pemrograman yang terstruktur dan untuk membantu manajemen proyek dalam perhitungan estim asi waktu dan sumber yang dibutuhkan suatu proyek Menurut (Roger S Pressman, 2010, p79) langkah-langkah Waterfall, sebagai berikut : 1. Feasibility Mempelajari konsep sistem dan permasalahan yang hendak diselesaikan. apakah sistem baru tersebut realistis dalam masalah pembiayaan, waktu, serta perbedaan dengan sistem yang ada sekarang.
Gambar 2.8 System development life cycle (Pressman.2010, p 80)
2. Analysis System Tahap yang menganalisis masalah yang perlu diselesaikan. Tahap
ini
mendefenisikan
permasalahan
dan
mengidentifikasikan permasalahan , informasi – informasi yang diperlukan dan penyebab serta menspesifikasikan solusi.
25
3. Design Desain fokus pada program apa yang akan dibutuhkan meliputi : •
Desain Tingkat Rendah
•
Desain Antarmuka
•
Desain Data
4. Implementation Fase penterjemahkan berbagai desain yang telah dirancang menjadi sebuah kode. Kode tersebut ditulis dalam bentuk bahasa pemrograman seperti C++, Pascal, Java tergantung dari kebutuhan yang sesuai untuk menyelesaikan masalah yang timbul pada saat menganalisis di tahap sistem analisis. 5. Test Tahap
yang
digunakan
untuk
memeriksa
apakah
pemrograman telah menghasilkan hasil yang diinginkan dan diharapkan atas situasi tertentu. Testing dilakukan untuk mendeteksi adanya kesalahan pada sistem. 6. Maintain Tahap ini dilakukan untuk memelihara sistem baru yang akan dioperasikan dalam suatu periode waktu.
2.1.6 Bahasa Pemrograman Bahasa Pemrograman adalah bahasa khusus yang digunakan dalam suatu komputer yang berisikan perintah – perintah untuk menyelesaikan suatu masalah. Bahasa Pemrograman yang sudah jadi bisa disebukan suatu praogam atau software untuk mengerjakan suatu perintah – perintah untuk mendapatkan suatu hasil atau output yang diinginkan(Friedman,Daniel.2008,p 12).
2.1.7
Object Oriented Programming
26
OOP (object oriented programing) adalah cara berfikir serta berlogika dalam menghadapi masalah – masalah dalam sistem yang coba diatasi dimana objek adalah entitas tunggal yang memiliki kombinasi struktur data dan fungsi tertentu(Marrer,Gary.2009, p30). OOP ini dapat diterapkan pada perancangan sistem secara umum menyangkut perangkat lunak (software), perangkat keras (hardware), serta sistem informasi (information system). Menurut Gary Marrer(2009,p 31) Ada beberapa konsep yang terdapat dalam OOP ini diantaranya adalah sebagai berikut : a. Objek Objek adalah orang, tempat, benda, kejadian atau konsep-konsep yang ada didunia nyata yang penting bagi aplikasi. b. Kelas (class) Kelas adalah kumpulan/himpunan objek dengan atribut yang mirip misalkan dua anak laki-laki kembar mereka memiliki nama yang berbeda misalkan afrin dan andi ini menunjukan bahwa mereka objek yang berbeda tetapi memiliki kelas yang sama yaitu anak kembar. c. Atribut Atribut adalah data yang dimiliki objek dalam kelas. Untuk lebih jelasnya dapat dilihat pada gambar berikut ini : 2.1.8
User Interface Design User Interface (UI) Design adalah perancangan tampilan antarmuka yang
bersifat visual dari suatu aplikasi agar aplikasi tersebut dapat berinteraksi dengan baik
dengan
user
dan
dapat
digunakan
dengan
maksimal(Shneiderman,Ben.2010). Tujuan dari User Interface Design adalah merancang interface yang efektif .Efektif disini diartikan siap digunakan,dan hasil yang didapat sesuai kebutuhan. Proses perancangan UI harus mengandung arti dari unsur-unsur visual yang seimbang, yang dapat memodelkan inti dari operasi aplikasi yang akan
27
dijalankan. Selain itu perancangan UI yang baik juga harus dapat membuat aplikasi hingga mudah digunakan dan dapat disesuaikan dengan kebutuhan masing-masing user(Wiley,John,2011,p 35). Dalam perancangan UI, terdapat delapan aturan emas yang mendukung sebuah perancangan UI yang baik. Delapan aturan emas tersebut antara lain: 1. Usaha untuk konsistensi dalam tampilan. Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan. 2. Memungkinkan user yang rutin untuk menggunakan shortcut. Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan kecepatan interaksi,
sehingga
diperlukan
singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro 3. Memberikan umpan balik yang informatif. Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. 4. Memunculkan dialog box pada penutupan. Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir. Umpan balik yang informatif akan memberikan indikasi bahwa cara
yang
dilakukan
sudah
benar
dan
dapat
mempersiapkan kelompok tindakan berikutnya. 5. Mempunyai error-handling sederhana. Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan kesalahan fatal. Jika kesalahan terjadi,
28
sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan. 6. Mudah kembali ke tindakan sebelumnya. Hal ini dapat mengurangi kekuatiran pengguna karena pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan,
sehingga
pengguna
tidak
takut
untuk
mengeksplorasi pilihan-pilihan lain yang belum biasa digunakan. 7. Mendukung pusat kendali internal Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna menjadi inisiator daripada responden. 8. Mengurangi penggunaan memori jangka pendek. Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu pelatihan untuk kode, mnemonic, dan urutan tindakan
2.1.9
Android Android merupakan operasi sistem pada telepon genggam yang
dikembangkan oleh google(Thompson.2008). Android merupakan open source(source code dapat dikembangkan oleh orang lain bersifat terbuka) dan berbasis kepada open source project seperti Linux, WebKit, SQLite dan Freetype. Android menggunakan Java dan aplikasi framework berbasis Java.
Android merupakan sistem operasi smartphone pertama dengan
platform mobile yang lengkap. •
Lengkap (Complete Platform)
29
Developer (pengembang) dapat melakukan pendekatan yang komprehensif pada saat melakukan pengembangan pada platform android, selain sistem operasi yang aman android juga menyediakan tools dalam membangun dan mengembangkan software berbasis android sehingga memung peluang untuk mengembangkan aplikasi. •
Terbuka (Open Source Platform) Developer (pengembang) dapat mengembangkan aplikasi secara bebas dan gratis karena sudah disediakan melalui open source license dan menggunakan Kernel Linux 2.6.
•
Bebas (Free Platform) Developer (pengembang) dapat mengembangkan aplikasi pada android secara bebas tanpa ada biaya royalty, biaya kontrak, serta biaya pengujian. Aplikasi yang ada juga dapat langsung di distribusikan dan diperdagangkan melalui bentuk apapun.
Android SDK(Software Development Kit) adalah tools API(Application Programming Interface) yang digunakan dalam mengembangkan aplikasi berbasis android, dengan menggunakan bahasa pemograman Java(Hoog,Andrew.2011,p 71). Berikut adalah beberapa fitur dalam Android : •
Intergrated Browser didasarkan pada Engine Open Source WebKit.
•
Grafis lebih optimal karena didukung oleh beberapa libraries seperti grafis 2D dan grafis 3D berdasarkan spesifikasi OpenGL ES 1.0.
•
Framework Aplikasi yang mendukung pergantian komponen.
•
Lingkungan Development yang lengkap dan kaya, termasuk diantaranya perangkat emulator, tools untuk debugging, profil dan kinerja memori, serta plugin untuk Eclipse IDE.
•
Media Support yang mendukung audio, video dan picture seperti MPEG4, H.26, MP3, AAC, AMR, KPG, PNG, GIF.
30
2.1.10
MySQL MySQL merupakan salah satu sistem database yang sangat handal karena
menggunakan sistem SQL. Pada awalnya SQL berfungsi sebagai bahasa penghubung antara program database dengan bahasa pemrograman yang kita gunakan. Dengan adanya SQL maka para pemrogram jaringan dan aplikasi tidak mengalami kesulitan sama sekali di dalam menghubungkan aplikasi yang mereka buat. MySQL merupakan sistem manajemen database, relasional sistem database dan software open source(Tahaghogi,Seyed.2007).
2.1.11
SQLite Menurut Mike Owens(2006, p73)SQLite merupakan sebuah sistem
manajemen basis data relasional yang bersifat ACID-compliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C.
SQLite merupakan proyek yang bersifat public domain. Tidakseperti pada paradigma client-server umumnya, Inti SQLite bukanlah sebuah sistem yang mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai bagian integral dari sebuah program secara keseluruhan. Sehingga protokol komunikasi utama yang digunakan adalah melalui pemanggilan API secara langsung melalui bahasa pemrograman. Mekanisme seperti ini tentunya membawa keuntungan karena dapat mereduksi overhead, latency times dan secara keseluruhan lebih sederhana. Seluruh elemen basisdata(definisi data, tabel, indeks dan data) disimpan sebagai sebuah file. Kesederhanaan dari sisi disain tersebut bisa diraih dengan cara mengunci keseluruhan file basis data pada saat sebuah transaksi dimulai. 2.1.12
Data Turban et. al. (2003, p15) mengemukakan bahwa data merupakan fakta-fakta yang belum diolah atau gambaran-gambaran lebih lanjut dari benda-benda, kejadian-kejadian, kegiatan-kegiatan pdiklasifikasikan, tetapi tidak disusun untuk menyampaikan arti khusus lainnya.
31
Data adalah fakta-fakta atau hasil observasi mengenai kejadian atau transaksi bisnis yang masih belum diolah (O’Brien, 2003, p13). Adapun data-data yang digunakan dalam MySQL berdasarkan Paul DuBois(2008,p201), SQL Server mempunyai tipe data sebagai berikut: 1. Char digunakan untuk menyimpan panjang string yang telah fixed ( dapat mengandung angka, huruf, dan karakter spesial dengan besar memori yang digunakan tidak dapat diubah setalah di tentukan pertama kali, dapat menyimpan sampai 255 karakter). 2. Varchar digunakan untuk menyimpan sejumlah string( dapat mengandung angka, huruf, dan karakter spesial dengan besar memori yang digunakan lebih fleksibel sesuai dengan apa yang diinput,dapat menyimpan sampai 255 karakter). 3. Text
untuk
menyimpan
string
dengan
panjang
maksimumny mencapai 65,535 karakter. 4. Set dapat menyimpan 64 daftar item dan menyimpan lebih dari 1 pilihan. 5. Datetime dapat menyimpan tanggal secara otomatis dengan format mm/dd/yy dan menggunakan memori 8 bytes per transaksi. 6. Int menyimpan seluruh angka dari -2,147,483,648 sampai 2,147,483,647 dan menggunakan memori 4 bytes per panjangnya. 7. Float dapat menyimpan data angka -1.79E + 308 sampai 1.79E + 308 dengan menggunkan memori 4-8 bytes. 8. Money dapat menyimpan data keuangan Monetary data dari
-922,337,203,685,477.5808
sampai
32
922,337,203,685,477.5807 dengan menggunakan memori 8 bytes
2.1.13 Unified Modelling Language 2.1.13.1 Use Case Diagram Fungsi dari use case adalah untuk menggambarkan dan mengidentifikasi sebuah peristiwa bisnis, yang menginisiasi mereka dan bagaimana sistem mereka merespon. Use case menjelaskan "apa" yang sistem
dapat
lakukan,
bukan
"bagaimana"
sistem
dapat
melakukan(Fowler,Martin.2004,p 102). Use case diagram merupakan diagram yang menunjukan sistem sebagai satu set dari use cases, actor, dan hubungan mereka. Use case diagram merupakan merupakan inti dalam membuat model perilaku sistem, subsistem, atau kelas. Use Case Diagram umumnya terdiri dari : 1. Use Case 2. Aktor 3. Ketergantungan, generalisasi, dan hubungan asosiasi
33
Gambar 2.9 Use Case Diagram (Fowler,Martin.2004,p 103)
2.1.13.2 Class Diagram Class Diagram merupakan diagram yang menunjukan satu set objek (kelas, interface, atau kolaborasi) dan hubungan mereka satu dengan yang lain(Fowler,Martin.2004,p 35). Class Diagram biasa digunakan untuk menunjukan kelas pada suatu sistem dan hubungan mereka, tetapi tidak menjelaskan fungsi bagaimana kelas berinteraksi. Class Diagram adalah diagram khusus yang membagikan atribut yang sama seperti diagram yang lain. Class Diagram umumnya terdiri dari : 1. Class 2. Interface 3. Kolaborasi 4. Ketergantungan, generalisasi, dan asosiasi hubungan
34
Class Diagram menunjukan struktur dan deskripsi kelas, paket, objek dan hubungan antar mereka seperti warisan dan asosiasi. Class memiliki tiga bidang utama yaitu nama, atribut dan metode. Sifat yang dimiliki atribut dan metode : 1. Private : Dapat dipanggil dari kelas yang memiliki atribut ini. 2. Protected : Dapat dipanggil dari kelas yang memiliki atribut ini dan warisan nya. 3. Public : Dapat dipanggila dari setiap kelas. Hubungan antar Class terdiri dari : 1. Asosiasi : Hubungan statis antar kelas. Hal ini umumnya menunjukan kelas yang memiliki atribut kelas lain, atau kelas yang harus tahu keberadaan kelas lain. Navigasi panah menunjukan arah permintaan antar kelas. Ada 2 jenis asosiasi : a. Bi-directional, asosiasi yang menunjukan kedua kelas mengetahui kejadian masing – masing. Asosiasi ini ditunjukan dengan garis utuh antara dua kelas tersebut.
Gambar 2.10 Bi-directional Asosiasi (Fowler,Martin.2004,p 41).
b. Uni-directional, asosiasi yang menunjukan hubungan antara dua buah kelas di mana hanya satu kelas yang tahu kejadian kelas
35
yang lain. Asosiasi ini ditunjukan dengan garis utuh dengan panah terbuka menunjuk ke kelas yang diketahui.
Gambar 2.11 Uni-directional Asoiasi (Fowler,Martin.2004,p 42)
2. Aggregation : Sebuah hubungan yang menyatakan bagian (“terdiri dari..”). Ada agregasi dasar di mana anak dari sebuah kelas masih dapat berdiri sendiri tanpa ada kelas induk. Ada juga komposisi agregasi dimana anak dari sebuah kelas hanya bergantung dengan kelas induk. 3. Generalization : Sebuah hubungan dimana beberapa kelas yang memiliki atribut yang sama dapat dikelompokan menjadi sebuah entitas yang disebut supertype. Kemudian properti dan metode dapat diwariskan ke kelas – kelas lain yang disebut subtype. 4. Multiplicity : Sebuah mimimum dan maksimum ukuran dari suatu objek class dalam suatu event.
36
Gambar 2.12 Class Diagram (Fowler,Martin.2004,p 36).
2.1.13.3 Activity Diagram Activity diagram adalah sebuah flowchart yang menunjukan alur proses bisnis, langkah – langkah dari use case, atau logika dari sebuah objek(Fowler,Martin.2004,p 117). Activity diagram juga digunakan untuk menunjukan tindakan yang akan dijalankan ketika proses berjalan dan hasil dari proses tersebut. Activity diagram umumnya terdiri dari : 1.
Activity state dan action
2. Transisi 3. Objek
37
Gambar 2.13 Activity Diagram (Fowler,Martin.2004,p 118)
2.1.13.4 Sequence Diagram Sequence diagram adalah diagram yang menunjukan bagaimana setiap objek berinteraksi dan menekankan pada urutan waktu yang dikirim dan diterima(Fowler,Martin.2004,p 53). Sequence diagram menunjukan skenario atau langkah – langkah yang telah dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diagram ini dimulai dengan hal – hal apa yang memicu, proses apa yang terjadi dan output apa yang dihasilkan. Secara grafis, sequence diagram adalah tabel yang menunjukan objek yang diatur pada sumbu X dan pesan berdasarkan urutan waktu pada sumbu Y dengan bar vertikal yang menunjukan jangka waktu sebuah proses.
38
Gambar 2.14 Sequence Diagram (Fowler,Martin.2004,p 54)
2.1.14
Smartphone Smartphone adalah telepon genggam yang menyediakan fungsi – fungsi dasar dari sebuah telepon genggam yaitu menelepon dan mengirimkan pesan singkat, namun dapat ditambahkan fitur – fitur lain dimana pada masa lalu fungsi – fungsi tersebut hanya dapat ditemukan pada komputer pribadi(Ilyas.Mohammad.2006,p 2). Sebelum smartphone muncul, device komunikasi yang paling ada dan paling popular adalah telepon genggam dan Personal Digital Assistan(PDA). Telepon genggam sebelum era globalisasi teknologi dapat digunakan untuk menelepon dan mengirimkan pesan singkat, sedangkan PDA memiliki fitur – fitur yang lebih canggih seperti mengirim email, tersinkronasi dengan komputer dan melakukan browsing. Seiring perkembangan waktu telepon genggam mulai menambahkan fitur –fitur yang ada pada PDA bahkan fitur – fitur yang
39
terdapat pada komputer, sehingga telepon genggam dapat disebut smartphone. Menurut Mohammad Ilyas(2006,p 3) berikut adalah fitur – fitur yang menyebabkan telepon genggam menjadi suatu device telepon genggam yang disebut smartphone :
1. Sistem Operasi Smartphone dibangun dengan sistem operasi yang lebih kompleks disbanding dengan telepon genggam pada masa lalu dan memungkinkan smartphone untuk menjalankan aplikasi yang lebih kompleks dan membutuhkan sumber daya yang lebih besar. 2. Aplikasi Aplikasi yang ada pada smartphone pada masa lalu hanya dapat ditemui pada komputer pribadi ataupun PDA. 3. Akses Internet Telepon genggam masa kini atau smartphone dapat mengakses internet yang berkecepatan tinggi. Karena sebagian besar smartphone sudah dilengkapi dengan fitur komunikasi 3G/4G. 4. Keyboard QWERTY Tidak seperti telepon genggam masa lalu dimana huruf – huruf diurutkan secara alfabetik dan dikelompokan kedalam tombol – tombol nomor. Keyboard pada smartphone memiliki fitur seperti keyboard komputer pada umumnya yang menggunakan sistem QWERTY. 5. Pesan/Messaging Seluruh telepon genggam dapat melakukan fitur ini yaitu mengirimkan pesan singkat berupa teks. Perbedaan smartphone dengan telepon genggam masa lalu, smartphone memiliki fitur yang lebih canggih seperti mengirim pesan teks melalui sosial media dan email.
40
2.1.15
Arduino Arduino merupakan sebuah papan elektronik yang mengandung mikrokontroler ATmega328(sebuah keeping yang secara fungsional bertindak seperti sebuah computer). Alat ini dapat dimanfaatkan untuk mewujudkan rangkaian elektronik dari yang sederhana hingga kompleks (Kadir,Abdul.2013). Pengendailan
LED
hingga
pengontrolan
robot
dapat
diimplementasikan dengan menggunakan papan berukuran relative kecil ini. Bahkan, dengan penambahan komponen tertentu, alat ini dapat digunakan untuk pemantauan jarak jauh melalui internet seperti pengendalian alat – alat dirumah.
Gambar 2.15 Arduino Uno (Kadir,Abdul.2013, p 18)
2.2
Related Works Berdasarkan Jurnal DigitalJournal yang berjudul Siri iPhone 4s Voice app Talk
Naturaly I Understand reply(Cunningham,2011,p. 1) menyatakan aplikasi siri yang sudah memiliki Voice Controlling yaitu sebuah fitur dimana kita dapat mengontrol
41
sebuah smartphone menggunakan media suara. Bukanlah sesuatu yang tidak mungkin untuk mengembangkan konsep fitur Voice Controlling menggunakan smartphone untuk membuat sebuah aplikasi Voice Recognition untuk rumah pintar. Berdasarkan jurnal International Jounral of Computer Applications yang berjudul Voice Recognition in Automobiles (Singh,2010,p. 1)menyatakan untuk membuat sebuah mobil yang dikontrol menggunakan suara manusia merupakan sebuah ide yang sangat inovatif. Dengan konsep Speech Recognition algoritma dan algoritma itulah yang akan mengatur perintah dari pengguna. Konsep switching digunakan untuk inisiasi awal,dimana menggunakan sebuah remote yang memiliki tombol,dimana bila tombol tersebut ditekan dan Speech Recognition tersebut dimulai. Contoh setelah pengguna menginkan jendela mobil untuk dibuka, system Speech Recognition akan memproses untuk membuka jendela mobil, dengan demikian perintah lainnya yang diinginkan pengguna akan dijalankan. Dengan mengacu kepada jurnal tersebut dikatakan bahwa ide untuk pembuatan aplikasi mobil pintar dengan menggukan teknologi Voice Recognition dengan konsep Speech Recongition merupakan sebuah ide yang inovatif. Membuat aplikasi untuk rumah pintar dengan menggunakan teknologi dan konsep yang sama merupakan sebuah ide yang inovatif . Berdasarkan jurnal International Journal of Computer Applications yang berjudul GSM-Bluetooth based Remote Monitoring and Control System with Automatic Light Controller(Madan,2012,p. 1) menyatakan dalam beberapa tahun terakhir, home automation(Pengaturan rumah otomatis), remote control, dan sistem yang monitor telah berkembang cepat dalam kemajuan teknologi. Di dalam jurnal tersebut mereka menggunakan GSM (Global System Mobile) Bluetooth yang berbasis remote kontrol dan monitoring sistem. Dengan sebuah sistem yang design dengan sederhana dengan penggunaan alat yang tidak membutuh energi yang besar dan bantuan Infrared sensor untuk mengatur lampu, fan, dan alat lainnya. Metode yang digunakan adalah dengan menggunakan GSM yang berbasis kepada fitur SMS(Short Message Service) yang dimilikinya. Modul Bluetooth dihubungkan dengan mikrokontoler chip utama. Modul Bluetooth ini mengeliminasi penggunaan energi dengan cara berkomunikasi ke peralatan dengan media Bluetooth dengan limit jarak beberapa meter. Sistem ini memberi tahu
42
pengguna berbagai kondisi yang abnormal seperti kenaikan suhu menggunakan fitur SMS yang dimiliki GSM atau menggunakan modul Bluetooth untuk tersambung ke smartphone pengguna dan dapat langsung ditindak lanjuti langsung oleh pengguna. Dengan mengacu kepada jurnal ini bukanlah sesuatu yang tidak mungkin untuk mengatur kerja suatu rumah secara otomatis(rumah pintar) menggunakan smartphone yang dimiliki pengguna.