Sep 07 2016

Hukum Dagang Sem: Ganjil 2016/2017

Published by under Research

Download bahan kuliah: click here

Comments Off

Sep 06 2016

Hukum Perdata Internasional Sem: Ganjil 2016/2017

Published by under Research

Download bahan kuliah: click here

Comments Off

Sep 06 2016

Hukum Perikatan Sem: Ganjil 2016/2017

Published by under Research

Download bahan kuliah: click here

Comments Off

Sep 06 2016

Hukum Perusahaan Sem: Ganjil 2016/2017

Published by under Research

Download bahan kuliah: click here

Comments Off

Mar 01 2016

Mazhab Media Sosial Politisi

Published by under In the news,Uneg-uneg

Wanita muda tersebut duduk dengan penuh konsentrasi di balkon salah satu ruang sidang komisi di gedung DPR RI. Jemarinya lincah mengetik dengan gawainya. Dia tidak sedang mengabaikan lingkungannya dan asyik dengan dunianya. Tetapi, dia sedang aktif membuat cuit dengan Twitter. Wanita itu bernama Hayati Indah Putri, pencetus dan pengawal WikiDPR.org, inisiatif nirlaba yang dengan sepenuh hati mengikuti dan mencatat diskusi pada hampir semua sidang di gedung tersebut. Kondisi hamil tidak menghalangi Mbak Indah, panggilan akrabnya, pemegang gelar master dari salah satu universitas terkemuka di Kanada, untuk ‘berkantor’ hampir setiap hari.

Dia dan puluhan relawan siap menjadi ‘penyambung suara wakil rakyat’ dengan menulis cuit secara langsung ketika sidang sedang berlangsung. Rangkuman sidang kemudian dimuat dalam laman WikiDPR.org. “Saya ingin rakyat tahu apa yang didiskusikan oleh wakilnya, melalui media sosial,” kata Mbak Indah ketika berdiskusi dengan penulis. Banyak orang mengatakan bahwa media sosial dapat menjadi kanal komunikasi antara rakyat dengan wakilnya, para politisi.

Betulkah demikian? Pengamatan dan diskusi penulis dengan beberapa politisi dan konsultan media sosial memberikan beberapa tilikan. Paling tidak terdapat empat mazhab terkait dengan media sosial yang diadopsi oleh para politisi.

Mazhab pertama adalah absen. “Saya mengandalkan pertemuan tatap muka dengan konstituen saya, sosial media tidak populer di kalangan mereka,” terang seorang politisi muda. Politisi tersebut termasuk aktivis media sosial, tetapi berasal dari sebuah daerah di mana penetrasi Internet dan sosial media tidak begitu kentara. Media sosial tidak menyelesaikan masalah yang sedang mereka hadapi. Hingar-bingar sosial media seringkali tidak mewakili jeritan mereka yang terpendam dalam. Untuk konteks seperti itu, penggunaan media sosial sebagai kanal partisipasi publik, laksana memberi sabun kepada pengungsi yang kelaparan.

“Saya sekarang sudah tidak percaya lagi dengan media sosial,” kata seorang konsultan media sosial yang terlibat banyak hajatan politik. Dia sering dijuluki “manipulator” media sosial, karena kecanggihannya dalam mempermainkan opini publik dengan beragam pesan di media sosial. Yang terpampang di media sosial adalah kosmetik untuk menjadikan seseorang politisi tampak lebih ‘kinclong’. Namun tidak demikian dalam kenyataannya. Nampaknya banyak politisi yang kepincut dengan layanan manipulasi jenis ini. Inilah mazhab kedua, mazhab manipulatif. Penganut mazhab ini dapat menjadikan isu sepele menjadi penting atau sebaliknya, mengalihkan perhatian dari isu penting. Politisi bermazhab ini tidak jarang menggunakan jasa para selebritas media sosial dengan banyak pengikut untuk menggiring opini publik, dengan imbalan yang cukup fantastis. Sebuah cuit dapat berharga puluhan juta.

