SI1333476131

Dari widuri
Lompat ke: navigasi, cari

BAB I

PENDAHULUAN

Latar Belakang

Teknologi yang canggih pada masa kini sangat dicari. Inovasi demi inovasi diciptakan oleh anak-anak bangsa untuk kemajuan negeri tercinta. Kemajuan teknologi yang canggih juga diharapkan implementasiannya dalam lingkungan Perusahaan PT. Mayora Indah Tbk

Penulis dalam hal ini berusaha mengaplikasikan kemajuan teknologi untuk efisiensi sistem kerja yang ada di PT. Mayora Indah Tbk dengan memperhatikan lingkungan kerja, yaitu menggunakan konsep Robotik. Konsep Robotik yang belakangan ini marak digunakan dalam berbagai unsur dalam kehidupan manusia coba penulis aplikasikan di sistem lingkungan kerja di PT. Mayora Indah Tbk.

Didalam suatu perusahaan, terdapat berbagai stock barang untuk memenuhi segala macam kebutuhan perusahaan, Namun sistem atau cara kerja untuk pemindahan atau pengangkatan barang tersebut masih banyak menggunakan sistem yang manual, sehingga masih banyak membutuhkan tenaga kerja manusia. Banyaknya stock barang yang tersedia terkadang bisa sedikit menyulitkan/merepotkan para pekerja sehingga bisa memperlambat sistem kerja yang ada diperusahaan tersebut. Akibat dari sistem kerja yang berjalan pada saat ini tentunya bisa sedikit menghambat penghasilan atau keuntungan dari perusahaan tersebut karena masalah waktu pengerjaan yang masih menggunakan tenaga kerja manusia yang terbatas.

Dari hasil survey yang telah dilakukan sering dilihat , para karyawan yang bekerja di lingkungan kerja tersebut, terkadang mereka sering kelelahan untuk memindahkan barang karena stock barang yang terlalu banyak dan masih menggunakan sistem kerja yang manual sehingga barang jadi menumpuk dan menghambat waktu pengiriman karena faktor kelelahan para pekerja.

Pada umumnya robot merupakan alat mekanik yang bisa melakukan tugas fisik dan juga merupakan alat otomatis dimana sistemnya sudah tertanam didalam mikrokontroler dengan tugas yang sederhana. Namun dengan berkembangnya teknologi dengan perkembangan jaman robot-robot banyak di ciptakan manusia untuk mempermudah pekerjaan manusia yang berat dan beresiko tinggi.

Pada Perkembangan teknologi saat ini kian berkembang pesat terutama dalam dunia kerja dan dunia akademis. Berbagai macam teknologi saat ini sudah menjadi suatu kebutuhan yang sangat mendasar dalam membantu segala kegiatan operasional di segala bidang, dengan adanya sistem Robot otomatis ini, maka pekerjaan yang dilakukan akan menjadi lebih efektif dan efisien.

Oleh karena itu Sistem Robot otomatis merupakan salah satu upaya untuk membantu kelancaran dalam pengerjaan mengangkat dan menyusun barang sehingga cara kerja tersebut menjadi lebih cepat dan akurat. Berdasarkan permasalahan diatas maka penulis berinisisatif untuk membuat penelitian yang berjudul “ROBOT LINE FOLLOWER PEMINDAH DAN PENYUSUN BARANG BERBASIS ARDUINO PADA PT. MAYORA INDAH, Tbk”

Perumusan Masalah

Dari hasil survey yang telah dilakukan sering dilihat, para karyawan yang bekerja di bagian penyimpanan barang atau gudang terkadang mereka sering kelelahan untuk memindahkan barang karena stock barang yang terlalu banyak dan masih menggunakan sistem kerja yang manual sehingga barang jadi menumpuk dan menghambat waktu pengiriman karena faktor kelelahan para pekerja.

Pada dasarnya penelitian ini dilakukan untuk mendapatkan data yang kemudian digunakan untuk dapat memecahkan masalah. Dari latar belakang di atas, maka didapatkan masalah yang berkaitan dengan proses pemindahan barang yang masih dilakukan secara manual, dan masih banyak menggunakan tenaga kerja manusia.

Berdasarkan uraian di atas maka penulis dapat merumuskan berbagai masalah antara lain:

  1. Bagaimana merancang alat yang mampu membantu dalam pemindah dan penyusunan barang secara otomatis ?
  2. Bagaimana robot tersebut berkomunikasi dengan user ?
  3. Apakah robot tersebut dapat berjalan otomatis sesuai perintah yang diberikan ?

Ruang Lingkup

Ruang lingkup yang akan di bahas dalam Penelitian ini adalah Robot Line Follower Pemindah Dan Penyusun Barang Berbasis Arduino sebagai pusat pengontrol dari semua device. Dengan ketentuan :

  1. Dengan input berupa perintah dari sensor atau kamera yang menedeteksi suatu barang yang kemudian informasi akan diterima oleh Arduino, yang kemudian perintah tersebut di proses oleh Arduino
  2. Motor DC untuk menggerakan robot menuju lokasi benda.
  3. Pencapit untuk mengangkat barang tersebut ke lokasi yang di inginkan

Tujuan dan Manfaat

Tujuan

Adapun tujuan penelitian yang ingin dilakukan adalah sebagai berikut:

1.Tujuan Individual

a. Memenuhi syarat kelulusan untuk skripsi dan meningkatkan kreatifitas dalam membuat suatu program/alat.

b. Memberikan suatu manfaat kepada perusahaan karena dapat menciptakan suatu alat yang bermanfaat.

2.Tujuan Fungsional

a. Membuat Menkanisme pengontrolan robot line follower pemindah dan penyusun barang berbasis arduino yang dapat bekerja dengan baik.

b. Agar Robot tersebut bisa memindahkan dan menyusun barang.

3.Tujuan Operasional

a. Membantu menyelesaikan masalah yang sering dialami dalam hal memindah dan menyusun barang.

b. User tidak mengalami kesulitan dalam hal memindah dan menyusun barang.

Manfaat

Sebuah karya yang baik adalah karya syarat akan banyak manfaat. Adapun manfaat yang dihasilkan dari penelitian ini adalah:

1.Manfaat Individual

a. Dapat mengembangkan ilmu yang didapat selama perkuliahan

b. Memberikan kepuasan dengan berhasilnya menciptakan alat yang bermanfaat bagi perusahaan

2.Manfaat Fungsional

a. Untuk Mempermudah dalam melakukan mendeteksi objek dan pemindahan barang yang di inginkan.

b. Meringankan pekerjaan karyawan pekerja gudang dengan menggunakan robot yang akan memindahkan dan mengangkat barang secara otomatis.

3.Manfaat Operasional

a. Dengan adanya alat ini, diharapkan bisa membantu meringankan dalam mendeteksi dan pemindahan barang benda secara otomatis bagi para user.

b. Diharapkan para karyawan pekerja gudang tidak perlu repot untuk mengangkat dan memindahkan barang secara manual.

Metode Penelitian

Dalam rangka menghasikan karya yang sesuai dengan teori ilmiah dan tepat guna, maka dalam penyusunannya ada beberapa metode yang diterapkan antara lain:

Metode Pengumpulan Data

