Pengguna:Agnes Pugi Octaviani
OTOMASI PENYIRAMAN TANAMAN BERBASIS ARDUINO
UNO DAN APLIKASI ANDROID SEBAGAI CONTROLLER
PADA PT ANGKASA PURA II
Disusun Oleh :
NIM |
: 1231474029
|
NAMA |
JURUSAN SISTEM KOMPUTER
KONSENTRASI COMPUTER SYSTEM
SEKOLAH TINGGI MANAJEMEN DAN ILMU KOMPUTER
TANGERANG
2016-2017
SEKOLAH TINGGI MANAJEMEN DAN ILMU KOMPUTER
(STMIK) RAHARJA
LEMBAR PENGESAHAN SKRIPSI
OTOMASI PENYIRAMAN TANAMAN BERBASIS ARDUINO
UNO DAN APLIKASI ANDROID SEBAGAI CONTROLLER
PADA PT ANGKASA PURA II
Disusun Oleh :
NIM |
: 1231474029
|
Nama |
|
Jenjang Studi |
: Strata Satu
|
Jurusan |
: Sistem Komputer
|
Konsentrasi |
: Computer System
|
Disahkan Oleh :
Tangerang, 22 Juli 2016
Ketua |
Kepala Jurusan
| ||||
STMIK RAHARJA |
Jurusan Sistem Komputer
| ||||
(Ir. Untung Rahardja, M.T.I) |
(Ferry Sudarto, S.Kom, M.Pd)
| ||||
NIP : 000594 |
NIP : 079010
|
SEKOLAH TINGGI MANAJEMEN DAN ILMU KOMPUTER
(STMIK) RAHARJA
LEMBAR PERSETUJUAN PEMBIMBING
OTOMASI PENYIRAMAN TANAMAN BERBASIS ARDUINO
UNO DAN APLIKASI ANDROID SEBAGAI CONTROLLER
PADA PT ANGKASA PURA II
Dibuat Oleh :
NIM |
: 1231474029
|
Nama |
Telah disetujui untuk dipertahankan dihadapan Tim Penguji Ujian Komprehensif
Jurusan Sistem Komputer
Konsentrasi Computer System
Disetujui Oleh :
Tangerang, 22 Juli 2016
Pembimbing I |
Pembimbing II
| ||
(Abert Tandilintin, M.T) |
(Listina Nadhia Ningsih, S.Kom)
| ||
NID : 14028 |
NID : 15016
|
SEKOLAH TINGGI MANAJEMEN DAN ILMU KOMPUTER
(STMIK) RAHARJA
LEMBAR PERSETUJUAN DEWAN PENGUJI
OTOMASI PENYIRAMAN TANAMAN BERBASIS ARDUINO
UNO DAN APLIKASI ANDROID SEBAGAI CONTROLLER
PADA PT ANGKASA PURA II
Dibuat Oleh :
NIM |
: 1231474029
|
Nama |
Disetujui setelah berhasil dipertahankan dihadapan Tim Penguji Ujian
Komprehensif
Jurusan Sistem Komputer
Konsentrasi Computer System
Tahun Akademik 2016/2017
Disetujui Penguji :
Tangerang, .... 2016
Ketua Penguji |
Penguji I |
Penguji II
| ||
(_______________) |
(_______________) |
(_______________)
| ||
NID : |
NID : |
NID :
|
SEKOLAH TINGGI MANAJEMEN DAN ILMU KOMPUTER
(STMIK) RAHARJA
LEMBAR KEASLIAN SKRIPSI
OTOMASI PENYIRAMAN TANAMAN BERBASIS ARDUINO
UNO DAN APLIKASI ANDROID SEBAGAI CONTROLLER
PADA PT ANGKASA PURA II
Disusun Oleh :
NIM |
: 1231474029
|
Nama |
|
Jenjang Studi |
: Strata Satu
|
Jurusan |
: Sistem Komputer
|
Konsentrasi |
: Computer System
|
Menyatakan bahwa Skripsi ini merupakan karya tulis saya sendiri dan bukan merupakan tiruan, salinan, atau duplikat dari Skripsi yang telah dipergunakan untuk mendapatkan gelar Sarjana Komputer baik di lingkungan Perguruan Tinggi Raharja maupun di Perguruan Tinggi lain, serta belum pernah dipublikasikan.
Pernyataan ini dibuat dengan penuh kesadaran dan rasa tanggung jawab, serta bersedia menerima sanksi jika pernyataan diatas tidak benar.
Tangerang, 22 Juli 2016
NIM : 1231474029
|
)*Tandatangan dibubuhi materai 6.000;
ABSTRAKSI
Dengan majunya zaman segala aspek kehidupan tidak pernah lepas dari perkembangan teknologi. Apabila Angkasa Pura membuat sebuah tanaman di dalam kantor dengan penyiraman manual akan tidak efektif. Dan juga membuang waktu karyawan untuk penyiraman. Maka sangat disayangkan sekali apabila hal itu terjadi, oleh karena itu penulis berinisiatif untuk membuat alat yaitu “ Otomasi Penyiram Tanaman Berbasis Arduino Uno dan Aplikasi Android Sebagai Controller” yang dapat digunakan dalam perawatan tanaman tanpa perlu khawatir menguras waktu dan tenaga. Alat ini bekerja dengan sistem kerja input dari penekanan relay dengan mikrokontroler arduino uno yang merupakan papan berbasis mikrokontroler yang memiliki 14 digital input/output, yang berfungsi sebagai pusat proses atau otak pada alat penyiram otomatis tersebut. ESP8266 diatur sebagai media akses untuk mempermudah menyiram pada tanaman, dengan alat ini mampu mengendalikan penyiraman dengan otomatis tanpa membuang waktu karyawan untuk melakukan penyiraman.
Kata kunci : Arduino Uno, ESP8266, Relay, Pompa Air, Android Studio, LED
ABSTRACT
With the advance of age every aspect of life can never be separated from the development of technology. If Angkasa Pura create a plant in the office with manual watering will not be effective. And also remove the employee's time for watering. Then it is very unfortunate when it happens, therefore the author took the initiative to create a tool that is "Automated Watering Plant-Based Arduino Uno and Android App For Controller that can be used in treatment plants without worrying about time and labor. This tool works with the input of the working system suppression relay with a microcontroller arduino uno which is based board microcontroller which has 14 digital input / output, which serves as the center of the brain process or the automatic sprinklers. ESP8266 is set as the access medium to facilitate watering the plants, the tool is able to control watering with automatic without wasting time employees to do the watering.
Keywords: Arduino Uno, ESP8266, Relay, Water Pump, Android Studio, LED
Puji syukur alhamdulillah, penulis panjatkan kehadirat Allah SWT yang telah memberikan seribu jalan, sejuta langkah serta melimpahkan segala rahmat dan karunia-Nya, sehingga laporan Skripsi Penulis dapat berjalan dengan baik dan selesai dengan semestinya.
Tujuan dari pembuatan Skripsi ini adalah sebagai salah satu persyaratan dalam memperoleh gelar Sarjana Komputer (S.Kom) untuk jenjang S1 di Perguruan Tinggi Raharja, Cikokol Tangerang.
Hati kecil ini pun menyadari bahwa tanpa bimbingan dan dorongan dari semua pihak penyusunan Skripsi ini tidak akan berjalan sesuai dengan yang diharapkan. Oleh karena itu pada kesempatan yang singkat ini, izinkanlah penulis menyampaikan selaksa pujian dan terimakasih kepada :
1. Bapak Ir. Untung Rahardja, M.T.I selaku Ketua STMIK Raharja.
2. Bapak Sugeng Santoso, M.Kom, selaku Pembantu Ketua I Bidang Akademik STMIK Raharja.
3. Bapak Ferry Sudarto, S.Kom., M.Pd selaku Kepala Jurusan Sistem Komputer STMIK Perguruan Tinggi Raharja.
4. Bapak Abert Tandilintin, M.T selaku dosen pembimbing 1 yang telah memberikan arahan terhadap alat yang di gunakan untuk skripsi.
5. Ibu Listina Nadhia Ningsih, S.Kom selaku Dosen Pembimbing 2, yang telah membantu membuat laporan skripsi.
6. Ibu Amelia selaku Stakeholder dalam dilakukannya skripsi ini.
7. Bapak dan Ibu Dosen Perguruan Tinggi Raharja yang telah memberikan ilmu pengetahuan kepada penulis.
8. Kedua orang tua tercinta, yang telah memberikan dukungan baik moral maupun material.
9. Fidya Rizki Rahmadhany, yang telah memotivasi semangat, niat dan keinginan penulis untuk menyelesaikan pembuatan laporan Skripsi ini.
10. Naufal Farid, yang telah memberikan jaringan internet untuk menyelesaikan laporan skripsi ini.
11. Ridho Nur Wicaksono, yang telah membantu dalam proses laporan skripsi.
12. Teman-Teman seperjuangan yang telah menyelesaikan skripsi secara bersama sama.
Penulis menyadari bahwa dalam penulisan Laporan Skripsi ini masih jauh dari sempurna. Oleh karena itu kritik dan saran yang membangun, penulis harapkan sebagai pemicu untuk dapat berkarya lebih baik lagi. Semoga Laporan Skripsi ini bermanfaat bagi pihak yang membutuhkan.
Tangerang, 22 Juli 2016 | |
Nama. Rexa Subarkah | |
NIM. 1231474029 |
DAFTAR GAMBAR
Gambar 2.1. Sistem pengendali loop terbuka
Gambar 2.2. Sistem pengendali loop tertutup
Gambar 2.3. Arduino USB
Gambar 2.4. Arduino Serial
Gambar 2.5. Arduino Mega
Gambar 2.6. Arduino Fio
Gambar 2.7. Arduino Lilypad
Gambar 2.8. Arduino BT
Gambar 2.9.. Arduino Nano dan Arduino Min
Gambar 2.10. Bagian Arduino Uno
Gambar 2.11. Papan Arduino Uno
Gambar 2.12. Pengertian Resistor
Gambar 2.13. Relay
Gambar 2.14. Struktur Relay
Gambar 3.1. Struktur Organisasi Perusahaan
Gambar 3.2. Tata Kelola Perusahaan
Gambar 3.3. Diagram Blok Rangkaian
Gambar 3.4. Tampilan TP Link pada USB
Gambar 3.5. Tampilan TP Link 3G, WISP, AP
Gambar 3.6. Tampilan TP Link Browser IP Address
Gambar 3.7. Tampilan TP Link Browser Quick Setup 3G Only
Gambar 3.8. Rangkaian ESP8266
Gambar 3.9. Rangkaian Relay
Gambar 3.10. Rangkaian LED
Gambar 3.11. Halaman Download Software Arduino
Gambar 3.12. Halaman Web Download Software Arduino
Gambar 3.13. File Folder Arduino
Gambar 3.14. License Agreement
Gambar 3.15. Komponen Instalasi Arduino
Gambar 3.16. Installation Folder Software Arduino
Gambar 3.17. Tampilan Setup Android Studio
Gambar 3.18. Tampilan Komponen Setup Android Studio
Gambar 3.19. Tampilan License Setup Android Studio
Gambar 3.20. Tampilan Konfigurasi Seting Setup Android Studio
Gambar 3.21. Tampilan Setup Android Studio Start Menu Folder
Gambar 3.22. Tampilan Setup Android Studio Proses Instal
Gambar 3.23. Tampilan Setup Android Studio Complete
Gambar 3.24. Tampilan Setup Android Studio Download Component
Gambar 3.25. Tampilan Setup Android Studio Welcome
Gambar 3.26. Flowchart Sistem
Gambar 4.1. Pengujian Rangkaian Lampu LED
Gambar 4.2. Listing Program Pengujian Lampu LED
Gambar 4.3. Tampilan Pengujian Lampu LED Off
Gambar 4.4 Tampilan Pengujian Lampu LED On
Gambar 4.5 Pengujian Relay ON
Gambar 4.6 Pengujian relay OFF
Gambar 4.7 Pengujian TP Link
Gambar 4.8 Sketch arduino blink
Gambar 4.9 Rangkaian Flashing ESP8266 pertama
Gambar 4.10 File aplikasi flashing ESP8266
Gambar 4.11 Aplikasi Flashing ESP8266
Gambar 4.12 Rangkaian Flashing ESP8266 kedua
Gambar 4.13 Listing program keseluruhan Arduino 1
Gambar 4.14 Listing program keseluruhan Arduino 2
Gambar 4.15 Listing program keseluruhan Arduino 3
Gambar 4.16 Listing program keseluruhan Arduino 4
Gambar 4.17 Listing program keseluruhan Arduino 5
Gambar 4.18 Listing program keseluruhan Arduino 6
Gambar 4.19 Listing program keseluruhan Arduino 7
Gambar 4.20 Listing program keseluruhan Arduino 8
Gambar 4.21 Listing program keseluruhan Arduino 9
Gambar 4.22 Listing program keseluruhan Arduino 10
Gambar 4.23 Listing program keseluruhan Arduino 11
Gambar 4.24 Tampilan 1 Home Activity Java Android Studio
Gambar 4.25 Tampilan 2 Home Activity Java Android Studio
Gambar 4.26 Tampilan 3 Home Activity Java Android Studio
Gambar 4.27 Tampilan 4 Home Activity Java Android Studio
Gambar 4.28 Tampilan 5 Home Activity Java Android Studio
Gambar 4.29 Tampilan 6 Home Activity Java Android Studio
Gambar 4.30 Tampilan 1 MainActivity Java Android Studio
Gambar 4.31 Tampilan 2 MainActivity Java Android Studio
Gambar 4.32 Tampilan Manifests Android Studio
Gambar 4.33 Tampilan 1 activity_home xml Android Studio
Gambar 4.34 Tampilan 2 activity_home xml Android Studio
Gambar 4.35 Tampilan 3 activity_home xml Android Studio
Gambar 4.36 Tampilan 4 activity_home xml Android Studio
Gambar 4.37 Tampilan 5 activity_home xml Android Studio
Gambar 4.38 Tampilan 6 activity_home xml Android Studio
Gambar 4.39 Tampilan 1 activity_main xml Android Studio
Gambar 4.40 Tampilan 2 activity_main xml Android Studio
Gambar 4.41 Flowchart Sistem yang diusulkan
Gambar 4.42 Rancangan listing arduino
Gambar 4.43 Langkah listing program arduino
Gambar 4.44 Tampilan Prototype Android Studio
Gambar 4.45 Tampilan Prototype pada aplikasi android tahap pertama
Gambar 4.46 Tampilan Prototype aplikasi android tahap kedua
DAFTAR TABEL
Tabel 2.1. Pin Digital Arduino
Tabel 2.2. Pin Analog Arduino
Tabel 2.3. Fitur Unggulan Android Lolipop
Tabel 3.1. Jenis – Jenis Penelitian
Tabel 3.2. Elisitasi Tahap I
Tabel 3.3. Elisitasi Tahap II
Tabel 3.4. Elisitasi Tahap III
Tabel 3.5. Final Draft Elisitasi
Tabel 4.1. Pengujian Black Box
Tabel 4.2. Schedule
Tabel 4.3. Penerapan kegiatan
Tabel 4.4. Estimasi biaya
DAFTAR SIMBOL
FLOWCHART (DIAGRAM ALIR)
DAFTAR SIMBOL ELEKTRONIKA
DAFTAR LAMPIRAN
Lampiran A
Surat Pengantar Skripsi
Surat Penugasan Kerja
Formulir Validasi Skripsi
KSTF
Daftar Nilai
Kartu Bimbingan Pembimbing 1
Kartu Bimbingan Pembimbing 2
Formulir Seminar Proposal
Formulir Seminar Presentasi
Formulir Pendaftaran Sidang
Formulir Validasi Sidang
Kwitansi Pembayaran Skripsi
Kwitansi Pembayaran Sidang
Kwitansi Pembayaran Raharja Career
Sertifikat OSPEK
Sertifikat TOEFL
Sertifikat IT Internasional
Sertifikat Nasional
Sertifikat Raharja Career
CV
Lampiran B
Bukti Uraian Kerja
Formulir Penilaian Stakeholder
Bukti Wawancara
Surat Observasi
Surat Implementasi
BAB I
Latar Belakang
Tanaman dan Tumbuhan merupakan makhluk hidup penting yang tidak bisa terpisahkan dengan manusia. Air merupakan salah satu bagian terpenting untuk pertumbuhan tanaman. Kadar molekul air yang cukup akan menjadi bahan utama bagi tanaman dalam masa pertumbuhannya.
Suatu sistem dengan perencanaan yang sangat kompleks sangat dibutuhkan guna mempermudah dalam membantu kehidupan manusia. Apalagi jika sistem tersebut bergerak dengan suatu kontrol yang terpadu, maka hal ini akan membawa dampak kepada manusia untuk bisa memikirkan dan membuat suatu bentuk kontrol yang sekiranya akan dapat membantu dengan efisien. Salah satunya adalah sistem pengontrolan tanaman pada PT. Angkasa pura II.
Jenis tanaman yang dibudidayakan tergantung dari kebutuhan akan pengembangannya itu sendiri. Jika ditinjau dengan lebih seksama, maka pengembangan tanaman atau budidaya di dalam PT. Angkasa Pura II tidaklah semudah yang di bayangkan. Banyak faktor-faktor yang mempengaruhi dalam pengembangan budidaya tanaman tersebut, misalnya faktor suhu, kelembaban, kebutuhan akan penyinaran atau intensitas cahaya yang digunakan. Semua itu merupakan kombinasi yang harus diketahui dalam meneliti pertumbuhan serta perkembangan tanaman.
Untuk mempermudah proses penyiraman tanaman di PT. Angkasa Pura II maka dibuat suatu sistem kontrol yang terpadu dengan tujuan untuk mengatur serta mengendalikan keseluruhan sistem penyiraman otomatis serta mempermudah perawatannya tanpa harus melakukan campur tangan manusia secara langsung. Salah satu faktor yang mempengaruhi pada perkembangan tanaman yaitu penyiraman. Penyiraman merupakan suatu hal yang tidak dapat di lepaskan dalam menjaga serta merawat agar tanaman dapat tumbuh dengan subur. Kebutuhan air yang cukup merupakan salah satu hal yang sangat penting. Jika hal ini tidak diperhatikan maka akan berdampak fatal bagi perkembangan tanaman itu sendiri.
Perumusan Masalah
Berdasarkan latar belakang dan berdasarkan pengamatan yang dilakukan, maka dapat diurutkan permasalahan yang dihadapi, antara lain:
Bagaimana cara membuat alat penyiraman tanaman pada PT Angkasa Pura II ?
Bagaimana membuat sistem media akses dengan menggunakan jaringan Wifi?
Bagaimana merancang sofware aplikasi untuk Arduino Uno?
Ruang Lingkup Penelitian
Dari permasalahan maka penulis memberikan ruang lingkup penelitian:
Arduino Uno sebagai otak dari alat penyiram tanaman otomatis.
Esp8266 untuk koneksi internet melalui wifi.
Aplikasi android sebagai saklar untuk proses penyiraman.
Tujuan dan Manfaat Penelitian
Tujuan Penelitian
Adapun tujuan pokok yang di hasilkan dari laporan penelitian ini, yaitu :
Memanfaatkan teknologi yang telah ada.
Mempermudah dalam menyiram tanaman.
Memberikan layanan perawatan tanaman di lingkungan kerja PT. Angkasa Pura II.
Manfaat Penelitian
Dengan adanya penulisan laporan Skripsi ini, maka terdapat manfaat – manfaat yang dapat dirasakan oleh penulis adalah sebagai berikut:
Perusahaan PT. Angkasa Pura II dapat lebih menghemat waktu menyiram tanaman.
Mempermudah kinerja karyawan pada PT. Angkasa Pura II.
Mempermudah layanan perawatan tanaman di lingkungan kerja PT. Angkasa Pura II berbasis teknologi menggunakan Arduino Uno.
Metode Penelitian
Metode penelitian adalah suatu teknik atau cara mencari, memperoleh, mengumpulkan atau mencatat data, baik berupa data primer maupun data skunder yang digunakan untuk keperluan menyusun suatu karya ilmiah dan kemudian menganalisa faktor – faktor yang berhubungan dengan pokok – pokok permasalahan sehingga akan mendapatkan suatu kebenaran data – data yang akan di peroleh.
Dalam memperoleh data yang diperlukan dalam penelitian maka penulis menggunakan beberapa metode yang digunakan adalah sebagai berikut:
Metode Pengumpulan Data
Observasi
Observasi ini dilakukan dalam jangka waktu 2 bulan. Melalui pengamatan langsung di lapangan atau lokasi penelitian, Penelitian ini dilakukan pada PT. Angkasa Pura II yang menjadi lokasi penelitian guna memperoleh data dan keterangan yang berhubungan dengan jenis penelitian.
Wawancara
Metode wawancara ini merupakan tanya jawab sepihak yang dilakukan secara sistematis dan berlandaskan kepada tujuan penelitian.
Studi Pustaka
Melakukan pengumpulan data dengan mencatat dan membaca buku buku yang berkaitan dengan pokok permasalahan. Sebagian besar metode ini diambil dari situs-situs internet dan ebook. Peneliti melakukan pengumpulan data dengan cara browsing, mengunduh ebook yang berhubungan dengan laporan Skripsi ini. Sehingga diperoleh gambaran dari prinsip kerja alat yang akan dibuat.
Metode Analisa
Metode ini melakukan analisa suatu sistem yang sudah ada, bagaimana sistem itu berjalan dan apakah kekurangan dari sistem tersebut. Pada metode ini penulis menganalisa penyiram tanaman melalui android apakah kekurangan dari sistem tersebut.
Metode Perancangan
Dalam metode perancangan ini kita dapat mengetahui bagaimana sistem itu dibuat atau di rancang dan alat apa saja yang di butuhkan.
Metode Pengujian
Dalam skripsi ini metode pengujian yang digunakan yaitu Black Box Testing. Black Box Testing adalah metode uji coba yang memfokuskan pada keperluan software. Karena itu uji coba Black Box memungkinkan pengembangan software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Metode pengujian Black Box berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya: fungsi-fungsi yang salah atau hilang, kesalahan dalam struktur data atau akses database eksternal, kesalahan performa, kesalahan inisialisasi, dan terminasi.
Sistematika Penulisan
Untuk memahami lebih jelas tentang penulisan skripsi ini, maka penulis mengelompokan materi penulisan menjadi 5 bab yang yang masing-masing saling berkaitan antara bab satu dengan yang lainya, sehingga menjadi kesatuan yang utuh, yaitu:
BAB I : PENDAHULUAN
Bab ini berisi tentang uraian latar belakang, perumusan masalah, ruang lingkup penelitian, tujuan dan manfaat, metode penelitian dan sistematika penulisan
BAB II : LANDASAN TEORI
Berisi tentang uraian mengenai teori-teori dasar yang akan mendukung pembahasan masalah yang berkaitan dengan judul penelitian.
BAB III : PEMBAHASAN
Berisi tentang struktur organisasi PT. Angkasa Pura II dan cara kerja “OTOMASI PENYIRAMAN TANAMAN BERBASIS ARDUINO UNO DAN APLIKASI ANDROID SEBAGAI CONTROLLER”.
BAB IV : HASIL PENELITIAN
Bab ini menjelaskan rancangan sistem yang diusulkan, rancangan basis data, flowchart sistem yang diusulkan, rancangan sistem tampilan layar, konfigurasi sistem yang berjalan, testing, evaluasi, implementasi, dan estimasi biaya. Serta pembahasan secara detail final elisitasi yang ada di bab sebelumnya, di jabarkan secara satu persatu dengan menerapkan konsep sesudah adanya sistem yang diusulkan.
BAB V : PENUTUP
Bab ini berisi kesimpulan dan saran yang berkaitan dengan analisa dan optimalisasi sistem berdasarkan yang telah diuraikan pada bab-bab sebelumnya.
DAFTAR PUSTAKA
LAMPIRAN
BAB II
Teori Umum
Konsep Dasar Sistem
Definisi Sistem
Menurut Suprihadi dkk dalam jurnal CCIT (2013:310). “Sistem adalah sekumpulan unsur atau elemen yang saling berkaitan dan saling mempengaruhi dalam melakukan kegiatan bersama untuk mencapai suatu tujuan”.
Menurut Tata Sutabri (2012:16), menarik kesimpulan bahwa “suatu sistem pada dasarnya adalah sekelompok unsur yang erat hubungannya satu dengan yang lain yang berfungsi bersama-sama untuk mencapai tujuan tertentu”. Definisi tersebut dapat dirinci lebih lanjut tentang pengertian secara umum, yaitu :
1) Setiap sistem terdiri dari unsur-unsur, seperti sistem pernafasan kita terdiri dari suatu kelompok unsur, yang terdiri dari hidung, saluran pernafasan, paru-paru, dan darah. Unsur-unsur yang membentuk subsistem tersebut.
2) Unsur-unsur tersebut merupakan bagian terpadu sistem yang bersangkutan, unsur-unsur sistem berhubungan erat satu dengan yang lain dan sifat serta kerjasama antara unsur sistem tersebut mempunyai bentuk tertentu.
3) Unsur sistem tersebut bekerjasama untuk mencapai tujuan sistem, setiap sistem mempunyai tujuan tertentu. Seperti sistem pernapasan kita bertujuan menyediakan oksigen dan pembuangan karbon dioksida dari tubuh kita bertujuan menyediakan oksigen dan tersebut yang berupa hidung, saluran pernapasan, paru-paru, dan darah bekerjasama satu dengan yang lain dengan proses tertentu untuk mencapai tujuan tersebut.
4) Suatu sistem merupakan bagian dari sistem lain yang lebih besar, sistem pernafasan kita merupakan bagian dari sistem metabolisme tubuh, contoh sistem satuan adalah sistem pencernaan makanan, sistem peredaran darah, dan sistem pertahanan tubuh.
Menurut Tata Sutabri (2012:10), secara sederhana, suatu sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur, komponen, atau variabel yang terorganisir, saling berinteraksi, saling tergantung satu sama lain, dan terpadu.
Menurut Sutarman (2012:13), “Sistem adalah kumpulan elemen yang saling berhubungan dan berinteraksi dalam satu kesatuan untuk menjalankan suatu proses pencapaian suatu tujuan utama”.
Menurut Tata Sutabri (2012:17), terdapat dua kelompok pendekatan dalam mendefinisikan sistem. Yaitu:
a. Pendekatan sistem yang lebih menekankan pada prosedur, mendefinisikan sistem sebagai suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan. Berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk meneyelesaikan suatu sasaran tertentu. Pendekatan sistem yang merupakan jaringan kerja dari prosedur lebih menekankan urut-urutan operasi di dalam sistem. Prosedur didefinisikan oleh Ricard F. Neuschel dalam Tata Sutabri (2012:17), sebagai suatu urut-urutan operasi klerikal (tulis-menulis), biasanya melibatkan beberapa orang di dalam satu atau lebih departemen, yang diterapkan untuk menjamin penanganan yang seragam dari transaksi-transaksi bisnis yang terjadi.
b. Pendekatan yang lebih menekankan pada elemen atau komponennya mendefinisikan sistem sebagai suatu kumpulan dari elemen-elemen yang saling berinteraksi untuk mencapai suatu tujuan tertentu.
Tahapan Implementasi Sistem
Menurut Murad , dkk dalam Jurnal CCIT Vol-4 (2013:52) mendefinisikan “Tahap ini merupakan tahapan dalam pengimplementasikan sistem yang sudah dirancang dan dilakukan pengujian secara unit, agar dapat mengetahui kesalahan-kesalahan yang terdapat dalam sistem dan segera dilakukan perbaikan”.
Menurut Tata Sutabri (2012:229) mendefinisikan, setelah sistem dianalisis dan dirangcang dengan menggunakan teknologiyang sudah diseleksi dan dipilih maka tiba saatnya bagi sistem tersebut untuk diimplementasikan. Adapun tujuan utama dari tahap implementasi sistem ini adalah sebagai berikut:
a. Pengkajian mengenai rangkaian sistem, perangkat lunak, dan perangkat keras dalam bentuk sistem jaringan informasi terpusat agar dapat diperoleh sebuah bangunan atau arsitektur sistem informasi.
b. Melakukan uji coba perangkat lunak sistem sebagai pengolah data sekaligus penyaji informasi yang dibutuhkan.
Dari uraian di atas dapat diambil kesimpulan bahwa suatu sistem pada dasarnya adalah sekelompok unsur yang erat hubungannya satu dengan yang lain yang berfungsi bersama-sama untuk mencapai tujuan tertentu.
Karakteristik Sistem
Menurut Tata Sutabri (2012:20), sebuah sistem mempunyai karakteristik atau sifat-sifat tertentu yang mencirikan bahwa hal tersebut bisa dikatakan sebagai suatu sistem. Adapun karakteristik yang dimaksud adalah sebagai berikut :
a. Komponen Sistem (Components)
Komponen sistem merupakan di mana suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, bekerja sama membentuk satu kesatuan. Suatu sistem merupakan salah satu dari komponen sistem lain yang lebih besar, maka disebut subsistem, sedangkan sistem yang lebih besar tersebut adalah lingkungannya.
b. Batasan Sistem (Boundary)
Batasan Sistem merupakan pembatas atau pemisah suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya.
c. Lingkungan Luar Sistem (Environtment)
Lingkungan Luar Sistem merupakan sesuatu di luar batas dari sistem yang dapat mempengaruhi operasis sistem, baik pengaruh yang menguntungkan ataupun yang merugikan.
d. Penghubung Sistem (Interface)
Penghubung Sistem merupakan hal yang sangat penting, sebab tanpa adanya penghubung, sistem akan berisi kumpulan subsistem yang berdiri sendiri dan tidak saling berkaitan. Maka dari itu penghubung dapat juga didefinisikan sebagai tempat dimana komponen atau sistem dan lingkungannya bertemu atau berinteraksi.
e. Masukkan Sistem (Input)
Masukan Sistem merupakan energi yang dimasukkan ke dalam sistem, dimana masukan tersebut dapat berupa bahan yang dimasukkan agar sistem tersebut dapat beroperasi (maintenance input), dan masukan yang diproses untuk mendapat keluaran (signal input).
f. Keluaran Sistem (Output)
Keluaran Sistem merupakan hasil dari pemrosesan, yang berupa informasi sebagai masukan pada sistem lain atau hanya sebagai sisa pembuangan.
g. Pengolahan Sistem (Process)
Pengolahan Sistem merupakan bagian yang melakukan perubahan dari masukan untuk menjadi keluaran yang diinginkan.
h. Saran Sistem (Objective)
Saran Sistem merupakan suatu tujuan yang ingin dicapai dalam sistem, agar sistem menjadi terarah dan terkendali.
Klasifikasi Sistem
Sistem merupakan suatu bentuk integrasi antara satu komponen dengan komponen lain karena sistem memiliki sasaran yang berbeda untuk setiap kasus yang terjadi dalam sistem tersebut. Oleh karena itu, sistem dapat diklasifikasikan dari beberapa sudut pandang diantaranya Tata Sutabri (2012:22) :
a. Sistem Abstrak dan Sistem Fisik
Sistem Abstrak (abstact system) adalah sistem yang berupa pemikiran atau gagasan yang tidak tampak secara fisik. Misalnya, sistem agama/ teologi. Sistem Fisik (physical system) adalah sistem yang ada secara fisik dan dapat dilihat dengan mata. Misalnya, sistem komputer, sistem akuntansi, dan sistem transportasi.
b. Sistem Alamiah dan Sistem Buatan
Sistem alamiah (natural system) adalah sistem yang terjadi karena proses alam, bukan buatan manusia. Misalnya, sistem tatasurya, sistem rotasi bumi. Sistem buatan manusia (human made system) adalah sistem yang terjadi melalui rancangan atau campur tangan manusia. Misalnya, sistem komputer, sistem transportasi.
c. Sistem Tertentu dan Tak Tentu
Sistem tertentu (deterministic system) adalah sistem yang operasinya dapat diprediksi secara cepat dan interaksi di antara bagian-bagiannya dapat dideteksi dengan pasti. Misalnya, sistem komputer karena operasinya dapat diprediksi berdasarkan program yang dijalankan. Sistem tak tentu (probabilistic system) adalah sistem yang hasilnya tidak dapat diprediksi karena mengandung unsur probabilitas. Misalnya, sistem persediaan.
d. Sistem tertutup dan terbuka
Sistem tertutup (closed system) adalah sistem yang tidak berhubungan dengan lingkungan di luar sistem. Sebenarnya sistem tertutup tidak ada, yang ada adalah relatif tertutup. Sistem terbuka (open system) adalah sistem yang berhubungan dengan lingkungan luar dan dapat terpengaruh dengan keadaan lingkungan luarnya. Sistem ini menerima masukan dan menghasilkan output untuk subsistem yang lain.
Konsep Dasar Analisa Sistem
Definisi Analisa Sistem
Menurut Tata Sutabri (2012:220), “tahap analisis sistem dilakukan setelah tahap investigasi sistem dan sebelum tahap rancangan sistem, tahap analisis sistem merupakan tahap yang kritis dan sangat penting karena kesalahan ditahap ini akan menyebabkan kesalahan pada tahap selanjutnya”.
Menurut Henderi, dkk dalam jurnal CCIT Vol 4 (2011 : 322), Analisa sistem adalah penguraian dari suatu sistem yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat dibuat rancangan sistem yang baru yang sesuai dengan kebutuhan.
Dari pendapat diatas dapat disimpulkan bahwa tahapan analisa sistem dapat dilakukan sebelum dibuat tahapan rangcangan sistem, dan analisa sistem sangat penting dilakukan agar menghindari kesalahan yang akan timbul di tahapan selanjutnya.
Tahap Analisa Sistem
Menurut Henderi, dkk dalam jurnal CCIT Vol 4 (2011 : 322), “Tahapan analisa sistem adalah tahap penguraian dari suatu sistem yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalah-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat di buat rancangan sistem yang baru sesuai dengan kebutuhan”.
Menurut Tata Sutabri (2012:220), proses analisis sistem dalam pengembangan sistem informasi merupakan suatu prosedur yang dilakukan untuk pemeriksaan masalah dan penyusunan alternatif pemecahan masalah yang timbul serta membuat spesifikasi sistem yang baru atau sistem yang akan diusulkan dan dimodifikasi. Adapun tujuan utama dari tahap analisis sitem ini adalah sebagai berikut:
1) Memberikan pelayanan kebutuhan informasi kepada fungsi-fungsi manajerial di dalam pengendalian pelaksanaan kegiatan operasional perusahaan.
2) Membantu para pengambil keputusan, yaitu para pemimpin, untuk mendapatkan bahan perbandingan sebagai tolak ukur hasil yang telah dicapainya.
3) Mengevaluasi sistem-sistem yang telah ada dan berjalan ssmpai saat ini, baik pengolahan data maupun pembuatan laporannya.
4) Merumuskan tujuan-tujuan yang ingin dicapai berupa pola pengolahan data dan pembuatan laporan yang baru.
5) Menyusun suatu tahap rencana pengembangan sistem dan penerapannya serta perumusan langkah dan kebijaksanaan.
Selama tahap analisis sistem, analis sistem terus bekerja sama dengan manajer, dan komite pengarah terlibat dalam titik yang penting. Adapun langkah-langkah yang harus dilakukan pada tahap analisis sistem adalah sebagai berikut:
1) Mengumumkan penelitian sistem
Ketika perusahaan menerapkan aplikasi komputer baru manajemen mengambil langkah untuk memastikan kerjasama dari para pekerja. Perhatian mula-mula ditunjukan pada kekhawatiran pegarawai mengenai cara komputer mempengaruhi kerja mereka.
2) Mengorganisasikan tim proyek
Tim proyek yang akan melakukan penelitian sistem dikumpulkan. Banyak perusahaan mempunyai kebijakan menjadi pemakai dan bukan spesialis informasi sebagai pemimpin proyek. Agar proyek berhasil, pemakai perlu berperan aktif daripada hanya pasif.
3) Mendefinisikan kebutuhan informasi
Analisis mempelajari kebutuhan informasi pemakai dengan terlibat dalam berbagai kegiatan pengumpulan informasi, wawancara perorangan, pengamatan, pencarian catatan, dan survey.
4) Mendefinisikan kriteria kinerja sistem
Setelah kebutuhan informasi manajer didefinisikan, langkah selanjutnya adalah menspesifikasikan secara tepat apa yang harus dicapai oleh sistem, yaitu kriteria kinerja sistem.
5) Menyiapkan usulan rancangan
Analisis sistem memberikan kesempatan bagi manajer untuk membuat keputusan untuk meneruskan atau menghentikan untuk kedua kalinya. Disini manajer harus menyetujui tahap rancangan dan dukungan bagi keputusan itu termasuk di dalam usulan rancangan.
6) Menyetujui atau menolak rancangan proyek
Manajer dan komite sistem mengevaluasi usulan rancangan dan menentukan apakah akan memberikan persetujuan atau tidak. Dalam beberapa kasus, tim mungkin diminta melakukan analisis lain dan menyerahkan kembali atau proyek mungkin ditinggalkan. Jika persetujuan diberikan, proyek akan maju ke tahap rancangan.
Konsep Dasar Pengontrolan
Definisi Pengontrolan
Menurut Erinofiardi (2012:261), “Suatu system control otomatis dalam suatu proses kerja berfungsi mengendalikan proses tanpa adanya campur tangan manusia (otomatis)”.
Kontrol otomatis mempunyai peran penting dalam dunia industri modern saat ini. Seiring perkembangan kemajuan ilmu pengetahuan dan teknologi, sistem kontrol otomatis telah mendorong manusia untuk berusaha mengatasi segala permasalahan yang timbul di sekitarnya dengan cara yang lebih mudah, efisien dan efektif. Adanya kontrol otomatis secara tidak langsung dapat menggantikan peran manusia dalam meringankan segala aktifitasnya.
Berdasarkan Ejaan Yang Disempurnakan (EYD) pengontrolan berasal dari kata kontrol. Kontrol sama dengan pengawasan, pemeriksaan dan pengendalian. Pada industri besar dan modern sangat memerlukan tenaga ahli perencanaan sistem pengendali dan perancangan desain sistem pengendali, termasuk teknisi profesional sebagai operator. Tidak menutup kemungkinan bahwa pengontrolan berasal dari berbagai disiplin ilmu yang saling berhubungan karena teori sistem pengendali modern dikembangkan guna mengatasi kerumitan yang dijumpai pada berbagai system pengendalian yang menuntut kecepatan dan ketelitian yang tinggi dengan hasil output yang optimal.
Dalam sistem pengendali kita mengenal adanya sistem pengendali Loop Terbuka (Open-loop Control System) dan Sistem Pengendali Loop Tertutup ( Closed-loop Control System ).
Jenis – jenis pengontrolan
1) Sistem Kontrol Loop Terbuka
Menurut Erinofiardi (2012:261) sistem kontrol loop terbuka adalah ”suatu sistem kontrol yang keluarannya tidak berpengaruh terhadap aksi pengontrolan. Dengan demikian pada sistem kontrol ini, nilai keluaran tidak di umpan-balikkan ke parameter pengendalian.”
Gambar 2.1 sistem pengendali loop terbuka
Sumber : Erinofiardi (2012:261)
Gambar diagram blok diatas menggambarkan bahwa didalam sistem tersebut tidak ada proses umpan balik untuk memperbaiki keadaan alat terkendali jika terjadi kesalahan. Jadi tugas dari elemen pengendali hanyalah memproses sinyal masukan kemudian mengirimkannya ke alat terkendali.
2) Sistem Kontrol Loop Tertutup
Menurut Erinofiardi (2012:261) sistem kontrol loop tertutup adalah “Suatu sistem kontrol yang sinyal keluarannya memiliki pengaruh langsung terhadap aksi pengendalian yang dilakukan.” Yang menjadi ciri dari sistem pengendali tertutup adalah adanya sinyal umpan balik. Sinyal umpan balik merupakan sinyal keluaran atau suatu fungsi keluaran dan turunannya, yang diumpankan ke elemen kendali untuk memperkecil kesalahan dan membuat keluaran sistem mendekati hasil yang diinginkan.
Gambar 2.2 Sistem pengendali loop tertutup
Sumber : Erinofiardi (2012:261)
Gambar diatas menyatakan hubungan antara masukan dan keluaran dari suatu loop sistem tertutup. Sinyal input yang sudah dibandingkan dengan sinyal umpan balik menghasilkan sinyal selisih atau sinyal kesalahan yang akan dikirimkan ke dalam elemen pengendali sehingga kemudian menghasilkan sebuah sinyal keluaran yang akan dikirim ke alat terkendali.
Konsep Dasar Pengujian
Definisi Pengujian
Menurut Rizky (2011:237), “Testing adalah sebuah proses yang diejawantahkan sebagai siklus hidup dan merupakan bagian dari proses rekayasa perangkat lunak secara terintegrasi demi memastikan kualitas dari perangkat lunak serta memenuhi kebutuhan teknis yang telah disepakati dari awal.
Dari pengertian diatas dapat disimpulkan bahwa pengujian adalah proses terhadap aplikasi yang saling terintegrasi guna untuk menemukan kesalahan dan segala kemungkinan yang akan menimbulkan kesalahan.
Secara teoritis, testing dapat dilakukan dengan berbagai jenis tipe dan teknik. Namun secara garis besar, terdapat dua jenis tipe testing yang paling umum digunakan di dalam lingkup rekayasa perangkat lunak. Dua jenis tersebut adalah Black box dan White box testing.
1) Definisi Black Box
Menurut Budiman (2012:4) Pengujian black box merupakan metode perancangan data uji yang didasarkan pada spesifikasi perangkat lunak. Data uji dibangkitkan, dieksekusi pada perangkat lunak dan kemudian keluaran dari perangkat lunak diuji apakah telah sesuai dengan yang diharapkan.
Metode pengujian black box digunakan untuk menguji sistem dari segi user yang dititik beratkan dalam pengujian kinerja, spesifikasi serta antarmuka sistem tersebut tanpa menguji kode program yang ada.
Black Box Testing tidak membutuhkan pengetahuan mengenai alur internal (internal path), struktur atau implementasi di dalam suatu software under test (SUT). Karena itu, dengan ada uji coba di black box memungkinkan suatu pengembang software untuk membuat himpunan kondisi input yang akan melatih semua syarat fungsional pada program.
Uji coba Black Box berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya:
- Fungsi-fungsi yang salah atau hilang
- Kesalahan interface
- Kesalahan dalam struktur data atau akses database eksternal
- Kesalahan Performa
- Kesalahan inisialisasi dan terminasi
Uji coba Black Box diaplikasikan dibeberapa tahapan berikutnya. Karena uji coba Black Box dengan sengaja mengabaikan struktur control, sehingga perhatiannya hanya difokuskan pada informasi domain. Uji coba didesain untuk dapat menjawab pertanyaan pertanyaan berikut:
a. Bagaimana validitas fungsionalnya diuji?
b. Jenis input seperti apa yang akan menghasilkan kasus uji yang baik?
c. Apakah sistem secara khusus sensitive terhadap nilai input tertentu?
d. Bagaimana batasan-batasan kelas data diisolasi?
e. Berapa rasio data dan jumlah data yang dapat ditoleransi oleh sistem?
f. Apa akibat yang akan timbul dari kombinasi spesifik data pada operasi sistem? Sehingga dalam uji coba Black Box harus melewati beberapa proses sebagai berikut:
- Menganalisis kebutuhan dan spesifikasi dari perangkat lunak.
- Pemilihan jenis input yang memungkinkan menghasilkan output benar serta jenis input yang memungkinkan output salah satu pada perangkat lunak yang sedang diuji.
- Menentukan output untuk suatu jenis input.
- Pengujian dilakukan dengan input-input yang telah benar-benar diseleksi.
- Melakukan pengujian
- Pembandingan output yang dihasilkan dengan output yang diharapkan.
- Menentukan fungsionalitas yang seharusnya ada pada perangkat lunak yang sedang diuji.
2) Metode Pengujian Dalam Black Box
Ada beberapa macam metode pengujian Black Box, berikut diantaranya:
Equivalence Partioning
Equivalence Partioning merupakan metode uji coba Black Box yang membagi domain input dari program menjadi beberapa kelas data dari kasus uji coba yang dihasilkan. Kasus uji penanganan single yang ideal menemukan sejumlah kesalahan (misalnya: kesalahan pemrosesan dari seluruh data karakter) yang merupakan syarat lain dari suatu kasus yang dieksekusi sebelum kesalahan umum diamati.
Boundary Value Analysis
Sejumlah besar kesalahan cenderung terjadi dalam batasan domain input dari pada nilai tengah. Untuk alasan ini boundary value analysis (BVA) dibuat sebagai teknik uji coba. BVA mengarahkan pada pemilihan kasus uji yang melatih nilai-nilai batas. BVA merupakan desain teknik kasus uji yang melengkapi Equivalence partitioning. Dari pada memfokuskan hanya pada kondisi input, BVA juga menghasilkan kasus uji dari domain output.
Cause-Effect Graphing Techniques
Cause-Effect Graphing merupakan desain teknik kasus uji coba yang menyediakan respresentasi singkat mengenai kondisi logical dan aksi yang berhubungan. Tekniknya mengikuti 4 tahapan sebagai berikut:
- Causes (kondisi input), dan Effects (aksi) didaftarkan untuk modul dan identifier yang ditunjukan untung masing-masing.
- Pembuatan grafik Causes-Effect graph
- Grafik dikonversikan kedalam kabel keputusan
- Aturan tabel keputusan dikonversikan kedalam kasus uji
Comparison Testing
Dalam beberapa situasi (seperti: aircraft avionic, nuclear Power plant control) dimana keandalan suatu software amat kritis, beberapa aplikasi sering menggunakan software dan hardware ganda (redundant). Ketika software redundant dibuat, tim pengembangan software lainnya membangun versi Independent dari aplikasi dengan menggunakan spesifikasi yang sama. Setiap versi dapat diuji dengan data uji yang sama untuk memastikan seluruhnya menyediakan output yang sama. Kemudian seluruh versi dieksekusi secara parallel dengan perbandingan hasil real-time untuk memastikan konsistensi. Dianjurkan bahwa versi Independent suatu software untuk aplikasi yang amat kritis harus dibuat, walaupun nantinya hanya satu versi saja yang akan digunakan dalam sistem. Versi independent ini merupakan basis dari teknik Black Box Testing yang disebut Comparison Testing atau back-to-back Testing.
Sample dan Robustness Testing
1. Sample Testing
Melibatkan beberapa nilai yang terpilih dari sebuah kelas ekivalen, seperti Mengintergrasikan nilai pada kasus uji. Nilai-nilai yang terpilih mungkin dipilih dengan urutan tertentu atau interval tertentu.
2. Robustness Testing
Pengujian ketahanan (Robustness Testing) adalah metodologi jaminan mutu di fokuskan pada pegujian ketahanan perangkat lunak. Pengujian ketahanan juga digunakan untuk menggambarkan proses verifikasi kekokohan (yaitu kebenaran) kasus uji dalam proses pengujian.
Behavior Testing dan Performance Testing
1. Behavior Testing
Hasil uji tidak dapat dievaluasi jika hanya melakukan pengujian sekali, tapi dapat dievaluasi jika pengujian dilakukan beberapa kali, misalnya pada pengujian struktur data stack.
2. Performance Testing
Digunakan untuk mengevaluasi kemampuan program untuk beroperasi dengan benar dipandang dari sisi acuan kebutuhan. Misalnya: aliran data, ukuran pemakaian memori, kecepatan eksekusi, dll. Selain itu juga digunakan untuk mencari tahu beban kerja atau kondisi konfigurasi program. Spesifikasi mengenai performansi pada saat tahap spesifikasi atau desain. Dapat digunakan untuk menguji batasan lingkungan program.
Requirement Testing
Spesifikasi kebutuhan yang terasosiasi dengan perangkat lunak (input/output/fungsi/performansi) diidentifikasi pada tahap spesifikasi kebutuhan dan desain.
1. Requirement Testing melibatkan pembuatan kasus uji untuk setiap spesifikasi kebutuhan yang terkait dengan program
2. Untuk memfasilitasinya, setiap spesifikasi kebutuhan biar ditelusuri dengan kasus uji dengan menggunakan traceability matrix.
Endurance Testing
Endurance Testing melibatkan kasus uji yang diulang-ulang dengan jumlah tertentu dengan tujuan untuk mengevaluasi program apakah sesuai dengan spesifikasi kebutuhan.
Contoh: Untuk menguji keakuratan matematika (floating point, rounding off, dll), untuk menguji manajemen sumber daya sistem (resources) (pembebasan sumber daya yang tidak benar, dll), input/outputs (jika menggunakan framework untuk memvalidasi bagian input dan ouput). Spesifikasi kebutuhan pengujian didefinisikan pada tahap spesifikasi kebutuhan atau desain.
3) Kelebihan dan Kelemahan Black Box
Dalam uji coba Black Box terdapat beberapa kelebihan dan kelemahan. Berikut adalah keunggulan dan kelemahannya:
Kelebihan :
- Black Box Testing dapat menguji keseluruhan fungsionalitas perangkat lunak.
- Black Box Testing dapat memilih subset test yang secara efektif dan efisien dapat menemukan cacat. Dengan cara ini Black Box Testing dapat membantu memaksimalkan Testing investment.
Kekurangan :
- Ketika user melakukan Black Box Testing, user tidak akan pernah yakin apakah perangkat lunak yang diuji telah benar-benar lolos ujian.
Konsep Dasar Perancangan Sistem
Definisi Perancangan Sistem
Menurut Verzello dan John Reuter III (2013:227) dalam bukunya darmawan, “Perancangan Sistem adalah tahap setelah analisis dari siklus pengembangan sistem: pendefinisian dari kebutuhan-kebutuhan fungsional dan persiapan untuk rancang bangun implementasi: “menggambarkan bagaimana suatu sistem dibentuk”.
Perancangan sistem merupakan tahapan lanjutan setelah analisa sistem. Setelah melalukan identifikasi masalah, memahami cara kerja, melakukan analisa dan membuat laporan maka pembentukan dari sistem yang akan dibuat merupakan langkah selanjutnya.
Menurut Siti Aisyah dan Nawang Kalbuana dalam jurnal CCIT (2011 : 197) Pada metode analisa sistem dan perancangan yang menggunakan metode yang dikenal dengan nama System Develoment Life Cycle (SDLC). SDLC merupakan metodelogi umum dalam pengembangan sistem yang menandai kemajuan dai usaha analisa dan desain. Langkah-langkah SDLC meliputi fase-fase sebagai berikut :
a. Perancangan Sistem
Dalam tahapan perencanaan sistem ini dijelaskan bagaimana langkah-langkah dalam perancangan aplikasi kemahasiswaan dengan teknologi mobile.
b. Analisa Sistem
Melakukan analisa sistem yang akan dirancang, serta melakukan penelitian terhadap kebutuhan-kebutuhan sistem, apa saja kekurangannya.
c. Perancangan
Yaitu tahapan untuk melakukan perancangan aplikasi mobile, terdapat tiga tahapan perancangan, yaitu: perancangan interface, perancangan isi, dan perancangan program.
Jadi perancangan sistem dan analisa sistem merupakan satu kesatuan tahapan lanjutan yang tidak terpisahkan, karena perancangan sistem sendiri harus memenuhi kebutuhan pengguna, diharapkan user friendly, dapat memberikan gambaran jelas mengenai sistem yang akan dibentuk, memiliki rincian dari masing-masing komponen yang akan menjadi isi dari sistem itu sendiri, antara lain sistem informasi yang terdiri dari data-data yang akan ubah menjadi suatu informasi yang nantinya akan dipergunakan untuk pengambilan keputusan. Dalam tahap perancangan sistem, alat bantu yang digunakan dalam mendesain program komputer antara lain bagan terstruktur.
Tujuan Perancangan Sistem
Menurut Darmawan (2013:228), Tahap Perancangan Sistem mempunyai 2 tujuan utama, yaitu:
1) Untuk memenuhi kebutuhan pemakai sistem.
2) Untuk memberikan gambaran yang jelas dan rancang bangun yang lengkap pada pemograman komputer dan ahli-ahli teknik yang terlihat ( lebih condong pada disain sistem yang terperinci ).
Teori Khusus
Konsep Dasar Mikrokontroler
Definisi Mikrokontroler
Menurut Syahwil (2013:53) “Mikrokontroler adalah sebuah system computer fungsional dalam sebuah chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program, atau keduanya), dan perlengkapan input-output. Mikrokontroler adalah salah satu dari bagian dasar dari suatu system Komputer.
Mikrokontroler merupakan sebuah processor yang digunakan untuk kepentingan kontrol. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu komputer pribadi dan computer mainframe, mikrokontroler dibangun dari elemen – elemen dasar yang sama. Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan instruksi – instruksi yang diberikan kepadanya.Artinya, bagian terpenting dan utama dari suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programmer.Program ini menginstruksikan komputer untuk melakukan tugas yang lebih kompleks yang diinginkan oleh programmer.
Karakteristik Mikrokontroler
Karakteristik mikrokontroler mempunyai beberapa komponen-komponen yaitu:
a. CPU (Central Procesing Unit)
b. RAM (Read Only Memory)
c. I/O (Input/Output)
Adapun ketiga komponen tersebut secara bersama-sama membentuk sistem komputer dasar. Beberapa mikrokontroler memiliki tambahan komponen lain, misalnya ADC (Analog Digital Converter), Timer/Counter, dan lain-lain.
Klasifikasi Mikrokontroler
Mikrokontroler memiliki beberapa klasifikasi yaitu sebagai berikut:
a. ROM (Flash Memory) dengan kapasitas 1024 byte (1 KB)
b. RAM berkapasitas 68 byte
c. EEPROM (memori data) berkapasitas 64 byte
d. Total 13 jalur I/O (Port B 8 bit)
e. Timer/Counter 8 bit dengan prescaler
f. Fasilitas pemrograman di dalam sistem (ICSP = In Circuit Serial Programing)
Beberapa fitur yang umumnya ada di dalam mikrokontroler adalah sebagai berikut:
a. RAM (Random Access Memory)
RAM digunakan oleh mikrokontroler untuk tempat penyimpanan variabel. Memori ini bersifat volatile yang berarti akan kehilangan semua datanya jika tidak mendapatkan catu daya.
b. ROM (Read Only Memory)
ROM seringkali disebut sebagai kode memori karena berfungsi untuk tempat penyimpanan program yang akan diberikan oleh user.
c. Register
Merupakan tempat penyimpanan nilai–nilai yang akan digunakan dalam proses yang telah disediakan oleh mikrokontroler.
d. Special Function Register
Merupakan register khusus yang berfungsi untuk mengatur jalannya mikrokontroler. Register ini terletak pada RAM.
e. Input dan Output Pin
Pin input adalah bagian yang berfungsi sebagai penerima signal dari luar, pin ini dapat dihubungkan ke berbagai media inputan seperti keypad, sensor, dan sebagainya. Pinoutput adalah bagian yang berfungsi untuk mengeluarkan signal dari hasil proses algoritma mikrokontroler.
f. Interrupt
Interrupt bagian dari mikrokontroler yang berfungsi sebagai bagian yang dapat melakukan interupsi, sehingga ketika program utama sedang berjalan, program utama tersebut dapat diinterupsi dan menjalankan program interupsi terlebih dahulu.
Konsep Dasar Arduino
Definisi Arduino
Menurut Sulaiman (2012:1), arduino merupakan platform yang terdiri dari software dan hardware. Hardware Arduino sama dengan mikrocontroller pada umumnya hanya pada arduino ditambahkan penamaan pin agar mudah diingat. Software Arduino merupakan software open source sehingga dapat di download secara gratis. Software ini digunakan untuk membuat dan memasukkan program ke dalam Arduino. Pemrograman Arduino tidak sebanyak tahapan mikrocontroller konvensional karena Arduino sudah didesain mudah untuk dipelajari, sehingga para pemula dapat mulai belajar mikrocontroller dengan Arduino.
Mikrokontroler itu sendiri adalah chip atau IC (integrated circuit) yang bisa diprogram menggunakan komputer. Tujuan menanamkan program pada mikrokontroler adalah agar rangkaian elektronik dapat membaca input, memproses input tersebut dan kemudian menghasilkan output sesuai yang diinginkan. Jadi mikrokontroler bertugas sebagai ‘otak’ yang mengendalikan input, proses dan output sebuah rangkaian elektronik.
Mikrokontroler ada pada perangkat elektronik di sekeliling kita. Misalnya handphone, MP3 player, DVD, televisi, AC, dll. Mikrokontroler juga dipakai untuk keperluan mengendalikan robot. Baik robot mainan, maupun robot industri.
Karena komponen utama Arduino adalah mikrokontroler, maka Arduino pun dapat diprogram menggunakan komputer sesuai kebutuhan kita. Kegunaan Arduino tergantung kepada kita yang membuat program. Arduino bisa digunakan untuk mengontrol LED, bisa juga digunakan untuk mengontrol helikopter.
Beberapa contoh aplikasi dari ardiuno adalah MP3 player, pengontrol motor, mesin CNC, monitor kelembaban tanah, pengukur jarak, penggerak servo, balon udara, pengontrol suhu, monitor energi, statiun cuaca, pembaca RFID, drum elektronik, GPS logger, & monitoring bensin.
Kelebihan dari Ardiuno ini diantaranya :
1) Tidak perlu perangkat chip programmer karena di dalamnya sudah ada bootloader yang akan menangani upload program dari komputer.
2) Sudah memiliki sarana komunikasi USB, sehingga pengguna Laptop yang tidak memiliki port serial/RS323 bisa menggunakan nya.
3) Bahasa pemrograman relatif mudah karena software Arduino dilengkapi dengan kumpulan library yang cukup lengkap.
4) Memiliki modul siap pakai (shield) yang bisa ditancapkan pada board Arduino. Misalnya shield GPS, Ethernet, SD Card, dll.
Bahasa pemrograman Arduino adalah bahasa C. Tetapi bahasa ini sudah dipermudah menggunakan fungsi-fungsi yang sederhana sehingga pemula pun bisa mempelajarinya dengan cukup mudah. Untuk membuat program Arduino dan mengupload ke dalam board Arduino, anda membutuhkan software Arduino IDE (Integrated Development Enviroment).
Jenis – jenis Arduino
Saat ini ada bermacam-macam bentuk papan Arduino yang disesuaikan dengan peruntukannya seperti diperlihatkan berikut ini:
a. ARDUINO USB
Gambar 2.3Arduino USB
Sumber : http://www.IT-Jurnal.com
Menggunakan USB sebagai antar muka pemrograman atau komunikasi komputer. Contoh:
1) Arduino Uno
2) Arduino Duemilanove
3) Arduino Diecimila
4) Arduino NG Rev. C
5) Arduino NG (Nuova Generazione)
6) Arduino Extreme dan Arduino Extreme v2
7) Arduino USB dan Arduino USB v2.0
b. ARDUINO SERIAL
Menggunakan RS232 sebagai antar muka pemrograman atau komunikasi komputer.
Gambar 2.4 arduino serial
Sumber : http://www.IT-Jurnal.com
c. ARDUINO MEGA
Gambar 2.5 arduino mega
Sumber : http://www.IT-Jurnal.com
Papan Arduino dengan spesifikasi yang lebih tinggi, dilengkapi tambahan pin digital, pin analog, port serial dan sebagainya. Contoh:
1) Arduino Mega
2) Arduino Mega 2560
d. ARDUINO FIO
Gambar 2.6 arduino fio
Sumber : http://www.IT-Jurnal.com
Arduino FIO ditujukan untuk penggunaan nirkabel.
e. ARDUINO LILYPAD
Gambar 2.7 arduino lilypad
Sumber : http://www.IT-Jurnal.com
Papan Arduino Lilypad mempunyai bentuk yang melingkar. Contoh: LilyPad Arduino 00, LilyPad Arduino 01, LilyPad Arduino 02, LilyPad Arduino 03, LilyPad Arduino 04
f. ARDUINO BT
Gambar 2.8 arduino BT
Sumber : www.IT-Jurnal.com
Arduino BT Mengandung modul bluetooth untuk komunikasi nirkabel.
g. ARDUINO NANO DAN ARDUINO MINI
Gambar 2.9 Arduino Nano dan Arduino Mini
Sumber : http://www.IT-Jurnal.com
Arduino Nano memiliki papan berbentuk kompak dan digunakan bersama breadboard. Contoh:
1) Arduino Nano 3.0, Arduino Nano 2.x
2) Arduino Mini 04, Arduino Mini 03, Arduino Stamp 02
3. Bagian – bagian Arduino Uno
Komponen utama di dalam papan arduino adalah sebuah microkontroller 8 bit dengan merk Atmega yang di buat oleh perusahaan Atmel Corporation. Berbagai papan arduino menggunakan tipe Atmega yang berbeda – beda tergantung dari spesifikasinya, sebagai contoh arduino uno menggunakan Atmega328 sedangkan Arduino Mega 2560 yang lebih canggih menggunakan Atmega 2560.
Untuk memberikan gambaran mengenai apa saja yang terdapat di dalam sebuah microkontroller, pada gambar berikut ini diperlihatkan contoh diagram blok sederhana dari microkontroller Atmega328 (dipakai pada Arduino Uno).
Gambar 2.10 bagian arduino uno
Blok-blok di atas dijelaskan sebagai berikut:
1) Universal Asynchronous Receiver/Transmitter (UART) adalah antar muka yang digunakan untuk komunikasi serial seperti pada RS-232, RS-422 dan RS-485.
2) 2KB RAM pada memory kerja bersifat volatile (hilang saat daya dimatikan), digunakan oleh variable-variabel di dalam program.
3) 32KB RAM flash memory bersifat non-volatile, digunakan untuk menyimpan program yang dimuat dari komputer. Selain program, flash memory juga menyimpan bootloader. Bootloader adalah program inisiasi yang ukurannya kecil, dijalankan oleh CPU saat daya dihidupkan. Setelah bootloader selesai dijalankan, berikutnya program di dalam RAM akan dieksekusi.
4) 1KB EEPROM bersifat non-volatile, digunakan untuk menyimpan data yang tidak boleh hilang saat daya dimatikan. Tidak digunakan pada papan Arduino (red: namun bisa diakses/diprogram oleh pemakai dan digunakan sesuai kebutuhan).
5) Central Processing Unit (CPU), bagian dari microcontroller untuk menjalankan setiap instruksi dari program.
6) Port input/output, pin-pin untuk menerima data (input) digital atau analog, dan mengeluarkan data (output) digital atau analog.
7) Setelah mengenal bagian-bagian utama dari microcontroller ATmega sebagai komponen utama, selanjutnya kita akan mengenal bagian-bagian dari papan Arduino itu sendiri.
Dengan mengambil contoh sebuah papan Arduino tipe USB, bagian-bagiannya dapat dijelaskan sebagai berikut:
Gambar 2.11 Papan Arduino Uno
Sumber : https://www.arduino.berlios.de
1) Input dan Output
Masing-masing dari 14 pin digital pada Arduino Uno dapat digunakan sebagai input atau output, dengan menggunakan fungsi pinMode() , digitalWrite() , dan digitalRead(). Semua pin beroperasi pada tegangan 5 volt. Setiap pin dapat memberikan atau menerima arus maksimum 40 mA dan memiliki resistor pull-up internal (terputus secara default) sebesar 20-50 kOhm. Selain itu beberapa pin memiliki fungsi khusus, yaitu:
Tabel 2.1 pin digital Arduino
- Serial : 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) TTL data serial. Pin ini terhubung ke pin korespondensi dari chip ATmega8U2 Serial USB-to-TTL.
- External Interrupt (Interupsi Eksternal): Pin 2 dan pin 3 ini dapat dikonfigurasi untuk memicu sebuah interupsi pada nilai yang rendah, meningkat atau menurun, atau perubahan nilai. Baca rincian fungsi attachInterrupt() (belum diterbitkan saat artikel ini ditulis).
- PWM : Pin 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsi analogWrite().
- SPI : Pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI menggunakan perpustakaan SPI.
- LED : Pin 13. Tersedia secara built-in pada papan Arduino Uno. LED terhubung ke pin digital 13. Ketika pin diset bernilai HIGH, maka LED menyala, dan ketika pin diset bernilai LOW, maka LED padam.
Arduino Uno memiliki 6 pin sebagai input analog, diberi label A0 sampai dengan A5, yang masing-masing menyediakan resolusi 10 bit (yaitu 1024 nilai yang berbeda). Secara default pin ini dapat diukur/diatur dari mulai Ground sampai dengan 5 Volt, juga memungkinkan untuk mengubah titik jangkauan tertinggi atau terendah dengan menggunakan pin AREF dan fungsi analog Reference(). Selain itu juga, beberapa pin memiliki fungsi yang dikhususkan, yaitu:
Tabel 2.2 Pin analog Arduino
- TWI : Pin A4 atau SDA dan pin A5 atau SCL. Yang mendukung komunikasi TWI menggunakan perpustakaan Wire.
2) Tombol Reset S1
Tombol reset S1 Untuk me-reset papan sehingga program akan mulai lagi dari awal. Perhatikan bahwa tombol reset ini bukan untuk menghapus program atau mengosongkan microcontroller.
3) AREF
AREF : Referensi tegangan untuk input analog. Digunakan dengan fungsi analogReference().
4) SV1
Sambungan SV1 berfungsi untuk sambungan atau jumper untuk memilih sumber daya papan, apakah dari sumber eksternal atau menggunakan USB. Sambungan ini tidak diperlukan lagi pada papan Arduino versi terakhir karena pemilihan sumber daya eksternal atau USB dilakukan secara otomatis.
5) X 1
X 1 – sumber daya eksternal Jika hendak disuplai dengan sumber daya eksternal, papan Arduino dapat diberikan tegangan DC antara 9-12V.
6) IC 1
IC 1 – Microcontroller Atmega Komponen utama dari papan Arduino, di dalamnya terdapat CPU, ROM dan RAM.
7) Q 1
Q 1 – Kristal (quartz crystal oscillator) Jika microcontroller dianggap sebagai sebuah otak, maka kristal adalah jantung-nya karena komponen ini menghasilkan detak-detak yang dikirim kepada microcontroller agar melakukan sebuah operasi untuk setiap detak-nya. Kristal ini dipilih yang berdetak 16 juta kali per detik (16MHz).
8) USB
USB berfungsi untuk:
- Memuat program dari komputer ke dalam papan
- Komunikasi serial antara papan dan komputer.
- Memberi daya listrik kepada papan.
9) ICSP
In- Circuit Serial Programming (ICSP) Port ICSP memungkinkan pengguna untuk memprogram microcontroller secara langsung, tanpa melalui bootloader. Umumnya pengguna Arduino tidak melakukan ini sehingga ICSP tidak terlalu dipakai walaupun disediakan.
10) Sumber Daya ( Tegangan ) pada Arduino
Arduino Uno dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal. Sumber daya akan dipilih secara otomatis oleh Arduino. Sumber daya eksternal (non-USB) dapat berasal baik dari adaptor AC-DC atau baterai. Adaptor dapat dihubungkan dengan mencolokkan steker 2,1 mm yang bagian tengahnya terminal positif ke ke jack sumber tegangan pada papan. Jika tegangan berasal dari baterai dapat langsung dihubungkan melalui header pin Gnd dan pin Vin dari konektor POWER.
Papan Arduino Uno dapat beroperasi dengan pasokan daya eksternal 6 Volt sampai 20 volt. Jika diberi tegangan kurang dari 7 Volt, maka, pin 5 Volt mungkin akan menghasilkan tegangan kurang dari 5 Volt dan ini akan membuat papan menjadi tidak stabil. Jika sumber tegangan menggunakan lebih dari 12 Volt, regulator tegangan akan mengalami panas berlebihan dan bisa merusak papan. Rentang sumber tegangan yang dianjurkan adalah 7 Volt sampai 12 Volt.
Pin tegangan yang tersedia pada papan Arduino adalah sebagai berikut:
- VIN : Adalah input tegangan untuk papan Arduino ketika menggunakan sumber daya eksternal (sebagai ‘saingan’ tegangan 5 Volt dari koneksi USB atau sumber daya ter-regulator lainnya). Anda dapat memberikan tegangan melalui pin ini, atau jika memasok tegangan untuk papan melalui jack power, kita bisa mengakses/mengambil tegangan melalui pin ini.
- 5V : Sebuah pin yang mengeluarkan tegangan ter-regulator 5 Volt, dari pin ini tegangan sudah diatur (ter-regulator) dari regulator yang tersedia (built-in) pada papan. Arduino dapat diaktifkan dengan sumber daya baik berasal dari jack power DC (7-12 Volt), konektor USB (5 Volt), atau pin VIN pada board (7-12 Volt). Memberikan tegangan melalui pin 5V atau 3.3V secara langsung tanpa melewati regulator dapat merusak papan Arduino.
- 3V3 : Sebuah pin yang menghasilkan tegangan 3,3 Volt. Tegangan ini dihasilkan oleh regulator yang terdapat pada papan (on-board). Arus maksimum yang dihasilkan adalah 50 mA.
- GND : Pin Ground atau Massa.
IOREF : Pin ini pada papan Arduino berfungsi untuk memberikan referensi tegangan yang beroperasi pada mikrokontroler. Sebuah perisai (shield) dikonfigurasi dengan benar untuk dapat membaca pin tegangan IOREF dan memilih sumber daya yang tepat atau mengaktifkan penerjemah tegangan (voltage translator) pada output untuk bekerja pada tegangan 5 Volt atau 3,3 Volt.
11) Memori Arduino Uno
ATmega328 memiliki 32 KB (dengan 0,5 KB digunakan untuk bootloader). ATmega328 juga memiliki 2 KB dari SRAM dan 1 KB EEPROM (yang dapat dibaca dan ditulis dengan perpustakaan / library EEPROM).
12) Karakteristik Fisik Arduino
Panjang maksimum dan lebar PCB Uno masing-masing adalah 2,7 dan 2,1 inci, dengan konektor USB dan colokan listrik yang melampaui dimensi tersebut. Empat lubang sekrup memungkinkan board harus terpasang ke permukaan.