Observasi penulis di beberapa tempat menemukan mazhab ketiga, yaitu instrumental. Politisi mazhab ini menggunakan media sosial untuk berkomunikasi dengan rakyat, tetapi dengan meminjam tangan orang lain. Kapasitas politisi yang terbatas adalah alasannya. Pesan yang terunggah pada media sosial adalah cerminan sikap politisi tersebut, yang dilakukan oleh asistennya, atau lembaga yang dipimpinnya. Tidak ada yang salah dalam mazhab ini, meski komunikasi yang dibangun cenderung mekanis.

Adakah mazhab yang lain? Mazhab keempat bersifat tulen, “genuine”. Politisi dalam mazhab ini membangun komunikasi organik yang lebih humanis. Setiap pesan yang terunggah media sosial lahir dari ketikan tangan politisi tersebut. Mazhab ini banyak diisi oleh politisi muda yang melek teknologi dan tidak ‘jaim’. Tidak semua politisi berani menjadi penganut mazhab ini. Hanya politisi dengan kadar keberanian dan kesabaran tingkat tertentu yang sanggup. Mereka siap menghadapi kemungkinan terburuk, berupa hujatan dan perundungan, atau ‘ditelanjangi’ secara daring. Mereka biasanya tidak tersandera masa lalunya.

Penganut mazhab manakah politisi pujaan Anda? Anda seorang politisi? Pengikut mazhab manakan Anda? Anda sendiri yang tahu.

Tulisan ini pernah dimuat pada rubrik Opini SKH Kedaulatan Rakyat 15 Februari 2016


Comments Off

Jan 20 2016

Modul 2 Tutorial Simulasi Pengendalian Input Digital Oleh Mikrokontroler AVR ATmega

Oleh : Agung Nugroho Adi – Teknik Mesin UII Yogyakarta

Tujuan Pembelajaran

Setelah melakukan proses pembelajaran peserta diharapkan dapat :

  • Menjelaskan rangkaian input mikrokontroler dari saklar.
  • Membuat program untuk mengendalikan output LED menggunakan saklar.

Saklar

Saklar adalah peranti input digital yang umum ditemui dalam banyak peralatan. Fungsi kerja saklar adalah untuk menghubungkan atau memutus aliran listrik pada suatu rangkaian listrik. Pada saklar terdapat 2 kemungkinan keadaan (biner), yaitu aktif dan tidak aktif. Jika suatu saklar menyambung rangkaian listrik saat aktif (ditekan) disebut sebagai saklar Normally Open (NO), jika sebaliknya disebut sebagai Normally Closed (NC). Berdasarkan cara pengaktifannya, saklar dapat dibedakan menjadi saklar tekan (pushbutton) dan saklar toggle/slide. Saklar tekan akan langsung kembali tidak aktif jika tidak ditekan, sedangkan saklar toggle baru akan tidak aktif jika posisi saklar dipindahkan.

Saklar Untuk Memilih Konfigurasi Nyala LED

  1. Rangkaian

Rangkaian ini menggunakan rangkaian saklar active low, dimana jika saklar ditekan (aktif) maka oleh mikrokontroler dibaca 0. Sebaliknya jika saklar tidak diaktifkan mikrokontroler akan membacanya sebagai logika 1, walaupun sebetulnya keadaan rangkaian adalah floating (mengambang), tidak terhubung dengan Vcc ataupun GND. Hal ini disebabkan port input/output ATMega8535 dapat diatur sebagai input dengan pull-up internal.

 


Gambar 1    Rangkaian saklar dan LED

 

  • Rangkaian seperti ini tidak dapat digunakan untuk semua jenis mikrokontroler, lebih disarankan untuk menggunakan resistor pull up. Resistor pull up digunakan untuk memastikan saat saklar tidak aktif, rangkaian tetap terhubung dengan Vcc.


Gambar 2    Resistor pull-up untuk rangkaian saklar

  1. Pengaturan Konfigurasi Nyala Padam LED Menggunakan Saklar

