LAPORAN TUGAS AKHIR
T.SY.AMANDA REFITA 152406068
PROGRAM STUDI TEKNIK INFORMATIKA D3
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2018
APLIKASI PENDETEKSI KERUSAKAN HANDPHONE BERBASIS ANDROID
LAPORAN TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya
T.SY.AMANDA REFITA 152406068
PROGRAM STUDI TEKNIK INFORMATIKA D3
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2018
PERNYATAAN
APLIKASI PENDETEKSI KERUSAKAN HANDPHONE BERBASIS ANDROID
LAPORAN TUGAS AKHIR
Saya menyatakan bahwa laporan tugas akhir ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juli 2018
T. Sy. Amanda Refita 152406068
ABSTRAK
APLIKASI PENDETEKSI KERUSAKAN HANDPHONE BERBASIS ANDROID Oleh :
T. Sy. Amanda Refita (152406068)
Angka pengguna gadget sendiri di Indonesia sendiri cukup tinggi. Tapi jumlah gadget yg beredar malah lebih banyak daripada pnduduk Indonesia itu sendiri. Jika di rata-rata penduduk pulau jawa memiliki masing-masing 2 smartphone. Fakta ini menunjukan bahwa betapa bergantungnya kita terhadap gadget terutama smartphone.
Namun terkadang yang menjadi masalah jika smartphone kita memiliki masalah/rusak pada saat kita memerlukan smartphone tersebut. Otomatis smartphone tersebut tidak dapat membantu menyelesaikan masalah kita. Cara yang harus kita lakukan apabila smartphone kita rusak adalah membawanya ke tempat reparasi smartphone. Namun terkadang banyak sekali diantara kita yang sama sekali tidak mengerti tentang smartphone dan penyebab kerusakan yang terjadi pada smartphone tersebut. Dengan demikian dibutuhkan sebuah rancangan aplikasi pendeteksi kerusakan pada handpone. Metode yang digunakan dalam perancangan aplikasi ini adalah pengumpulan data. Perangkat lunak database aplikasi ini adalah MySQL, menggunakan bahasa pemrogramaan JAVA. Dengan adanya aplikasi ini diharapkan dapat membantu pengguna daalam mengetahui kerusakan pada handpone nya.
Kata Kunci : Handphone, JAVA, Deteksi
ABSTRACT
DETECTION APPLICATION OF HANDPHONE DAMAGE BASED ON ANDROID
Submitted by
T. Sy. Amanda Refita (152406068)
The number of users own gadgets in Indonesia itself is quite high. But the number of gadgets that circulate even more than the Indonesian population itself. If the average population of Java island has each 2 smartphones. This fact shows that how dependent we are on gadgets especially smartphones. But sometimes that becomes a problem if our smartphone has a problem / broken when we need the smartphone.
Automatic smartphone can not help solve our problem. The way we should do if our smartphone is damaged is to take it to the smartphone repair. But sometimes a lot of us who do not understand about the smartphone and the cause of damage that occurred on the smartphone. Thus required a design of damage detection applications on handpone.
The method used in the design of this application is data collection. This application database software is MySQL, using JAVA programming language. With this application is expected to help users daalam know the damage to his handpone.
Keywords: Mobile, JAVA, Detection
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang, dengan limpah karunia-Nya Penulis dapat menyelesaikan penyusunan laporan tugas akhir ini dengan judul Perancangan Aplikasi Pengaduan Masyarakat di Kecamatan Secanggang Menggunakan Android.
Terima kasih penulis sampaikan kepada Bapak Dr. Syahriol Sitorus, S.Si., M.IT selaku pembimbing yang telah meluangkan waktunya selama penyusunan laporan tugas akhir ini. Terima kasih kepada Ibu Dra. Normalina Napitupulu, M.Sc dan Bapak Drs. James Piter Marbun, M.Kom selaku ketua program studi dan sekertaris program studi D3 Teknik Informatika FMIPA-USU Medan, dekan dan wakil dekan FMIPA USU, seluruh staf dan dosen Program studi D3 Teknik Informatika FMIPA USU, pegawai dan rekan-rekan kuliah. Akhirnya tidak terlupakan kepada Bapak, Ibu dan keluarga yang selama ini memberikan bantuan dan dorongan yang diperlukan. Semoga Tuhan Yang Maha Esa akan membalasnya.
Medan, Juli 2018
T. Sy. Amanda Refita
DAFTAR ISI
Halaman
PENGESAHAN LAPORAN TUGAS AKHIR i
ABSTRAK ii
ABSTRACT iii
PENGHARGAAN iv
DAFTAR ISI v
BAB 1 PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metode Penelitian 3
1.7 Sistematika Penulisan Tugas Akhir 4
BAB 2 TINJAUAN PUSTAKA
2.1 Aplikasi 6
2.2 Sistem Operasi Android 6
2.2.1 Sejarah Android 7
2.2.2 Perkembangan Android 8
2.3 Platform Android 12
2.4 Java 13
2.5 Android Studio 14
2.6 Flowchart 15
2.6.1 Simbol pada Flowchart 15
BAB 3 PERANCANGAN SISTEM
3.1 Perancangan Sistem 18
3.2 Data Flow Diagram (DFD) Perancangan Aplikasi 18
3.2.1 Diagram Konteks Aplikasi 18
3.2.2 Data Flow Diagram (DFD) 19
3.3 Flowchart Program Aplikasi User 20
3.4 Perancangan Database Aplikasi 22
3.4.1 Struktur Tabel 22
3.5 Perancangan Antar Muka Pengguna Aplikasi 23
BAB 4 IMPLEMENTASI SISTEM
4.1 Pengertian Implementasi Sistem 27
4.2 Tujuan Implementasi 27
4.3 Komponen Utama Dalam Implementasi Sistem 28
4.3.1 Kebutuhan Perangkat Keras (Hardware) 28
4.3.2 Kebutuhan Perangkat Lunak (Software) 28
4.3.3 Kebutuhan Brainware 28
4.4 Tampilan Halaman Aplikasi 29
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan 32
5.2 Saran 32
DAFTAR PUSTAKA
1.1 Latar Belakang
Ponsel cerdas (smartphone) adalah telepon genggam yang mempunyai kemampuan dengan pengunaan dan fungsi yang menyerupai komputer. Pada zaman sekarang ini, semua orang pasti memiliki smartphone untuk kehidupan sehari-hari karena smartphone sangat membantu kita dalam mengerjakan beberapa hal. Dengan smartphone kita dapat lebih cepat dan lebih mudah dalam berkomunikasi dan bahkan sekarang sudah banyak aplikasi yang dapat membantu kita dalam kehidupan sehari- hari.
Oleh karna itu tidak bisa dipungkiri lagi bahwa kita memang sangat memerlukan smartphone di era sekarang ini. Angka pengguna gadget sendiri di Indonesia sendiri cukup tinggi. Tapi jumlah gadget yg beredar malah lebih banyak daripada pnduduk Indonesia itu sendiri. Jika di rata-rata penduduk pulau jawa memiliki masing-masing 2 smartphone. Fakta ini menunjukan bahwa betapa bergantungnya kita terhadap gadget terutama smartphone. Namun terkadang yang menjadi masalah jika smartphone kita memiliki masalah/rusak pada saat kita memerlukan smartphone tersebut.
Otomatis smartphone tersebut tidak dapat membantu menyelesaikan masalah kita. Cara yang harus kita lakukan apabila smartphone kita rusak adalah membawanya ke tempat reparasi smartphone. Namun terkadang banyak sekali diantara kita yang sama sekali tidak mengerti tentang smartphone dan penyebab kerusakan yang terjadi pada smartphone tersebut.
Ada beberapa penelitian yang telah dibuat sebelumnya yang menjadi referensi untuk memperbanyak bahan kajian pada penelitian penulis, salah satunya yaitu Aplikasi ApaSakitku yang dikembangkan oleh Smartindo Acces. Aplikasi ini dapat mendeteksi kemungkinan penyakit yang diderita pasien berdasarkan gejala yang dirasakan pasien. Tidak hanya mendeteksi penyakit tapi masih banyak fitur lain yang menarik. (Gawai Sehat, 2016)
Selain itu juga terdapat aplikasi bernama Device Assist. Aplikasi ini mempunyai fungsi untuk mendeteksi kerusakan seperti konsumsi baterai, menjangkau konektivitas dan juga berguna untuk membantu memberikan trik agar ponsel anda bekerja lebih ringan. Jika suatu saat nantinya ada kendala atau kerusakan yang dialami hp anda, secara otomatis aplikasi tersebut akan memberikan notifikasi atau pemberitahuan kepada pengguna Android yang terpasang aplikasi ini untuk segera memperbaikinya.
Melihat keadaan ini, mendorong penulis untuk membuat suatu aplikasi yang dapat membantu untuk mendeteksi kerusakan yang terjadi pada smartphone yang akan dilanjutkan untuk pembuatan tugas akhir yang akan diberi judul “APLIKASI PENDETEKSI KERUSAKAN HANDPHONE BERBASIS ANDROID”.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah dipaparkan, maka rumusan masalah dalam penulisan ini adalah bagaimana cara agar pemakai android dapat mengetahui kerusakan apa yang terjadi pada androidnya.
1.3 Batasan Masalah
Batasan masalah dilakukan agar penulis dapat memberikan pemahaman yang terarah dan sesuai dengan yang diharapkan. Permasalahan yang akan dibahas pada aplikasi ini antara lain :
1. Aplikasi ini hanya dapat mendeteksi beberapa masalah yang sudah ditentukan dan dimasukkan kedalam database
2. Apabila masalah yang diinput tidak ada di dalam database maka tidak akan ada solusi yang ditampilkan, namun akan tetap ada tampilan hubungi teknisi
3. Solusi yang diberikan tidak selalu tepat dengan masalah yang diinput, karena terkadang satu masalah dapat disebabkan oleh beberapa kerusakan
1.4 Tujuan Penelitian
Berdasarkan latar belakang dan rumusan masalah yang telah diuraikan, maka tujuan dari penelitian ini adalah :
1. Memenuhi sebagian syarat mengikuti Ujian Tugas Akhir Program Diploma III ( DIII) Program Studi Teknik Informatika di Universitas Sumatera Utara.
2. Untuk mempermudah pemakai android dalam mencari tahu apa penyebab kerusakan yang terjadi pada androidnya
1.5 Manfaat Penelitian
Berdasarkan tujuan yang telah diuraikan, maka adapun manfaat dari penelitian ini adalah :
a. Bagi penulis
Untuk membantu dalam penyusunan Laporan Semester sebagai syarat untuk mengikuti Ujian Tugas Akhir program Diploma III (D3) Program Studi Teknik Informatika di Universitas Sumatera Utara. Selain itu, penulisan laporan ini diharapkan dapat berguna bagi penulis sendiri untuk menambah wawasan tentang Pembuatan Aplikasi Musik Downloader Menggunakan Android.
b. Dengan adanya aplikasi ini diharapkan pemakai android tidak harus membawa androidnya ke tempat reparasi hanya untuk mengetahui apa masalah pada kerusakan androidnya
c. Sebagai bahan refensi yang akan datang.
1.6 Metode Penelitian
Metode adalah suatu cara atau teknik yang sistematik untuk mengerjakan atau menyelesaikan sesuatu. Berikut ini metodologi penelitian yang digunakan dalam membangun aplikasi ini, yaitu :
1. Penelitian Pustaka
Penelitian yang dilakukan penulis di perpustakaan dan internet untuk mendapatkan bahan teoritis untuk membangun aplikasi yang efisien dan baik.
2. Pengumpulan Data
Pada tahap ini penulis mengumpulkan semua data yang telah diperoleh dan mengelompokkan data ke dalam beberapa bagian, agar dapat mempermudah dalam perancangan aplikasi
3. Perancangan (Desain)
Setelah terkumpul data, penulis akan mendesain aplikasi sesuai dengan data – data yang telah diperoleh.
4. Penulisan Program (Coding)
Membuat program didalam aplikasi agar dapat berjalan sesuai dengan yang difungsikan.
5. Uji Program
Pengujian akan dilaksanakan jika program telah selesai dikerjakan. Bila saat pengujian terdapat kesalahan maka perlu adanya perbaikan terhadap program agar menghasilkan hasil yang maksimal.
1.7 Sistematika Penulisan Tugas Akhir
Agar dapat memberikan gambaran yang jelas pada penulisan tugas akhir ini, maka penulis membaginya dalam beberapa bab sebagai berikut :
BAB I : PENDAHULUAN
Bab ini menguraikan tentang latar belakang, rumusan masalah, tujuan, manfaat, metode penelitian, tinjauan pustaka, sistematika penulisan tugas akhir.
BAB II : TINJAUAN PUSTAKA
Bab ini menguraikan tentang uraian teoritis mengenai pengertian- pengertian dan mengenai bahasa pemprograman yang digunakan.
BAB III : PERANCANGAN SISTEM
Bab ini menguraikan tentang perancangan sistem mulai dari perancangan layout, diagram konteks, ERD, hingga flowchart sistem.
BAB IV : IMPLEMENTASI SISTEM
Berisikan defenisi mengenai dan tujuan implementasi sistem, output program serta komponen – komponen kebutuhan sistem.
BAB V : KESIMPULAN DAN SARAN
Berisikan kesimpulan dan saran yang dikutip oleh penulis selama proses pembangunan aplikasi.
2.1 Aplikasi
Aplikasi perangkat lunak (bahasa Inggris: software application) adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer, tetapi tidak secara langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang menguntungkan pengguna. Dari pengertian tersebut, dapat disimpulkan bahwa aplikasi merupakan sofware yang berfungsi untuk melakukan berbagai bentuk pekerjaan atau tugas-tugas tertentu seperti penerapan, penggunaan dan penambahan data.
Beberapa aplikasi yang digabung bersama menjadi suatu paket kadang disebut sebagai suatu paket atau suite aplikasi (aplication suite). Contohnya adalah microsft office dan openoffice.org, yang menggabungkan suatu aplikasi pengolah kata, lembar kerja, serta beberapa aplikasi lainnya. Aplikasi-aplikasi dalam suatu paket biasanya memiliki antarmuka pengguna yang memiliki kesamaan sehingga memudahkan pengguna unutk mempelajari dan menggunakan tiap aplikasi. Sering kali, mereka meiliki kemampuan untuk saling berinteraksi satu sama lain sehingga menguntungkan pengguna. Contohnya, suatu lembar kerja dapat dibenamkan dalam satu dokumen pengolah kata walaupun dibuat pada aplikasi lembar kerja yang terpisah.
2.2 Sistem Operasi Android
Nazruddin Safaat H (2011) dalam bukunya yang berjudul “Android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Beerbasis Android”
(2014), mengemukakan bahwa android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Pada buku karya Akhmad Dharma Kasman yang berjudul “Kolaborasi Dahsyat Android
dengan PHP & MYSQL” (2013), android adalah sebuah sistem operasi telepon seluler dan komputer tablet layar sentuh (touchscreen) yang berbasis Linux.
Namun seiring perkembangannya, Android berubah menjadi platform yang begitu cepat dalam malakukan inovasi. Hal ini tidak lepas dari pengembang utama dibelakangnya yaitu Google. Google-lah yang mengakusisi android, kemudian membuatkan sebuah platform. Platform Android terdiri dari sistem operasi berbasis Linux, sebuah GUI (Graphic User Interface), sebuah web browser dan aplikasi end- user yang dapat di download dan juga para pengembang bisa dengan leluasa berkarya serta menciptakan aplikasi yang terbaik dan terbuka untuk digunakan oleh berbagai macam perangkat.
2.2.1 Sejarah Android
Pada awalnya, Android Inc. merupakan sebuah perusahaan software kecil yang didirikan pada bulan Oktober 2003 di Palo Alto, California, USA. Didirikan oleh beberapa senior di beberapa perusahaan yang berbasis IT & Communication; Andy, Rubin, Rich Miner, Nick Sears dan Chris White. Menurut Rubin, Android Inc.
didirikan untuk mewujudkan mobile device yang lebih peka terhadap lokasi dan preferensi pemilik. Dengan kata lain, Android Inc. ingin mewujudkan mobile device yang lebih mengerti pemiliknya.
Konsep yang dimiliki Android Inc. ternyata menggugah minat Google untuk memilikinya. Pada bulan Agustus 2005, akhirnya Android Inc. diakuisisi oleh Google Inc. seluruh sahamnya dibeli oleh Google. Saat ini terdapat dua jenis distributor sistem operasi bagi mobile phone di dunia. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Service (GMS) dan yang kedua adalah yang benar-benar bebas distribusinya tanpa dukungan langsung dari Google atau dikenal dengan Open Handset Distribution (OHD).
Sistem operasi ini membuka pintu untuk para developer untuk mengembangkan software ini dengan Android SDK (Software Development Kit), yang menyediakan tool dan API yang dibutuhkan untuk memulai mengembangkan aplikasi pada platform Android menggunakan pemrograman Java. Pada bulan September 2007, Google mulai mengajukan hak paten aplikasi telepon seluler.
Disusul dengan dikenalkannya perangkat seluler Android yang pertama pada tahun 2008, yaitu HTC Dream yang menggunakan Android versi 1.0.
Hadirnya HTC Dream telah mendorong perusahaan-perusahaan perangkat keras lainnya untuk ikut menggunakan sistem operasi Android.
Kemudian pada tahun 2008 terdapat beberapa perusahaan yang ikut bergabung dalam Android Arm Holdings, yaitu Atheros Communications diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, dan Vodafone Group Plc. Saat ini, sistem operasi Android menjadi pilihan yang menguntungkan bagi banyak vendor smartphone, karena memiliki biaya lisensi yang lebih murah dan sifatnya yang semi-open source. Selain itu, Android tentunya juga akan support dengan berbagai layanan dari Google.
2.2.2 Perkembangan Android
Keunikan dari nama sistem operasi (OS) Android adalah dengan menggunakan nama makanan hidangan penutup (dessert). Selain itu juga nama-nama OS Android memiliki huruf awal berurutan sesuai abjad. Perkembangan versi Android menurut buku karya Alfa Satyaputra dan Eva Maulina Aritonang adalah sebagai berikut:
1. Android 1.0 Apple Pie
Telah dirilis setelah versi Android beta dan menjadi versi komersial pertama yang hadir untuk para konsumen. Diantara fitur yang menjadi andalan saat itu adalah:
a. Android Market. Para pengguna bisa memanfaatkan aplikasi-aplikasi yang ada di web itu dengan men-download atau meng-upgrade. Banyak sekali aplikasi termasuk game android yang boleh diunduh secara gratis.
b. Kamera. Tetapi belum ada fasilitas yang lengkap untuk membuat hasil kamera itu maksimal, seperti resolusi, kualitas gambar, kejernihan, dan lainnya.
c. Shortcut icon. Dengan itu, pengguna bisa dengan mudah masuk ke aplikasi, pesan, telepon atau yang lain karena bisa diletakkan pada homescreen.
2. Android 1.1 Banana Bread
Android 1.1 dirilis pada tanggal 9 Februari 2009 yang memiliki kode nama Banana bread serta ukuran layar 320×480 HVA.
3. Android 1.5 Cupcake
Versi ini mulai memakai nama-nama makanan agar mudah diingat. Di antara fitur yang diperbaharui adalah:
a. Dapat merekam sekaligus memutar video berekstensi MPEG-4 serta 3GP.
b. Dapat meng- copy dan paste tulisan saat membuka blog atau website.
c. Bisa menambahkan foto di kontak favorit.
d. Layar dilengkapi dengan animasi-animasi.
e. Layar dapat berputar secara otomatis.
4. Android 1.6 Donut
a. Terdapat history bookmark untuk kontak dan web. Ini akan mempermudah jika kita ingin melihat web yang pernah kita buka.
b. Beberapa aplikasi dapat melafalkan teks.
c. Kamera, perekam video, serta galery sudah diperbaharui agar lebih maksimal penggunaannya.
5. Android Éclair
a. Penambahan fitur bluetooth 2.1
b. Fitur pencarian SMS dan MMS yang disimpan dan SMS yang paling lama akan terhapus apabila mencapai batas yang ditentukan.
c. Keyboardvirtual diperbaharui agar mudah untuk mengetik tulisan.
d. Penambahan Google Maps versi 3.1.2
e. Versi : Android 2.0 , Android 2.0.1 , dan Android 2.1 6. Android 2.2–2.2.3 Froyo
a. Pembaharuan terhadap kecepatan kinerja android.
b. Peningkatan peluncur aplikasi dengan jalan pintas ke Telepon dan aplikasi penjelajah web.
c. Memperbaharui fitur USB tethering serta hotspot Wi-Fi.
d. Terdapat fitur upgrade otomatis pada Google Play.
e. Kontak dapat di-share memakai Bluetooth.
f. Penambahan aplikasi Adobe Flash.
7. Android Gingerbread
a. Akurasi terhadap keyboard virtual telah ditingkatkan. Ditambah lagi dengan fitur input suara.
b. Fitur copypasteditingkatkan untuk mempermudah penggunanya.
c. Download Manager, untuk mempermudah proses pengunduhan beberapa aplikasi termasuk game android.
d. Versi : Android 2.3 – 2.3.2 , Android 2.3.3 – 2.3.7 8. Android Honeycomb
a. Penambahan sistem bar yang berfungsi untuk mempercepat pemberitahuan, status, serta tombol navigasi.
b. Fitur untuk melihat aplikasi yang sedang berjalan.
c. Galery baru bisa melihat foto-foto dengan fullscreen d. Aplikasi Google Talk. Berfungsi sebagai obtolan.
e. Versi : Android 3.0 , Android 3.1 , dan Android 3.2 9. Android Ice Cream Sandwich
a. Membuat folder lebih gampang karena cukup dengan drag dan drop.
b. Tambahan webbrowser bawaan dari Chrome. Dapat membuka laman sampai 16 tab
c. Beberapa huruf baru telah ditambahkan.
d. Data internet bisa dibatasi sesuai keinginan. Internet akan mati apabila mencapai batas tersebut.
e. Versi : Android 4.0 -4.0.2 , dan Android 4.0.3 – 4.0.4 10. Android Jelly Bean
a. Akses lebih cepat.
b. Dapat mematikan pemberitahuan pada aplikasi tertentu
c. Shortcut serta widget dapat disusun ulang atau diubah ukurannya sesuai keinginan.
d. Aplikasi pada kamera ditambah.
e. Dapat menambahkan widget aplikasi tanpa harus root terlebih dulu.
f. Versi : Android 4.1 , Android 4.2 , dan Android 4.3
11. Android 4.4 KitKat
a. Status bar serta navigasi menjadi transparan pada homescreen.
b. Ilengkapi dengan Infrared
c. Akses API ditingkatkan.
d. Mode layar penuh diperbaharui
e. Tambahan BluetoothMessageAccessProfile.
12. Android 5.0 Lollipop
a. Sistem keamanan Lollipop dijalankan diatas sistem SeLinux.
b. Tampilan lebih berwarna dan responsif.
c. Menawarkan fitur priority yang fungsinya tidak kalah dengan fitur Apple Do Not Disturb milik iPhone.
d. Lebih hemat baterai.
13. Android 6.0 Marshmallow
Android Marshmallow memperkenalkan model izin yang didesain ulang:
sekarang ada hanya delapan kategori izin, dan aplikasi yang tidak lagi secara otomatis diberikan semua hak akses mereka ditentukan pada waktu instalasi.
Sebuah sistem opt-in sekarang digunakan, di mana pengguna akan diminta untuk memberikan atau menolak izin individu (seperti kemampuan untuk mengakses kamera atau mikrofon) untuk aplikasi ketika mereka dibutuhkan.
Aplikasi mengingat hibah izin mereka, dan mereka dapat disesuaikan oleh pengguna setiap saat. Model izin baru akan digunakan hanya oleh aplikasi yang dikompilasi untuk Marshmallow menggunakan kit pengembangan perangkat lunak (SDK) tersebut, sementara semua aplikasi lainnya akan terus menggunakan model izin sebelumnya.Android Marshmallow juga memiliki skema manajemen daya baru bernama Doze yang mengurangi tingkat aktivitas aplikasi latar belakang saat perangkat menentukan bahwa itu tidak sedang aktif ditangani oleh pengguna, yang, menurut Google, menggandakan pemakaian baterai perangkat. Hal ini juga memperkenalkan pilihan untuk mengatur ulang semua pengaturan jaringan, tersedia untuk pertama kalinya pada Android, yang membersihkan pengaturan terkait jaringan untuk Wi-Fi, Bluetooth, dan koneksi seluler.
14. Android 7.0 Nougat
Google akhirnya merilis sistem operasi Android Nougat 7.0. Untuk awalnya, beberapa model ponsel Google Nexus akan menerima update Over the Air
(OTA) sistem operasi Android terbaru itu. Sebelum menerima nama Nougat, Google hanya memberi nama sandi N pada sistem operasinya itu. Perusahaan teknologi raksasa asal Amerika Serikat ini kemudian membuka polling untuk mencari nama yang tepat. Dan setelah menyeleksi dari ratusan nama yang masuk, terpilihlah nama Nougat. Android Nougat memiliki fitur yang bisa membuat produktivitas penggunanya meningkat. Salah satunya adalah fitur multi-window yang memungkinkan pengguna untuk menjalankan aplikasi secara bersamaan dengan dua tampilan yang terbelah.
15. Oreo
Dengan preview yang dirilis pada 21 maret 2017, Android Oreo mengusung pembaruan yang tidak begitu banyak. Meski begitu Android Oreo juga mengalami berbagai peningkatan yang baik seperti Booting yang lebih cepat, cuplikan notifikasi instan pada aplikasi dan peningkatan multi-windows.
2.3 Platform Android
Platform adalah teknologi yang digunakan sebagai dasar atas mana aplikasi yang lainnya, proses atau teknologi yang dibangun. Pada komputer pribadi, platform adalah perangkat lunan dasar atau computer itu sendiri dan perangkat lunak atau sistem operasi yang mana perangkat lunak lainnya bisa berjalan.
Android diuji sebagai platform mobile pertama yang lengkap, terbuka, dan bebas. Para desainer dapat melakukan pendekatan yang komprehensif ketika mereka sedang mengembangkan platform android dalam membangun perangkat lunak dan memungkinkan untuk peluang pengembangan aplikasi. Platform android disediakan melalui lisensi open source. Pengembang dapat dengan bebas untuk mengembangkan aplikasi yang menggunakan linux kernel 2.6 ini.
Android adalah aplikasi yang bebas untuk dikembangkan. Tidak ada lisensi atau biaya royalty untuk dikembangkan pada platform android ini. Tidak ada biaya keanggotaan yang diperlukan. Tidak ada biaya pengujian, bahkan tidak ada kontrak yang diperlukan. Aplikasi untuk android dapat didistribusikan dan diperdagangkan dalam bentuk apapun.
Dalam hal ini, android dibangun atas dasar sistem operasi linux yang bersifat open source. Android memilih linux sebagai dasar pembuatannya dikarenakan linuk memilki probabilitas yang baik, sistem keamanan yang bagus serta fitur-fitur menarik.
Linux merupakan sisteem operasi dengan kemanan yang tinggi. Android mengandalkannya karena keamanan yang dimiliki linux tersebut. Seluruh aplikasi android berjalan sesuai dengan proses-proses linux. Linux hadir dengan banyak fitur yang bermanfaat. Android mengambil banyak manfaatnya, seperti dukungan manajemen memori, manajemen power, dan jaringan (Gargenta, 2011).
2.4 Java
Java menurut defenisi dari Sun adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada computer standalone ataupun pada lingkungan jaringan. Java dikembangkan pada bulan Agustus 1991, dengan nama semula Oak. Pada Januari 1995, karena nama Oak dianggap kurang komersial, maka diganti menjadi Java. Pada Desember 1998, Sun memperkenalkan nama “Java 2”
(J2) sebagai generasi kedua dari Java Platform. Konvensi nama baru ini diterapkan untuk semua edisi Java yaitu Standard Edition (J2SE), Enterprise Edition (J2EE), dan Micro Edition (J2ME). Ada tiga platform Java yang telah didefenisikan, yang masing-masing diarahkan untuk tujuan tertentu dan untuk lingkungan yang berbeda- beda, yaitu sebagai berikut :
1. Standart Edition (J2SE), merupakan inti dari Bahasa pemrograman java. J2SE di desain untuk jalan pada computer desktop dan computer workstation.
2. Enterprise Edition (J2EE). Dengan built-in mendukung untuk services. JSP dan XML, edisi ini ditunjukkan untuk aplikasi berbasis server.
3. Micro Edition (J2ME). Di desain untuk piranti dengan memori terbatas, layar display terbatas dan power pemrosesan yang juga terbatas.
Bahasa pemrograman Java mendukung multithreading, artinya program dapat dibuat untuk dijalanka oleh thread tertentu. Beberapa thread (baik yang menjalankan program java ataupun program lain) dapat dijalankan secara bersam-sama.
2.5 Android Studio
Android Studio adalah sebuah IDE untuk Android Development yang diperkenalkan google pada acara Google I/O 2013. Android Studio merupakan pengembangkan dari Eclipse IDE, dan dibuat berdasarkan IDE Java populer, yaitu IntelliJ IDEA. Android Studio merupakan IDE resmi untuk pengembangan aplikasi Android.
Sebagai pengembangan dari Eclipse, Android Studio mempunyai banyak fitur- fitur baru dibandingkan dengan Eclipse IDE. Berbeda dengan Eclipse yang menggunakan Ant, Android Studio menggunakan Gradle sebagai build environment.
Fitur-fitur lainnya adalah sebagai berikut :
1. Menggunakan Gradle-based build system yang fleksibel.
2. Bisa membuild multiple APK.
3. Template support untuk Google Services dan berbagai macam tipe perangkat.
4. Layout editor yang lebih bagus.
5. Built-in support untuk Google Cloud Platform, sehingga mudah untuk intgrasi dengan Google Cloud Messaging dan App Engine.
6. Import library langsung dari Maven repository.
Ketika awal saya berkenalan dengan Android, saya menggunakan Eclipse sebagai IDE untuk membuat aplikasi Android. Jika dibandingkan dengan Android Studio memang dari sisi build lebih baik dibandingkan Eclipse, karena Android Studio menggunakan Gradle. Ditambah lagi berbeda dengan Eclipse, kita tidak perlu lagi dipusingkan dengan dependencies package pada Android Studio. Satu hal tambahan lagi yang membuat Android Studio unggul adalah dukungan layout xml editor secara visual yang jauh lebih baik daripada Eclipse. Walaupun begitu, Android Studio saat ini masih dalam tahap beta dan belum mempunyai dukungan untuk NDK/Native Development Kit.
2.6 Flowchart
Flowchart (diagram alir) adalah sebuah diagram yang merepresentasikan sebuah algoritma atau proses menggunakan beberapa bangun geometri untuk
memperlihatkan langkah-langkah yang dilakukan oleh program dalam menyelesaiklan masalah (Opim Salim Sitompul, 2014). Berikut ini adalah simbol - simbol standar pada sebuah flowchart beserta fungsinya.
2.6.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:
Tabel 2.1. Simbol Flowchart
No Nama Simbol Fungsi
1 Terminator
Digunakan untuk mewakili simbol
start dan end
2 Arrow Menunjukkan alur
proses
3 Rectangle
Menunjukkan langkah pemrosesan
4 Trapezium Simbol untuk
input-output
5 Document Digunakan untuk mewakili output
6 Decision
Simbol yang berfungsi untuk
menyatakan keputusan
7 Preparation
Simbol yang berfungsi untuk proses inisialisasi
atau pemberian harga awal
8 Connector
Simbol untuk keluar- masuk atau penyambungan peoses
pada halaman yang berbeda
9 Manual input
Simbol untuk memasukkan data secara manual melaui
keyboard
10 Manual operation
Simbol yang menunjukkan pengolahan yang tidak
dilakukan oleh computer
11 Predefine process
Simbol untuk pelaksanaan suatu
bagian
12 Display
Simbol yang menyatakan peralatan output yang digunakan
seperti layar, printer, plotter dan sebagainya
13 Magnetic disk
Simbol yang digunakan untuk pemyimpanan data ke
database
14 Storage Data
Simbol yang menyatakan input yang berasal dari disk atau disimpan ke disk
3.1 Perancangan Sistem
Membangun sebuah aplikasi pada umumnya akan di awali oleh perancangan sistem terlebih dahulu. Dimana perancangan sistem adalah sebuah proses yang secara garis besar meliputi langkah-langkah operasi dalam proses pengolahan data dan prosedur untuk mendukung operasi sistem.
3.2 Data Flow Diagram (DFD) Perancangan Aplikasi
Data Flow Diagram (DFD) merupakan model dari system untuk menggambarkan pembagian sistem ke modul yang lebih kecil. Salah satu keuntungan menggunakan diagram alir data adalah memudahkan pemakai yang kurang menguasai bidang computer untuk mengerti sistem yang akan dikerjakan.
DFD juga merupakan alat perancangan sistem yang berorientasi pada alir data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh prosesional sistem kepada pemakai maupun pembuat program.
3.2.1 Diagram Konteks Aplikasi
Berikut adalah diagram konteks dari aplikasi Fix It. Diagram konteks ini hanya menampilkan entitas yang terdapat dalam aplikasi tersebut yakni user dan admin.
Gambar 3.1. Diagram Konteks Aplikasi Pendeteksi Kerusakan Handphone
3.2.2 Data Flow Diagram (DFD)
Berikut adalah Data Flow Diagram dari aplikasi pendeteksi kerusakan handphone :
Gambar 3.2 Data Flow Diagram
3.3 Flowchart Program Aplikasi User
Berikut adalah alur flowchart Aplikasi User untuk aplikasi yang dibangun :
Gambar 3.3. Flowchart aplikasi user
Gambar 3.4. Flowchart aplikasi user (lanjutan)
Gambar 3.5. Flowchart aplikasi user (lanjutan)
Dari bagan flowchart diatas tampak bahwa pengguna dapat melakukan beberapa hal melalui mobile. Jika user mendapati masalah pada handphone nya, user dapat langsung mencari tau nya dengan memasukkan masalah sesuai dengan kata kunci yang diberikan. Setelah mengetahui masalah dari handphone tersebut, user bisa langsung menghubungi bagian teknisi untuk memperbaiki masalah handphone.
3.4 Perancangan Database Aplikasi
Database merupakan salah satu komponen yang penting dalam sistem komputerisasi, karena database merupakan kumpulan dari beberapa file, dalam hal ini file-file tersebut dikelompokkan secara terstruktur dalam eberapa tabel sesuai dengan informasi yang terkandung didalamnya.
3.4.1 Struktur Tabel
Berikut ini rancangan tabel yang penulis digunakan dalam membangun aplikasi ini :
Tabel 3.1. Entitas masalah dan solusi Field Tipe Data
Id Int(11)
Masalah Text Solusi Text kategori Text
3.5 Perancangan Antar Muka Pengguna Aplikasi
Berikut adalah bentuk rencana perancangan user interface pada aplikasi Fix It berbasis Android yang akan dibangun :
1. Tampilan Splashscreen
Splashscreen merupakan tampilan awal dari aplikasi quick report. Di halaman splashscreen terdiri dari logo aplikasi dan progress bar. Berikut tampilan splash screen :
Gambar 3.3. Tampilan Splashscreen Logo
2. Tampilan Halaman Menu Utama
Halaman menu utama terdiri dari menu input masalah, tentang aplikasi dan hubungi teknisi. Berikut tampilan rancangan halaman menu utama :
Gambar 3.4 Tampilan menu utama
3. Tampilan Halaman Input Masalah
Untuk halaman input masalah terdiri dari kolom untuk input masalah dan mencari masalah. Berikut tampilan dari halaman input masalah :
Gambar 3.5. Tampilan halaman input masalah
4. Tampilan Halaman Hasil Tes
Halaman hasil tes berisi hasil deteksi dari masalah yang telah diinput. Berikut tampilan halaman hasil tes :
Gambar 3.6. Tampilan halaman hasil tes
5. Tampilan Halaman Tentang Aplikasi
Halaman ini berisi keseluruhan tentang aplikasi. Berikut tampilan dari halaman tentang aplikasi :
Gambar 3.7. Tampilan halaman tentang aplikasi
6. Tampilan Menu Hubungi Aplikasi
Halaman hubungi aplikasi akan terhubung langsung ke menu dial up.
Gambar 3.8. Tampilan menu dial up
4.1 Pengertian Implementasi Sistem
Setelah sistem dianalisis dan dirancang secara rinci, selanjutnya adalah implementasi sistem. Tahap implementasi sistem terdiri dari langkah-langkah yaitu menerapkan rencana implementasi, melakukan kegiatan implementasi, dan tindak lanjut implementasi.
4.2 Tujuan Implementasi
Tujuan-tujuan dari implementasi sistem yaitu sebagai berikut :
1. Mengkaji rangkaian sistem baik dari software maupun hardware sebagai sarana pengolah data dan penyaji informasi.
2. Menyelesaikan rancangan sistem yang ada dalam dokumen sistem yang baru atau yang telah disetujui.
3. Memastikan bahwa pemakai dapat mengoperasikan dengan mudah terhadap sistem yang baru dan mendapat informasi yang baik dan jelas.
4. Memperhitungkan bahwa sistem telah memenuhi permintaan pemakai yaitu dengan menguji sistem secara menyeluruh.
5. Memastikan bahwa sistem telah berjalan lancar dengan mengontrol dan melakukan instalasi secara benar.
4.3 Komponen Utama Dalam Implementasi Sistem
Beberapa komponen yang dibutuhkan dalam implementasi sistem yaitu perangkat keras (hardware), perangkat lunak (software), dan perangkat operator (brainware).
4.3.1 Kebutuhan Perangkat Keras (Hardware)
Komponen ini bersifat nyata secara fisik, artinya dapat dilihat dan dipergunakan, misalnya monitor, CPU (Control Processing Unit) , printer, keyboard, dan mouse.
Spesifikasi perangkat keras computer yang digunakan dalam pembuatan aplikasi ini adalah :
a. Monitor b. Harddisk
c. Memory minimal 4GB d. Keyboard dan mouse
4.3.2 Kebutuhan Perangkat Lunak (Software)
Ada beberapa software yang harus diinstal dalam pembuatan aplikasi ini, antara sebagai berikut :
a. MySQL sebagai pengelola data
b. PHP sebagai bahasa pemgrograman serverside
c. XAMPP sebagai modul untuk menghidupkan fungsi MySQL dan Apache d. Android Studio sebagai pembuat aplikasi.
4.3.3 Kebutuhan Brainware
Perangkat operator yang dapat menjalankan aplikasi ini hanyalah public.
Karna aplikasi ini dapat dipakai oleh siapa saja.
4.4 Tampilan Halaman Aplikasi
Aplikasi pendeteksi kerusakan pada handphone terdiri dari 6 halaman, yaitu halaman splashscreen, halaman menu utama, halaman input masalah, halaman tentang aplikasi, halaman hubungi teknisi dan halaman hasil kerusakan.
1. Halaman splashscreen
Halaman splashscreen terdiri dari logo aplikasi dan judul dari aplikasi tersebut.
Berikut tampilan halaman splashscreen.
Gambar 4.1. Tampilan splashscreen aplikasi 2. Halaman menu utama
Halaman menu utama terdiri dari beberapa menu yaitu menu input masalah, menu tentang aplikasi, dan menu hubungi teknisi. Berikut tampilan dari halaman menu utama :
Gambar 4.2.Tampilan halaman menu utama
3. Tampilan Halaman Menu Input Masalah
Halaman menu input masalah berisi kolom untuk input kerusakan handphone.
Berikut tampilan dari halaman menu input masalah :
Gambar 4.3. Tampilan halaman menu input masalah
Gambar 4.4. Tampilan halaman menu input masalah (hp tidak respon)
Gambar 4.5. Tampilan halaman solusi
4. Tampilan Halaman Menu Tentang Aplikasi
Halaman menu tentang aplikasi berisi informasi seputar aplikasi. Berikut tampilan halaman tentang aplikasi :
Gambar 4.6. Tampilan halaman menu tentang aplikasi
5. Tampilan Halaman Menu Hubungi Teknisi
Halaman menu teknisi terkoneksi langsung dengan dial up handphone. Berikut tampilan dari halaman menu hubungi teknisi :
Gambar 4.7. Tampilan halaman menu hubungi teknisi
5.1 Kesimpulan
Berdasarkan pembahasan pada bab-bab sebelumnya maka pada bab ini penulis dapat mengambil kesimpulan sebagai berikut :
1. Sistem ini berisi aplikasi online yang memudahkan user dalam mendeteksi kerusakan pada handphone.
2. Aplikasi ini dapat digunakan siapa saja.
3. Untuk menjalankan aplikasi ini dibutuhkan koneksi internet
5.2 Saran
Berdasarkan kesimpulan diatas maka dapat diberikan saran yang berguna untuk perkembangan aplikasi yang selanjutnya. Saran yang diberikan adalah masalah dan solusi dari kerusakan yang diberikan secara bersamaan di tampilkan di halaman hasil.
Chy Rohmanah. 2013. “Perkembangan Android”.
http://blogging.co.id/perkembangan-versi-android. Diakses: 24 Juli 2013
Bayu Niko Dahlan. 2016. “Pengertian Bahasa Pemrograman Java”.
https://www.codepolitan.com/mengenal-dan-memulai-pemrograman-java-belajar- java. Diakses : 25 Juli 2016.
Admin. 2016. “Aplikasi ApaSakitKu”. https://gawaisehat.com/2016/10/29/ketahui- sakitmu-dengan-aplikasi-apasakitku. Diakses: 29 Oktober 2016
Wikipedia. 2018. “Android”. https://id.wikipedia.org/wiki/Android_(sistem_operasi).
Diakses: 26 Juni 2018
Wafeeq. 2016. “Contoh Flowchart Sederhana”.
http://katakatamanfaat.blogspot.com/2016/
12/contoh-flowchart-sederhana.html. Diakses: 05 Desember 2016
Abdul, K. 2008. “Tuntunan Praktis Belajar Database Menggunakan Mysql”. Andi : Yogyakarta
XML
1. Activity_Main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:background="@color/colorPrimaryDark"
xmlns:android="http://schemas.android.com/apk/res/android
"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.owplus.manda.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="65dp"
android:background="#0b8a99"
tools:targetApi="lollipop">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#fff"
android:textSize="18dp"
android:textAlignment="center"
android:layout_marginTop="10dp"
android:text="WELCOME TO FIX IT\nPowered by Amanda"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerInParent="true">
<TextView
android:textColor="#fff"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAlignment="center"
android:textSize="19dp"
android:text="Deteksi kerusakan HP anda secara\ngratis dengan Fix It"/>
<LinearLayout
android:layout_marginTop="30dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/wrapKonsultasi"
android:layout_weight="1"
android:layout_width="0dp"
android:orientation="vertical"
android:layout_height="wrap_content">
<ImageView
android:layout_gravity="center"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/konsultasi"/>
<TextView
android:textColor="#fff"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Input Masalah"
android:textSize="18dp"
android:textAlignment="center"
android:layout_marginTop="10dp"
/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_marginTop="40dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/wrapTentang"
android:layout_weight="1"
android:layout_width="0dp"
android:orientation="vertical"
android:layout_height="wrap_content">
<ImageView
android:layout_gravity="center"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/about"/>
<TextView
android:textColor="#fff"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Tentang Aplikasi"
android:textSize="18dp"
android:textAlignment="center"
android:layout_marginTop="10dp"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/wrapKontak"
android:layout_weight="1"
android:layout_width="0dp"
android:orientation="vertical"
android:layout_height="wrap_content">
<ImageView
android:layout_gravity="center"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/teknisi"/>
<TextView
android:textColor="#fff"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hubungi Teknisi"
android:textSize="18dp"
android:textAlignment="center"
android:layout_marginTop="10dp"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
2. hasil.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android
"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="65dp"
android:background="@color/colorPrimary"
android:elevation="3dp"
tools:targetApi="lollipop">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#fff"
android:textSize="22dp"
android:textAlignment="center"
android:layout_marginTop="18dp"
android:text="HASIL TES"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical">
<ImageView
android:id="@+id/imgHasil"
android:layout_width="150dp"
android:layout_height="150dp"
android:src="@drawable/harddisk"
android:layout_gravity="center"/>
<TextView
android:id="@+id/masalah"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="Terjadi Masalah Pada : Harddisk"
android:textAlignment="center"
android:textSize="19dp"/>
<TextView
android:id="@+id/solusi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:lineSpacingExtra="5dp"
android:text="Solusi Yang Kami Tawarkan : \n Ganti Harddisk"
android:textAlignment="center"
android:textSize="19dp"/>
<Button
android:id="@+id/btnCall"
android:text="Hubungi Teknisi"
android:textColor="#fff"
android:background="@color/colorPrimaryDark"
android:layout_marginTop="20dp"
android:layout_gravity="center"
android:layout_width="250dp"
android:layout_height="60dp" />
</LinearLayout>
<ProgressBar
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerInParent="true"
android:id="@+id/loading"/>
<Button
android:layout_centerInParent="true"
android:id="@+id/reload"
android:text="Reload"
android:textColor="#fff"
android:background="@color/colorPrimaryDark"
android:layout_marginTop="20dp"
android:layout_gravity="center"
android:layout_width="150dp"
android:layout_height="60dp" />
</RelativeLayout>
3. input.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android
"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:padding="10dp"
android:background="@color/colorPrimary">
<EditText
android:id="@+id/input"
android:inputType="text"
android:background="#fff"
android:layout_width="match_parent"
android:padding="10dp"
android:hint="Masukkan Masalah"
android:drawablePadding="10dp"
android:layout_height="53dp"
android:drawableLeft="@drawable/loupe"/>
</LinearLayout>
</RelativeLayout>
4. tentang_aplikasi.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android
"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="65dp"
android:background="@color/colorPrimary"
android:elevation="3dp"
tools:targetApi="lollipop">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#fff"
android:textSize="18dp"
android:textAlignment="center"
android:layout_marginTop="10dp"
android:text="About Fix It\nPowered by Amanda"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TENTANG APLIKASI"
android:textSize="25dp"
android:textAlignment="center"/>
<TextView
android:lineSpacingExtra="3dp"
android:padding="15dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="17dp"
android:text="Welcome to Fix It, aplikasi yang membantu kamu mendeteksi kerusakan HP secara cepat, mudah dan gratis.\nDengan Fix It kamu dapat mengetahui kerusakan apa yang terjadi pada HP Android kamu dengan cara menginputkan masalah yang terjadi pada HP kamu lalu akan keluar solusi dari masalah tersebut.\nKamu juga dapat langsung menghubungi teknisi yang disediakan oleh Fix It.\n\nFix It dibuat dengan metode Forward Channing yaitu dengan menganalisa masalah yang dimasukkan pengguna ke form masalah."
android:layout_marginTop="15dp"
/>
</LinearLayout>
</RelativeLayout>
6. menu.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android
"
android:layout_width="match_parent"
android:layout_height="match_parent">
</RelativeLayout>
5. splash.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android
"
android:background="@color/colorPrimary"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_centerInParent="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="130dp"
android:src="@drawable/phone"
android:layout_centerInParent="true"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="FIX IT"
android:textSize="25dp"
android:textColor="#fff"
android:layout_marginTop="20dp"
android:textAlignment="center"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Deteksi Kerusakan HP secara gratis"
android:textSize="18dp"
android:textColor="#fff"
android:textAlignment="center"
android:layout_marginTop="5dp"
/>
</LinearLayout>
</RelativeLayout>
JAVA
1. MainActicity.java
package com.owplus.manda;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
public class MainActivity extends AppCompatActivity {
LinearLayout wrapToko, wrapTentang, wrapKonsultasi, wrapContact;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wrapTentang = findViewById(R.id.wrapTentang);
wrapKonsultasi =
findViewById(R.id.wrapKonsultasi);
wrapContact = findViewById(R.id.wrapKontak);
wrapKonsultasi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) { startActivity(new
Intent(MainActivity.this, Input.class));
} });
wrapTentang.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) { startActivity(new
Intent(MainActivity.this, Tentang.class));
} });
wrapContact.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String phone = "081377316228";
Intent phoneIntent = new Intent(Intent.ACTION_DIAL, Uri.fromParts(
"tel", phone, null));
startActivity(phoneIntent);
} });
} }
2. Hasil.java
package com.owplus.manda;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.bumptech.glide.Glide;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
/**
* Created by HP on 3/13/2018.
*/
public class Hasil extends Activity { ImageView img;
TextView masalah, solusi;
Button btnCall, reload;
ProgressBar loading;
String input;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.hasil);
img = findViewById(R.id.imgHasil);
masalah = findViewById(R.id.masalah);
solusi = findViewById(R.id.solusi);
btnCall = findViewById(R.id.btnCall);
reload = findViewById(R.id.reload);
loading = findViewById(R.id.loading);
btnCall.setOnClickListener(new View.OnClickListener() {
Intent call = new Intent(Intent.ACTION_DIAL);
@Override
public void onClick(View v) { String num = "081377316228";
Intent calPhone = new
Intent(Intent.ACTION_DIAL, Uri.fromParts("tel", num, null));
startActivity(calPhone);
} });
input = getIntent().getStringExtra("input");
cariMasalah(input);
}
private void cariMasalah(final String query){
img.setVisibility(View.GONE);
masalah.setVisibility(View.GONE);
solusi.setVisibility(View.GONE);
btnCall.setVisibility(View.GONE);
reload.setVisibility(View.GONE);
loading.setVisibility(View.VISIBLE);
StringRequest stringRequest = new StringRequest(Request.Method.POST,
"https://www.owplus.com/api/manda/search.php", new Response.Listener<String>() {
@Override
public void onResponse(String response) { if(response.equalsIgnoreCase("") ||
response.trim().length() == 0){
img.setVisibility(View.VISIBLE);
masalah.setVisibility(View.VISIBLE);
solusi.setVisibility(View.VISIBLE);
btnCall.setVisibility(View.VISIBLE);
reload.setVisibility(View.GONE);
loading.setVisibility(View.GONE);
Glide.with(getApplicationContext()).load(R.drawable.cryin g).into(img);
masalah.setText("NOT FOUND");
solusi.setText("Maaf, Masalah tidak ditemukan");
}else {
img.setVisibility(View.VISIBLE);
masalah.setVisibility(View.VISIBLE);
solusi.setVisibility(View.VISIBLE);
btnCall.setVisibility(View.VISIBLE);
reload.setVisibility(View.GONE);
loading.setVisibility(View.GONE);
try {
JSONObject obj = new JSONObject(response);
String solusiMasalah = obj.getString("Solusi");
String kategori = obj.getString("Kategori");
if
(kategori.equalsIgnoreCase("Masalah Radio")) {
Glide.with(getApplicationContext()).load(R.drawable.modem
).into(img);
masalah.setText(kategori);
solusi.setText("Solusi Yang Ditawarkan :\n" + solusiMasalah);
} else if
(kategori.equalsIgnoreCase("Masalah Prosessor")) {
Glide.with(getApplicationContext()).load(R.drawable.cpu).
into(img);
masalah.setText(kategori);
solusi.setText("Solusi Yang Ditawarkan :\n" + solusiMasalah);
} else if
(kategori.equalsIgnoreCase("Masalah User Interface")) {
Glide.with(getApplicationContext()).load(R.drawable.smart phone).into(img);
masalah.setText(kategori);
solusi.setText("Solusi Yang Ditawarkan :\n" + solusiMasalah);
} else if
(kategori.equalsIgnoreCase("Masalah Power Supply")) {
Glide.with(getApplicationContext()).load(R.drawable.power ).into(img);
masalah.setText(kategori);
solusi.setText("Solusi Yang Ditawarkan :\n" + solusiMasalah);
} else if
(kategori.equalsIgnoreCase("Masalah Memori")) {
Glide.with(getApplicationContext()).load(R.drawable.sd).i nto(img);
masalah.setText(kategori);
solusi.setText("Solusi Yang Ditawarkan :\n" + solusiMasalah);
} else if
(kategori.equalsIgnoreCase("Masalah Software")) {
Glide.with(getApplicationContext()).load(R.drawable.devel opment).into(img);
masalah.setText(kategori);
solusi.setText("Solusi Yang Ditawarkan :\n" + solusiMasalah);
}else
if(kategori.equalsIgnoreCase("Masalah Aplikasi")){
Glide.with(getApplicationContext()).load(R.drawable.desig n).into(img);
masalah.setText(kategori);
solusi.setText("Solusi Yang Ditawarkan :\n" + solusiMasalah);
}else
if(kategori.equalsIgnoreCase("Masalah LCD")){
Glide.with(getApplicationContext()).load(R.drawable.lcd_p hone).into(img);
masalah.setText(kategori);
solusi.setText("Solusi Yang Ditawarkan :\n" + solusiMasalah);
}else{
Glide.with(getApplicationContext()).load(R.drawable.cryin g).into(img);
masalah.setText("NOT FOUND");
solusi.setText("Maaf, Masalah tidak ditemukan");
}
} catch (JSONException e) { e.printStackTrace();
} }
}
}, new Response.ErrorListener() { @Override
public void onErrorResponse(VolleyError error) {
finish();
Toast.makeText(Hasil.this,
error.getMessage(), Toast.LENGTH_SHORT).show();
} }){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("query", query);
return params;
} };