Pengguna:Akhmad adi sapar: Perbedaan revisi

Dari widuri
Lompat ke: navigasi, cari
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;">&nbsp; &nbsp; &nbsp; 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.&nbsp;</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&nbsp;</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”.&nbsp;</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&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">2.  Cara Membuat Flowchart&nbsp;</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):&nbsp;</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&nbsp;</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.&nbsp;</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.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">5.  Setiap langkah dari aktifitas harus berada pada urutan yang benar&nbsp;</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.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">7.  Gunakan symbol-simbol flowchart yang standart.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">3.  Jenis-Jenis Flowchart&nbsp;</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:&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a.  Bagan Alir Sistem (Systems Flowchart)&nbsp;</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&nbsp;</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
  
<div style="text-align: justify;">
+
<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)&nbsp;</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>
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
http://4.bp.blogspot.com/-ROojvGOlUio/VOdRmE_OYAI/AAAAAAAAALs/wujH7io7AJg/s1600/bab%2B2%2Bhall18.jpg
<div style="text-align: justify;">
+
 
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<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)&nbsp;</b></div><div style="text-align: center;"><br /></div><div style="text-align: justify;">c.   Bagan Alir Skematik (Schematic Flowchart)&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Mirip dengan Flowchart sistem yang menggambarkan suatu sistem atau    prosedur.</div>
<div style="text-align: justify;">
+
http://4.bp.blogspot.com/-6KelrXANm8k/VOdSSzfUHxI/AAAAAAAAAL0/Dgg8afwsaCs/s1600/bab%2B2%2Bhall19.jpg
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<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)&nbsp;</b></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d. Bagan Alir Program (Program Flowchart)&nbsp;</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>
<div style="text-align: justify;">
+
 
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"> </span></span></div>
+
http://4.bp.blogspot.com/-zoN_uT9v0GU/VOdS902vIfI/AAAAAAAAAL8/TYZNAzHaxdU/s1600/bab%2B2%2Bhal19.jpg
<div style="text-align: justify;">
+
 
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<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)&nbsp;</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.&nbsp;</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: &quot;Times New Roman&quot;,&quot;serif&quot;; font-size: 12.0pt; line-height: 200%;"><o:p></o:p></span></b></div>
<div style="text-align: justify;">
+
http://2.bp.blogspot.com/-wTnvBQwtBrk/VOdT9cwy7GI/AAAAAAAAAMI/LdPMn48w6ek/s1600/bab%2B2%2Bhal20.jpg
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
 
<div style="text-align: justify;">
+
<div style="text-align: center;"><b>Gambar 2.7. Bagan Alir Proses (Process Flowchart)</b></div>
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
http://4.bp.blogspot.com/-Tkl6UlW1jUg/VOdVPtqfNTI/AAAAAAAAAMU/Xps3EQ3dDsk/s1600/bab%2B2%2Bhall20.jpg
<div style="text-align: justify;">
+
 