Buatlah file source dan file project baru dengan nama SAKLAR1.c dan SAKLAR.prj dan tuliskan program di bawah ini.

Program 1    Program Saklar_2.c

//=======================================================================

//Program Saklar_1.c

//Program untuk menampilkan kondisi saklar pada LED

//=======================================================================

#include <mega8535.h>

#define saklar PINB // saklar = PORTB

#define led PORTA // Led = PORTA

void main(void)

{

DDRA=0xFF;     //PortA dikonfigurasikan sebagai output, yaitu PA0 – PA7

PORTA=0xFF;        //PortA diberi nilai awal 0xFF = LED padam

DDRB=0;     //PortB dikonfigurasikan sebagai input, yaitu P

PORTB=0xFF;     //PortB diberikan internal pull up

while(1)

{

if (saklar==0xFF)    //jika tidak ada saklar ditekan

led =0xFF;        //led padam

else if (saklar==0xFE)    //jika PINA.0 ditekan

led = 0xAA;        //led nyala selang-seling

else led=0;        //selain itu led nyala semua

}

}

//=======================================================================

 

Lakukan proses compiling di CVAVR dan simulasi di Proteus ISIS, perhatikan hasilnya dengan mengubah kondisi masing-masing saklar.

  1. Prinsip Kerja File SAKLAR1.c

Pada awal program terdapat pernyataan define yang dipergunakan untuk menggantikan penyebutan PORTA dan PORTB masing-masing dengan nama variabel led dan saklar.

#define saklar PINB // saklar = PORTB

#define led PORTA // Led = PORTA

Hal ini akan berguna pada saat membuat program yang panjang dan kompleks, jika terdapat perubahan penggunaan pin atau port, cukup diganti pada pernyataan define.

PORTA dan PORTB perlu diinisialisasi sebelum digunakan.

DDRA=0xFF;     //PortA dikonfigurasikan sebagai output, yaitu PA0 – PA7

PORTA=0xFF;        //PortA diberi nilai awal 0xFF = LED padam

PORTA digunakan sebagai output dengan semua pin diberi sinyal high atau dengan kata lain LED padam semua.

DDRB=0;     //PortB dikonfigurasikan sebagai input, yaitu P

PORTB=0xFF;     //PortB diberikan internal pull up

PORTB digunakan sebagai input dan sesuai Tabel 21diset dengan internal pull up. Dengan diset menggunakan internal pull up maka PORTB tidak perlu dihubungkan dengan rangkaian eksternal pull up untuk memastikan sinyal yang diterima adalah 1 pada saat rangkaian tidak terhubung.

Tabel 1    Pengaturan pin I/O sebagai input

DDR bit = 0
PORT bit = 1 Input, Internal Pull Up
PORT bit = 0 Input, Floating

Untuk menguji keadaan saklar digunakan pernyataan If…Elseif…Else, sehingga jika keadaan saklar sesuai dengan keadaan yang disyaratkan, maka pernyataan setelah if atau else if akan dilaksanakan. Pada program ini kondisi saklar akan menentukan konfigurasi nyala LED.

if (saklar==0xFF)    //jika tidak ada saklar ditekan

led =0xFF;        //led padam

Jika tidak ada saklar yang diaktifkan maka semua LED akan padam.

else if (saklar==0xFE)    //jika PINA.0 ditekan

led = 0xAA;        //led nyala selang-seling

Jjika hanya saklar PORTB.0 saja yang diaktifkan maka LED akan membentuk konfigurasi nyala/padam secara berselang seling.

else led=0;        //selain itu led nyala semua

Jika selain dari dua keadaan tersebut maka LED akan menyala semua.

 

  1. Pengaturan Pergantian Konfigurasi Nyala Padam LED Menggunakan Saklar

Buatlah file source baru dengan nama file SAKLAR2.c untuk mengganti file source sebelumnya, yaitu file SAKLAR1.c dengan program sebagai berikut.

 

#include <mega8535.h>

#include <delay.h>

#define saklar PINB // saklar = PORTB

#define led PORTA // Led = PORTA

void main(void)

