BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1
Waterfall Model Menurut Sommerville (2011:30-32),Waterfall modelmerupakan sebuah
contoh dari plan-driven-proses, yang artinya adalah diperlukan perancangan dan perencanaan yang matang terlebih dahulu dan juga penjadwalan dari keseluruhan proses sebelum mulai untuk mengerjakannya. Disebut waterfalldikarenakan proses yang dilakukan berurutan satu setelah yang lain (cascade). Terdapat beberapa tahapan utama dari waterfall model, yaitu: 1. Requirement analysis and definition Sistem service, kendala, dan tujuan yang ditetapkan berasal dari konsultasi dengan pengguna sistem.Kemudian hal ini didefinisikan secara rinci dan berfungsi sebagai spesifikasi sistem. 2. System and software design Proses desain sistem mengalokasikan kebutuhan, baik perangkat keras atau perangkat lunak sistem dengan membentuk arsitektur sistem secara keseluruhan. Desain software meliputi identifikasi dan penggambaran abstraksi sistem software dasar dan relasinya. 3. Implementation and unit testing Selama tahap ini, desain perangkat lunak direalisasikan sebagai serangkaian program atau unit program.Unit pengujian mencakup verifikasi bahwa setiap unit memenuhi spesifikasinya. 4. Integration and system testing Unit program atau program diintegrasikan dan diuji sebagai sistem yang lengkap untuk memastikan bahwa persyaratan perangkat lunak telah terpenuhi.Setelah
pengujian,
sistem
pelanggan.
5
perangkat
lunak
dikirim
ke
6 5. Operation and maintenance Pada umumnya, tahapan ini merupakan fase terpanjang dalam siklus waterfall.Sistem ini dipasang dan dilakukan dalam penggunaan praktis.Pemeliharaan meliputi koreksi dari kesalahan yang tidak ditemukan pada tahap – tahap awal siklus, peningkatan dari implementasi unit sistem dan peningkatkan layanan sistem.
Gambar 2.1Waterfall Model (Sumber: Sommerville, 2011:30-32)
Pada prinsipnya, hasil dari setiap fase adalah sesuai dengan dokumendokumen yang telah disetujui. Tahap berikutnya tidak bisa dimulai hingga fase sebelumnya telah diselesaikan. Proses perangkat lunak waterfallbukanlah suatu bentuk linier sederhana, namun juga meliputi feedbackdari satu fase dan fase yang lainnya. Jadi dimungkinkan selama pada tahap sistem and softwaredesign, muncul masalah pada requirement, sehingga harus dilakukan pembenaran untuk masalah tersebut barulah maju ke fase berikutnya.
2.1.2
Unified Modelling Language (UML)
2.1.2.1 Pengertian UML Menurut Whitten dan Bentley (2007:371) Unified Modeling Language (UML) adalah sebuah kumpulan pemindahan konvensi yang digunakan untuk
7 menentukan atau menggambarkan sebuah sistem dari perangkat lunak dalam bentuk objek.
2.1.2.2 Macam-macam DiagramUML Menurut Whitten dan Bentley (2007:381) diagramUML dibagi menjadi 3 fase yang berbeda dengan bentuk diagram-diagram yang berbeda di dalamnya. Ketiga fase tersebut adalah : 1. Requirement analysis phase •
Use casediagram
2. Logical design phase •
Activitydiagram
•
System sequence diagram
•
Classdiagram
3. Physical design phase
2.1.2.2.1
•
Sequence diagram
•
Classdiagram (with more detail)
•
State machine diagram
•
Comunication diagram
•
Component diagram
•
Deployment diagram
Use caseDiagram
Use casediagram adalah sebuah diagram yang menggambarkan interaksi antara sistem dan sistem eksternal dan pengguna. Dengan kata lain, diagram ini menjelaskan siapa saja dan bagaimana berhubungan dengan sistem (Whitten & Bentley, 2007 : 246).
8
Gambar 2.2 Use caseDiagram (Sumber : Whitten dan Bentley, 2007:246) Use casediagramterbagi menjadi 3 bagian, yaitu : 1. Use case Use caseadalah perilaku yang saling berkaitan dengan langkahlangkah berurutan, baik secara otomatis ataupun manual bertujuan untuk menyelesaikan suatu tugas bisnis. Use casedigambarkan dengan bentuk oval yang dimana nama dari use case ditampilkan di atas, di bawah ataupun di dalam oval.
Gambar 2.3 Use case Symbol (Sumber : Whitten dan Bentley, 2007:246)
2. Actor Use casedimulai dengan adanya pengguna eksternal yang disebut sebagai actors. Actormenginisialisasi aktivitas sistem pada sebuah use caseuntuk menyelesaikan beberapa tugas bisnis yang menghasilkan nilai yang dapat diukur. Sebuah actorini tidak harus seorang manusia, tetapi juga dapat berupa sebuah organisasi, informasi sistem lainnya atau
juga
external
device
contohnya
sensor
panas.Actorini
digambarkan seperti stick figure (stickman) yang diberi label nama (Whitten & Bentley, 2007).
9
Gambar 2.4Actor (Sumber :Whitten dan Bentley, 2007:247)
3. Relationship Relationshipadalah hubungan yang digambarkan sebagai garis diantara dua simbol pada use-case diagram.Tergantung simbol yang dihubungkan garis tersebut (Whitten & Bentley, 2007). Berikut adalah beberapa tipe dalam Relationship: 1.Association Hubungan antara actor dengan use case terbangun jika terjadi interaksi antar keduanya. Actor menunjuk dengan anak panah ke use case merupakan inisiatoruse case tersebut. Actor yang tanpa anak panah berarti menandakan interaksi antara use case dengan actor penerima (Whitten & Bentley, 2007).
Gambar 2.5AssociationRelationship (Sumber :Whitten dan Bentley, 2007:248)
2.Extends Extendsadalah mengekstraksi sebuah use case yang mungkin mengandung fungsi yang kompleks yang terdiri dari beberapa langkah sehingga sulit untuk dipahami kedalam beberapa use case baru yang memiliki fungsi tertentu.
10
Gambar 2.6Extend Relationship (Sumber :Whitten dan Bentley, 2007:249)
3.Uses (Includes) Uses digunakan untuk mengurangi redudansi ketika terdapat dua atau lebih use case melakukan langkah yang sama (Whitten & Bentley, 2007).
Gambar 2.7Uses (Include) Relationship (Sumber :Whitten dan Bentley, 2007:249)
4.Depends on Depends ondigunakan ketika terdapat hubungan ketergantungan antara satu use case dengan use case yang lain di mana suatu use case tidak dapat dilakukan sebelum use case lain dilakukan.
11
Gambar 2.8Depends onRelationship (Sumber :Whitten dan Bentley, 2007:250)
5. Inheritance Inheritancedigunakan ketika terdapat dua atau lebih aktor yang melakukan use case yang sama. Untuk mengurangi redundansi komunikasi pada sistem, digunakan aktor abstrak yang melakukan use case mewarisi beberapaaktor sungguhan.
Gambar 2.9 InheritanceRelationship (Sumber :Whitten dan Bentley, 2007:250)
12 2.1.2.2.2
ActivityDiagram
Menurut Whitten dan Bentley (2007,390). ActivityDiagram merupakan sebuah diagram yang digunakan untuk menggambarkan grafis alur proses bisnis, langkah-langkah use case atau logika perilaku objek. Activitydiagram dibentuk oleh beberapa notasi, antara lain initial node, actions, flow, decision, merge, fork, join,activityfinal,subactivity indicator dan connector.Terkadang digunakan jugaswimlane untuk mempartisi aksi yang terjadi berdasarkan pelaku. 1. Initial node Initial node berupa lingkaran penuh yang menggambarkan titik mulai suatu proses.
Gambar 2.10 Initial Node (Sumber :Whitten dan Bentley, 2007:392)
2. Actions Actions adalah notasi segiempat bersudut tumpul yang menggambarkan langkah-langkah yang terjadi.
Gambar 2.11 Actions (Sumber :Whitten dan Bentley, 2007:392)
3. Flow Flow (alur) merupakan panah dalam diagram yang mengindikasikan alur antar actions.
Gambar 2.12 Flow
13 (Sumber :Whitten dan Bentley, 2007:392)
4. Decision Decision memiliki bentuk seperti wajik dengan satu alur masuk dan dua atau lebih alur keluar, alur keluar ditentukan dengan kondisi tertentu.
Gambar 2.13 Decision (Sumber :Whitten dan Bentley, 2007:392)
5. Merge Merge adalah wajik dengan dua atau lebih alur masuk dan satu alur keluar untuk menggabungkan alur yang sebelumnya terpisah oleh decision.
Gambar 2.14 Merge (Sumber :Whitten dan Bentley, 2007:392)
6. Fork Fork adalah bar hitam dengan satu alur masuk dan dua atau lebih alur keluar, aksi di bawah percabangan dapat terjadi dalam urutan apapun atau bahkan secara bersamaan.
14
Gambar 2.15 Fork (Sumber : Whitten dan Bentley, 2007:392)
7. Join Join adalah bar hitam dengan dua atau lebih alur masuk dan satu alur keluar untuk menyatukan lagi alur aksi yang dipisahkan oleh fork.
Gambar 2.16 Join (Sumber :Whitten dan Bentley, 2007:392)
8. Activity Final Activity final berbentuk lingkaran penuh dengan satu lingkaran di luarnya untuk menggambarkan titik akhir proses.
Gambar 2.17 Activity Final (Sumber :Whitten dan Bentley, 2007:393)
9. Subactivity indicator Berbentuk simbol menyerupai sapu (rake) yang mengindikasikan bahwa action terpecah di activitydiagram terpisah lainnya. Ini membantu agar activitydiagram tidak terlalu kompleks.
Gambar 2.18 Subactivity Indicator (Sumber :Whitten dan Bentley, 2007:393)
15
10. Connector Terbentuk dari sebuah huruf yang terdapat di dalam lingkaran yang berfungsi untuk mengatur kompleksitas. Sebuah alur masuk ke dalam konektor dan melompat ke alur lain yang memiliki huruf yang sama.
Gambar 2.19 Connector (Sumber :Whitten dan Bentley, 2007:393)
Berikut ini adalah contoh activitydiagram:
+ Gambar 2.20ActivityDiagram (Sumber :Whitten dan Bentley, 2007:392)
16
2.1.2.2.3
ClassDiagram
Classdiagram merupakan gambaran grafis dari struktur objek, yang menunjukkan kelas objek yang ada pada suatu sistem dan hubungan antara kelaskelas objek tersebut (Whitten & Bentley, 2007:400) . Berikut ini adalah contoh classdiagram:
Gambar 2.21ClassDiagram (Sumber :Whitten dan Bentley, 2007:406) Setiap kelas objek dibagi menjadi tiga bagian, yaitu : 1. Nama kelas 2. Atribut kelas 3. Method kelas Dalam classdiagram terdapat visibility yang berguna untuk menentukan atributdan methodclass yang dapat diakses dan digunakan oleh kelas lainnya.
17 Ada tiga jenis visibility dengan penjelasannya, yaitu : 1. Private(-) Atribut dan method-nya hanya dapat diakses dan digunakan oleh kelas yang mendefinisikan. 2. Protected(#) Atribut dan method-nya hanya dapat diakses dan digunakan oleh kelas yang mendefinisikan dan kelas turunannya. 3. Public(+) Atributdan method-nya dapat diakses dan digunakan oleh kelas lainnya.
Jenis-jenis hubungan yang ada di dalam class diagram, yaitu: 1. Generalization/Specialization Merupakan hubungan yang terdiri dari supertypeclasses(induk) dan subtype classes(anak). Supertypeclasses adalah entityyang terdiri dari attribute dan behavior umum sedangkan subtypeclasses adalah objek class yang terdiri dari attribute dan behavior yang khusus dan juga mewarisi attribute dari supertype class-nya.
Gambar 2.22Generalization/Specialization (Sumber :Whitten dan Bentley, 2007:376)
18
2. Association dan Multiplicity Association merupakan hubungan antara dua objek class yang dengan sebuah
garis
yang
menghubungkan
keduanya.Garis
tersebut
melambangkan tipe-tipe hubungan dan juga hukum multiplicity pada sebuah hubungan.
Gambar 2.23Object / Class Associations and Multiplicity Notations (Sumber :Whitten dan Bentley, 2007:377)
3. Aggregation/Composition Merupakan hubungan yang unik dimana 1 objek merupakan bagian dari objek lainnya. Hubungan bersifat asimetris dimana objek A merupakan bagian dari objek B tetapi objek B bukan merupakan bagian dari objek A.
19
. Gambar 2.24 Aggregation Relationship (Sumber :Whitten dan Bentley, 2007:379)
20 2.1.3
Flow Chart Flow chart adalah sebuah diagram symbol yang digunakan untuk
menggambarkan alur data dan urutan operasi dalam suatu sistem (George H.Bodnar, William S.Hopwood, 2010:41). 1. Terminal Terminal merepresentasikan awal atau akhir flowchart.
Gambar 2.25 Terminal. 2. Input/Output (I/O) Input/Output (I/O) merepresentasikan data untuk input atauoutput.
Gambar 2..26Input/Output. 3. Process Process merepresentasikan setiap proses dalam flowchart.
Gambar 2.27Process. 4. Flowline Flowline menghubungkan berbagai simbol untukmembentuksuatu urutan proses.
Gambar 2.28Flowline.
5. Decision
21 Decision digunakan untuk merepresentasikan operasi tambahan deskripsi sebagai klarifikasi.
Gambar 2.29Decision 2.1.4
Interaksi Manusia Komputer
2.1.4.1 Pengertian Interaksi Manusia Komputer Interaksi Manusia Komputer adalah ilmu yang mempelajari hubungan antara manusia dengan komputer yang berkaitan dengan perancangan, evaluasi dan implementasi antarmuka agar dapat digunakan secara mudah (Shneiderman & Plaisant, 2005:74).
2.1.4.2 Delapan Aturan Emas Menurut (Shneiderman & Plaisant, 2010:88-89) terdapat 8 aturan yang dapat digunakan dalam perancangan user interface, 8 aturan ini sering dikenal dengan istilah eight golden rule, yaitu sebagai berikut: 1.Berusaha konsisten Konsistensi dalam perancangan userinterface dapat berupa layout, warna, ukuran dan jenis tulisan. 2.Menyediakan kegunaan yang universal Sebaiknya sebuah user interface dapat dengan mudah digunakan oleh berbagai aspek, yaitu mulai dari anak-anak hingga pakar komputer. 3.Memberikan umpan balik yang informatif Sebaiknya sebuah user interface dapat memberikan umpan balik terdapat aksi yang dilakukan oleh pengguna, sehingga pengguna mendapatkan informasi yang sesuai dengan kondisi. 4.Merancang dialog yang memberikan penutupan Dialog dapat memberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat dilakukan ketindakan selanjutnya. 5.Memberikan pencegahan kesalahan yang sederhana Sebaiknya sebuah userinterface dapat mendeteksi kesalahan dan memberikan mekanisme yang sedehana terhadap aksi yang dilakukan oleh pengguna. 6.Memungkinkan kembali ke tindakan sebelumnya
22 Sebaiknya sebuah userinterface dapat membatalkan sebuah aksi yang dilakukan oleh pengguna, sehingga pengguna dapat mengeksplorasi pilihan-pilihan tanpa adanya kecemasan melakukan kesalahan. 7.Mendukung pusat kendali internal Sebaiknya sebuah userinterface dirancang sedemikian rupa menjadi inisiator daripada responden, sehingga userinterface dapat mengarahkan pengguna dan memberikan langkah-langkah proses tahapan hingga bagian penutup. 8.Mengurangi beban ingatan jangka pendek Sebaiknya sebuah userinterface dapat mengurangi beban ingatan jangka pendek karena setiap daya ingat manusia memiliki keterbatasan. Oleh karena itu, dalam merancang layar userinterface harus dapat terlihat jelas atau menggunakan dropdown menu dengan ikon.
2.2 Teori Khusus 2.2.1
Bank
2.2.1.1 Pengertian Bank Bank dikenal sebagai lembaga keuangan yang kegiatan utamanya menerima simpanan giro,tabungan dan deposito.Bank juga dikenal sebagai tempat untuk meminjam uang (kredit) bagimasyarakat yang membutuhkannya.Disamping itu bank juga dikenal sebagai tempat untuk menukar uang, memindahkan uang atau menerima segala macam bentuk pembayaran dan setoran (Kasmir,2008:12). Menurut Undang – undang RI nomor 10 tahun 1998 tanggal 10 November 1998 tentang perbankan, yang dimaksud dengan bank adalah “badan usaha yang menghimpun dana dari masyarakat dalam bentuk simpanan dan menyalurkannya kepada masyarakat dalam bentuk kredit atau bentuk-bentuk lainnya dalam rangka meningkatkan taraf hidup rakyat banyak.” Aktivitas perbankan yang pertama adalah menghimpun dana dari masyarakat luas yang dikenal dengan istilah funding. Setelah memperoleh dana dalam bentuk simpanan dari masyarakat, maka oleh perbankan dana tersebut diputarkan kembali dalam bentuk pinjaman atau yang dikenal dengan sebutan kredit (lending). Dalam pemberian kredit juga dikenakan jasa pinjaman kepada penerima kredit (debitur) dalam bentuk bunga biaya administrasi.Besarnya kredit sangat dipengaruhi juga oleh besarnya bunga simpanan. (Kasmir, 2008:12-13).
23 2.2.1.2 Fungsi Bank Menurut Sigit Triandaru dan Totok Budisantoso (2006) Secara umum, fungsi utama bank adalah menghimpun dana dari masyarakat dan menyalurkankannya kembali kepada masyarakat untuk berbagai tujuan atau sebagai financial intermediary.Secara lebih spesifik bank dapat berfungsi sebagai agent of trust, agent of development, dan agent of sevices. 1. Agent of trust Dasar utama kegiatan perbankan adalah kepercayaan(trust), baik dalam hal penghimpunan dana maupun penyaluran dana. Masyarakat akan mau menitipkan dananya di bank apabila dilandasi adanya unsur kepercayaan. Masyarakat percaya bahwa uangnya tidak akan disalahgunakan oleh bank, uangnya akan dikelola dengan baik, bank tidak akan bangkrut, dan pada saat yang telah dijanjikan simpanan tersebut dapat ditarik kembali dari bank. 2. Agent of development Kegiatan perekonomian masyarakat di sektor moneter dan di sektor riil tidak dapat dipisahkan.Kedua sektor tersebut selalu berinteraksi dan saling mempengaruhi. Sektor riil tidak akan dapat berkinerja dengan baik apabila sektor moneter tidak bekerja dengan baik. Kegiatan bank berupa penghimpunan dan penyaluran dana sangat diperlukan bagi lancarnya kegiatan
perekonomian
di
sektor
riil.
Kegiatan
bank
tersebut
memungkinkan masyarakat melakukan kegiatan investasi, kegiatan distribusi, serta kegiatan konsumsi barang dan jasa, mengingat bahwa kegiatan investasi-distribusi-konsumsi tidak dapat dilepaskan dari adanya penggunaan uang. 3. Agent of services Di samping melakukan kegiatan penghimpunan dan penyaluran dana, bank juga memberikan penawaran jasa perbankan yang lain kepada masyarakat. Jasa yang ditawarkan bank ini erat kaitannya dengan kegiatan perekonomian masyarakat secara umum. Jasa ini antara lain dapat berupa jasa pengiriman uang, penitipan barang berharga, pemberian jaminan bank, dan penyelesaian tagihan.
24 2.2.2
Kredit
2.2.2.1 Pengertian Kredit Menurut The Century Dictionary, The Century Co., New York, 1911 istilah kredit berasal dari bahasa Yunani “Credere” yang berarti kepercayaan. Oleh karena itu, dasar dari kredit ialah kepercayaan. Seseorang yang memberikan kredit (kreditur) percaya bahwa penerima kredit (debitur) di masa mendatang akan sanggup memenuhi segala sesuatu yang dijanjikan. Apa yang dijanjikan itu dapat berupa uang, barang, atau jasa. Pengertian kredit menurut Undang-Undang No.10 tentang Perbankan (Republik Indonesia. 1998), yaitu “Kredit adalah penyediaan uang atau tagihan yang dipersamakan dengan itu, berdasarkan persetujuan atau kesepakatan pinjammeminjam antara bank dengan pihak lain yang mewajibkan pihak peminjam untuk melunasi hutangnya setelah jangka waktu tertentu dengan pemberian bunga” Pengertian kredit menurut Pedoman Akuntansi Perbankan Indonesia atau PAPI, yaitu “Kredit adalah penyediaan uang atau tagihan yang dapat dipersamakan dengan itu, berdasarkan persetujuan atau kesepakatan pinjam-meminjam antara bank dengan pihak lain yang mewajibkan pihak meminjam (debitur) untuk melunasi hutangnya setelah jangka waktu tertentu dengan jumlah bunga, imbalan atau pembagian hasil keuntungan”. Termasuk dalam pengertian yang diberikan adalah kredit dalam rangka pembiayaan bersama, kredit dalam restrukturisasi, dan pembelian surat berharga debitur yang dilengkapi dengan Note Purchase Agreement (NPA).
2.2.2.2 Jenis-Jenis Kredit Kredit terdiri dari beberapa jenis, adapun jenis-jenis kredit menurut Kasmir (2008 : 76) adalah: 1. Dilihat dari segi kegunaan terdiri atas kegunaan kredit investasi dan kredit modal kerja, yaitu: •
Kredit investasi adalah kredit yang biasanya digunakan untuk keperluan perluasan usaha baru dimana masa pemakian relatif lebih lama dan biasanya kredit ini adalah untuk kegiatan utama suatu perusahaan.
•
Kredit modal kerja adalah kredit yang digunakan untuk keperluan meningkatkan produksi dan operasionalnya.
25 2. Dilihat dari segi tujuan, kredit terdiri atas kredit produktif, kredit konsumtif dan kredit perdagangan. •
Kredit produktif adalah kredit yang digunakan untuk peningkatan usaha atau produksi atau investasi.
•
Kredit konsumtif adalah kredit yang digunakan untuk dikonsumsi atau dipakai secara pribadi.
•
Kredit perdagangan adalah kredit yang digunakan untuk kegiatan perdagangan dan biasanya untuk membeli barang dagangan yang pembayarannya diharapkan dari hasil penjualan barang dagangan tersebut.
3. Dilihat dari segi jangka waktu, kredit terdiri atas kredit jangka pendek, jangka menengah dan kredit jangka panjang. •
Kredit jangka pendek adalah kredit yang memiliki jangka waktu kurang dari 1 tahun atau paling lama 1 tahun dan biasanya digunakan untuk keperluan modal kerja.
•
Kredit jangka menengah adalah jangka waktunya berkisar antara 1 tahun sampai dengan 2 tahun, dapat diberikan untuk modal kerja.
•
Kredit jangka panjang adalah kredit yang masa pengembaliannya yaitu 3 tahun atau lebih.
4. Dilihat dari segi jaminan, kredit terdiri atas kredit dengan jaminan dan kredit tanpa jaminan. 5. Dilihat dari sektor usaha, kredit terdiri atas kredit pertanian, kredit peternakan, kredit industri, kredit pertambangan, kredit pendidikan, kredit profesi, kredit perumahan, dan sektor-sektor usaha lainnya.
2.2.3
Kredit Pemilikan Rumah
2.2.3.1 Pengertian KPR Hardjono (2008:25) menyatakan bahwa, “KPR atau Kredit Pemilikan Rumah merupakan salah satu jenis pelayanan kredit yang diberikan oleh bank kepada para nasabah yang menginginkan pinjaman khusus untuk memenuhi kebutuhan dalam pembangunan rumah atau renovasi rumah”. KPR juga muncul karena adanya berbagai kondisi penunjang yang strategis diantaranya adalah pemenuhan kebutuhan perumahan yang semakin lama semakin
26 tinggi namun belum dapat mengimbangi kemampuan daya beli kontan dari masyarakat. Secara umum, ada 2 jenis KPR yaitu: 1. KPR Subsidi KPR Subsidi adalah suatu kredit yang diperuntukan kepada masyarakat yang mempunyai penghasilan menengah kebawah, hal ini guna untuk memenuhi kebutuhan memiliki rumah atau perbaikan rumah yang telah dimiliki sebelumnya.Adapun bentuk dari subsidi tersebut telah diatur tersendiri oleh pemerintah, sehingga tidak semua masyarakat yang mengajukan kredit dapat diberikan fasilitas ini. 2. KPR Non Subsidi KPR Non Subsidi adalah suatu kredit yang diperuntukan bagi seluruh masyarakat tanpa adanya campur tangan pemerintah.Ketentuan KPR ditetapkan oleh bank itu sendiri, sehingga penentuan besarnya kredit maupun suku bunga dilakukan sesuai dengan kebijakan bank yang bersangkutan. Di beberapa bank, pengertian KPR juga berbeda-beda, sehingga dalam pengelompokan produk yang ingin ditawarkan pun berbeda.Ada beberapa bank yang mengakui bahwa pembelian rumah susun atau rumah toko atau apartemen atau kondominium atau renovasi rumah atau refinancing merupakan pengelompokan produk KPR, namun ada pula yang tidak.Jadi setiap bank memiliki pengertian produk KPR tersendiri.
2.2.3.2 Faktor-Faktor yang Mempengaruhi KPR Menurut Raffie (2013), terdapat beberapa faktor utama, yang mempengaruhi suatu pembayaran KPR. Faktor-faktor tersebut diantaranya : 1. Nominal pinjaman Merupakan jumlah uang yang dipinjamkan oleh pemberi pinjaman atau dalam hal ini bank. 2. Jangka waktu pinjaman uang (periode pinjaman kredit) Jangka waktu kredit adalah periode yang terletak antara tanggal mulai berlakunya
perjanjian
kredit
dan
tanggal
pelunasan
kredit.Bila
dihubungkan dengan ketentuan umum waktu kredit, maka jangka waktu KPR merupakan jenis kredit jangka panjang (UU no 14 Pasal 1D th.1967).
27 3. Bunga atas pinjaman (bunga nominal) Bank memungut bunga atas pinjaman kredit yang diberikan kepada debiturnya.Bank menuntut balas jasa berupa bunga yang dibebankan oleh bank kepada debitur dan harus dibayarkan selama jangka waktu tertentu.Dengan demikian bunga merupakan balas jasa yang harus dibayarkan debitur kepada bank karena pinjaman yang diterimanya dari bank. 4. Uang Muka Uang muka atau yang biasa dikenal dengan down payment (DP) adalah uang yang dibayarkan di muka oleh debitur saat mengambil pinjaman. Dalam KPR, jumlah uang muka paling tidak 30% dari nilai KPR yang diajukan (Surat Edaran (SE) BI No. 15/40/DKMP). 5. Penalty (denda) Penalty dikenal juga dengan sebutan denda.Merupakan suatu biaya tambahan yang harus dibayar oleh debitur jika semua atau sebagian dari pinjaman dilunasi sebelum jatuh temponya.Bank berhak memberikan denda, apabila debitur melunasi kredit yang diajukan sebelum jatuh tempo. Hal ini dikarenakan pelunasan yang lebih awal akan merugikan pihak bank. 6. Finance Charge Setelah pinjaman kredit disetujui bank maka debitur harus melunasi biaya-biaya awal setelah terkait kontrak perjanjian kredit bank (Finance Charge) yang terdiri dari : biaya provisi, biaya administrasi, biaya asuransi,dsb.
2.2.3.3 Persyaratan KPR Secara umum persyaratan dan ketentuan yang diberlakukan oleh bank untuk nasabah yang akan mengambil KPR relatif sama. Baik dari sisi administrasi maupun dari sisi penentuan kreditnya. Berdasarkan Ketentuan Bank Indonesia mengenai Perkreditan (2014), untuk mengajukan KPR, pemohon harus melampirkan: 1. KTP suami dan atau istri (bila sudah menikah) 2. Kartu Keluarga 3. Keterangan penghasilan atau slip gaji.
28 4. Laporan keuangan (untuk wiraswasta) 5. NPWP Pribadi (untuk kredit di atas Rp. 100 juta) 7. SPT PPh Pribadi (untuk kredit di atas Rp. 50 juta). 8. Foto kopi sertifikat induk dan atau pecahan (bila membelinya dari developer) 9. Foto kopi sertifikat (bila jual beli perorangan) 10. Foto kopi IMB
2.2.3.4 Biaya Proses KPR Pada umumnya fasilitas KPR pemohon akan dikenakan beberapa biaya, diantaranya: biaya appraisal, biaya notaris, provisi bank, biaya asuransi kebakaran, biaya premi asuransi jiwa selama masa kredit. (Ketentuan BI mengenai Perkreditan th.2014).
2.2.3.5 Metode Perhitungan Bunga KPR Menurut Ketentuan BI mengenai Perkreditan th.2014, secara umum dikenal 3 metode perhitungan bunga yaitu : 1. Flat Bunga Flat adalah sistem perhitungan suku bunga yang besarannya mengacu pada pokok hutang awal.Biasanya diterapkan untuk kredit barang konsumsi seperti handphone, homeappliances, mobil atau kredit tanpa agunan (KTA). Dengan menggunakan sistem bunga flat ini maka porsi bunga dan pokok dalam angsuran bulanan akan tetap sama. 2. Efektif Sistem bunga efektif adalah kebalikan dari sistem bunga flat, yaitu porsi bunga dihitung berdasarkan pokok hutang tersisa. Sehingga porsi bunga dan pokok dalam angsuran setiap bulan akan berbeda, meski besaran angsuran per bulannya tetap sama. Sistem bunga efektif ini biasanya diterapkan untuk pinjaman jangka panjang semisal KPR atau kredit investasi. Dalam sistem bunga efektif ini, porsi bunga di masa-masa awal kredit akan sangat besar di dalam angsuran perbulannya, sehingga pokok hutang akan sangat sedikit berkurang. Jika kita hendak melakukan pelunasan awal maka jumlah pokok hutang akan masih sangat besar
29 meski kita merasa telah membayar angsuran yang jika ditotal jumlahnya cukup besar. Sistem bunga efektif akan lebih berguna untuk pinjaman jangka panjang yang tidak buru-buru dilunasi di tengah jalan, karena jika kita membandingkan nominal bunga yang kita bayarkan, jauh lebih kecil dari sistem bunga flat. 3. Anuitas Tahunan dan Bulanan Kredit bunga anuitas adalah modifikasi dari perhitungan kredit bunga efektif. Modifikasi ini dilakukan untuk mempermudah nasabah dalam membayar per bulannya, karena angsuran tiap bulannya sama. Dalam kredit dengan bunga anuitas, angsuran bulanannya tetap. Namun komposisi bunga dan pokok angsuran akan berubah tiap periodenya. Nilai bunga per bulan akan mengecil, angsuran pokok per bulannya akan membesar. Jadi angsuran bulanannya tetap, hanya komposisi antara pokok dan bunga berbeda. Dalam prakteknya metode suku bunga yang digunakan untuk Kredit Pemilikan Rumah adalah suku bunga effektif atau anuitas.
2.2.3.6 Keuntungan KPR Berdasarkan Ketentuan BI mengenai Perkreditan th. 2014, disebutkan keuntungan KPR sebagai berikut : •
Nasabah tidak harus menyediakan dana secara tunai untuk membeli rumah. Nasabah cukup menyediakan uang muka.
•
Karena KPR memiliki jangka waktu yang panjang, angsuran yang dibayar dapat diiringi dengan ekspektasi peningkatan penghasilan.
2.2.3.7 Hal – Hal yang Harus Diperhatikan dalam KPR Ada beberapa hal penting yang harus diperhatikan para pemohon KPR sesuai dengan Ketentuan BI mengenai Perkreditan tahun 2014, yaitu : 1. Bila membeli rumah dari perorangan, pastikan bahwa sertifikat yang ada tidak bermasalah dan ada IMB sesuai dengan kondisi bangunan yang ada. 2. Bila membeli rumah dari Developer, pastikan bahwa Developer dimaksud telah mempunyai ijin-ijin, antara lain :
30 •
Ijin Peruntukan Tanah : Ijin Lokasi, Aspek Penata-gunaan lahan, SitePlan yang telah disahkan, dsb.
•
Prasarana sudah tersedia.
•
Kondisi tanah matang.
•
Sertifikat tanah minimal SHGB atau HGB Induk atas namadeveloper.
•
IMB Induk.
3. Kenali reputasi penjual (perorangan atau developer). 4. Jangan melakukan transaksi jual beli di bawah tangan, artinya apabila rumah yang akan dibeli masih dalam status dijaminkan di bank, maka lakukanlah pengalihan kredit pada Bank yang bersangkutan dan dibuat akte jual beli di hadapan notaris. Jangan sekali-kali melakukan transaksi pengalihan kredit “di bawah tangan”, artinya atas dasar kepercayaan saja dan tanda buktinya hanya berupa kwitansi biasa, karena bank tidak mengakui transaksi yang seperti ini.
2.2.4
Metode Deterministik Model deterministik adalah model matematika dimana gejala-gejala dapat
diukur dengan derajat kepastian yang cukup tinggi.Pada model deterministik diasumsikan bahwa kejadian-kejadian yang ada memiliki peluang yang tetap, dapat pula diasumsikan pasti terjadi maupun tidak mungkin terjadi. Metode ini umumnya merupakan pengembangan dari metode simpleks yang merupakan metode dasar semua masalah program linear (Bawazir, N.I, 2012). Menurut Michael Allaby (2004), model deterministik adalah sebuah representasi matematika dari sebuah sistem yang memiliki relasi tetap, atau tidak ada probabilitas. Oleh karena itu, setiap masukkan yang diberikan akan menghasilkan hasil yang sama. Menurut Kelton W.D (2007), model deterministik adalah model yang tidak mengandung komponen yang sifatnya probabilistik atau random. Output telah dapat ditentukan begitu sejumlah input dan hubungan tertentu dimasukkan, Output yang diperoleh akan tetap sama jika inputnya sama walaupun proses berulang. Dimisalkan terdapat sebuah variable random Y. Variabel ini disebut sebagai dependent variable.Yang artinya adalah Y merupakan fungsi dari satu atau banyak variable nonrandom, misalnya x1, x2, x3.Nilai x tersebut disebut sebagai independent
31 variable.(Dalam hal ini, independent dan dependent digunakan dalam arti matematis saja. Tidak terdapat relasi dengan konsep probabilitas mengenai variabel independent random).Misal : y = x1 + x2, x1dan x2dianggap sebagai parameter yang tidak diketahui nilainya. Model tersebut disebut sebagai model deterministik, dikarenakan bentuk tersebut tidak diperkenankan untuk memprediksi kesalahan pada nilai y sebagai bentuk fungsi dari x. Hasil yang diberikan adalah pasti dan tidak berubahubah dikarenakan tidak ada faktor lain (yang bersifat random) yang mempengaruhi (Wackerly, Mendenhall, Scheadffer,2008).
2.2.5
Anuitas Anuitas adalah rangkaian pembayaran/penerimaaan sejumlah uang yang
umumnya sama besar, dengan periode waktu yang sama untuk setiap pembayarannya (Frensidy, 2013:62).Terdapat 2 jenis anuitas yaitu anuitas pasti dan anuitas hidup. Dalam Kredit Pemilikan Rumah, anuitas yang digunakan adalah anuitas pasti. Anuitas pasti merupakan suatu anuitas yang dilakukan dalam jangka waktu pembayaran tertentu.Anuitas pasti dibagi menjadi beberapa jenis, dan pada KPR.Diantaranya terdapat anuitas akhir, anuitas awal, dan lain sebagainya.
2.2.5.1 Anuitas Akhir Anuitas akhir sering juga disebut dengan anuitas biasa atau ordinary annuity.Pembayaran anuitas akhir dibayarkan pada akhir periode selama n periode. Pada anuitas akhir, suku bunga perperiode dilambangkan dengan i. Nilai sekarang
(present
value)dari
anuitas
akhir
dilambangkan
dengan
. Nilai ini merupakan nilai yang dibayarkan di awal untuk mendapatkan pembayaran sebesar 1 rupiah tiap akhir periode selama n periode.
Sedangkan nilai akumulasi atau nilai masa mendatang dari anuitas tersebut
dilambangkan dengan .
Dapat diturunkan gambaran untuk nilai sekarang suatu anuitas akhir
sebagai suatu present value dari masing–masing pembayaran.Present valuedari pembayaran 1 rupiah di akhir periode pada periode pertama adalah v. Sedangkan present valuedari pembayaran 1 rupiah yang dilakukan pada akhir periode ke-2 adalah v2. Proses ini berlanjut hingga present value dari pembayaran 1 pada periode terakhir n adalah vn.
32 Nilai akumulasi total dari present value (PV) sama dengan jumlahan dari
present value tiap-tiap pembayaran, yaitu :
. . . . .
1 . . . . .
Dengan menggunakan rumus pada deret geometri diperoleh : 1 1 1 1
Nilai akumulasi dari anuitas akhir dapat diturunkan dengan cara analog seperti menurunkan nilai present value suatu anuitas akhir. Nilai akumulasi pembayaran 1 rupiah apa akhir periode pertama adalah (1+i)n-1. Nilai akumulasi dari pembayaran 1 rupiah pada akhir periode kedua adalah (1+i)n-2. Proses ini berlanjut sampai pada nilai akumulasi pembayaran 1 rupiah saat periode terakhir n, yang sama
dengan 1. Nilai akumulasi total anuitas akhir sama dengan jumlahan dari nilai
akumulasi pembayaran tiap–tiap periode.
1 1 . . . . . 1 1
Dengan menggunakan deret geometri, maka diperoleh hasil : 1 1 . . . . . 1 1 1
1 1 1 1
1 1 1
Dengan penjabaran rumus di atas, bisa dilakukan perhitungan dari penggabungan antara dan , yaitu sebagai berikut : 1 1 1 1 1 1 1
33 Bentuk rumus dari hubungan yang lain antara dan adalah :
1 1 1
1 1 1 1
1 1
Atau , 1 1 PV ( )
= present value (nilai sekarang)
i
= tingkat bunga
n
= jumlah periode
A ( )
= Anuitas (pembayaran/periode)
Bentuk penurunan rumus anuitas biasa :
Atau
1
1
0 ! " … …
1
… … 1 1 1
34 $
1 1
PV= Au+A$ … … $
Kalikan setiap sisi dengan u
$ $ $" … … $ $ Subtitusikan
PV= Au+A$ … … $
- $ $ $" … … $ $
$ $ … … … … … … … … … … $ 1 $ $ $
$ $ $1 $ 1$ 1$
Subtitusikan lagi u &
' ( '1 (
'1 (
Kalikan pembilang dan penyebut dengan 1+i Atau
1 1 1 1
1 1
Rumus Besar Cicilan
)
*
+
Bentuk penurunan rumus :
1 1 * ) +
2.2.5.2 Anuitas Awal Merupakan serangkaian pembayaran yang sama yang dilakukan di awal periode pembayaran dengan batas waktu yang ditentukan. Anuitas awal disebut juga
35 sebagai anuitas di muka atau disebut
juga dengan istilah annuity due (Kho &
Fatmawati, 2013).
1 $
1 1
… … 1 1 1
$ $ … … $
Kalikan setiap sisi dengan u
$ $ $" … … $ $ Subtitusikan
$ $ … … $
$ $ $" … … $ $
$ $ … … … … … … … … … … $ 1 $ $ $
$ $ $1 $ 1$ 1$
Subtitusikan lagi u &
'
( '1 *, (
'1 (
Kalikan pembilang dan penyebut dengan 1+i
1 1 1 1
1 1 .
1 1 . 1 1 1.
Rumus perhitungan besar angsuran per bulannya :
36
)
*/,
1+
PV
= present value (nilai sekarang)
i
= tingkat bunga
n
= jumlah periode
A
= Anuitas (pembayaran / periode)
2.2.5.3 Anuitas Ditunda Merupakan anuitas yang pembayarannya dimulai dari tanggal yang akan datang yang telah ditentukan. Misal beberapa tahun kemudian, atau pada umur tertentu di masa yang akan datang. Rumus perhitungan besar angsuran per bulannya :
Anuitas ditunda diperoleh dari 0 (anuitas biasa) dengan perkalian faktor
diskonto ' 1*, (.
Dalam formula rumus tersebut :'
1*,
(disebut discount factor/diskonto.
Faktor diskonto adalah bilangan kurang dari sama dengan 1 (satu) yang dipakai untuk mengalikan suatu jumlah nilai dimasa yang akan datang (future value) supaya menjadi nilai sekarang (present value).
)
11! +
0 1 0 1 0
1 0 21 1 3 PV
= present value (nilai sekarang)
i
= tingkat bunga
m
= waktu penundaan (bulan)
n
= jumlah periode
A
= Anuitas (pembayaran/periode)
2.2.5.4 Anuitas Bertumbuh Akhir
37 Jika besar pembayaran atau penerimaan setiap periode tidak sama tetapi tumbuh atau berkembang dengan tingkat Pertumbuhan yang sama yaitu g.
Maksudnya jika tahun ini besarnya penerimaan adalah A maka tahun depan =
A(1+g) dan tahun berikutnya = 1 g = A1 g 1 g = A1 g dan
demikian seterusnya. Berikut adalah penurunan rumus untuk mendapatkan besar angsuran yang diterima:
16 16 1 6 5 7 5 7 … 5 7 1 1 1 1 1 1 1 16 8 1
Dengan menggunakan deret geometri, diperoleh:
:
' (
9
9
1
:
:
' (
.
1 1
1 1 6
;
:
1 ' ( 6
<
Rumus perhitungan besar angsuran per bulannya :
6
:
)1 ' ( +
PV
= present value (nilai sekarang)
i
= tingkat bunga
g
= besar kenaikan (persen)
n
= jumlah periode
A
= Anuitas (pembayaran/periode)
38 2.2.5.5 Anuitas Bertumbuh Awal Anuitas bertumbuh awalsama halnya dengan perhitungan anuitas bertumbuh akhir namun pada pembayaran awalnya dilakukan langsung saat kredit diterima. Sehingga penghitungannya menggunakan .
16 16 1 6 5 7 5 7 … 5 7 1 1 1 1 1 1 1 16 8 1
Dengan menggunakan deret geometri, diperoleh:
9
9
1
:
:
(
:
' (
.
1 1
1 1 6
;
:
1 ' ( 6
;
'
:
1 ' ( 6
<
<
Rumus perhitungan besar angsuran per bulannya :
6
:
1 ' (
PV
= present value (nilai sekarang)
i
= tingkat bunga
A0
=
g
= besar kenaikan (persen)
n
= jumlah periode
A
= Anuitas (pembayaran/periode)
angsuran pertama
39 2.2.5.6 Anuitas Bertumbuh Ditunda Anuitas bertumbuh ditunda diperoleh dari perkalian anuitas bertumbuh biasa
dengan faktor diskonto '
'
-
,/= ( ,/>
:
.
1*,
(.
1 0
Rumus perhitungan besar angsuran per bulannya :
1 0 6 )1 '
:
( +
PV
= present value (nilai sekarang)
i
= tingkat bunga
m
= waktu penundaan (bulan)
g
= besar kenaikan (persen)
n
= jumlah periode
A
= Anuitas (pembayaran/periode)
2.2.6
MobileApplication Menurut IBM Corporation (2012), mobile apps adalahaplikasi yang didesain
untuk berjalan pada smartphone, computer tablet, dan mobile device. Mobile apps biasanya dikeluarkan atau didistribusikan oleh masing masing vendor seperti iOS dari Apple, Android dari Google, Windows Phone dari Microsoft. Menurut IBM Coorporation (2012), mobile apps dibagi menjadi tiga yaitu: 1. Native apps Native apps mempunyai binary executable yang diunduh dan disimpan dalam perangkat mobile, setelah di install ,native apps berjalan seperti aplikasi sistem, tanpa perantara atau emulator. Native apps bebas mengakses API vendor untuk mengakses, menggunakan fitur dan fungsi dari perangkat mobile.
40 2. Web Apps Web Apps menggunakan kemampuan engine browser HTML5 yang mendukung CSS3, AJAX, dan Javascript yang disimulasikan untuk berjalan pada API sistem operasi. 3. Hybrid Apps Hybrid apps menggabungkan native apps dengan teknologi web apps. dengan menggunakan pendekatan ini, para pengembang menuliskan porsi yang signifikan kepada aplikasi mereka di crossplatform web technologies, dengan mempertahankan akses langsung ke API yang asli bila diperlukan.
2.2.6.1 Android Application Merupakan bentuk aplikasi yang didasarkan pada penggunaan android, baik dari sisi pengembangan dan juga sisi pemakaian.Aplikasi android dikembangkan dengan menggunakan software development kit (SDK) yang diberikan oleh android web. SDK terdiri dari beberapa kombinasi dari tools (Jen Mon,2013), seperti: •
JDK (Java Development Kit) Merupakan application toolyang digunakan untuk pengembangan.
•
Eclipse Merupakan Integrated Development Environment (IDE) yang meliputi banyak software aplikasi dari Java, seperti editor, debugger, dan lain sebagainya.Plug-in yang dimiliki Eclipse akan memanggil Android resource compiler, untuk beradaptasi dan mengawali pemrosesan XML menjadi compressed binary format.
•
ADT (Android Development Tools) ADT disediakan oleh Google untuk digunakan pada plug-in environment dalam Eclipse untuk mendesain aplikasi dari sebuah project android.
•
Android SDK Android SDK dapat mentransfer Java class ke dalam bentuk tipe file .dex dan meneruskan file .dex ke virtual machine untuk dieksekusi. Selain itu, juga terdiri dari dari beberapa tools yang berguna seperti android emulator dan LogCat debugger.
41 •
Linux Kernel Merupakan hal terpenting dalam aplikasi android.Semua aplikasi android yang telah dikembangkan harus didasarkan pada sistem operasi linux.
2.2.7
Android Android merupakan sebuah sistem operasi yang baru dan merupakan next-
generation OS yang berjalan pada Kernel Linux.Pengembangan mobile aplikasi android didasarkan dengan pengkodean Bahasa Java, oleh karena itu, penulisan kode pun juga menggunakan Bahasa pemrograman Java.Kode ini dapat mengontrol perangkat mobile melalui Google-enabled Java libraries.Ini merupakan platform yang penting untuk mengembangkan aplikasi mobile menggunakaan software stackyang disediakan pada Google Android SDK. Sistem operasi pada android menyediakan
bentuk
environment
yang
fleksibel
untuk
pengembangan
aplikasi.Pengembang tidak hanya bisa menggunakan android java libraries namun juga dapat menggunakan normal Java IDEs (Holla & Katti, 2012). Android adalah sistem operasi yang digunakan untuk perangkat berbasis mobileseperti handphone atau biasa disebut smartphone, computer tablet, netbook ,media player portable, dan lain-lain. Android dikembangkan dibawah LINUX dan Open Handset Alliance (OHA) yang berarti siapa pun dapat mengembangkan android di hardwaremereka.The Android Open Source Project (AOSP) yang dipimpin oleh Google, mempunyai tugas untuk perbaikan sampai dengan pengembangan ke depan dari android (Google, Open Source Project, 2012). Adapun keunggulan dan fitur special dari android menurut Tenisson (2013): •
Merupakan sistem operasi yang bersifat gratis dan open source.
•
Memiliki arsitektur berdasar komponen yang didasarkan pada Linux dan open source.
•
Menyediakan banyak built in services.
•
Mensuport adanya manajemen secara otomatis dari application life cycle.
•
Menyediakan high quality graphic & ground.
•
Applikasi bersifat portable pada berbagai perangkat keras, baik yang ada sekrang maupun yang akan datang.
Penggunaan perangkat android terus melonjak dari tahun ke tahun. Sejak tahun 2011, penjualan perangkat android menduduki peringkat paling atas diikuti
42 dengan penjualan iOS kemudian blackberry, Symbian, windows phone dan linux(Sardiarinto,2013). Dan pada awal tahun 2014, menurut survey yang dilakukan International Data Croporation (IDC) lebih dari 75% orang Indonesia menggunakan smartphone dengan sistem operasi android.
2.2.7.1 Android Fundamental Aplikasi android ditulis dengan menggunakan bahasa pemrograman Java. Android SDK toolsakan mengkompilasi kode yang telah dibuat, bersamaan dengan data dan resource file menjadi sebuah bentuk APK. APK adalah Android Package,yang dibuat dalam bentuk file dengan ekstensi .apk. Sebuah file APK berisi semua konten dari aplikasi Android dan file yang digunakan perangkat Android untuk menginstal aplikasi. Setelah aplikasi diinstal, masing – masing aplikasi Android tinggal dalam security sandbox masing-masing: •
Sistem operasi android adalah multi-user Linux di mana setiap aplikasi adalah pengguna yang berbeda.
•
Secara default, system memberikan tiap aplikasi sebuah user ID yang bersifat unik. Sistem ini menetapkan hak akses untuk semua file dalam sebuah aplikasi sehingga hanya user ID yang ditugaskan untuk aplikasi tertentu yang dapat mengaksesnya.
•
Setiap proses memiliki mesin virtual sendiri (VM). Sehingga kode sebuah aplikasi yang berjalan, diisolasi dari aplikasi lain.
•
Secara default setiap aplikasi berjalan dalam proses Linus sendiri. Android memulai proses ketika salah satu komponen aplikasi perlu dijalankan.
2.2.7.2 Komponen Aplikasi Terdapat empat jenis komponen pada aplikasi Android.Setiap jenis memiliki tujuan yang berbeda dan memiliki siklus hidup yang berbeda yang mendefinisikan bagaimana komponen dibuat dan dihancurkan. Keempat komponen tersebut adalah :
Activity Suatu activity akan menyajikan sebuah user interface (UI) kepada
penggunam sehingga pengguna dapat melakukan interaksi. Activity merupakan bagian yang paling penting dalam sebuah aplikasi, karena Activity menyajikan
43 tampilan visual program yang sedang digunakan oleh pengguna.Setiap Activity dideklarasikan dalam sebuah kelas yang bertugas untuk menampilkan antarmuka pengguna yang terdiri dari Views dan respon terhadap Event.Setiap aplikasi memiliki sebuah activity atau lebih. Biasanya pasti akan ada activity yang pertama kali tampil ketika aplikasi dijalankan. Perpindahan antara activity dengan activity lainnya diatur melalui sistem, dengan memanfaatkan activitystack. Keadaan suatu activity ditentukan oleh posisinya dalam tumpukan acitivity, LIFO (Last In First Out) dari semua aplikasi yang sedang berjalan. Bila suatu activity baru dimulai, activity yang sebelumnya digunakan maka akan dipindahkan ketumpukan paling atas. Jika pengguna ingin menggunakan activity sebelumnya, cukup menekan tombol Back, atau menutup activity yang sedang digunakan, maka activity yang berada diatas akan aktif kembali. MemoryManager android menggunakan tumpukkan ini untuk menentukan prioritas aplikasi berdasarkan activity, memutuskan untuk mengakhiri suatu aplikasi dan mengambil sumber daya dari aplikasi tersebut. Ketika activity diambil dan disimpan dalam tumpukkan activity terdapat 4 kemungkinan kondisi transisi yang akan terjadi (Reto Meier, Profesional Android Application Development, 2009): •
Active, setiap activity yang berada ditumpukan paling atas, maka dia akan terlihat, terfokus, dan menerima masukkan dari pengguna. Androidakan berusaha untuk membuat activity aplikasi ini untuk untuk tetap hidup dengan segala cara, bahkan akan menghentikan activity yang berada dibawah tumpukkannya jika diperlukan. Ketika activity sedang aktif, maka yang lainnya akan dihentikan sementara.
•
Paused, dalam beberapa kasus activityakan terlihat tapi tidak terfokus pada kondisi inilah disebut paused. Keadaan ini terjadi jika activity transparan dan tidak fullscreen pada layar. Ketika activity dalam keadaan paused, dia terlihat active namun tidak dapat menerima masukkan dari pengguna. Dalam kasus ekstrim, androidakan menghentikan activity dalam keadaan paused ini, untuk menunjang sumber daya bagi activity yang sedang aktif.
•
Stopped, ketika sebuah activity tidak terlihat, maka itulah yang disebut stopped. Activityakan tetap berada dalam memori dengan semua keadaan dan informasi yang ada. Namun akan menjadi kandidat utama untuk dieksekusi oleh sistem ketika membutuhkan sumberdaya lebih. Oleh karenanya ketika
44 suatu activity dalam kondisi stopped maka perlu disimpan data dan kondisi antarmuka saat itu. Karena ketika activity telah keluar atau ditutup, maka dia akan menjadi inactive. •
Inactive, kondisi ketika activity telah dihentikan dan sebelum dijalankan. Inactiveactivity telah ditiadakan dari tumpukan activity sehingga perlu restart ulang agar dapat tampil dan digunakan kembali.
•
Kondisi transisi ini sepenuhnya ditangani oleh manajer memori android. Android akan memulai menutup aplikasi yang mengandung activityinactive, kemudian stoppedactivity, dan dalam kasus luar biasa pausedactivity juga akan di tutup.
2. Service Service adalah komponen yang berjalan di background/backend untuk melakukan operasi (long-running operation) atau melakukan pekerjaan untuk remote process. Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di background untuk waktu yang tidak terbatas.Komponen service diproses tidak terlihat, memperbarui sumber data dan menampilkan notifikasi.Service digunakan untuk melakukan pengolahan data yang perlu terus diproses, bahkan ketika Activity tidak aktif atau tidak tampak. 3. Content Providers Content provider membuat kumpulan aplikasi data secara spesifik sehingga bisa digunakan oleh aplikasi lain. Data disimpan dalam file sistem, seperti database SQLite. Content provider menyediakan cara untuk mengakses data yang dibutuhkan oleh suatu activity. ContentProviders digunakan untuk mengelola dan berbagi database.Dengan adanya ContentProvider memungkinkan antar aplikasi untuk saling berbagi data. Komponen ini sangat berguna ketika sebuah aplikasi membutuhkan data dari aplikasi lain, sehingga mudah dalam penerapannya 4. Broadcast Receiver Broadcast
Receiver
berfungsi
menerima
dan
beraksi
untuk
menyampaikan notifikasi,yang sebagian besar berasal dari sistem. Misalnya zona waktu berubah, baterai low, gambar telah selesai diambil oleh kamera, atau pengubahan referensi bahasa yang digunakan.
45
2.2.7.3 Langkah Kerja Aplikasi Android Langkah kerja aplikasi android yang dimaksudkan adalah langkah mulai user melakukan touch pada perangkat android. Langkah yang dijelaskan didasarkan pada langkah kerja aplikasi android secara garis besar. Setelah
klik
maka
sistem
android
pertama-tama
akan
memeriksa
fileAndroidManifest.xml pada project yang dibuka. Dalam file tersebut, sistem android akan mencari sebuah element
yang ditetapkan sebagai Launcher. Ditandai dengan adanya elemen yang memiliki bentuk atribut android:name=”android.intent.category.LAUNCHER”. Setelah itu, akan dibaca activity mana yang akan dijalankan pertama kali dan membuka file yang terdapat di dalamnya. File tersebut kemudian berfungsi untuk mengatur logic dari sebuah aplikasi. Berdasarkan informasi yang terdapat dalam AndroidManifest.xml, maka file dijalankan pertama kali ketka user ingin menjalankan aplikasi. Metode onCreate pada class akan dipanggil ketika activity igin dijalankan (ditampilkan
di
layar).
Yang
perlu
diperhatikan
adalah
pada
baris
setContentView(R.layout.main). Yang artinya adalah file xml yang akan digunakan menjadi tampilan activity adalah pada file dengna nama main.xml dalam folder res/layout/ pada project. File main.xml mengatur tampilan, sesuai dengan parameter yang diberikan ke metode setContentView(). LinearLayout merupakan format layout yang paling sering digunakan dalam aplikasi android. Format ini menempatkan komponen UI(button, textview, dll) secara berurutan berdasarkan penulisannya.
2.2.8
Java Java merupakan suatu teknologi perangkat lunak yang di dalamnya
mencakup bahasa pemograman. Bahasa pemrograman Java, pertama kali diplikasikan oleh Sun Microsistem sebagai bahasa yang mendukung program
46 utilities, permainan, dan aplikasi bisnis. Hal tersebut dikarenakan Java merupakan suatu platform yang memiliki virtual machine danlibrary yang diperlukan untuk menulis dan menjelaskan suatu program. Java sendiri merupakan bahasa pemrograman yang berbasis objek, maksudnya adalah semua aspek yang terdapat pada Java adalah objek sehingga sangat memudahkan untuk mendesain, membuat dan mengembangkan program Java dengan cepat.Kelebihan ini juga membuat program Java menjadi mudah untuk digunakan oleh banyak orang dan platform penjelajah web.