Kali ini kita akan belajar membuat program menggunakan Flowcode AVR untuk menghitung sapi-sapi kita yang masuk kandang. Caranya bagaimana? Kita gunakan sensor detektor sapi melalui PORT A (yang disimulasikan menggunakan pushbutton) untuk mendeteksi sapi-sapi yang masuk ke kandang. Sensor ini akan memicu proses perhitungan jumlah atau cacah sapi. Sementara ini hasil perhitungan ditampilkan melalui LED pada PORT B, bisa juga melalui 7segmen biar keren, tapi itu entar aja dech.

Silahkan membuat kerangka diagram alir menggunakan acuan Gambar 1. Pada blok Calculation masih kita kosongkan…

Gambar 1

Okey, langkah selanjutnya lakukan klik-ganda pada blok Calculation, sehingga dimunculkan kotak dialog yang ditunjukkan pada Gambar 2.

Gambar 2

Ganti nama “Calculation” (pada Display Name) menjadi “Total Sapi” (tanpa tanda petik). Kemudian lanjutkan menuliskan persamaan untuk menghitung total sapi sebagai berikut: TOTAL = TOTAL + SAPI (pada bagian isian Calculations). Perhatikan Gambar 3.

Gambar 3

Sensor detektor sapi disimulasikan menggunakan tombol tekan atau pushbutton yang dipasang pada PORTA.0. Jika tombol ditekan maka akan menghasilkan nilai 1 yang kemudian disimpan ke dalam variabel SAPI. Dengan demikian, penekanan tombol pada PORTA.0 akan menambah nilai TOTAL sebesar 1. Jika tidak ditekan, ya artinya nilai pada variabel SAPI tetap 0 (nol) dan tidak merubah nilai dari TOTAL, demikian seterusnya.

Klik Variables pada kotak dialog Calculations untuk mulai mendefinisikan variabel-variabel yang terkait. Akan ditampilkan kotak dialog seperti pada Gambar 4.

Gambar 4

Sekarang kita lanjutkan dengan mendefinisikan variabel-variabel yang terkait tersebut. Variabel yang akan kita definisikan adalah TOTAL dan SAPI. Penggunaan kedua variabel ini sudah saya jelaskan sebelumnya, jika belum paham silahkan ditengok lagi, nanti baru kembali lagi kesini…

Klik pada tombol Add New Variable… sehingga dimunculkan kotak dialog Create sebagaimana ditunjukkan pada gambar 5. Ketik “SAPI” (tanpa tanda petik) pada isian Name of New Variable dan pilih Byte pada Variable Type, akhiri dengan klik Ok. Lakukan hal yang sama untuk variabel TOTAL. Sehingga sekarang isi dari variabel kita seperti ditunjukkan pada Gambar 6.

Gambar 5

Gambar 6

Klik Close, kemudian kembali lagi ke kotak dialog Calculations dan akhiri dengan klik Ok. Hasil dari diagram alir sampai tahap ini ditunjukkan pada Gambar 7.

Gambar 7

Sekarang saatnya mengatur pengulangan (loop). Klik pada blok Loop sehingga ditampilkan kotak dialog seperti pada Gambar 8.

Gambar 8

Silahkan Anda cermati kotak dialog tersebut, Anda bisa memilih antara Loop While dengan Loop Count. Pada isian Loop while, kita bisa mengisikan berbagai macam kondisi syarat pengulangan. Misalnya, tertulis angka 1 pada kotak dialog tersebut, artinya dianggap selalu benar, sehingga terjadilah pengulangan terus menerus (infinite loop). Atau Anda bisa mengisikan syarat-syarat tertentu untuk pengulangan, misalnya cacah < 4, cacah = 0 dan lain sebagainya.

Perhatikan juga pilihan Test the loop at, yaitu Start dan End. Apakah pengujian dilakukan di awal pengulangan (Start) atau diakhir (End)? Hal ini tentu saja berpengaruh terhadap jumlah pengulangan yang terjadi.

Isian Loop Count merupakan bentuk pengulangan yang pasti, berapa kali dilakukan pengulangan, Anda bisa mengisikan angka yang sesuai dengan kepentingan program.

Sementara ini biarkan isian seperti itu, klik saja Cancel untuk membatalkan.

Okey, kita lanjutkan dengan klik ganda pada blok Input, sehingga ditampilkan Gambar 9 (perhatikan 3 tanda panah-nya).

Gambar 9

Ubah Display name (panah teratas) menjadi “Cek sensornya”. Klik tombol Variables… (sebelah kanan panah tengah), klik pada variabel SAPI dan klik tombol Use Variable. Perhatikan isian Port yang sudah terisi dengan PORT A dan ini sudah sesuai dengan program kita, so akhiri dengan klik Ok.

Langkah selanjutnya adalah menentukan luaran melalui PORT B. Klik ganda pada blok Output. Mirip dengan cara menentukan masukan sebagaimana sudah saya jelaskan. Klik tombol Variables, pilih variabel TOTAL dengan cara yang sama seperti sebelumnya. Ganti isian Port menjadi PORT B. Hasil akhir dari diagram alir ditunjukkan pada Gambar 10.

Gambar 10

Berikutnya adalah menambahkan tampilan LED pada Flowcode AVR untuk kepentingan simulasi. Klik pada ikon LED (ada di sebelah kiri atas gambar LED berjejer miring). Maka pada Flowcode AVR akan ditampilkan kotak LED, perhatikan (panah pada) Gambar 11.

Gambar 11

Untuk menghubungkan LED ini dengan PORT B, klik pada panah kebawah di LED dan pilih Component Connections…, sehingga ditampilkan kotak dialog seperti Gambar 12. Gantilah PORT A pada kotak dialog Component Connections.. tersebut dengan PORT B, bit 0 sampai dengan 7 untuk masing-masing LED.

Gambar 12

Sekarang tambahkan pushbutton pada Flowcode AVR dengan klik ikon Switch (di sebelah kanan ikon LED yang telah Anda klik sebelumnya). Perhatikan Gambar 13.

G

Gambar 13

Kita atur Properties dari switch ini dengan klik tanda panah kebawah dan pilih Properties, sehingga ditampilkan Gambar 14. Jumlah pushbutton cuman 1, ganti angka pada Number of switch menjadi 1 (perhatikan tanda panah yang terkait). Lanjutkan dengan klik pada Tab Switch label dan ketik seperti pada Gambar 15.

Gambar 14

Gambar 15

Okey, tugas membuat program sudah selesai, hasil akhir dari tampilan Flowcode AVR ditunjukkan pada Gambar 16.

Gambar 16

Selanjutnya sudah bisa dilakukan simulasi. Klik Run (tanda panah pada Gambar 16) dan nikmati hasilnya! Kenapa? Wow pencacahan dilakukan dengan sangat cepat, ketikan kli pada pushbutton LED pada PORT B berubah secara cepat (sekali)! Bagaimana mengatasinya?

Sisipkan tundaan di dalam flowchart sebagaimana ditunjukkan pada Gambar 17. Kemudian jalankan lagi simulasinya…

Gambar 17

Listing program utama (main()) dalam Bahasa C ditunjukkan pada Gambar 18

Gambar 18

Semoga bermanfaat!

Tags: , , , ,

3 Responses to “Flowcode AVR 3.0: Menghitung Sapi!”

  1. woah ada flowchartnya

  2. thank you for sharing it’s so helpful

  3. its good thing to share, thank you.

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>