{

unsigned char pilih;        //deklarasi variabel pilih sebagai unsigned char

DDRA=0xFF;     //PortA dikonfigurasikan sebagai output, yaitu PA0 – PA7

PORTA=0xFF;        //PortA diberi nilai awal 0xFF = LED padam

DDRB=0;     //PortB dikonfigurasikan sebagai input, yaitu P

PORTB=0xFF;     //PortB diberikan internal pull up

while(1){

    if (saklar.0==0)pilih=1;     //jika PINA.0 ditekan pilih=1

    else if (saklar.1==0)pilih=2;     //jika PINA.1 ditekan pilih=2

    else if (saklar.2==0)pilih=0;     //jika PINA.2 ditekan pilih=0


    if (pilih==1){     //jika pilih=1

    led =0xFF;     //maka konfigurasi LED bergantian

    delay_ms(250);     //menyala semua dan padam semua

    led =0;

    delay_ms(250);

    }

    else if (pilih==2){     //jika pilih=2

    led = 0xAA;     //maka konfigurasi LED bergantian

    delay_ms(250);     //berselang-seling nyala padam

    led =0x55;

    delay_ms(250);

    }

    else led=0xFF;     //jika pilih=3 maka LED padam

}

}

 

  1. Prinsip Kerja File SAKLAR2.c

Pada dasarnya prinsip kerja file SAKLAR2.c mirip dengan SAKLAR1.c.

    if (saklar.0==0)pilih=1;     //jika PINA.0 ditekan pilih=1

    else if (saklar.1==0)pilih=2;     //jika PINA.1 ditekan pilih=2

    else if (saklar.2==0)pilih=0;     //jika PINA.2 ditekan pilih=0

Pernyataan ini mengecek kondisi saklar mana yang ditekan dan selanjutnya menentukan nilai variabel pilih.

    if (pilih==1){     //jika pilih=1

    led =0xFF;     //maka konfigurasi LED bergantian

    delay_ms(250);     //menyala semua dan padam semua

    led =0;

    delay_ms(250);

    }

Jika nilai variabel pilih adalah 1 maka konfigurasi LED akan menyala semua dan padam semua secara bergantian.

    else if (pilih==2){     //jika pilih=2

    led = 0xAA;     //maka konfigurasi LED bergantian

    delay_ms(250);     //berselang-seling nyala padam

    led =0x55;

    delay_ms(250);

    }

Jika nilai variabel pilih adalah 1 maka konfigurasi LED akan nyala padam berselang-seling secara bergantian.

    else led=0xFF;     //jika pilih=3 maka LED padam

Jika nilai variabel pilih adalah 2 maka semua LED akan padam

Comments Off

Jan 20 2016

Modul 1 Tutorial Simulasi Pengendalian Output Digital Oleh Mikrokontroler AVR ATmega

Oleh : Agung Nugroho Adi – Program Studi Teknik Mesin UII Yogyakarta

Tujuan Pembelajaran

Setelah melakukan proses pembelajaran peserta diharapkan dapat :

  1. Membuat program untuk pengendalian output LED menggunakan Codevision AVR (CVAVR).
  2. Melakukan simulasi pengendalian output LED menggunakan Proteus.

Light Emitting Diode


Gambar 11    Komponen LED beserta simbolnya

LED (Light Emitting Diode) adalah semikonduktor (diode) yang dapat mengeluarkan cahaya. Terdapat berbagai macam warna LED, yaitu merah, hijau, oranye, kuning, dan biru, serta dalam berbagai bentuk. Seperti juga diode, LED juga merupakan komponen yang akan aktif (menyala) jika dialiri arus pada arah tertentu, dan tidak untuk arah arus sebaliknya. Gambar 11menunjukkan bentuk fisik LED beserta simbolnya. Kaki yang lebih panjang adalah anode, yang akan dihubungkan dengan kutub +, dan kaki yang lebih pendek adalah katode, yang akan dihubungkan dengan kutub – .


Gambar 12    Rangkaian untuk menyalakan LED

