Pengguna:Akhmad adi sapar: Perbedaan revisi
Dari widuri
Baris 78: | Baris 78: | ||
+ | <div style="text-align: justify;"><br /></div><div style="text-align: justify;"><div style="text-align: center;"><br /></div></div><div style="text-align: center;"><div style="text-align: center;"><b>BAB II</b></div></div><div style="text-align: center;"><div style="text-align: center;"><b><br /></b></div></div><div style="text-align: center;"><div style="text-align: center;"><b><br /></b></div></div><div style="text-align: center;"><div style="text-align: center;"><b>LANDASAN TEORI</b></div></div><div style="text-align: center;"><div style="text-align: center;"><b><br /></b></div></div><div style="text-align: center;"><div style="text-align: justify;"><b><br /></b></div></div><div style="text-align: left;"><div style="text-align: justify;"><b>2.1. Teori Umum</b></div></div><div style="text-align: left;"><div style="text-align: justify;"><b><br /></b></div></div><div style="text-align: left;"><div style="text-align: justify;"><b><br /></b></div></div><div style="text-align: left;"><div style="text-align: justify;"><b>2.1.1. Konsep Dasar Sistem</b></div></div><div style="text-align: left;"><div style="text-align: justify;"><br /></div></div><div style="text-align: left;"><div style="text-align: justify;"><br /></div></div><div style="text-align: justify;">1. Definisi Sistem</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"> Menurut Mustakini (2010:34), “Sistem dapat didefinisikan dengan pendekatan prosedur dan pendekatan komponen, sistem dapat didefinisikan sebagai kumpulan dari prosedur-prosedur yang mempunyai tujuan tertentu”.</div><div style="text-align: justify;">Menurut Sutarman (2012:13), “Sistem adalah kumpulan elemen yang saling berhubungan dan berinteraksi dalam satu kesatuan untuk menjalankan suatu proses pencapaian suatu tujuan utama”.</div><div style="text-align: justify;">Dari pendapat yang dikemukakan di atas dapat disimpulkan bahwa sistem adalah suatu jaringan kerja yang terdiri dari input, proses dan output yang saling terintegrasi dan saling berinteraksi satu sama lain untuk mencapai tujuan tertentu. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">2. Karakteristik Sistem</div><div style="text-align: justify;">Menurut Mustakini (2010:54), bahwa suatu sistem mempunyai karakteristik. Karakteristik sistem adalah sebagai berikut:</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a. Komponen sistem (components system)</div><div style="text-align: justify;">Komponen sistem adalah segala sesuatu yang menjadi bagian penyusun sistem. Komponen sistem dapat berupa benda nyata ataupun abstrak. Komponen sistem disebut sebagai subsistem, dapat berupa orang, benda, hal atau kejadian yang terlibat didalam sistem.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">b. Mempunyai batas sistem (boundary)</div><div style="text-align: justify;">Batas sistem diperlukan untuk membedakan satu sistem dengan sistem lain. Tanpa adanya batas sistem maka sangat sulit untuk menjelaskan suatu sistem. Batas sistem akan memberikan batasan scope tinjauan terhadap sistem.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c. Mempunyai lingkungan (environment)</div><div style="text-align: justify;">Lingkungan sistem adalah segala sesuatu yang berada di luar sistem. Lingkungan sistem dapat menguntungkan ataupun merugikan. Umumnya, lingkungan yang menguntungkan akan selalu dipertahankan untuk menjaga keberlangsungan sistem. Sedangkan lingkungan sistem yang merugikan akan diupayakan agar mempunyai pengaruh seminimal mungkin, bahkan jika mungkin ditiadakan.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d. Mempunyai penghubung atau antar muka (interface) antar komponen</div><div style="text-align: justify;">Penghubung atau antar muka merupakan komponen sistem, yaitu segala sesuatu yang bertugas menjembatani hubungan antar komponen dalam sistem. Penghubung atau antar muka merupakan sarana yang memungkinkan setiap komponen saling berinteraksi dan berkomunikasi dalam rangka menjalankan fungsi masing-masing komponen. Dalam dunia komputer, penghubung/antar muka dapat berupa berbagai macam tampilan dialog layar monitor yang memungkinkan seseorang dapat dengan mudah mengoperasikan sistem aplikasi komputer yang digunakannya.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">e. Mempunyai Masukan (input)</div><div style="text-align: justify;">Masukan merupakan komponen sistem, yaitu segala sesuatu yang perlu dimasukkan ke dalam sistem sebagai bahan yang akan diolah lebih lanjut untuk menghasilkan keluaran yang berguna. Dalam sistem Informasi Manajemen, masukan di sebut sebagai data.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">f. Mempunyai Pengolahan (processing)</div><div style="text-align: justify;">Dalam sistem informasi manajemen, pengolahan adalah berupa program aplikasi komputer yang dikembangkan untuk keperluan khusus. Program aplikasi tersebut mampu menerima masukan, mengolah masukan, dan menampilkan hasil olahan sesuai dengan kebutuhan para pemakai.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">g. Mempunyai Keluaran (output)</div><div style="text-align: justify;">Keluaran merupakan komponen sistem berupa berbagai macam bentuk keluaran yang dihasilkan oleh komponen pengolahan. Dalam sistem informasi manajemen, keluaran adalah informasi yang dihasilkan oleh program aplikasi yang akan digunakan oleh pemakai sebagai bahan pengambilan keputusan.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">h. Mempunyai Sasaran (objective) dan Tujuan (goal)</div><div style="text-align: justify;">Setiap komponen dalam sistem perlu dijaga agar saling bekerja sama dengan harapan agar mampu mencapai sasaran dan tujuan sistem. Sasaran berbeda dengan tujuan. Sasaran sistem adalah apa yang ingin dicapai oleh sistem untuk jangka waktu yang relative pendek. Sedangkan tujuan merupakan kondisi/hasil akhir yang ingin dicapai oleh sistem untuk jangka waktu yang panjang. Dalam hal ini, sasaran merupakan hasil pada setiap tahapan tertentu yang mendukung upaya pencapaian tujuan.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">i. Mempunyai Kendali (control)</div><div style="text-align: justify;">Bagian kendali mempunyai peran utama menjaga agar proses dalam sistem dapat berlangsung secara normal sesuai batasan yang telah ditetapkan sebelumnya. Dalam sistem informasi manajemen, kendali dapat berupa validasi masukan, validasi proses, maupun validasi keluaran yang dapat dirancang dan dikembangkan secara terprogram.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">j. Mempunyai Umpan Balik (feed back)</div><div style="text-align: justify;">Umpan balik diperlukan oleh bagian kendali (control) sistem untuk mengecek terjadinya penyimpangan proses dalam sistem dan mengembalikannya ke dalam kondisi norma.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">3. Kriteria Sistem Yang Baik</div><div style="text-align: justify;">Kriteria sistem yang baik antara lain:</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a. Kegunaan</div><div style="text-align: justify;">Sistem harus menghasilkan informasi yang tepat pada waktunya, relevan yang berarti sistem tersebut mempunyai manfaat bagi pemakainya.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">b. Ekonomis</div><div style="text-align: justify;">Dalam merancang atau membangun sebuah sistem sebisa mungkin hemat pada biaya perancangan, perawatan maupun operasional sistem tersebut.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c. Kehandalan</div><div style="text-align: justify;">Keluaran (output) sistem harus memiliki tingkat ketelitian yang sangat tinggi dan sistem itu sendiri harus mampu beroperasi secara efektif dan efisien.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d. Kapasitas</div><div style="text-align: justify;">Sistem harus mempunyai kapasitas yang memadai untuk menangani periode-periode operasi puncak seperti pada saat sistem beroperasi pada puncak.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">e. Fleksibilitas</div><div style="text-align: justify;">Sistem harus cukup fleksibilitas untuk menampung perubahan yang akan muncul sewaktu-waktu.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><b>2.1.2. Konsep Dasar Pengontrolan</b></div><div style="text-align: justify;"><b><br /></b></div><div style="text-align: justify;"><b>1. Definisi Pengontrolan</b></div><div style="text-align: justify;"><b><br /></b></div><div style="text-align: justify;">Menurut Erinofiardi (2012:261), “Suatu sistem control otomatis dalam suatu proses kerja berfungsi mengendalikan proses tanpa adanya campur tangan manusia(otomatis)”.</div><div style="text-align: justify;">Kontrol otomatis mempunyai peran penting dalam dunia industry 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.</div><div style="text-align: justify;">Berdasarkan Ejaan Yang Disempurnakan (EYD) pengontrolan berasal dari kata kontrol. Kontrol sama dengan pengawasan, pemeriksaan dan pengendalian.</div><div style="text-align: justify;">Pada industri besar dan modern sangat memerlukan tenaga ahli perencanaan sistem pengendali dan perancangan desain sistem pengendali, termasuk teknisi professional sebagai operator. Tidak menutup kemungkinan bahwa pengontrolan berasal dari berbagai disiplin ilmu yang saling berhubungan karena teori sistem pengendali modern di kembangkan guna mengatasi kerumitan yang dijumpai pada berbagai sistem pengendalian yang menuntut kecepatan dan ketelitian yang tinggi dengan hasil output yang optimal.</div><div style="text-align: justify;">Dalam sistem pengendali kita mengenal adanya sistem pengendali Loop Terbuka (Open-loop Control System) dan Sistem Pengendali Loop Tertutup(Closed-loop Control System).</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">2. Jenis-Jenis Pengontrolan.</div><div style="text-align: justify;">a. Sistem Kontrol Loop Terbuka</div><div style="text-align: justify;">Menurut Erinofiardi (2012:261) sistem kontol loop terbuka adalah “suatu sistem kontrol yang keluarannya tidak berpengaruh terhadap aksi pengontrolan. Dengan demikian pada sistem kontol ini nilai keluaran tidak di umpan-balikkan ke parameter pengendalian.”</div><div style="text-align: justify;"><div style="text-align: center;">http://1.bp.blogspot.com/-nUAcnUNPv_Y/VOdFVF7GcZI/AAAAAAAAALE/3LNJgu-g3F4/s1600/bab%2B2%2Bhalaman%2B15.jpg</div></div><div style="text-align: center;"><div style="text-align: justify;"><div style="text-align: center;"><span style="font-weight: bold;"><br /></span></div></div></div><div style="text-align: center;"><div style="text-align: justify;"><div style="text-align: center;">Sumber : Erinofiardi (2012:261)</div></div></div><div style="text-align: center;"><div style="text-align: justify;"><div style="text-align: center;"><b>Gambar 2.1. Sistem Pengendali Loop Terbuka</b></div></div></div><div><div style="text-align: justify;"><br /></div></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a. Sistem Kontrol Loop Tertutup</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Menurut Erinofiardi(2012:261) sistem kontrol loop tertutup adalah “Suatu sistem kontrol yang sinyal keluarannya memiliki pengaruh langsung terhadap aksi pengendalian yang di lakukan”.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Yang menjadi ciri dari sistem pengendali tertutup adalah adanya sinyal umpan balik. Sinyal umpan balik merupakan sinyal keluaran atau fungsi keluaran dan turunannya, yang diumpankan ke elemen kendali untuk memperkecil kesalahan dan membuat keluaran sistem mendekati hasil yang diinginkan.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div> | ||
+ | http://3.bp.blogspot.com/-ZeHkujjrG-Y/VOdLpacju2I/AAAAAAAAALU/Hx0z8mW7wLk/s1600/bab%2B2%2Bhal%2B15.jpg | ||
+ | <div style="text-align: justify;"><br /></div><div style="text-align: center;"><b><br /></b></div><div style="text-align: center;"><b>Sumber : Erinofiardi(2012:262)</b></div><div style="text-align: center;"><b><br /></b></div><div style="text-align: center;"><b>Gambar 2.2. Sistem Pengendali Loop Tertutup</b></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Gambar di atas 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 kealat terkendali.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Sinyal input berupa masukan referensi yang akan menentukan suatu nilai yang diharapkan bagi sistem yang dikendalikan tersebut. Dalam berbagi sistem pengendalian, sinyal input dihasilkan oleh mikrokontroller.</div><div style="text-align: justify;"><br /></div><b><div style="text-align: justify;"><b>1.1.3. Konsep Dasar Flowchart</b></div></b><div style="text-align: justify;"><br /></div><div style="text-align: justify;">1. Definisi Flowchart </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Menurut Sulindawati dan Muhammad Fathoni di dalam Jurnal SAINTIKOM Vol. 9, No. 2 (2010:8), “Flowchart adalah penggambaran secara grafik dari langkah-langkah dau urutan-urutan prosedur dari suatu program”. </div><div style="text-align: justify;">Menurut Adelia dan Jimmy Setiawan di dalam Jurnal Sistem Informasi Vol. 6, No.2 (2011:116), “Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program”.</div><div style="text-align: justify;">Dari pendapat yang dikemukakan di atas dapat disimpulkan bahwa Flowchart adalah bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial.</div><div style="text-align: justify;">Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan di evaluasi lebih lanjut. Bila seorang analisi dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">2. Cara Membuat Flowchart </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Ada beberapa petunjuk dalam pembuatan Flowchart Menurut Menurut Sulindawati dan Muhammad Fathoni dalam Jurnal SAINTIKOM Vol. 9, No. 2 (2010:8): </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">1. Flowchart digambarkan dari halaman atas ke bawah dan kiri ke kanan </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">2. Aktifitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">3. Kapan aktifitas dimulai dan berakhir harus ditentukan secara jelas</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">5. Setiap langkah dari aktifitas harus berada pada urutan yang benar </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">6. Lingkup dan range dari aktifitas yang sedang digambarkanharus ditelusuri dengan hati-hati. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">7. Gunakan symbol-simbol flowchart yang standart. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">3. Jenis-Jenis Flowchart </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Ada lima macam bagan alir yang akan dibahas di modul ini, yaitu sebagai berikut: </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a. Bagan Alir Sistem (Systems Flowchart) </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di dalam system secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada dalam sistem </div><div style="text-align: justify;"><br /></div>http://3.bp.blogspot.com/-lQPDWMP_7MI/VOdQVnS5GZI/AAAAAAAAALg/XpP_muEZl8s/s1600/bab%2B2%2Bhal%2B18.jpg | ||
− | < | + | <br /><div style="text-align: center;"><b><br /></b></div><div style="text-align: center;"><b>Gambar 2.3. Bagan Alir Sistem (System Flowcharts)</b></div><div style="text-align: center;"><br /></div><br /><div style="text-align: justify;">b. Bagan Alir Dokumen (Document Flowchart) </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Menelusuri alur dari data yang ditulis melalui sistem. Fungsi utamanya untuk menelusuri alur form dan laporan sistem dari satu bagian ke bagian yang lain.</div> |
− | + | http://4.bp.blogspot.com/-ROojvGOlUio/VOdRmE_OYAI/AAAAAAAAALs/wujH7io7AJg/s1600/bab%2B2%2Bhall18.jpg | |
− | + | ||
− | + | <div style="text-align: justify;"><br /></div><div style="text-align: center;"><b><br /></b></div><div style="text-align: center;"><b>Gambar 2.4. Bagan Alir Dokumen (Document Flowchart) </b></div><div style="text-align: center;"><br /></div><div style="text-align: justify;">c. Bagan Alir Skematik (Schematic Flowchart) </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Mirip dengan Flowchart sistem yang menggambarkan suatu sistem atau prosedur.</div> | |
− | + | http://4.bp.blogspot.com/-6KelrXANm8k/VOdSSzfUHxI/AAAAAAAAAL0/Dgg8afwsaCs/s1600/bab%2B2%2Bhall19.jpg | |
− | + | <div style="text-align: justify;"><br /></div><div style="text-align: center;"><b><br /></b></div><div style="text-align: center;"><b>Gambar 2.5. Bagan Alir Skematik (Schematic Flowchart) </b></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d. Bagan Alir Program (Program Flowchart) </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah program atau prosedur dilaksanakan</div> | |
− | + | ||
− | + | http://4.bp.blogspot.com/-zoN_uT9v0GU/VOdS902vIfI/AAAAAAAAAL8/TYZNAzHaxdU/s1600/bab%2B2%2Bhal19.jpg | |
− | + | ||
− | + | <br /><br /><div style="text-align: center;"><b>Gambar 2.6. Bagan Alir Program (Program Flowchart)</b></div><br /><div style="text-align: justify;">e. Bagan Alir Proses (Process Flowchart) </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Merupakan teknik penggambaran rekayasa industrial yangmemecah dan menganalisis langkah selanjutnya dari sebuahsistem. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div align="center" class="MsoNormal" style="line-height: 200%; tab-stops: 126.4pt; text-align: center;"><b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; line-height: 200%;"><o:p></o:p></span></b></div> | |
− | + | http://2.bp.blogspot.com/-wTnvBQwtBrk/VOdT9cwy7GI/AAAAAAAAAMI/LdPMn48w6ek/s1600/bab%2B2%2Bhal20.jpg | |
− | + | ||
− | + | <div style="text-align: center;"><b>Gambar 2.7. Bagan Alir Proses (Process Flowchart)</b></div> | |
− | + | http://4.bp.blogspot.com/-Tkl6UlW1jUg/VOdVPtqfNTI/AAAAAAAAAMU/Xps3EQ3dDsk/s1600/bab%2B2%2Bhall20.jpg | |
− | + | ||
− | <div style="text-align: center | + | <div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: center;">Gambar 2.8. Contoh Variasi Aplikasi Flowchart</div><div style="text-align: center;"><br /></div><div style="text-align: justify;"><b>1.1.3. Konsep Dasar White Box </b></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">1. Definisi White Box </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Menurut Sodikin di dalam Jurnal Teknologi Informasi (2009:750), “Pengujian White Box berfokus pada strukutr control pengguna”. </div><div style="text-align: justify;">Menurut Handaya dan Hakim Hartanto di dalam Jurnal Sistem Informasi (2011:204) “White Box adalah sebuah cara pengujian yang menggunakan struktur kontrol yang dideskripsikan sebagai komponen perangkat lunak untuk memperoleh uji kasus”. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Dari pendapat yang dikemukakan di atas dapat disimpulkan bahwa white box adalah sebuah cara pengujian yang menggunkan struktur control perangkat lunak. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><b>1.1.4. Konsep Dasar Black Box</b></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">1. Definisi Black Box </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Menurut Siddiq (2012:4), “Pengujian black box adalah pengujian aspek fundamental sistem tanpa memperhatikan struktur logika internal perangkat lunak. Metode ini digunakan untuk mengetahui apakah perangkat lunak berfungsi dengan benar. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Dari kedua definisi di atas dapat disimpulkan bahwa metode pengujian Black Box digunakan untuk menguji sistem dari segi user yang dititik beratkan pada pengujian kinerja, spesifikasi dan antarmuka sistem tersebut tanpa menguji kode program yang ada. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Berbeda dengan white Box, Black Box Testing tidak membutuhkan pengetahuan mengenai, alur internal (internal path), struktur atau implementasi dari software under test (SUT). Karena itu uji coba Black Box memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. </div><div style="text-align: justify;">Uji coba Black Box bukan merupakan alternatif dari uji coba white Box, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain menggunakan metode white Box. Black Box Testing dapat dilakukan pada setiap level pembangunan sistem. Mulai dari unit, integration, system, dan acceptance.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Uji coba Black Box berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya: </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a. Fungsi-fungsi yang salah atau hilang </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">b. Kesalahan interface </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c. Kesalahan dalam struktur data atau akses database eksternal </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d. Kesalahan performa </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">e. kesalahan inisialisasi dan terminasi</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Tidak seperti metode white Box yang dilaksanakan diawal proses, uji coba Black Box diaplikasikan dibeberapa tahapan berikutnya. Karena uji coba Black Box dengan sengaja mengabaikan struktur kontrol, sehingga perhatiannya difokuskan pada informasi domain. Uji coba didesain untuk dapat menjawab pertanyaan pertanyaan berikut:</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a. Bagaimana validitas fungsionalnya diuji? </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">b. Jenis input seperti apa yang akan menghasilkan kasus uji yang baik? </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c. Apakah sistem secara khusus sensitif terhadap nilai input tertentu? </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d. Bagaimana batasan-batasan kelas data diisolasi? </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">e. Berapa rasio data dan jumlah data yang dapat ditoleransi oleh sistem? </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">f. Apa akibat yang akan timbul dari kombinasi spesifik data pada operasi sistem?</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Sehingga dalam uji coba Black Box harus melewati beberapa proses sebagai berikut: </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a. Menganalisis kebutuhan dan spesifikasi dari perangkat lunak. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">b. Pemilihan jenis input yang memungkinkan menghasilkan output benar serta jenis input yang memungkinkan output salah pada perangkat lunak yang sedang diuji. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c. Menentukan output untuk suatu jenis input. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d. Pengujian dilakukan dengan input-input yang telah benar-benar diseleksi. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">e. Melakukan pengujian. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">f. Pembandingan output yang dihasilkan dengan output yang diharapkan.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">g. Menentukan fungsionalitas yang seharusnya ada pada perangkat lunak yang sedang diuji.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">2. Metode Pengujian Dalam Black Box </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Ada beberapa macam metode pengujian Black Box, berikut diantaranya: </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a. Equivalence Partioning </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">b. Boundary Value Analysis </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c. Cause-Effect Graphing Techniques </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Cause-Effect Graphing merupakan desain teknik kasus uji coba yang menyediakan representasi singkat mengenai kondisi logikal dan aksi yang berhubungan. Tekniknya mengikuti 4 tahapan berikut: </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">1) Causes (kondisi input), dan Effects (aksi) didaftarkan untuk modul dan identifier yang dtujukan untuk masing-masing. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">2) Pembuatan grafik Causes-Effect graph </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">3) Grafik dikonversikan kedalam tabel keputusan </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">4) Aturan tabel keputusan dikonversikan kedalam kasus uji</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d. Comparison Testing </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">e. Sample and Robustness Testing </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">1) Sample Testing </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Melibatkan beberapa nilai yang terpilih dari sebuah kelas ekivalen, seperti Mengintegrasikan nilai pada kasus uji. Nilai-nilai yang terpilih mungkin dipilih dengan urutan tertentu atau interval tertentu </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">2) Robustness Testing </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Pengujian ketahanan (Robustness Testing) adalah metodologi jaminan mutu difokuskan pada pengujian ketahanan perangkat lunak. Pengujian ketahanan juga digunakan untuk menggambarkan proses verifikasi kekokohan (yaitu kebenaran) kasus uji dalam proses pengujian. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">f. Behavior Testing dan Performance Testing </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">1) Behavior Testing </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Hasil uji tidak dapat dievaluasi jika hanya melakukan pengujian sekali, tapi dapat dievaluasi jika pengujian dilakukan beberapa kali, misalnya pada pengujian struktur data stack.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">2) Performance Testing </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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 didefinisikan pada saat tahap spesifikasi atau desain. Dapat digunakan untuk menguji batasan lingkungan program.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">g. Requirement Testing </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Spesifikasikebutuhanyangterasosiasidenganperangkatlunak(input/output/fungsi/performansi)diidentifikasi pada tahap spesifikasi kebutuhan dan desain. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">1) Requirement Testing melibatkan pembuatan kasus uji untuk setiap spesifikasi kebutuhan yang terkait dengan program </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">2) Untuk memfasilitasinya, setiap spesifikasi kebutuhan bisa ditelusuri dengan kasus uji dengan menggunakan traceability matrix </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">h. Endurance Testing </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Endurance Testing melibatkan kasus uji yang diulang-ulang dengan jumlah tertentu dengan tujuan untuk mengevaluasi program apakah sesuai dengan spesifikasi kebutuhan. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Contoh: Untuk menguji keakuratan operasi 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 output). Spesifikasi kebutuhan pengujian didefinisikan pada tahap spesifikasi kebutuhan atau desain.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">3. Kelebihan dan Kelemahan Black Box </div><div style="text-align: justify;">Dalam uji coba Black Box terdapat beberapa kelebihan</div><div style="text-align: center;"><b>Tabel 2.1. Kelebihan dan Kelemahan Black Box</b></div> |
− | + | http://1.bp.blogspot.com/-fQcPr2EoHEw/VOdXVrp7_gI/AAAAAAAAAMg/2LkRcafIBAw/s1600/bab%2B2%2Bhal28.jpg | |
− | + | ||
− | + | <div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><b><div style="text-align: justify;"><b>1.1. Teori Khusus</b></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><b>2.2.1. Mikrokontroller</b></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><b>1. Definisi Mikrokontroler</b></div></b><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Menurut Malik (2009:1), bahwa “Mikrokontroler adalah sebagai sebuah sistem komputer yang dibangun pada sebuah keping (chip) tunggal”.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Menurut Saefullah dkk (2009:319), “Mikrokontroler merupakan komponen utama atau biasa disebut juga sebagai otak yang berfungsi sebagai pengatur pergerakan motor (Motor Driver) dan pengolah data yang dihasilkan oleh komparator sebagai bentuk keluaran dari sensor”</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">2. Karakteristik Mikrokontroller</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Menurut Malik (2009:2), karakteristik mikrokontroler mempunyai beberapa komponen-komponen yaitu:</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a. CPU (Central Procesing Unit)</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">b. RAM (Read Only Memory)</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c. I/O (Input/Output)</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">3. Klasifikasi Mikrokontroller</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Menurut Malik (2009:3), mikrokontroler memiliki beberapa klasifikasi yaitu sebagai berikut:</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a. ROM (Flash Memory) dengan kapasitas 1024 byte (1 KB)</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">b. RAM berkapasitas 68 byte</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c. EEPROM (memori data) berkapasitas 64 byte</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d. Total 13 jalur I/O (Port B 8 bit)</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">e. Timer/Counter 8 bit dengan prescaler</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">f. Fasilitas pemrograman di dalam sistem (ICSP = In Circuit Serial Programing) </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Menurut Malik (2009:3), bahwa Beberapa fitur yang umumnya ada di dalam mikrokontroler adalah sebagai berikut:</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a. RAM (Random Access Memory) </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">RAM digunakan oleh mikrokontroler untuk tempat penyimpanan variabel. Memori ini bersifat volatile yang berarti akan kehilangan semua datanya jika tidak mendapatkan catu daya. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">b. ROM (Read Only Memory) </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">ROM seringkali disebut sebagai kode memori karena berfungsi untuk tempat penyimpanan program yang akan diberikan oleh user. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c. Register </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Merupakan tempat penyimpanan nilai–nilai yang akan digunakan dalam proses yang telah disediakan oleh mikrokontroler. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d. Special Function Register </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Merupakan register khusus yang berfungsi untuk mengatur jalannya mikrokontroler. Register ini terletak pada RAM. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">e. Input dan Output Pin </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Pin input adalah bagian yang berfungsi sebagai penerima signal dari luar, pin ini dapat dihubungkan ke berbagai media inputan seperti keypad, sensor, dan sebagainya. Pin output adalah bagian yang berfungsi untuk mengeluarkan signal dari hasil proses algoritma mikrokontroler. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">f. Interrupt </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><b>2.2.2. ATMega328</b></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Menurut Syahid (2012:33), ”ATMega328 merupakan mikrokontroler keluarga AVR 8 bit. Beberapa tipe mikrokontroler yang sama dengan ATMega8 ini antara lain ATMega8535, ATMega16, ATMega32, ATMega328, yang membedakan antara mikrokontroler antara lain adalah, ukuran memori, banyaknya GPIO (pin input/output), peripherial (USART, timer, counter, dll).”</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Dari segi ukuran fisik, ATMega328 memiliki ukuran fisik lebih kecil dibandingkan dengan beberapa mikrokontroler diatas. Namun untuk segi memori dan periperial lainnya ATMega328 tidak kalah dengan yang lainnya karena ukuran memori dan periperialnya relatif sama dengan</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">ATMega8535, ATMega32, hanya saja jumlah GPIO lebih sedikit dibandingkan mikrokontroler diatas.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Mikrokontroller ini memiliki beberapa fitur antara lain : </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">b. 32 x 8-bit register serba guna. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c. Kecepatan mencapai 16 MIPS dengan clock 16 MHz. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d. 32 KB flash memory dan pada arduino memiliki bootloader yang menggunakan 2 KB dari flash memori sebagai bootloader. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">e. Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanent karena EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">f. Memiliki SRAM (Static Random Access Memory) sebesar 2KB. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">g. Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width Modulation) output. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">h. Master / Slave SPI Serial interface.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Mikrokontroler ATMega328 memiliki arsitektur Harvard, yaitu memisahkan memori untuk kode program dan memori untuk data sehingga dapat memaksimalkan kerja dan paralelisme. Instruksi – instruksi dalam memori program dieksekusi dalam satu alur tunggal, dimana pada saat satu instruksi dikerjakan instruksi berikutnya sudah diambil dari memori program. Konsep inilah yang memungkinkan instruksi – instruksi dapat dieksekusi dalam setiap satu siklus clock. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">32 x 8-bit register serba guna digunakan untuk mendukung operasi pada ALU (Arithmatic Logic unit) yang dapat dilakukan dalam satu siklus. 6 dari register serbaguna ini dapat digunakan sebagai 3 buah register pointer 16-bit pada mode pengalamatan tak langsung untuk mengambil data pada ruang memori data. Ketiga register pointer 16-bit ini disebut dengan register X ( gabungan R26 dan R27 ), register Y ( gabungan R28 dan R29 ), dan register Z ( gabungan R30 dan R31 ). </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Hampir semua instruksi AVR memiliki format 16-bit. Setiap alamat memori program terdiri dari instruksi 16-bit atau 32-bit. Selain register serba guna di atas, terdapat register lain yang terpetakan dengan teknik memory mapped I/O selebar 64 byte. Beberapa register ini digunakan untuk fungsi khusus antara lain sebagai register Control Timer/ Counter, Interupsi, ADC, USART, SPI, EEPROM, dan fungsi I/O lainnya. Berikut ini adalah tampilan arsitektur ATmega 328 :</div> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | <div style="text-align: | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | <div style="text-align: | + | |
− | <br /></div | + | |
− | + | ||
− | + | ||
− | <div style="text-align: justify;"> | + | |
− | + | ||
− | <div style="text-align: justify | + | |
− | + | ||
− | <div style="text-align: justify;"> | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | <div style="text-align: justify;"> | + | |
− | + | ||
− | <div style="text-align: | + | |
− | < | + | |
− | <div style="text-align: | + | |
− | < | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | <div style="text-align: | + | |
− | + | ||
− | <div style="text-align: justify;"> | + | |
− | + | ||
− | + | ||
− | + | ||
− | <div style="text-align: justify | + | |
− | + | ||
− | <div style="text-align: justify;"> | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | <div style="text-align: justify | + | |
− | + | ||
− | <div style="text-align: | + | |
− | < | + | |
− | <div style="text-align: | + | |
− | < | + | |
− | + | ||
− | + | ||
− | <div style="text-align: justify | + | |
− | + | ||
− | <div style="text-align: justify;"> | + | |
− | + | ||
− | + | ||
− | + | ||
− | <div style="text-align: justify | + | |
− | + | ||
− | <div style="text-align: justify;"> | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | < | + | |
− | <div style="text-align: | + | |
− | < | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | <div style="text-align: justify;"> | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | <div style="text-align: justify | + | |
− | + | ||
− | <div style="text-align: justify;"> | + | |
− | + | ||
− | + | ||
− | + | ||
− | <div style="text-align: justify | + | |
− | + | ||
− | <div style="text-align: justify;"> | + | |
− | + | ||
− | <div style="text-align: justify | + | |
− | + | ||
− | <div | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | < | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | <div style="text-align: | + | |
− | < | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Revisi per 20 Februari 2015 15.53
Perancangan Sistem Penyulingan Air Kotor
Menggunakan Sensor Cahaya Dengan Interface Visual Basic.Net
Dan SqL Server Berbasisi Mikrokontroller ATMega328
Disusun Oleh :
NIM |
: 1031465030
|
NAMA |
JURUSAN SISTEM KOMPUTER
KONSENTRASI KOMPUTER SISTEM
SEKOLAH TINGGI MANAJEMEN DAN ILMU KOMPUTER
TANGERANG
2014/2015
BAB I
PENDAHULUAN
PENDAHULUAN
1.1.Latar Belakang
Di era globalisasi ini ilmu pengetahuan dan teknologi telah mengalami perkembangan yang sangat pesat, begitu pun dengan sistem kendali otomatis. Dengan adanya kemajuan di bidang tersebut banyak menghasilkan kreatifitas dan inovasi baru untuk kearah yang lebih maju yaitu mempermudah pekerjaan manusia dan memberikan manfaat besar di segala bidang. Air merupakan sumber bagi kehidupan, sering kita mendengar bumi di sebut sebagai pelanet biru karena air menutupi ¾ permukaan bumi tetapi tidak jarang pula kita mengalami kesulitan mendapatkan air bersih, terutama saat musim kemarau di saat air mulai mengalami berubah warna atau berbau sekalipun air sungai atau sumber air lainnya yang mulai menjadi kotor, ataupun berbau selama kuantitasnya masih banyak kita masih dapat berupaya merubah atau menjernihkan air kotor tersebut menjadi air bersih yang layak pakai. ada berbagai cara sederhana yang dapat kita gunakan untuk mendapatkan air bersih ,dan cara yang paling mudah dan paling umum digunakan adalah dengan membuat saringan air Dengan cara manual.
Pada kesempatan ini penulis ingin membuat suatu alat di mana alat tersebut dapat memproses dan merubah air kotor menjadi air bersih.secara otomatis dengan menggunakan sensor cahaya. Sehingga dapat di manfaatkan untuk kebutuhan kehidupan sehari-hari misalkan untuk mencuci pakaian, mandi,dan memasak.
Dan untuk mengatasi masalah tersebut perlu adanya sistem kontrol otomatis, yaitu dengan cara membuat sistem atau alat penyulingan air kotor menjadi air bersih secara otomatis menggunakan mikrokontroller ATMega 328 .
Dalam kesempatan ini penulis mencoba mempersembahkan sebuah karya Sekripsi dengan judul “Perancangan Sistem Penyulingan Air Kotor Menggunakan Sensor Cahaya Dengan Interface Visual Basic.Net Dan SqL Server Berbasis Mikrokontroller ATMega328’’ Perlunya pemahaman tentang komponen-komponen elektronika sangat dibutuhkan pada perancangan embedded system ini. Hal ini dilakukan dalam rangka memberikan kontribusi terhadap perkembangan COS (computer system) yang merupakan salah satu konsentrasi yang membahas mengenai hardware dari jurusan Sistem Komputer di Perguruan Tinggi Raharja.
Pada kesempatan ini penulis ingin membuat suatu alat di mana alat tersebut dapat memproses dan merubah air kotor menjadi air bersih.secara otomatis dengan menggunakan sensor cahaya. Sehingga dapat di manfaatkan untuk kebutuhan kehidupan sehari-hari misalkan untuk mencuci pakaian, mandi,dan memasak.
Dan untuk mengatasi masalah tersebut perlu adanya sistem kontrol otomatis, yaitu dengan cara membuat sistem atau alat penyulingan air kotor menjadi air bersih secara otomatis menggunakan mikrokontroller ATMega 328 .
Dalam kesempatan ini penulis mencoba mempersembahkan sebuah karya Sekripsi dengan judul “Perancangan Sistem Penyulingan Air Kotor Menggunakan Sensor Cahaya Dengan Interface Visual Basic.Net Dan SqL Server Berbasis Mikrokontroller ATMega328’’ Perlunya pemahaman tentang komponen-komponen elektronika sangat dibutuhkan pada perancangan embedded system ini. Hal ini dilakukan dalam rangka memberikan kontribusi terhadap perkembangan COS (computer system) yang merupakan salah satu konsentrasi yang membahas mengenai hardware dari jurusan Sistem Komputer di Perguruan Tinggi Raharja.
1.2. Perumusan Masalah
Beberapa hal yang menjadi perumusan masalah dalam penyusunan laporan ini antara lain:
1. Bagaimana membuat aplikasi visual basic.net yang mampu menjadikan media pengontrolan untuk mengontrol, sistem penyulingan air kotor?
2. Bagaimana cara kerja dari empat buah motor AC Water Pump dan sensor cahaya LDR?
3. Bagaimana komunikasi antara aplikasi Visual Basic.net dengan sistem penyulingan air kotor yang menjadi objek pengontrolan?
1.3. Ruang Lingkup Penelitian
Sebagai pembatasan pembahasan pada penelitian ini sehingga tetap fokus dan sesuai dengan tujuan yang ditetapkan, maka peneliti memberikan ruang lingkup laporan sebagai berikut:
1. Perancangan sistem penyulingan air kotor yang menggunakan Mikrokontroler ATMega328 sebagai otak utama untuk pengendalian.
2. Sensor yang digunakan adalah sensor Cahaya LDR sebagai sensor pendeteksi tingkat kejernihan air, dan motor AC Water Pump sebagai penghisap air.
3. Aplikasi Visual Basic.net untuk mengontrol sistem penyulingan air, melalui prangkat komputer
4. air yang di pergunakan menggunakan air kotor biasa bukan air yang terkontaminasi dengan zat kimia.
1.4.Tujuan Dan Manfaat Penelitian
1.4.1. Tujuan Penelitian
a. Tujuan Operasional
1. Menggunakan Visual Basic.net sebagai pengontrolan, penyulingan air kotor.
2. Memanfaatkan motor AC Water Pump sebagai penghisap air.
3. Memanfaatkan LDR (Light Dependent Resistor) sebagai sensor yang dapat mendeteksi tingkat kejernihan air kotor.
b. Tujuan Fungsional
1. Membuat sistem penyulingan air yang lebih baik lagi
2. Membuat Sistem penyulingan air kotor yang dapat di kontrol melalui Aplikasi Visual Basic.net. tidak dengan cara manual.
c. Tujuan Individu (pribadi)
1. Memenuhi syarat kelulusan untuk jenjang Strata (S1).
2. Mengaplikasikan ilmu yang penulis dapat selama pekuliahan.
1.4.2. Manfaat Penelitian
a. Manfaat Individual
1. Dapat mengembangkan ilmu yang penulis dapatkan selama perkuliahan.
2. Memberikan kepuasan karena dapat menciptakan sesuatu yang bermanfaat bagi masyarakat.
3. Memberikan suatu terobosan baru pada tempat perkuliahan penulis di STMIK RAHARJA.
b. Manfaat fungsional
1. Dapat membantu mengurangi tingkat kekurangan air bersih.
2. Dengan menggunakan interface Visual Basic.net maka sistem penyulingan air kotor dapat bekerja secara otomatis.
c. Manfaat operasional
1. Dapat membantu seseorang dalam hal penyulingan air kotor tanpa harus dengan cara manual
2. Sistem penyulingan dapat bekerja secara epektif sehingga dapat menghasilkan air bersih.
1.5.Metode Penelitian
Dalam melakukan penelitian ini, maka metode yang penulis terapkan adalah:
1.5.1. Metode Pengumpulan Data
a. Observasi
1. Melalui pengamatan dan pengalaman yang didapat untuk mengetahui proses pengerjaan untuk menghasilkan prototype Sistem alat penyulingan air kotor serta aplikasi dan rancangan device yang di gunakan untuk sebagai pengontrolan penyulingan air kotor.
2. Melalui pengamatan lapangan untuk memperoleh informasi tentang jenis bahan atau peralatan apa saja yang di butuhkan, tentunya ekonomis dan terjangkau, namun teteap memenuhi keriteria.
b. Studi Pustaka
Metode untuk mendapatkan informasi dengan mencatat dan mempelajari buku-buku atau literature review yang berhubungan dengan penelitian dari berbagai sumber yang tertulis maupun elektronik. Sebagian besar penulis melakukan pengumpulan data dan metode diambil dari situs-situs internet, dan sisanya dari buku cetak.
c. Diskusi Ilmiah
Mengumpulkan data dengan melakukan serangkaian diskusi dengan pihak lain yang lebih memahami dan menguasai, sehingga didapat pemecahan masalah yang di hadapi.
1.5.2. Metode Analisa
Metode ini melakukan analisa suatu sistem yang sudah ada, bagai mana sistem itu berjalan dan apakah kekurangan dari sistem tersebut pada sistem yang sekarang dalam penggunaannya masih manualsehingga perlu adanya sistem yang dapat membantu dalam pekerjaan keidupan sehari hari.
1.5.3. Metode Perancangan
Dalam metode perancangan ini kita dapat mengetahui bagai mana sistem itu di buat atau di rancang dan alat apa saja yang di butuhkan. Melalui tahapan pembuatan flawchart dari sistem yang akan di buatdan pembuatan desain aplikasi pengontrolan berupa perancangan perangkat lunak ( software) dan perangkat keras (hardware)
1.5.4. Metode Pengujuian
Pada metode pengujian ini yang di pakai adalah metode pengujian adalah metode pengujian black box
1.6.Sistematika Penulisan
Untuk memahami lebih jelas mengenai Laporan SKRIPSI, penulis mengelompokkan laporan ini menjadi beberapa sub-sub dengan sistematika penulisan. Penulisan ini terdiri dari lima bab dan beberapa lampiran dengan sistematik yang tersusun sebagai berikut:
BAB I PENDAHULUAN
Bab ini berisi uraian latar belakang, perumusan masalah, ruang lingkup penelitian, tujuan dan manfaat, metode penelitian dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisi landasan teori sebagai konsep dasar dalam penyusunan alat dan beberapa definisi yang sesuai dengan penelitian sehingga menghasilkan karya yang bernilai ilmiah.
BAB III PERANCANGAN DAN PEMBAHASAN
Bab ini berisi rancangan pembuatan “Perancangan Sistem Penyulingan Air Kotor Menggunakan Sensor Cahaya Dengan Interface Visual Basic.Net Dan SqL Server Berbasisi Mikrokontroller ATMega328’’ dan
Flow Chart dari sistem yang akan di bangun komunikasi antara mikrokontroler dengan sensor cahaya.
BAB IV IMPLEMENTASI DAN PERANCANGAN
Bab ini berisi tentang implementasi dari sistem yang telah dirancang kemudian dilakukan pengujian atas kinerja dari sistem dan analisa terhadap komunikasi antara mikrokontroler ATmega328, sensor cahaya sebagai pendeteksi tingkat kejernihan air, Motor AC, sebagai media penggerak Water pump.
BAB V PENUTUP
Bab ini berisi tentang kesimpulan dan saran dari pembuatan alat dan laporan sebagai upaya untuk perbaikan kedepan.
DAFTAR PUSTAKA
LAMPIRAN
BAB II
LANDASAN TEORI
2.1. Teori Umum
2.1.1. Konsep Dasar Sistem
1. Definisi Sistem
Menurut Mustakini (2010:34), “Sistem dapat didefinisikan dengan pendekatan prosedur dan pendekatan komponen, sistem dapat didefinisikan sebagai kumpulan dari prosedur-prosedur yang mempunyai tujuan tertentu”.
Menurut Sutarman (2012:13), “Sistem adalah kumpulan elemen yang saling berhubungan dan berinteraksi dalam satu kesatuan untuk menjalankan suatu proses pencapaian suatu tujuan utama”.
Dari pendapat yang dikemukakan di atas dapat disimpulkan bahwa sistem adalah suatu jaringan kerja yang terdiri dari input, proses dan output yang saling terintegrasi dan saling berinteraksi satu sama lain untuk mencapai tujuan tertentu.
2. Karakteristik Sistem
Menurut Mustakini (2010:54), bahwa suatu sistem mempunyai karakteristik. Karakteristik sistem adalah sebagai berikut:
a. Komponen sistem (components system)
Komponen sistem adalah segala sesuatu yang menjadi bagian penyusun sistem. Komponen sistem dapat berupa benda nyata ataupun abstrak. Komponen sistem disebut sebagai subsistem, dapat berupa orang, benda, hal atau kejadian yang terlibat didalam sistem.
b. Mempunyai batas sistem (boundary)
Batas sistem diperlukan untuk membedakan satu sistem dengan sistem lain. Tanpa adanya batas sistem maka sangat sulit untuk menjelaskan suatu sistem. Batas sistem akan memberikan batasan scope tinjauan terhadap sistem.
c. Mempunyai lingkungan (environment)
Lingkungan sistem adalah segala sesuatu yang berada di luar sistem. Lingkungan sistem dapat menguntungkan ataupun merugikan. Umumnya, lingkungan yang menguntungkan akan selalu dipertahankan untuk menjaga keberlangsungan sistem. Sedangkan lingkungan sistem yang merugikan akan diupayakan agar mempunyai pengaruh seminimal mungkin, bahkan jika mungkin ditiadakan.
d. Mempunyai penghubung atau antar muka (interface) antar komponen
Penghubung atau antar muka merupakan komponen sistem, yaitu segala sesuatu yang bertugas menjembatani hubungan antar komponen dalam sistem. Penghubung atau antar muka merupakan sarana yang memungkinkan setiap komponen saling berinteraksi dan berkomunikasi dalam rangka menjalankan fungsi masing-masing komponen. Dalam dunia komputer, penghubung/antar muka dapat berupa berbagai macam tampilan dialog layar monitor yang memungkinkan seseorang dapat dengan mudah mengoperasikan sistem aplikasi komputer yang digunakannya.
e. Mempunyai Masukan (input)
Masukan merupakan komponen sistem, yaitu segala sesuatu yang perlu dimasukkan ke dalam sistem sebagai bahan yang akan diolah lebih lanjut untuk menghasilkan keluaran yang berguna. Dalam sistem Informasi Manajemen, masukan di sebut sebagai data.
f. Mempunyai Pengolahan (processing)
Dalam sistem informasi manajemen, pengolahan adalah berupa program aplikasi komputer yang dikembangkan untuk keperluan khusus. Program aplikasi tersebut mampu menerima masukan, mengolah masukan, dan menampilkan hasil olahan sesuai dengan kebutuhan para pemakai.
g. Mempunyai Keluaran (output)
Keluaran merupakan komponen sistem berupa berbagai macam bentuk keluaran yang dihasilkan oleh komponen pengolahan. Dalam sistem informasi manajemen, keluaran adalah informasi yang dihasilkan oleh program aplikasi yang akan digunakan oleh pemakai sebagai bahan pengambilan keputusan.
h. Mempunyai Sasaran (objective) dan Tujuan (goal)
Setiap komponen dalam sistem perlu dijaga agar saling bekerja sama dengan harapan agar mampu mencapai sasaran dan tujuan sistem. Sasaran berbeda dengan tujuan. Sasaran sistem adalah apa yang ingin dicapai oleh sistem untuk jangka waktu yang relative pendek. Sedangkan tujuan merupakan kondisi/hasil akhir yang ingin dicapai oleh sistem untuk jangka waktu yang panjang. Dalam hal ini, sasaran merupakan hasil pada setiap tahapan tertentu yang mendukung upaya pencapaian tujuan.
i. Mempunyai Kendali (control)
Bagian kendali mempunyai peran utama menjaga agar proses dalam sistem dapat berlangsung secara normal sesuai batasan yang telah ditetapkan sebelumnya. Dalam sistem informasi manajemen, kendali dapat berupa validasi masukan, validasi proses, maupun validasi keluaran yang dapat dirancang dan dikembangkan secara terprogram.
j. Mempunyai Umpan Balik (feed back)
Umpan balik diperlukan oleh bagian kendali (control) sistem untuk mengecek terjadinya penyimpangan proses dalam sistem dan mengembalikannya ke dalam kondisi norma.
3. Kriteria Sistem Yang Baik
Kriteria sistem yang baik antara lain:
a. Kegunaan
Sistem harus menghasilkan informasi yang tepat pada waktunya, relevan yang berarti sistem tersebut mempunyai manfaat bagi pemakainya.
b. Ekonomis
Dalam merancang atau membangun sebuah sistem sebisa mungkin hemat pada biaya perancangan, perawatan maupun operasional sistem tersebut.
c. Kehandalan
Keluaran (output) sistem harus memiliki tingkat ketelitian yang sangat tinggi dan sistem itu sendiri harus mampu beroperasi secara efektif dan efisien.
d. Kapasitas
Sistem harus mempunyai kapasitas yang memadai untuk menangani periode-periode operasi puncak seperti pada saat sistem beroperasi pada puncak.
e. Fleksibilitas
Sistem harus cukup fleksibilitas untuk menampung perubahan yang akan muncul sewaktu-waktu.
2.1.2. Konsep Dasar Pengontrolan
1. Definisi Pengontrolan
Menurut Erinofiardi (2012:261), “Suatu sistem control otomatis dalam suatu proses kerja berfungsi mengendalikan proses tanpa adanya campur tangan manusia(otomatis)”.
Kontrol otomatis mempunyai peran penting dalam dunia industry 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 professional sebagai operator. Tidak menutup kemungkinan bahwa pengontrolan berasal dari berbagai disiplin ilmu yang saling berhubungan karena teori sistem pengendali modern di kembangkan guna mengatasi kerumitan yang dijumpai pada berbagai sistem 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).
2. Jenis-Jenis Pengontrolan.
a. Sistem Kontrol Loop Terbuka
Menurut Erinofiardi (2012:261) sistem kontol loop terbuka adalah “suatu sistem kontrol yang keluarannya tidak berpengaruh terhadap aksi pengontrolan. Dengan demikian pada sistem kontol ini nilai keluaran tidak di umpan-balikkan ke parameter pengendalian.”
Sumber : Erinofiardi (2012:261)
Gambar 2.1. Sistem Pengendali Loop Terbuka
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.
a. 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 di lakukan”.
Yang menjadi ciri dari sistem pengendali tertutup adalah adanya sinyal umpan balik. Sinyal umpan balik merupakan sinyal keluaran atau fungsi keluaran dan turunannya, yang diumpankan ke elemen kendali untuk memperkecil kesalahan dan membuat keluaran sistem mendekati hasil yang diinginkan.
Sumber : Erinofiardi(2012:262)
Gambar 2.2. Sistem Pengendali Loop Tertutup
Gambar di atas 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 kealat terkendali.
Sinyal input berupa masukan referensi yang akan menentukan suatu nilai yang diharapkan bagi sistem yang dikendalikan tersebut. Dalam berbagi sistem pengendalian, sinyal input dihasilkan oleh mikrokontroller.
<b>1.1.3. Konsep Dasar Flowchart</b>
1. Definisi Flowchart
Menurut Sulindawati dan Muhammad Fathoni di dalam Jurnal SAINTIKOM Vol. 9, No. 2 (2010:8), “Flowchart adalah penggambaran secara grafik dari langkah-langkah dau urutan-urutan prosedur dari suatu program”.
Menurut Adelia dan Jimmy Setiawan di dalam Jurnal Sistem Informasi Vol. 6, No.2 (2011:116), “Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program”.
Dari pendapat yang dikemukakan di atas dapat disimpulkan bahwa Flowchart adalah bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial.
Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan di evaluasi lebih lanjut. Bila seorang analisi dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan
2. Cara Membuat Flowchart
Ada beberapa petunjuk dalam pembuatan Flowchart Menurut Menurut Sulindawati dan Muhammad Fathoni dalam Jurnal SAINTIKOM Vol. 9, No. 2 (2010:8):
1. Flowchart digambarkan dari halaman atas ke bawah dan kiri ke kanan
2. Aktifitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.
3. Kapan aktifitas dimulai dan berakhir harus ditentukan secara jelas
4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja.
5. Setiap langkah dari aktifitas harus berada pada urutan yang benar
6. Lingkup dan range dari aktifitas yang sedang digambarkanharus ditelusuri dengan hati-hati.
7. Gunakan symbol-simbol flowchart yang standart.
3. Jenis-Jenis Flowchart
Ada lima macam bagan alir yang akan dibahas di modul ini, yaitu sebagai berikut:
a. Bagan Alir Sistem (Systems Flowchart)
Merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di dalam system secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada dalam sistem
Gambar 2.3. Bagan Alir Sistem (System Flowcharts)
b. Bagan Alir Dokumen (Document Flowchart)
Menelusuri alur dari data yang ditulis melalui sistem. Fungsi utamanya untuk menelusuri alur form dan laporan sistem dari satu bagian ke bagian yang lain.
Gambar 2.4. Bagan Alir Dokumen (Document Flowchart)
c. Bagan Alir Skematik (Schematic Flowchart)
Mirip dengan Flowchart sistem yang menggambarkan suatu sistem atau prosedur.
Gambar 2.5. Bagan Alir Skematik (Schematic Flowchart)
d. Bagan Alir Program (Program Flowchart)
Merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah program atau prosedur dilaksanakan
Gambar 2.6. Bagan Alir Program (Program Flowchart)
e. Bagan Alir Proses (Process Flowchart)
Merupakan teknik penggambaran rekayasa industrial yangmemecah dan menganalisis langkah selanjutnya dari sebuahsistem.
<o:p></o:p>
Gambar 2.7. Bagan Alir Proses (Process Flowchart)
Gambar 2.8. Contoh Variasi Aplikasi Flowchart
1.1.3. Konsep Dasar White Box
1. Definisi White Box
Menurut Sodikin di dalam Jurnal Teknologi Informasi (2009:750), “Pengujian White Box berfokus pada strukutr control pengguna”.
Menurut Handaya dan Hakim Hartanto di dalam Jurnal Sistem Informasi (2011:204) “White Box adalah sebuah cara pengujian yang menggunakan struktur kontrol yang dideskripsikan sebagai komponen perangkat lunak untuk memperoleh uji kasus”.
Dari pendapat yang dikemukakan di atas dapat disimpulkan bahwa white box adalah sebuah cara pengujian yang menggunkan struktur control perangkat lunak.
1.1.4. Konsep Dasar Black Box
1. Definisi Black Box
Menurut Siddiq (2012:4), “Pengujian black box adalah pengujian aspek fundamental sistem tanpa memperhatikan struktur logika internal perangkat lunak. Metode ini digunakan untuk mengetahui apakah perangkat lunak berfungsi dengan benar.
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.
Dari kedua definisi di atas dapat disimpulkan bahwa metode pengujian Black Box digunakan untuk menguji sistem dari segi user yang dititik beratkan pada pengujian kinerja, spesifikasi dan antarmuka sistem tersebut tanpa menguji kode program yang ada.
Berbeda dengan white Box, Black Box Testing tidak membutuhkan pengetahuan mengenai, alur internal (internal path), struktur atau implementasi dari software under test (SUT). Karena itu uji coba Black Box memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program.
Uji coba Black Box bukan merupakan alternatif dari uji coba white Box, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain menggunakan metode white Box. Black Box Testing dapat dilakukan pada setiap level pembangunan sistem. Mulai dari unit, integration, system, dan acceptance.
Uji coba Black Box berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya:
a. Fungsi-fungsi yang salah atau hilang
b. Kesalahan interface
c. Kesalahan dalam struktur data atau akses database eksternal
d. Kesalahan performa
e. kesalahan inisialisasi dan terminasi
Tidak seperti metode white Box yang dilaksanakan diawal proses, uji coba Black Box diaplikasikan dibeberapa tahapan berikutnya. Karena uji coba Black Box dengan sengaja mengabaikan struktur kontrol, sehingga perhatiannya 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 sensitif 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:
a. Menganalisis kebutuhan dan spesifikasi dari perangkat lunak.
b. Pemilihan jenis input yang memungkinkan menghasilkan output benar serta jenis input yang memungkinkan output salah pada perangkat lunak yang sedang diuji.
c. Menentukan output untuk suatu jenis input.
d. Pengujian dilakukan dengan input-input yang telah benar-benar diseleksi.
e. Melakukan pengujian.
f. Pembandingan output yang dihasilkan dengan output yang diharapkan.
g. 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:
a. 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.
b. 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.
c. Cause-Effect Graphing Techniques
Cause-Effect Graphing merupakan desain teknik kasus uji coba yang menyediakan representasi singkat mengenai kondisi logikal dan aksi yang berhubungan. Tekniknya mengikuti 4 tahapan berikut:
1) Causes (kondisi input), dan Effects (aksi) didaftarkan untuk modul dan identifier yang dtujukan untuk masing-masing.
2) Pembuatan grafik Causes-Effect graph
3) Grafik dikonversikan kedalam tabel keputusan
4) Aturan tabel keputusan dikonversikan kedalam kasus uji
d. 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.
e. Sample and Robustness Testing
1) Sample Testing
Melibatkan beberapa nilai yang terpilih dari sebuah kelas ekivalen, seperti Mengintegrasikan 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 difokuskan pada pengujian ketahanan perangkat lunak. Pengujian ketahanan juga digunakan untuk menggambarkan proses verifikasi kekokohan (yaitu kebenaran) kasus uji dalam proses pengujian.
f. 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 didefinisikan pada saat tahap spesifikasi atau desain. Dapat digunakan untuk menguji batasan lingkungan program.
g. Requirement Testing
Spesifikasikebutuhanyangterasosiasidenganperangkatlunak(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 bisa ditelusuri dengan kasus uji dengan menggunakan traceability matrix
h. 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 operasi 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 output). Spesifikasi kebutuhan pengujian didefinisikan pada tahap spesifikasi kebutuhan atau desain.
3. Kelebihan dan Kelemahan Black Box
Dalam uji coba Black Box terdapat beberapa kelebihan
Tabel 2.1. Kelebihan dan Kelemahan Black Box
<b>1.1. Teori Khusus</b>
<b>2.2.1. Mikrokontroller</b>
<b>1. Definisi Mikrokontroler</b>
Menurut Malik (2009:1), bahwa “Mikrokontroler adalah sebagai sebuah sistem komputer yang dibangun pada sebuah keping (chip) tunggal”.
Menurut Saefullah dkk (2009:319), “Mikrokontroler merupakan komponen utama atau biasa disebut juga sebagai otak yang berfungsi sebagai pengatur pergerakan motor (Motor Driver) dan pengolah data yang dihasilkan oleh komparator sebagai bentuk keluaran dari sensor”
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.
2. Karakteristik Mikrokontroller
Menurut Malik (2009:2), 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.
3. Klasifikasi Mikrokontroller
Menurut Malik (2009:3), 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)
Menurut Malik (2009:3), bahwa 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. Pin output 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.
2.2.2. ATMega328
Menurut Syahid (2012:33), ”ATMega328 merupakan mikrokontroler keluarga AVR 8 bit. Beberapa tipe mikrokontroler yang sama dengan ATMega8 ini antara lain ATMega8535, ATMega16, ATMega32, ATMega328, yang membedakan antara mikrokontroler antara lain adalah, ukuran memori, banyaknya GPIO (pin input/output), peripherial (USART, timer, counter, dll).”
Dari segi ukuran fisik, ATMega328 memiliki ukuran fisik lebih kecil dibandingkan dengan beberapa mikrokontroler diatas. Namun untuk segi memori dan periperial lainnya ATMega328 tidak kalah dengan yang lainnya karena ukuran memori dan periperialnya relatif sama dengan
ATMega8535, ATMega32, hanya saja jumlah GPIO lebih sedikit dibandingkan mikrokontroler diatas.
Mikrokontroller ini memiliki beberapa fitur antara lain :
a. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock.
b. 32 x 8-bit register serba guna.
c. Kecepatan mencapai 16 MIPS dengan clock 16 MHz.
d. 32 KB flash memory dan pada arduino memiliki bootloader yang menggunakan 2 KB dari flash memori sebagai bootloader.
e. Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanent karena EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan.
f. Memiliki SRAM (Static Random Access Memory) sebesar 2KB.
g. Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width Modulation) output.
h. Master / Slave SPI Serial interface.
Mikrokontroler ATMega328 memiliki arsitektur Harvard, yaitu memisahkan memori untuk kode program dan memori untuk data sehingga dapat memaksimalkan kerja dan paralelisme. Instruksi – instruksi dalam memori program dieksekusi dalam satu alur tunggal, dimana pada saat satu instruksi dikerjakan instruksi berikutnya sudah diambil dari memori program. Konsep inilah yang memungkinkan instruksi – instruksi dapat dieksekusi dalam setiap satu siklus clock.
32 x 8-bit register serba guna digunakan untuk mendukung operasi pada ALU (Arithmatic Logic unit) yang dapat dilakukan dalam satu siklus. 6 dari register serbaguna ini dapat digunakan sebagai 3 buah register pointer 16-bit pada mode pengalamatan tak langsung untuk mengambil data pada ruang memori data. Ketiga register pointer 16-bit ini disebut dengan register X ( gabungan R26 dan R27 ), register Y ( gabungan R28 dan R29 ), dan register Z ( gabungan R30 dan R31 ).
Hampir semua instruksi AVR memiliki format 16-bit. Setiap alamat memori program terdiri dari instruksi 16-bit atau 32-bit. Selain register serba guna di atas, terdapat register lain yang terpetakan dengan teknik memory mapped I/O selebar 64 byte. Beberapa register ini digunakan untuk fungsi khusus antara lain sebagai register Control Timer/ Counter, Interupsi, ADC, USART, SPI, EEPROM, dan fungsi I/O lainnya. Berikut ini adalah tampilan arsitektur ATmega 328 :