1. Metode Observasi

Metode yang dilakukan dengan pengamatan atau peninjauan secara langsung di lapangan atau lokasi penelitian. Proses pengamatan atau peninjauan dilakukan pada PT. Mayora Indah Tbk yang menjadi lokasi penelitian. Pengamatan dilakukan guna memperoleh data dan keterangan yang berkaitan dengan jenis penelitian.

2. Metode Wawancara

Merupakan metode pengumpulan data dengan jalan tanya jawab sepihak yang dilakukan secara sistematis dan berlandaskan kepada tujuan penelitian. Melalui metode ini penulis melakukan proses tanya jawab kepada beberarapa narasumber ada objek penelitian yaitu PT Mayora Indah Tbk. Dalam hal ini proses tanya jawab dilakukan langsung kepada personalia di perusahaan tersebut.

3. Studi Pustaka

Mengumpulkan data dengan mencatat atau membaca dari buku-buku yang berguna dengan pokok permasalahan ataupun referensi lain. Sebagian besar metode diambil dari situs –situs internet, dan sisanya dari buku cetak. Penulis melakukan pengumpulan data dengan cara browsing, membaca beberapa bagian dari buku-buku referensi internet dan materi-materi perkuliahan yang berhubungan dengan tugas akhir ini.

Metode Perancangan

Dalam melakukan perancangan penulis menggunakan sistem Flowchart dan Prototipe dimana tahap demi tahap pembuatan Robot pendeteksi objek dan pemindah benda berbasis Arduino dijabarkan secara terperinci.

Metode Prototipe

Pada metode prototipe ini penulis menggunakan metode prototyping Evolutionary dikarenakan saya sebagai penulis membuat alat ini berdasarkan satu persatu komponen yg sudah terlebih dahulu ada dan menjadi suatu kesatuan alat yg utuh

Metode Testing

Menguji sistem dengan melakukan serangkaian diskusi dengan pihak lain yang lebih menguasai, sehingga didapat pemecahan masalah yang dihadapi. Metode Pengujian yang digunakan adalah metode pengujian blackbox. Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari Microcontroller. Karena itu, ujicoba blackbox memungkinkan pengembang Microcontroller untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program.

Sistematika Penulisan

Laporan ini terbagi dalam beberapa bab yang berisi urutan secara garis besar dan kemudian dibagi lagi dalam sub-sub yang akan membahas dan menguraikan masalah yang lebih terperinci.

BAB I PENDAHULUAN

Pada bab ini berisi tentang latar belakang pembuatan laporan, perumusan masalah, ruang lingkup, tujuan penulisan, manfaat penulisan, metodologi penulisan dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisi tentang landasan teori sebagai konsep dasar dalam penyusunan alat dan laporan sehingga menghasilkan karya yang bernilai ilmiah dan memiliki daya guna.

BAB III PEMBAHASAN

Pada bab ini menjelaskan tentang gambaran umun PT. MAYORA INDAH Tbk, analisa sitem yang berjalan, permasalahan yang dihadapi serta alternatif pemecahan masalah, user requirement tentang rancangan pada pembuatan Robot Line Follower Pemindah dan Penyusun Barang Berbasis Arduino pada PT MAYORA INDAH Tbk.

BAB IV UJI COBA ANALISA

Bab ini berisi tentang implementasi dari sistem yang telah dirancang kemudian dilakukan pengujian atas kinerja dari sistem yang telah dibuat.

BAB V PENUTUP

Bab ini berisi tentang kesimpulan dan saran dari pembuatan alat dan laporan sebagai upaya untuk perbaikan kedepan.

DAFTAR PUSTAKA

DAFTAR LAMPIRAN-LAMPIRAN

BAB II

LANDASAN TEORI

Teori Umum

Konsep Dasar Sistem

1. Definisi Sistem

Berikut ini adalah beberapa definisi sistem menurut beberapa ahli, di antaranya:

Menurut Mc Leod (2004) dalam Darmawan (2013:4)[1], sistem adalah sekelompok elemen-elemen yang terintegrasi dengan tujuan yang sama untuk mencapai tujuan.

Menurut Hartono (2013:9)[2], “Sistem adalah suatu himpunan dari berbagai bagian atau elemen, yang saling berhubungan secara terorganisasi berdasar fungsi-fungsinya menjadi suatu kesatuan”.

Menurut Taufiq (2013:2)[3],“Sistem adalah kumpulan dari sub-sub sistem abstrak maupun fisik yang saling terintegrasi dan berkolaborasi untuk mencapai suatu tujuan tertentu”.

Berdasarkan beberapa pengertian diatas mengenai sistem, dapat disimpulkan bahwa suatu sistem merupakan Kumpulan elemen-elemen yang saling berkaitan dan berinteraksi untuk mencapai suatu tujuan tertentu.

2. Karakteristik Sistem