Gambar 12 menunjukkan rangkaian untuk menyalakan LED, anode terhubung dengan kutub positif catu daya dan katode terh ubung dengan resistor dan ground. Fungsi resistor pada rangkaian yang melibatkan LED adalah sebagai pembatas arus. Untuk menyalakan LED hanya diperlukan arus sebesar 1 – 10 mA, sedangkan arus yang dapat diberikan catu daya (dengan tegangan berkisar 5-9V) cukup besar. Jika arus yang masuk LED tidak dibatasi, maka LED akan rusak. Resistor dapat diletakkan pada sisi katode maupun anode dari LED.

 

Menyalakan dan Memadamkan LED

Rangkaian


Gambar 13    Rangkaian output LED beserta diagram pengkabelannya

Untuk mencoba rangkaian menyalakan/memadamkan LED, akan digunakan rangkaian yang terdiri dari 8 buah LED, yang akan dikendalikan oleh mikrokontroler melalui PORT A.

  • Ingat semua rangkaian LED haruslah selalu diberikan resistor sebagai pembatas arus

 

Tutorial Membuat Program Tanpa Menggunakan Wizzard
  • Pada CVAVR bukalah file source baru dengan mengklik File – New kemudian pilihlah tipe file Source dan klik OK


  • Mulailah mengetik program berikut ini pada jendela untitled.c

//File : LED1.c

//deklarasi file header

#include <mega8535.h> //jenis us ATMega8535

#include <delay.h> //berisi fungsi tundaan waktu

//program utama

void main(void) {

//inisialisasi PORTA.0

DDRA.0=1;    //PORTA.0 sebagai output

PORTA.0=1;    //PORTA.0 mengeluarkan sinyal high (1)

//perulangan secara terus menerus

while (1) {

PORTA.0=0;    //PORTA.0 mengeluarkan sinyal 0, LED nyala

delay_ms(1000);    //tunda 1 detik

PORTA.0=1;    //PORTA.0 mengeluarkan sinyal 1, LED padam

delay_ms(1000);    //tunda 1 detik

};

}

  • Simpanlah dan beri nama file source yang telah dibuat dengan mengklik File – Save As dengan nama LED1.c

 

  • Buatlah file project baru dengan mengklik File – New, pilihlah tipe file Project, klik OK


  • Untuk membuat program tanpa wizzard maka klik NO pada jendela Confirm, kemudian klik OK


  • Simpan project dengan nama LED.prj dan selanjutnya akan muncul jendela Configure Project pada tab Files untuk menambahkan file source. Tambahkanlah file LED1.c ke dalam project LED.prj dengan mengklik add kemudian pilih file LED1.c dan diakhiri dengan mengklik OK.


 

  • Klik tab C Compiler dan sesuaikan chip dan clock yang digunakan. Mikrokontroler yang digunakan pada praktikum ini adalah chip ATMega8535 dengan clock 4.000 MHz.


 

 

 

  • Setelah program C telah selesai dibuat maka tekan tombol F9 atau mengklik PROJECT – COMPILE untuk meng-compile program, jika tidak ada kesalahan dapat dilanjutkan dengan membuat program dengan menekan tombol SHIFT+F9 atau mengklik PROJECT – MAKE untuk melakukan kompiling program sekaligus untuk menghasilkan file 01-LED1.hex.


  • Berikutnya kita lakukan tahapan simulasi dengan membuka Proteus ISIS. Berikut adalah tampilan awal Proteus ISIS.