<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&nbsp;</b></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">1. Definisi White Box&nbsp;</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”.&nbsp;</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”.&nbsp;</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.&nbsp;</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&nbsp;</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.&nbsp;</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.&nbsp;</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.&nbsp;</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:&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a.  Fungsi-fungsi yang salah atau hilang&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">b.  Kesalahan interface&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c. Kesalahan dalam struktur data atau akses database eksternal&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d.  Kesalahan performa&nbsp;</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?&nbsp;</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?&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c. Apakah sistem secara khusus sensitif terhadap nilai input tertentu?&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d. Bagaimana batasan-batasan kelas data diisolasi?&nbsp;</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?&nbsp;</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:&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a.  Menganalisis kebutuhan dan spesifikasi dari perangkat lunak.&nbsp;</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.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c. Menentukan output untuk suatu jenis input.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d. Pengujian dilakukan dengan  input-input  yang telah benar-benar diseleksi.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">e. Melakukan pengujian.&nbsp;</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&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Ada  beberapa  macam  metode  pengujian  Black  Box,  berikut diantaranya:&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">a. Equivalence Partioning&nbsp;</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&nbsp;</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&nbsp;</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:&nbsp;</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.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">2)  Pembuatan grafik Causes-Effect graph&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">3)  Grafik dikonversikan kedalam tabel keputusan&nbsp;</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&nbsp;</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&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">1) Sample Testing&nbsp;</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&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">2) Robustness Testing&nbsp;</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.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">f. Behavior Testing dan Performance Testing&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">1) Behavior Testing&nbsp;</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&nbsp;</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&nbsp;</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.&nbsp;</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&nbsp;</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&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">h. Endurance Testing&nbsp;</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.&nbsp;</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&nbsp;</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>
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"><b>BAB II</b></span></span><br />
+
http://1.bp.blogspot.com/-fQcPr2EoHEw/VOdXVrp7_gI/AAAAAAAAAMg/2LkRcafIBAw/s1600/bab%2B2%2Bhal28.jpg
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span><br />
+
 
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span><br />
+
<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.&nbsp;</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)&nbsp;</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)&nbsp;</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.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">b.    ROM (Read Only Memory)&nbsp;</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.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c.    Register&nbsp;</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.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">d.    Special Function Register&nbsp;</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.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">e.    Input dan Output Pin&nbsp;</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.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">f.      Interrupt&nbsp;</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.&nbsp;</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 :&nbsp;</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.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">b.      32 x 8-bit register serba guna.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">c.      Kecepatan mencapai 16 MIPS dengan clock 16 MHz.&nbsp;</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.&nbsp;</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.&nbsp;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">f.      Memiliki  SRAM (Static Random Access Memory) sebesar 2KB.&nbsp;</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.&nbsp;</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.&nbsp;</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 ).&nbsp;</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>
<b><span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">LANDASAN TEORI</span></span></b><br />
+
<br />
+
<b><span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">&nbsp;</span></span></b></div>
+
<b><span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></b></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"><b>2.1.                 Teori Umum</b></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"><b>2.1.1.          Konsep Dasar Sistem</b></span></span></div>
+
<div style="text-align: justify;">
+
<br /></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">1.        Definisi Sistem</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">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”.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">Menurut Sutarman (2012:13), “Sistem adalah kumpulan elemen yang saling berhubungan dan berinteraksi dalam satu kesatuan untuk menjalankan suatu proses pencapaian suatu tujuan utama”.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">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.</span></span></div>
+
<div style="text-align: justify;">
+
<br /></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">2.        Karakteristik Sistem</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">Menurut Mustakini (2010:54), bahwa suatu sistem mempunyai karakteristik. Karakteristik sistem adalah sebagai berikut:</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">a.              Komponen sistem (components system)</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">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.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">b.            Mempunyai batas sistem (boundary)</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">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.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">c.              Mempunyai lingkungan (environment)</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">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</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">d.            Mempunyai penghubung atau antar muka (interface) antar komponen</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">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</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">e.             Mempunyai Masukan (input)</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">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.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">f.              Mempunyai Pengolahan (processing)</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">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.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">g.            Mempunyai Keluaran (output)</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">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.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">h.             Mempunyai Sasaran (objective) dan Tujuan (goal)</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">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.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">i.               Mempunyai Kendali (control)</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">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.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">j.               Mempunyai Umpan Balik (feed back)</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">Umpan balik diperlukan oleh bagian kendali (control) sistem untuk mengecek terjadinya penyimpangan proses dalam sistem dan mengembalikannya ke dalam kondisi norma.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">3.        Kriteria Sistem Yang Baik</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">Kriteria sistem yang baik antara lain:</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">a.             Kegunaan</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">Sistem harus menghasilkan informasi yang tepat pada waktunya, relevan yang berarti sistem tersebut mempunyai manfaat bagi pemakainya.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">b.            Ekonomis</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">Dalam merancang atau membangun sebuah sistem sebisa mungkin hemat pada biaya perancangan, perawatan maupun operasional sistem tersebut.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">c.             Kehandalan</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">Keluaran (output) sistem harus memiliki tingkat ketelitian yang sangat tinggi dan sistem itu sendiri harus mampu beroperasi secara efektif dan efisien.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">d.            Kapasitas</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">Sistem harus mempunyai kapasitas yang memadai untuk menangani periode-periode operasi puncak seperti pada saat sistem beroperasi pada puncak.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">e.              Fleksibilitas</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">Sistem harus cukup fleksibilitas untuk menampung perubahan yang akan muncul sewaktu-waktu.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">2.1.2.     Konsep Dasar Pengontrolan</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">1.         Definisi Pengontrolan</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">Menurut Erinofiardi (2012:261), “Suatu sistem control otomatis dalam suatu proses kerja berfungsi mengendalikan proses tanpa adanya campur tangan manusia(otomatis)”.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">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.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">Berdasarkan Ejaan Yang Disempurnakan (EYD) pengontrolan berasal dari kata kontrol. Kontrol sama dengan pengawasan, pemeriksaan dan pengendalian.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">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.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">Dalam sistem pengendali kita mengenal adanya sistem pengendali Loop Terbuka (Open-loop Control System) dan Sistem Pengendali Loop Tertutup(Closed-loop Control System).</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">2.   Jenis-Jenis Pengontrolan.</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">a.       Sistem Kontrol Loop Terbuka</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;">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.”</span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+
<div style="text-align: justify;">
+
<span style="font-size: small;"><span style="font-family: Times,&quot;Times New Roman&quot;,serif;"></span></span></div>
+

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

SKRIPSI

Logo stmik raharja.jpg

Disusun Oleh :

NIM
: 1031465030
NAMA

JURUSAN SISTEM KOMPUTER

KONSENTRASI KOMPUTER SISTEM

SEKOLAH TINGGI MANAJEMEN DAN ILMU KOMPUTER

STMIK RAHARJA

TANGERANG

2014/2015






BAB I

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.

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.”
bab%2B2%2Bhalaman%2B15.jpg

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.



bab%2B2%2Bhal%2B15.jpg



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 

bab%2B2%2Bhal%2B18.jpg

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.

bab%2B2%2Bhall18.jpg



Gambar 2.4. Bagan Alir Dokumen (Document Flowchart) 

c. Bagan Alir Skematik (Schematic Flowchart) 

Mirip dengan Flowchart sistem yang menggambarkan suatu sistem atau prosedur.

bab%2B2%2Bhall19.jpg



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

bab%2B2%2Bhal19.jpg



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>

bab%2B2%2Bhal20.jpg

Gambar 2.7. Bagan Alir Proses (Process Flowchart)

bab%2B2%2Bhall20.jpg



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

bab%2B2%2Bhal28.jpg



<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 :