Menurut Sutabri (2012:13)[4], sebuah sistem mempunyai karakteristik atau sifat-sifat tertentu yang mencirikan bahwa hal tersebut bisa dikatakan sebagai suatu sistem. Adapun karakteristik yang dimaksud adalah sebagai berikut:

  1. Komponen Sistem (Components)
    Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, artinya saling bekerja sama membentuk satu kesatuan. Komponen-komponen sistem tersebut dapat berupa suatu subsistem. Setiap subsistem memiliki sifat dari sistem yang menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. Suatu sistem dapat mempunyai sistem yang lebih besar atau sering disebut “supra sistem".
  2. Batas Sistem (Boundary)
    Ruang lingkup sistem merupakan daerah yang membatasi antara sistem dengan sistem yang lain atau sistem dengan lingkungan luarnya. Batasan sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan yang tidak dapat dipisahkan.
  3. Lingkungan Luar Sistem (Environment)
    Bentuk apapun yang ada di luar ruang lingkup atau batasan sistem yang mempengaruhi operasi sistem tersebut disebut lingkungan luar sistem.Lingkungan luar sistem ini dapat bersifat menguntungkan dan dapat juga bersifat merugikan sistem tersebut. Dengan demikian, lingkungan luar tersebut harus tetap dijaga dan dipelihara. Lingkungan luar yang merugikan harus dikendalikan. Kalau tidak, maka akan menggangu kelangsungan hidup dari sistem tersebut.
  4. Penghubung Sistem (Interface)
    Media yang menghubungkan sistem dengan subsistem lain disebut penghubung sistem. Penghubung ini memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem lain. Bentuk keluaran dari satu subsistem akan menjadi masukan untuk subsistem lain melalui penghubung tersebut. Dengan demikian, dapat terjadi suatu integrasi sistem yang membentuk satu kesatuan.
  5. Masukan Sistem (Input)
    Energi yang dimasukkan ke dalam sistem disebut masukan sistem, yang dapat berupa pemeliharaan (maintenance input) dan sinyal (signal input). Maintenance input adalah energi yang dimasukkan supaya sistem tersebut dapat beroperasi. Signal input adalah energi yang diproses untuk mendapatkan keluaran. Contoh, di dalam suatu unit sistem komputer, program adalah maintenance input yang digunakan untuk mengoperasikan komputernya dan data adalah signal input untuk diolah menjadi informasi.
  6. Pengolahan Sistem (Processing)
    Suatu sistem dapat mempunyai suatu proses yang akan mengubah masukan menjadi keluaran, contohnya adalah sistem akuntansi. Sistem ini akan mengolah data transaksi menjadi laporan-laporan yang dibutuhkan oleh pihak manajemen.
  7. Keluaran Sistem (Output System)
    Hasil energi diolah dan diklasifikasikan menjadi keluaran yang berguna. Keluaran ini merupakan masukan bagi subsistem yang lain seperti sistem informasi. Keluaran yang dihasilkan adalah informasi. Informasi ini dapat digunakan sebagai masukan untuk pengambilan keputusan atau hal-hal lain yang menjadi input bagi subsitem lain.
  8. Sasaran Sistem (Objective)
    Suatu sistem memiliki tujuan dan sasaran yang pasti dan bersifat deterministic. Kalau suatu sistem tidak memiliki sasaran maka operasi sistem tidak ada gunanya. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuan yang telah direncanakan.
  9. 3. Klasifikasi Sistem

    Menurut Sutabri (2012:15)[4] sistem dapat diklasifikasikan dari beberapa sudut pandang. Klasifikasi tersebut di antaranya: sistem abstrak, sistem fisik, sistem tertentu, sistem tak tentu, sistem tertutup, dan sistem terbuka.

    1. Sistem Abstrak (Abstract System)
      Sistem abstrak merupakan adalah sistem yang berupa pemikiran atau ide-ide yang tidak tampak secara fisik. Sistem yang berisi gagasan tentang hubungan manusia dengan Tuhan.
    2. Sistem Fisik (Physical System)
      adalah sistem yang ada secara fisik. Contohnya sistem komputerisasi, sistem akuntansi, siste produksi, sistem pendidikan, sistem sekolah, dan lain sebagainya.
    3. Sistem Tertentu (Deterministic System)
      adalah sistem dengan operasi tingkah laku yang dapat diprediksi, interaksi antara bagian dapat di deteksi dengan pasti sehingga keluaranya dapat diramalkan.
    4. Sistem Tak Tentu (Probabilistic System)
      adalah suatu sistem yang kondisi masa depannya tidak dapat diprediksi karena mengandung unsure probabilitas.
    5. Sistem Tertutup (Closed System)
      adalah sistem yang tidak dapat bertukar materi, informasi, atau energi dengan lingungan. Sistem ini tidak berintraksi dan tidak dipengaruhi oleh lingkungan.
    6. Sistem Terbuka (Open System)
      lingkungan dan dipengaruhi oleh lingkungan. Contohnya sistem perdagangan.

    Konsep Dasar Analisa Sistem

    1. Definisi Analisa Sistem

    Menurut Wahana Komputer (2010:27)[5] Analisa sistem adalah sebuah proses penelaahan sebuah sistem, informasi dan rnembaginya ke dalam komponen-komponen penyusunnya untuk kemudian dilakukan penelitian sehingga diketahui permasalahan-permasalahan serta kebutuhan-kebutuhan yang akan timbul, sehingga dapat dilaporkan secara lengkap serta diusulkan perbaikan-perbaikan pada sistem tersebut.

    Menurut Darmawan (2013:210)[1] Analisa Sistem adalah suatu proses mengumpulkan dan menginterpretasikan kenyataan-kenyataan yang ada, mendiagnosis persoalan dan menggunakan keduanya untuk memperbaiki sistem.

    Berdasarkan beberapa pendapat para ahli yang dikemukakan di atas dapat ditarik kesimpulan bahwa analisis sitem adalah suatu proses sistem yang secara umum digunakan sebagai landasan konseptual yang mempunyai tujuan untuk memperbaiki berbagai fungsi di dalam suatu sistem tertentu.

    2. Fungsi Analisa Sistem

    Adapun fungsi analisa sistem adalah sebagai berikut:

    1. Mengidentifikasi masalah–masalah kebutuhan pemakai (user).
    2. Menyatakan secara spesifik sasaran yang harus dicapai untuk memenuhi kebutuhan pemakai.
    3. Memilih alternatif–alternatif metode pemecahan masalah yang paling tepat.
    4. Merencanakan dan menerapkan rancangan sistemnya. Pada tugas atau fungsi terakhir dari analisa sistem menerapkan rencana rancangan sistemnya yang telah disetujui oleh pemakai.

    Konsep Dasar Perancangan Sistem

    1. Definisi Perancangan Sistem

    Menurut Darmawan (2013:227)[1], “Perancangan Sistem adalah tahap setelah analisis dari siklus pengembangan sistem: pendefinisian dari kebutuhan-kebutuhan fungsional dan persiapan untuk rancang bangun implementasi: “menggambarkan bagaimana suatu sistem dibentuk”.

    Menurut Al-Jufri (2011:141)[6], “Sistem Informasi Manajemen Pendidikan. Jakarta: PT. Smart Grafika. “Rancangan Sistem adalah penentuan proses dan data yang diperlukan oleh sistem baru”.

    Berdasarkan kedua definisi di atas, maka dapat disimpulkan perancangan sistem adalah suatu tahapan perencanaan untuk membentuk suatu sistem agar dapat berfungsi.

    2. Tahap Perancangan Sistem

    Menurut Darmawan (2013:228)[1], Tahap Perancangan/Desain Sistem mempunyai 2 tujuan utama, yaitu:

    1. Untuk memenuhi kebutuhan pemakai sistem.
    2. Untuk memberikan gambaran yang jelas dan rancang bangun yang lengkap pada pemograman komputer dan ahli-ahli teknik yang terlihat (lebih condong pada disain sistem yang terperinci).

    Konsep Dasar Pengontrolan

    1. Definisi Pengontrolan

    Menurut Erinofiardi (2012:261)[7], “suatu sistem kontrol otomatis dalam suatu proses kerja berfungsi mengendalikan proses tanpa adanya campur tangan manusia (otomatis)”.

    Kontrol otomatis mempunyai peran penting dalam dunia industri modern saat ini. Sering perkembangan ilmu pengetahuan dan teknologi, sistem kontrol otomatis telah mendorong manusia untuk berusaha mengatasi segala permasalahan yang timbul di sekitarnya dengan cara yang lebih mudah, efesien dan efektif. Adanya kontrol otomatis secara tidak langsung bisa menggantikan peran manusia dalam meringankan segala aktifitasnya.

    Berdasarkan Ejaan Yang Disempurnakan (EYD) pengontrolan berasal dari kata kontrol. Kontrol sama dengan pengawasan, pemeriksaan dan pengendalian.Sedangkan pengontrolan itu sendiri adalah proses, cara pembuatan pengontrolan (mengawasi, memeriksa), pengawasan, pemeriksaan.

    Industri besar dan modern sangat memerlukan tenaga ahli perencanaan sistem pengendali dan perancagan desain sistem pengendali, termasuk teknisi professional sebagai operator. Tidak menutup kemungkinan bahwa pengontrolan berasal dari berbagai displin ilmu yang saling berhubungan karena teori sistem kendali modern dikembangkan guna mengatasi kerumitan yang dijumpai pada berbagai sistem penegndalian yang menuntut kecepatan dan ketelitian yang tinggi dengan hasil output yang optimal.

    Dalam sistem pengendali kita mengenal adanya Sistem Pengendali Loop Terbuk (Open-loop Control System) dan Sistem Pengendali Loop Tertutup (Closed-loop Control System).

    2. Jenis-Jenis Pengontrolan

    1. Sistem Kontrol Loop Terbuka
      Menurut Erinofiardi (2012:261)[7], sistem kontrol loop terbuka adalah “suatu sistem kontrol yang keluarnya tidak berpengaruh terhadap aksi pengontrolan. Dengan demikian pada sistem kontrol ini, nilai keluaran tidak di umpan-balikan ke parameter pengendali”.
    2. photo Gambar 2.1 Sistem Pengendali Loop Terbuka

      Sumber: Erinofiardi (2012:261)

      Gambar 2.1 Sistem Pengendali Loop Terbuka

      Gambar diagram blok diatas mengambarkan bahwa didalam sistem tersebut tidak ada proses umpan balik untuk memperbaiki kedaan alat terkendali jika terjadi kesalahaan. Jadi tugas dari elemen pengendali hanyalah memproses sinyal masukan kemudian mengerimkannya ke alat kendali.

    3. Sistem Kontrol Loop Tertutup
      Menurut Erinofiardi (2012:261)[7], sistem kontrol tertutup adalah “suatu sistem kontrol yang sinyal keluarannya memilki pengaruh langsung terhadap aksi pengendalian yang dilakukan”.
    4. Yang menjadi ciri sistem pengendali tertutup adalah adanya sinyal umpan balik. Sinyal umpan balik merupakan sinyal keluaran atau suatu fungsi keluaran dan turunannya, yang diumpankan ke elemen kendali untuk memperkecil kesalahan dan membuat keluaran sistem mendekati hasil yang diinginkan.

    photo Gambar 2.2 Sistem Pengendali Loop Tertutup

    Sumber: Erinofiardi (2012:261)

    Gambar 2.2 Sistem Pengendali Loop Tertutup

    Gambar diatas menyatakan hubungan antara masukan dan keluaran dari suatu loop sistem tertutup. Sinyal input yang sudah dibandingkan dengan sinyal umpan balik menghasilkan sinyal selisih atau sinyal kesalahan yang akan dikrimkan kedalam elemen pengendali sehingga kemudian menghasilkan sebuah sinyal keluaran yang akan dikirim ke alat terkendali.

    Sinyal input berupa masukan referensi yang akan menentukan suatu nilai yang diharapkan bagi sistem yang dikendalikan tersebut. Dalam berbagai sistem pengendalian, sinyal input dihasilkan oleh mikrokontroler.

    Konsep Dasar Prototipe

    1. Definisi Prototipe

    Menurut Darmawan (2013:229)[8], “prototipe adalah suatau versi dari sebuah sistem potensial yang memeberikan ide bagi para pengembang dan calon pengguna, bagaimana sistem akan berfungsi dalam bentuk yang telah selesai”

    Berdasarkan definisi di atas, maka dapat disimpulkan Prototype adalah contoh dari produk atau sistem dalam bentuk sebenarnya yang dapat dirubah sesuai keinginan sebelum direalisasikan.

    2. Jenis-Jenis Prototipe

    Menurut Darmawan (2013:230)[1], jenis-jenis Prototipe secara general dibagi menjadi dua, yaitu:

    1. Prototipe Evolusioner (Prototype Evolusionary)
      Terus-menerus disempurnakan sampai memiliki seluruh fungsionalitas yang dibutuhkan pengguna dari sistem yang baru. Prototipe ini kemudian dilanjutkan produksi. Jadi satu prototipe evolutioner akan menjadi sistem aktual.
    2. Prototipe Persyaratan (Requirement Prototype)
      dikembangkan sebagai satu cara untuk mendefinisikan persyaratan-persyaratan fungsional dari sistem baru ketika pengguna tidak mampu mengungkapkan apa yang mereka inginkan. Dengan meninjau prototipe persyaratan seiring dengan ditambahkannya fitur-fitur, pengguna akan mampu mendefinisikan pemrosesan yang dibutuhkan dari sistem yang baru. Ketika persyaratan ditentukan, prototipe persyaratan telah mencapai tujuannya dan proyek lain akan dimulai untuk pengembangan sistem baru. Oleh karena itu, suatu prototipe tidak selalu menjadi sistem aktual.

    Langkah-langkah pembuatan Prototype Evolutionary ada empat langkah, yaitu :

    1. Mengidentifikasi kebutuhan pengguna. Pengembang mewawancarai pengguna untuk mendapatkan ide mengenai apa yang diminta dari sistem.
    2. Membuat satu prototipe. Pengembang mempergunakan satu alat prototyping atau lebih untuk membuat prototipe. Contoh dari alat-alat prototyping adalah generator aplikasi terintegrasi dan toolkit prototyping. Generator aplikasi terintegrasi (integrated application generator) adalah sistem peranti lunak siap pakai yang mampu membuat seluruh fitur yang diinginkan dari sistem baru—menu, laporan, tampilan, basis data, dan seterusnya. Toolkit prototyping meliputi sistem-sistem peranti lunak terpisah, seperti spreadsheet elektronik atau sistem manajemen basis data, yang masing-masing mampu membuat sebagian dari fitur-fitur sistem yang diinginkan.
    3. Menentukan apakah prototipe dapat diterima, pengembang mendemonstrasikan prototipe kepada para pengguna untuk mengetahui apakah telah memberikan hasil yang memuaskan, jika sudah, langkah emapat akan diambil; jika tidak, prototipe direvisi dengan mengulang kembali langkah satu, dua, dan tiga dengan pemahaman yang lebih baik mengenai kebutuhan pengguna.
    4. Menggunakan prototipe, prototipe menjadi sistem produksi.
    photo Gambar 2.3 Pembuatan Prototipe Evolusioner

    Sumber: Darmawan (2013:232)

    Gambar 2.3 Gambar 2.3Pembuatan Prototipe Evolusioner

    Konsep Dasar Flowchart

    1. Definisi Flowchart

    Menurut Adelia (2011:116)[9], “Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program”. Flowchart menolong analyst dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.

    Menurut Sulindawati (2010:8)[10], “Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urutan-urutan prosedur dari suatu program”. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengopersian.

    Berdasarkan beberapa pendapat yang dikemukakan di atas dapat ditarik kesimpulan flowchart atau diagram alur adalah suatu alat yang banyak digunakan untuk membuat algoritma, yakni bagaimana rangkaian pelaksanaan suatu kegiatan. Suatu diagram alur memberikan gambaran dua dimensi berupa simbol-simbol grafis. Masing-masing simbol telah ditetapkan terlebih dahulu fungsi dan artinya.

    2. Jenis-jenis Flowchart

    Menurut Sulindawati (2010:8)[10], Flowchart terbagi atas 5 jenis, yaitu:

    1. Flowchart Sistem (System Flowchart)
      Flowchart Sistem merupakan bagan yang menunjukan alur kerja atau apa yang sedang dikerjakan di dalam sistemsecara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, flowchart ini merupakan deskripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk sistem. Flowchart sistem terdiri dari tiga data yang mengalir melalui sistem dan proses yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).
    2. Flowchart Paperwork (Document Flowchart)
      Flowchart Paperwork menelusuri alur dari data yang ditulis melalui sistem. Flowchart Paperwork sering disebut juga dengan Flowchart Dokumen. Kegunaan utamanya adalah untuk menelusuri alur form dan laporan sistem dari satu bagian ke bagian lain baik bagaimana alur form dan laporan diproses, dicatat atau disimpan.
    3. Flowchart Skematik (Schematic Flowchart)
      Flowchart Skematik mirip dengan Flowchart Sistem yang menggambarkan suatu sistem atau prosedur. Flowchart Skematik ini bukan hanya menggunakan simbol-simbol flowchart standart, tetapi juga menggunakan gambar-gambar komputer, peripeheral, form-form atau peralatan lain yang digunakan dalam sistem. Flowchart Skemantik digunakan sebagai alat komunikasi antara analis sistem dengan seseorang yang tidak familiar dengan simbol-simbol flowchart yang konvensional. Pemakaian gambar sebagai ganti dari simbol-simbol flowchart akan menghemat waktu yang dibutuhkan oleh sesorang untuk mempelajari simbol abstrak sebelum dapat mengerti flowchart.
    4. Flowchart Program (Program Flowchart)
      Flowchart Program dihasilkan dari Flowchart Sistem. Flowchart Program merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah program atau prosedur sesungguhnya dilaksanakan. Flowchart ini menunjukan setiap langkah program atau prosedur dalam urutan yang tepat saat terjadi. Programmer menggunakan Flowchart Program untuk menggambarkan urutan instruksi dari program komputer. Analisa sistem menggunakan flowchart program untuk menggambarkan urutan tugas-tugas pekerjaan dalam suatu prosedur atau operasi.
    5. Flowchart Proses (Process Flowchart)
      Flowchart Proses merupakan teknikmenggambarkan rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem. Flowchart Proses memiliki 5 simbol khusus. Flowchart Proses digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan proses-proses manufacturing. Dalam analisis sistem, Flowchart ini digunakan secara efektif untuk menelusuri alur suatu laporan.

    Konsep Dasar Pengujian

    1. Definisi Pengujian

    Menurut Rizky (2011:237)[11], “Testing adalah sebuah proses yang diejawantahkan sebagai siklus hidup dan merupakan bagian dari proses rekayasa perangkat lunak secara terintegrasi demi memastikan kualitas dari perangkat lunak serta memenuhi kebutuhan teknis yang telah disepakati dari awal.

    Menurut Simarmata (2010:301) [12], “Pengujian adalah proses eksekusi suatu program untuk menemukan kesalahan dan segala kemungkinan yang akan menimbulkan kesalahan sesuai dengan spesifikasi perangkat lunak yang telah ditentukan sebelum aplikasi tersebut diserahkan kepada pelanggan.

    Dari pengertian diatas dapat disimpulkan bahwa pengujian adalah prose terhadap aplikai yang saling terintegrasi guna untuk menemukan kesalahan dan segala kemungkinan yang akan menimbulkan kesalahan.

    Secara teoritis, testing dapat dilakukan dengan berbagai jenis tipe dan teknik. Namun secara garis besar, terdapat dua jenis tipe testing yang paling umum digunakan di dalam lingkup rekayasa perangkat lunak. Dua jenis tersebut adalah Black box dan White box testing.

    2. Definisi Black Box

    Menurut Siddiq (2012:4)[13], “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)[14], 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.

    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 berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya:

    1. Fungsi-fungsi yang salah atau hilang.
    2. Kesalahan interface
    3. Kesalahan dalam struktur data atau akses database eksternal
    4. Kesalahan performa
    5. kesalahan inisialisasi dan terminasi

    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:

    1. Bagaimana validitas fungsionalnya diuji?
    2. Jenis input seperti apa yang akan menghasilkan kasus uji yang baik?
    3. Apakah sistem secara khusus sensitif terhadap nilai input tertentu?
    4. Bagaimana batasan-batasan kelas data diisolasi?
    5. Berapa rasio data dan jumlah data yang dapat ditoleransi oleh sistem?
    6. Apa akibat yang akan timbul dari kombinasi spesifik data pada operasi sistem?

    Sehingga dalam uji coba Black Box harus melewati beberapa proses sebagai berikut:

    1. Menganalisis kebutuhan dan spesifikasi dari perangkat lunak.
    2. Pemilihan jenis input yang memungkinkan menghasilkan output benar serta jenis input yang memungkinkan output salah pada perangkat lunak yang sedang diuji.
    3. Menentukan output untuk suatu jenis input.
    4. Pengujian dilakukan dengan input-input yang telah benar-benar diseleksi.
    5. Melakukan pengujian.
    6. Pembandingan output yang dihasilkan dengan output yang diharapkan.
    7. Menentukan fungsionalitas yang seharusnya ada pada perangkat lunak yang sedang diuji.

    3. Metode Pengujian dalam Black Box

    Ada beberapa macam metode pengujian Black Box, berikut diantaranya:

    1. Equivalence Partioning

    2. 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.

    3. Boundary Value Analysis

    4. 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.

    5. Cause-Effect Graphing Techniques

    6. 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.
    7. Comparison Testing

    8. 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.

    9. Sample and Robustness Testing

      1. Sample Testing
      2. 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.

      3. Robustness Testing
      4. 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.

    10. Behavior Testing dan Performance Testing

      1. Behavior Testing
      2. Hasil uji tidak dapat dievaluasi jika hanya melakukan pengujian sekali, tapi dapat dievaluasi jika pengujian dilakukan beberapa kali, misalnya pada pengujian struktur data stack.

      3. Performance Testing
      4. 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.

    11. Requirement Testing

    12. Spesifikasi kebutuhan yang terasosiasi dengan perangkat lunak (input/output/fungsi/performansi) diidentifikasi pada tahap spesifikasi kebutuhan dan desain.

      1. Requirement Testing melibatkan pembuatan kasus uji untuk setiap spesifikasi kebutuhan yang terkait dengan program.
      2. Untuk memfasilitasinya, setiap spesifikasi kebutuhan bisa ditelusuri dengan kasus uji dengan menggunakan traceability matrix.
    13. 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/output (jika menggunakan framework untuk memvalidasi bagian input dan output). Spesifikasi kebutuhan pengujian didefinisikan pada tahap spesifikasi kebutuhan atau desain.

    4. Kelebihan dan Kelemahan Black Box

    Dalam uji coba Black Box terdapat beberapa kelebihan dan kelemahan. Berikut adalah keunggulan dan kelemahannya:

    photo Tabel 2.1 Kelebihan Dan Kelemahan Black Box_zpsh188pcmq.png

    Tabel 2.1 Kelebihan dan Kelemahan Black Box

    5. Definisi White Box

    Menurut Archarya (2013)[15]

    White box testing is testing beyond the user interface and into the nitty-gritty of a system. This method is named so because the software program, in the eyes of the tester, is like a white/transparent box; inside which one clearly sees. White Box Testing is contrasted with Black Box Testing.

    (White Box adalah pengujian di luar antarmuka pengguna dan menjadi intisari dari sistem. Metode ini dinamakan demikian karena program perangkat lunak, di mata tester, seperti kotak putih / transparan; dalam yang satu jelas melihat. Pengujian White Box adalah kontras dengan Black Box Testing).

    Keuntungan pengujian White Box

    1. Peningkatan Efektivitas : silang keputusan desain dan asumsi terhadap kode sumber dapat menguraikan kuat.
    2. desain, tapi pelaksanaannya mungkin tidak sejajar dengan maksud desain.
    3. Kode penuh Pathway Mampu : semua jalur kode yang mungkin dapat diuji termasuk penanganan error, dependensi, dan tambahan kode logika / aliran intern.
    4. Awal Cacat Identifikasi : Menganalisis kode sumber dan mengembangkan tes berdasarkan rincian pelaksanaan memungkinkan.
    5. penguji untuk menemukan kesalahan pemrograman dengan cepat.
    6. Mengungkapkan Kode Tersembunyi Cacat : akses modul program.
    7. Tidak ada Waiting : Pengujian dapat dimulai pada tahap awal. Satu tidak perlu menunggu GUI akan tersedia).

    Menurut Rizky (2011:262) [11], “White Box Testing secara umum merupakan jenis testing yang lebih berkonsentrasi terhadap isi dari perangkat lunak itu sendiri. Jenis ini lebih banyak berkonsentrasi kepada source code dari perangkat lunak yang dibuat.

    1. Decision (Branch) Coverage
    2. Sesuai dengan namanya, teknik testing ini fokus terhadap hasil dari tiap skenario yang dijalankan terhadap bagian perangkat lunak yang mengandung percabangan (if...then...else).

    3. Condition Coverage
    4. Teknik ini hampir mirip dengan teknik yang pertama, tetapi dijalankan terhadap percabangan yang dianggap kompleks atau percabangan majemuk. Hal ini biasanya dilakukan jika dalam sebuah perangkat lunak memiliki banyak kondisi yang dijalankan dalam satu proses sekaligus.

    5. Path Analysis
    6. Merupakan teknik testing yang berusaha menjalankan kondisi yang ada dalam perangkat lunak serta berusaha mengoreksi apakah kondisi yang dijalankan telah sesuai dengan alur diagram yang terdapat dalam proses perancangan.

    7. Executive Time
    8. Pada teknik ini, perangkat lunak berusaha dijalankan atau dieksekusi kemudian dilakukan pengukuran waktu pada saat input dimasukkan hingga output dikeluarkan. Waktu eksekusi yang dihasilkan kemudian dijadikan bahan evaluasi dan dianalisa lebih lanjut untuk melihat apakah perangkat lunak telah berjalan sesuai dengan kondisi yang dimaksud oleh tester.

    9. Algorithm Analysis
    10. Teknik ini umumnya jarang dilakukan jika perangkat lunak yang dibuat berjenis sistem informasi. Sebab teknik ini membutuhkan kemampuan matematis yang cukup tinggi dari para tester, karena di dalamnya berusaha melakukan analisa terhadap algoritma yang diimplementasikan pada perangkat lunak tersebut.

    Dari beberapa pengertian diatas dapat disimpulkan bahwa pengujian white box adalah suatu pengujian di luar antarmuka pengguna dan menjadi intisari dari sistem, dengan seperti pengujian dapat diketahui secara cepat.

    Teori Khusus

    Mikrokontroler

    1. Definisi Mikrokontroler

    Menurut Syahwill (2013:53)[16], “Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah chip yang di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program atau keduanya), dan perlengkapan input-output”.

    Dari definisi diatas dapat disimpulkan bahwa Mikrokontroler adalah sebuah sistem mikroprosesor dalam chip tunggal yang dimana didalamnya terdapat CPU, ROM, RAM, I/O, Clock dan peralatan internal lainnya, dan juga mempunyai masukan dan keluaran serta kendali yang difungsikan untuk membaca data, dan dengan program yang bisa ditulis dan dihapus dengan cara khusus.

    2. Pengenalan Mikrokontroler

    Mikrokontroler sebagai suatu terobosan teknologi mikroprosesor dan mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang yang kecil serta dapat diproduksi secara massal (dalam jumlah banyak) membuat harganya menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu bahkan mainan yang lebih baik dan canggih.

    Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk suatu aplikasi tertentu saja (hanya satu program saja yang bisa disimpan). Perbedaan lainnya terletak pada perbandingan RAM dan ROM. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada Mikrokontroler, perbandingan ROM dan RAM-nya yang besar, artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.

    Adapun kelebihan dari mikrokontroler adalah sebagai berikut :

    1. Penggerak pada mikrokontoler menggunakan bahasa pemograman assembly dengan berpatokan pada kaidah digital dasar sehingga pengoperasian sistem menjadi sangat mudah dikerjakan sesuai dengan logika sistem (bahasa assembly ini mudah dimengerti karena menggunakan bahasa assembly aplikasi dimana parameter input dan output langsung bisa diakses tanpa menggunakan banyak perintah). Desain bahasa assembly ini tidak menggunakan begitu banyak syarat penulisan bahasa pemrograman seperti huruf besar dan huruf kecil untuk bahasa assembly tetap diwajarkan.
    2. Mikrokontroler tersusun dalam satu chip dimana prosesor, memori, dan I/O terintegrasi menjadi satu kesatuan kontrol sistem sehingga mikrokontroler dapat dikatakan sebagai komputer mini yang dapat bekerja secara inovatif sesuai dengan kebutuhan sistem.
    3. Sistem running bersifat berdiri sendiri tanpa tergantung dengan komputer sedangkan parameter komputer hanya digunakan untuk download perintah instruksi atau program. Langkah-langkah untuk download komputer dengan mikrokontroler sangat mudah digunakan karena tidak menggunakan banyak perintah.
    4. Pada mikrokontroler tersedia fasilitas tambahan untuk pengembangan memori dan I/O yang disesuaikan dengan kebutuhan sistem.
    5. Harga untuk memperoleh alat ini lebih murah dan mudah didapat.

    Menurut Sugeng (2012:1-2)[17], Mikrokontroler digunakan jika proses yang dikontrol melibatkan operasi yang kompleks baik itu aritmetika. Logika, pewaktuan, atau lainnya yang akan sangat rumit bila diimplementasikan dengan komponen-komponen diskrit. Salah satu keunggulan dari mikrokontroler adalah fleksibilitas dalam merangkai komponen-komponen diskrit karena dilakukan secara software. Prosesor didalam mikrokontroler mengerjakan instruksi sesuai software yang didalam memorinya (ROM). software tersebut berupa bahasa assembler yang sebenarnya mewakili kode-kode (opcode) yang diterjemahkan dan dieksekusi oleh prosesor.

    Sinyal yang bisa diolah oleh mikrokontroler adalah sinyal digital, untuk sinyal analog diperlukan konversi dengan menggunakan ADC (analog to digital converter) untuk mendapatkan nilai digital setaranya, sebaiknya jika menginginkan keluaran sinyal analog dari data digital maka diperlukan DAC (digital to analog converter).

     

     

    Sumber: pemrograman mikrokontroler dengan bahasa c

    Gambar 2.4 Blok Rangkaian Internal Mikrokontroler

    Gambar 2.5 memperlihatkan contoh blok rangkaian internal sebuah mikrokontroler beserta jalur datanya. Didalamnya selain ada Mikroprosessor, ROM, RAM, dan Port I/O bisa juga peripheral lain seperti UART, ADC, EEPROM, Timer dan lainnya.

    1. Mikroprosessor: unit yang mengoreksi program dan mengatur jalur data, jalur alamat, dan jalur kendali perangkat-perangkat yang terhubung dengannya.
    2. ROM (Read Only Memory): memori untuk menyimpan program yang dieksekusi oleh mikroprosesor. Bersifat non volatile artinya dapat mempertahankan data didalamnya walapun tak ada sumber tegangan. Saat sistem berjalan memori ini bersifat read only (hanya bisa dibaca).
    3. RAM (Random Access Memory): memori untuk menyimpan data sementara yang diperlukan saat eksekusi program. Memori ini bisa digunakan untuk operasi baca tulis.
    4. Port I/O: Port Input/Output sebagai pintu masukan atau keluaran bagi mikrokontroler. Umumnya sebuah port bisa difungsikan sebagai port masukan atau port keluaran bergantung kontrol yang dipilih.
    5. Timer: pewaktu yang bersumber dari oscillator mikrokontroler atau sinyal masukan ke mikrokontroler. Program mikrokontroler bisa memanfaatkan timer untuk menghasilkan pewaktuan yang cukup akurat.
    6. EEPROM: memori untuk menyimpan data yang sifatnya non volatile.
    7. ADC: converter sinyal analog menjadi data digital.
    8. UART: sebagai antarmuka komunikasi serial asynchronous.

    3. Pemanfaatan Mikrokontroler

    Menurut Syahwill (2013:54)[16], Mikrokontroler ada pada perangkat elekronik di sekeliling kita. Misalnya handphone, MP3 player, DVD, televise, AC, dll. Mikrokontroler juga dipakai untuk keperluan mengendalikan robot. Baik robot mainan, maupun robot industri. Mikrokontroler juga digunakan dalam produck dan alat yang dikendalikan secara otomatis, seperti sistem kontrol mesin, remote control, mesin kantor, peralatan rumah tangga, alat berat, dan mainan. Dengan mengurangi ukuran, biaya, dan konsumsi tenaga dibandingkan dengan mendesain menggunakan mikrokontroler memori, dan alat alat input output yang terpisah, kehadiran mikrokontroler membuat kontrol elektrik untuk berbagai proses men-j adi lebih ekonomis. Dengan penggunaan mikrokontroler ini, maka:

    1. Memiliki program khusus yang disimpan dalam memori untuk aplikasi tertentu, tidak seperti PC yang multifungsi karena mudahnya memasukkan program. Program mikrokontroler relative lebih kecil daripada program-program pada PC.
    2. Sistem elektronik akan menjadi lebih ringkas
    3. Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah perangkat lunak yang mudah dimodifikasi
    4. Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak

    Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yang sering kali masih diperlukan untuk aplikasi kecepatan tinggi atau sekadar menambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikro-kontroler sudah mengandung beberapa periferal yang langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau kom-pleks.

    Agar sebuah mikrokontroler dapat berfungsi, mikrokontroler tersebut memerlukan komponen eksternal yang kemudian disebut dengan sistem minimum. Untuk membuat sistem minimal paling tidak di-butuhkan sistem clock dan reset, walaupun pada beberapa mikrokon-troler sudah menyediakan sistem clock internal, sehingga tanpa rangkaian eksternal pun mikrokontroler sudah beroperasi.

    Untuk merancang sebuah sistem berbasis mikrokontroler, kita memerlukan perangkat keras dan perangkat lunak, yaitu:

    1. Sistem minimal mikrokontroler
    2. Software pemrograman dan kompiler, serta downloader

    Yang dimaksud dengan sistem minimal adalah sebuah rangkaian mikrokontroler yang sudah dapat digunakan untuk menjalankan sebuah aplikasi. Sebuah IC mikrokontroler tidak akan berarti bila hanya berdiri sendiri. Pada dasarnya sebuah sistem minimal mikrokontroler AVR memiliki prinsip yang sama, yang terdiri dari 4 bagian, yaitu:

    1. Prosesor, yaitu mikrokontroler itu sendiri.
    2. Rangkaian reset agar mikrokontroler dapat menjalankan program mulai dari awal.
    3. Rangkaian clock, yang digunakan untuk memberi detak pada CPU.
    4. Rangkaian catu daya, yang digunakan untuk memberi sumber daya.

    Pada mikrokontroler jenis-jenis tertentu (AVR misalnya), poin no 2, 3 sudah tersedia di dalam mikrokontroler tersebut dengan frekuensi yang sudah diseting dari vendornya (biasanya 1MHz, 2MHz, 4MHz, 8MHz), sehingga pengguna tidak memerlukan rangkaian tambahan. Namun bila ingin merancang sistem dengan spesifikasi tertentu (misal ingin komunikasi dengan PC atau handphone), pengguna harus menggunakan rangkaian clock yang sesuai dengan karakteristik PC atau HP tersebut, biasanya menggunakan kristal 11,0592 MHz, untuk menghasilkan komunikasi yang sesuai dengan baud rate PC atau HP tersebut.

    4. Perkembangan Mikrokontroler

    Menurut Syahwill (2013:57)[16] Mikrokontroler pertama kali dikenalkan oleh Texas Instrument dengan seri TMS 1000 pada tahun 1974 yang merupakan mikrokon-troler 4 bit pertama Mikrokontroler ini mulai dibuat sejak 1971. Merupakan mikrokomputer dalam sebuah chip, lengkap dengan RAM dan ROM. Kemudian, pada tahun 1976 Intel mengeluarkan mikro-kontroler yang kelak menjadi populer dengan nama 8748 yang merupakan mikrokontroler 8 bit, yang merupakan mikrokontroler dari keluarga MCS 48. Sekarang di pasaran banyak sekali ditemui mikrokontroler mulai dari 8 bit sampai dengan 64 bit, sehingga perbedaan antara mikrokontroler dan mikroprosesor sangat tipis. Masing-masing vendor mengeluarkan mikrokontroler dengan dileng-kapi fasilitas yang cenderung memudahkan user untuk merancang sebuah sistem dengan komponen luar yang relatif lebih sedikit.

    Saat ini mikrokontroler yang banyak beredar di pasaran adalah mikrokontroler 8 bit varian keluarga MCS51 (CISC) yang dikeluarkan oleh Atmel dengan seri AT89Sxx, dan mikrokontroler AVR yang merupakan mikrokontroler RISC dengan seri ATMEGA8535 (walau-pun varian dari mikrokontroler AVR sangatlah banyak, dengan masing-masing memiliki fitur yang berbeda-beda). Dengan mikro-kontroler tersebut pengguna (pemula) sudah bisa membuat sebuah sistem untuk keperluan sehari-hari, seperti pengendali peralatan rumah tangga jarak jauh yang menggunakan remote control televisi, radio frekuensi, maupun menggunakan ponsel, membuat jam digital, termometer digital, dan sebagainya.

    5. Jenis-Jenis MIkrokontroler

    Secara teknis hanya ada dua macam mikrokontroler. Pembagian ini di dasarkan pada kompleksita inttruksi-intruksi yang dapat diterapkan pada mikrokontroler tersebut. Pembagian itu, yaitu RISC dan CISC serta masing-masing keturunan atau keluarga sendi-sendiri.

    1. RISC merupakan kependekan dari Reduced Instruction Set Computer. Intruksi yang dimiki terbatas, tetapi memiliki fasilitas yang lebih banyak.

    2. Sebaliknya, CISC kependekan dari Complex Intruction Set Computer. Intruksi bisa dikatakan lebih lengkap tapi dengan fasilitas secukupnya.

    Jenis-jenis Mikrokontroler Yang Umum Digunakan

    1. AVR

    Mikrokontroler Alv and Vegard's RISC processor atau sering disingkat AVR merupakan mikrokontroler RISC 8 bit. Karena RISC inilah sebagian besar kode instruksinya dikemas dalam satu siklus clock. AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang elektronika dan instrumentasi. Secara umum, AVR dapat dikelompokkan dalam 4 kelas. Pada dasarnya yang membedakan masing-masing kelas adalah memori, periferal dan fungsinya. Keempat kelas tersebut adalah keluarga ATTiny, keluarga AT90S, oc, keluarga ATMega, dan AT86RFxx.

    b. Arduino

    Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama, yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel.

    Konsep Dasar Arduino

    1. Definisi Arduino

    Untuk memahami Arduino, terlebih dahulu kita harus memahami terlebih dahulu apa yang dimaksud dengan physical computing. Physical computing adalah membuat sebuah sistem atau perangkat fisik dengan menggunakan software dan hardware yang sifatnya interaktif yaitu dapat menerima rangsangan dari lingkungan dan merespon balik. Physical computing adalah sebuah konsep untuk memahami hubungan yang manusiawi antara lingkungan yang sifat alaminya adalah analog dengan dunia digital. Pada prakteknya konsep ini diaplikasikan dalam desain-desain alat atau projek-projek yang menggunakan sensor dan mikrokontroler untuk menerjemahkan input analog ke dalam sistem software untuk mengontrol gerakan alat-alat elektro-mekanik seperti lampu, motor dan sebagainya.

    Pembuatan prototype atau prototyping adalah kegiatan yang sangat penting di dalam proses physical computing karena pada tahap inilah seorang perancang melakukan eksperimen dan uji coba dari berbagai jenis komponen, ukuran, parameter, program komputer dan sebagainya berulang-ulang kali sampai diperoleh kombinasi yang paling tepat. Dalam hal ini perhitungan angka-angka dan rumus yang akurat bukanlah satu-satunya faktor yang menjadi kunci sukses di dalam mendesain sebuah alat karena ada banyak faktor eksternal yang turut berperan, sehingga proses mencoba dan menemukan/mengoreksi kesalahan perlu melibatkan hal-hal yang sifatnya non-eksakta. Prototyping adalah gabungan antara akurasi perhitungan dan seni.

    Proses prototyping bisa menjadi sebuah kegiatan yang menyenangkan atau menyebalkan, itu tergantung bagaimana kita melakukannya. Misalnya jika untuk mengganti sebuah komponen, merubah ukurannya atau merombak kerja sebuah prototype dibutuhkan usaha yang besar dan waktu yang lama, mungkin prototyping akan sangat melelahkan karena pekerjaan ini dapat dilakukan berulang-ulang sampai puluhan kali – bayangkan betapa frustasinya perancang yang harus melakukan itu. Idealnya sebuah prototype adalah sebuah sistem yang fleksibel dimana perancang bisa dengan mudah dan cepat melakukan perubahan-perubahan dan mencobanya lagi sehingga tenaga dan waktu tidak menjadi kendala berarti. Dengan demikian harus ada sebuah alat pengembangan yang membuat proses prototyping menjadi mudah.

    roman';text-align: justify;text-indent: 0.5in">

    Pada masa lalu (dan masih terjadi hingga hari ini) bekerja dengan hardware berarti membuat rangkaian menggunakan berbagai komponen elektronik seperti resistor, kapasitor, transistor dan sebagainya. Setiap komponen disambungkan secara fisik dengan kabel atau jalur tembaga yang disebut dengan istilah “hard wired” sehingga untuk merubah rangkaian maka sambungansambungan itu harus diputuskan dan disambung kembali. Dengan hadirnya teknologi digital dan microprocessor fungsi yang sebelumnya dilakukan dengan hired wired digantikan denganProgram-program software.

    roman';text-align: justify;text-indent: 0.5in">

    Ini adalah sebuah revolusi di dalam proses prototyping. Software lebih mudah diubah dibandingkan hardware, dengan beberapa penekanan tombol kita dapat merubah logika alat secara radikal dan mencoba versi ke-dua, ke-tiga dan seterusnya dengan cepat tanpa harus mengubah pengkabelan dari rangkaian.

    </div>

    Konsep Dasar Arduino Uno

    1. Definisi Arduino Uno

    Arduino dikatakan sebagai sebuah platform dari physicalcomputing yang bersifat open source. Pertama-tama perlu dipahamibahwa kata “platform” di sini adalah sebuah pilihan kata yang tepat. Arduinotidak hanya sekedar sebuah alat pengembangan, tetapi kombinasi dari hardware,bahasa pemrograman dan Integrated Development Environment (IDE)yang canggih. IDE adalah sebuah software yang sangat berperan untuk menulisprogram, meng-compile menjadi kode biner dan meng-upload ke dalam memory mikrokontroller.

    Menurut Gunawan (2013:202)[18], “Arduino Uno adalah sebuah board mikrokontroller yang berbasis ATmega328. Arduino memiliki 14 pin input atau output yang mana 6 pin dapat digunakan sebagai output PWM, 6 analog input, crystal osilator 16 MHz, koneksi USB, jack power, kepala ICSP, dan tombol reset”. Arduino mampu men-support mikrokontroller serta dapat dikoneksikan dengan komputer menggunakan kabel USB.

    Arduino dapat diberikan power melalui koneksi USB atau power supply. Powernya menyalasecara otomatis. Power supply dapat menggunakan adaptor DC atau baterai. Adaptor dapat dikoneksikan dengan mencolok jack adaptor pada koneksi port input supply. Board arduino dapat dioperasikan menggunakan supply dari luar sebesar 6 - 20 volt. Jika supply kurang dari 7V, kadangkala pin 5V akan menyuplai kurang dari 5 volt dan boardbisa menjadi tidak stabil. Jika menggunakan lebih dari 12 V, tegangan di regulator bisa menjadi sangat panas dan menyebabkan kerusakan pada board. Rekomendasi tegangan ada pada 7 sampai 12 volt. Arduino sendiri memilikiIDE untuk compiler. Proses kerja Arduino ialah melakukan pemrograman pada IDE, compile, dan upload binary/hex file ke kontroler. Berbeda dengan Processing yang kode hasil compile langsung dijalankan di komputer, kode hasil compile Arduino harus di-upload ke kontroler sehingga dapatdijalankan.


Kesalahan pengutipan: Tag <ref> ditemukan, tapi tag <references/> tidak ditemukan

Contributors

Aji Setiawan