.

  • Klik File – Open Design atau gunakan shortcut Ctrl+o untuk membuka kotak dialog Load ISIS Design File. Berpindahlah ke folder tempat menyimpan file desain ISIS, kemudian pilih file 1-switch-led.DSN dan klik OK.


  • File 1-switch-led.DSN yang merupakan simulasi pertama kita memuat beberapa komponen, yaitu mikrokontroler ATMega8535 beserta rangkaian LED yang terhubung dengan PORTA sebagai output dan rangkaian DIP-switch yang terhubung dengan PORTB sebagai input.


  • Klik ganda IC mikrokontroler ATMega8535 sehingga terbuka kotak dialog Edit Component. Berikutnya pada bagian Program File buka kotak dialog Select File Name, berpindahlah ke folder program CVAVR atau folder lain tempat penyimpanan file 01-LED1.hex. Masih pada kotak dialog Edit Component gantilah nilai CKSEL Fuses menjadi (0100) Int RC 8MHz untuk memasukkan frekuensi clock mikrokontroler.


  • Proses berikutnya adalah mensimulasikan program hex pada rangkaian yang telah tersedia. Klik Debug – Start/Restart Debugging atau shortcut Ctrl+F12. Tunggu beberapa saat hingga proses selesai kemudian klik Debug – Execute atau shortcut F12.


  • Jika semua langkah telah dilakukan dengan benar maka kita dapat melihat tampilan simulasi program, yaitu LED D0 akan berkedap-kedip.

 

Prinsip Kerja Program LED1.c

Pada suatu file source haruslah diawali dengan mencantumkan file-file header sesuai yang diperlukan dalam program.

#include <mega8535.h>

#include <delay.h>

Pada program LED1.c tercantum dua file header yaitu mega8535.h yang merupakan file header untuk tipe mikrokontroler yang digunakan serta delay.h yang memuat fungsi-fungsi penundaan waktu.

Dalam suatu file source minimal terdapat 1 fungsi sebagai fungsi utama, yaitu void main(void). Jika terdapat fungsi lain selain fungsi utama maka fungsi void main(void) yang akan dilaksanakan pertama kali saat program dijalankan.

ATMega 8535 mempunyai 4 port Input/Output (I/O), yaitu PORTA, PORTB, PORTC, dan PORTD, yang pada masing-masing port 8 pin. Contohnya untuk PORTA terdapat 8 pin masing-masing PORTA.0, PORTA.1, PORTA.2, PORTA.3, PORTA.4, PORTA.5, PORTA.6, dan PORTA.7 begitu pula untuk PORTB, PORTC, dan PORTD. Setiap pin pada PORTA, PORTB, PORTC, dan PORTD dapat digunakan sebagai fungsi input ataupun output digital dengan melakukan inisialisasi masing-masing pin terlebih dahulu untuk menentukan fungsi pin. Pengaturan fungsi pin sebagai port output dilakukan dengan memberikan nilai 1 ke register DDR pada pin yang bersangkutan. Selanjutnya pin output dapat mengeluarkan sinyal high jika register PORT diberi nilai 1 dan mengeluarkan sinyal low jika diberi nilai 0.

Tabel 11    Pengaturan pin I/O sebagai output

DDR bit = 1
PORT bit = 1 Output, High
PORT bit = 0 Output, Low

 

//inisialisasi PORTA.0

DDRA.0=1;    //PORTA.0 sebagai output

PORTA.0=1;    //PORTA.0 meneluarkan sinyal high (1)

Baris program di atas menunjukkan inisialisasi untuk sebuah pin, yaitu PORTA.0, sebagai output dan mengeluarkan sinyal high.

Inti dari program LED1.c terdapat pada baris program

while (1) {

PORTA.0=0;    //PORTA.0 mengeluarkan sinyal 0, LED nyala

delay_ms(1000);    //tunda 1 detik

PORTA.0=1;    //PORTA.0 mengeluarkan sinyal 1, LED padam

delay_ms(1000);    //tunda 1 detik

};

yang menunjukkan PORTA.0 sebagai output diberikan nilai 1 dan 0 secara bergantian dengan jeda waktu tertentu. Pernyataan delay_ms (1000) digunakan untuk memberikan waktu tunda selama 1000 milidetik (1 detik). Jika diperlukan waktu tunda yang lebih singkat, dapat digunakan pernyataan delay_us(). Misal pernyataan delay_us (5000) akan memberikan waktu tunda selama 5000 mikrodetik (5 milidetik).

 

  • Ingat 1 detik = 1000 milidetik = 1000000 mikrodetik

 

Pada dasarnya prinsip kerja output mikrokontroler adalah mirip saklar yang mempunyai dua kondisi, yaitu :

  • menghubungkan rangkaian dengan Vcc jika diberi logika 1
  • menghubungkan rangkaian dengan GND jika diberi logika 0.

 


Gambar 14    Logika 0 dan 1 pada output mikrokontroler

Gambar 14 (a) menunjukkan saat PA.0 diberi logika 1, maka rangkaian terhubung dengan Vcc, akibatnya tidak ada beda tegangan pada rangkaian (sama-sama Vcc) sehingga tidak ada arus mengalir dan LED akan padam. Gambar 14 (b) menunjukkan saat PA.0 diberi logika 0, maka rangkaian terhubung dengan GND sehingga terjadi beda tegangan pada rangkaian. Karena anode LED terhubung dengan Vcc dan katode LED terhubung dengan GND, maka arus akan mengalir pada LED dan LED akan menyala. Rangkaian pada Gambar 14 disebut sebagai rangkaian active low, yaitu

  • pada saat diberi logika 0 (rendah) rangkaian akan aktif
  • pada saat diberi logika 1 (tinggi) rangkaian tidak aktif

Pernyataan while (1) menunjukkan bahwa program akan berulang secara terus menerus hingga catu daya diputus.

 

Tutorial Mengganti File Source Untuk Project yang Sama
  • Bukalah file source baru dengan mengklik File – New kemudian pilihlah tipe file Source dan klik OK


  • Mulailah mengetik program berikut ini pada jendela untitled.c

//File : LED2.c

//deklarasi file header

#include <mega8535.h>

#include <delay.h>

void main(void) {

//inisialisasi PORTA.0

DDRA=0b11111111;        //semua pin pada PORTA sebagai output

PORTA=0b11111111;        //semua pin pada PORTA mengeluarkan sinyal high (1)

while (1) {

PORTA=0b11110000;        //PORTA mengeluarkan sinyal 11110000

delay_ms(1000);        //tunda 1 detik

PORTA=0b00001111;        //PORTA mengeluarkan sinyal 00001111

delay_ms(1000);        //tunda 1 detik

};

}

 

  • Simpanlah dan beri nama file source yang telah dibuat dengan mengklik File – Save As dengan nama LED2.c
  • Klik Project – Configure, kemudian klik tab Files. Pilih file source yang akan diganti, yaitu file LED1.c kemudian klik Remove. Untuk mengganti file source dengan yang baru klik Add dan pilih file source yang baru, yaitu file LED2.c. Klik OK.


  • Lakukan langkah pemrograman mikrokontroler selanjutnya seperti pada langkah 8 hingga 13 pada Tutorial Membuat Program Tanpa Menggunakan Wizzard
  • Perhatikan apa yang terjadi pada simulasi.

 

Prinsip Kerja File LED2.c

Penentuan fungsi dan pemberian sinyal masing-masing pin dapat dilakukan satu per satu pin ataupun secara sekaligus 1 port (yang terdiri dari 8 pin).

//inisialisasi PORTA.0

DDRA=0b11111111;        //semua pin pada PORTA sebagai output

PORTA=0b11111111;        //semua pin pada PORTA mengeluarkan sinyal high (1)

Pernyataan ini menunjukkan semua pin pada PORTA difungsikan sebagai output dengan kondisi awal mengeluarkan sinyal high, sehingga semua LED padam.

 

while (1) {

PORTA=0b11110000;        //PORTA mengeluarkan sinyal 11110000

delay_ms(1000);        //tunda 1 detik

PORTA=0b00001111;        //PORTA mengeluarkan sinyal 00001111

delay_ms(1000);        //tunda 1 detik

};

}

Pernyataan ini menunjukkan bahwa PORTA diberi sinyal bergantian dengan jeda waktu 1 detik dengan konfigurasi seperti terdapat pada tabel

Tabel 12    Keadaan masing-masing pin dan bilangan biner ekivalennya

PA.7

PA.6

PA.5

PA.4

PA.3

PA.2

PA.1

PA.0

Biner

Heksa
desimal

Desimal

padam

padam

padam

padam

nyala

nyala

nyala

nyala

0b11110000

0xF0

240

nyala

nyala

nyala

nyala

padam

padam

padam

Padam

0b00001111

0x0F

15

 

Untuk memberikan sinyal secara sekaligus dapat dipilih salah satu di antara tiga sistem bilangan, yaitu biner, heksadesimal atau desimal, sehingga bilangan setiap bilangan biner dalam file LED2.c dapat pula dituliskan dalam bilangan heksadesimal

//File : LED2.c modifikasi menggunakan bilangan heksadesimal

//deklarasi file header

#include <mega8535.h>

#include <delay.h>

void main(void) {

//inisialisasi PORTA.0

DDRA=0xFF;            //=0b11111111

PORTA=0xFF;            //=0b11111111

while (1) {

PORTA=0xF0;        // = 0b11110000

delay_ms(1000);        //tunda 1 detik

PORTA=0x0F;        // = 0b00001111

delay_ms(1000);        //tunda 1 detik

};

}

Ataupun dalam bilangan desimal

//File : LED2.c modifikasi menggunakan bilangan desimal

//deklarasi file header

#include <mega8535.h>

#include <delay.h>

void main(void) {

//inisialisasi PORTA.0

DDRA=255;            //=0b11111111

PORTA=255;            //=0b11111111

while (1) {

PORTA=240;        // = 0b11110000

delay_ms(1000);        //tunda 1 detik

PORTA=15;            // = 0b00001111

delay_ms(1000);        //tunda 1 detik

};

}

 

 

  • Ingat anda dapat memanfaatkan program Calculator yang terdapat pada folder Accessories pada sistem operasi Windows untuk mengkonversi sistem bilangan.

Pemrograman File LED3.c

Buatlah file source baru dengan nama file LED3.c untuk mengganti file source sebelumnya, yaitu file LED2.c dengan program sebagai berikut.

//file : LED3.c

#include <mega8535.h>

#include <delay.h>

char i;

char data[4]={0x3F,0xCF,0xF3,0xFC}; // Tabel data konfigurasi LED

void main(void){

DDRA=0xFF;

PORTA=0xFF;

while(1){

    for(i=0;i<4;i++){        // i dimulai dari 0 dan akan selalu bertambah 1

                //sampai i < 4, dan i akan kembali lagi ke 0

        PORTA=(data[i]);     //nilai PORTA sama dengan nilai data ke-i pada tabel

         delay_ms(1000);         //tunda 1 detik

         }

    };

}

Prinsip Kerja File LED3.c

Program LED3 diawali dengan deklarasi variabel i sebagai char, yaitu data 8 bit.

char i;

Setiap variabel yang terdapat di program haruslah dideklarasikan terlebih dahulu menjadi salah satu tipe data.

char tabel[4]={0x3F,0xCF,0xF3,0xFC}; // Tabel data konfigurasi LED

Pernyataan ini adalah deklarasi variabel tabel yang berbentuk larik/array 1 dimensi. Larik secara sederhana dapat dianggap sebagai tabel, sehingga variabel data mempunyai empat nilai untuk masing-masing indeks, masing-masing data[0]=0x3F, data[1]=0xCF, data[2]=0xF3, dan data[3]=0xFC.

Pada program LED3.c terdapat dua kalang, yaitu kalang when dan kalang for.

for(i=0;i<4;i++)

pernyataan ini adalah merujuk pada penggunaan kalang for untuk nilai awal i adalah 0, nilai akhir adalah i kurang dari empat, dan nilai i akan bertambah 1 pada setiap kalangnya. Sehingga pernyataan tersebut akan melakukan empat kali perulangan dan pada setiap perulangan nilai data ke i akan dikirim ke PORTA. . Jika program dijalankan akan menghasilkan 4 konfigurasi nyala LED secara bergantian dan dilakukan secara terus menerus.

Comments Off

Next »