Karnamikrokontroler memiliki beragam variasi pilihan. Maka untuk memprogram sebuah mikrokontrolerpun memiliki beragam variasi pilihan bahasa pemrograman. Beberapa jenis mikrokontroler dapat diprogram menggunakan bahasa pemrograman yang berbeda. Beberapa bahasa pemrograman yang biasa digunakan adalah Assambler, Basic, C, C++, Pascal, dan lain-lain.
ProgramPLC dapat dibuat dengan menggunakan beberapa cara yang disebut bahasa pemrograman. Bentuk program berbeda-beda sesuai dengan Bahasa pemrograman yang digunakan. Bahasa pemrograman tersebut antara lain ladder diagram / diagram tangga, kode mnemonik, diagram blok fungsi, dan teks terstruktur.
Penggunadapat menyesuaikan papan dengan kebutuhan mereka serta memperbarui dan mendistribusikan versi mereka sendiri. Papan Arduino pra-rakitan mencakup mikrokontroler yang diprogram menggunakan bahasa pemrograman Arduino dan lingkungan pengembangan Arduino. Platform ini menyediakan cara untuk membangun dan memprogram komponen elektronik.
Bahasapemrograman itu sendiri digolongkan menjadi beberapa bagian, antara lain machine language atau bahasa mesin, assembly language, dan high-level language atau bahasa tingkat tinggi. Machine Language. Bahasa mesin adalah bahasa yang dapat dipahami oleh komputer secara langsung, direpresentasikan dalam bentuk kode biner atau 0 dan 1.
MemilihMikrokontroler untuk Sistem IoT kita. Terdapat banyak jenis development board dan mikrokontroler tersedia dari berbagai perusahaan seperti: TI, Samsung, Arduino, Raspberry Pi dan lainnya. Memilih yang mana yang cocok dengan kita bergantung pada beberapa faktor yang juga sangat beragam, tergantung dari sifat aplikasi yang akan kita
elektronik sensor, dan bahasa pemrograman secukupnya dengan harapan Anda bisa segera praktek tanpa memikirkan konsep elektronika yang relatif rumit sebut ÎĽC, uC, atau MCU. Terjemahan bebas dari pengertian tersebut, bisa dikatakan bahwa mikrokontroller adalah komputer yang berukuran mikro dalam satu chip IC (integrated circuit) yang
Berikutini tabel perbandingan kecepatan processor dan efisiensi eksekusi beberapa mikrokontroller: Dari tabel diatas dapat dilihat, ketika bekerja dengan kecepatan clock yang sama AVR 7 kali lebih cepat dibandingkan dengan PIC16C74, 15 kali lebih cepat daripada 68 HC11, dan 28 kali lebih cepat dibanding 8051.
Hardware Mikrokontroler adalah suatu chip berupa IC (Integrated Circuit) yang dapat. menerima sinyal input, mengolahnya dan memberikan sinyal output sesuai. dengan program yang diisikan ke
Pengembanganaplikasi menggunakan board ini dapat dilakukan oleh LPCXpresso, IDE dari NXP yang berbasis Eclipse. Bahasa pemrograman yang digunakan sendiri merupakan C/C++. LPC1769 sekarang sudah tidak diproduksi lagi, namun penerusnya yaitu LPCXpresso1769/CD, dengan berbagai peningkatan, dapat dibeli dengan harga EUR 20,00 pada Embedded Artists.
bahasapemrograman berikut yang tidak dapat menghasilkan file EXECUTABLE adalah a. PASCAL b. VISUAL BASIC c. BASIC d. DELPHI
Jikadisuplai dengan yang lebih kecil dari 7 V, kiranya pin 5 Volt mungkin mensuplai kecil dari 5 Volt dan board Arduino UNO bisa menjadi tidak stabil. Jika menggunakan suplai yang lebih dari besar 12 Volt, voltage regulator bisa kelebihan panas dan membahayakan board Arduino UNO. Range yang direkomendasikan adalah 7 sampai 12 Volt.
Instruksiinstruksi bahasa pemrograman yang ada pada bahasa C tidak semuanya digunakan dalam pemrograman mikrokontroler. Struktur dan urutan penulisan program hampir sama untuk keduanya. Struktur bahasa C memiliki kepala program, dan tubuh program, sedangkan tubuh program bisa terdiri dari induk program dan anak program.
Bahasapemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar untuk memerintah komputer.Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer.Bahasa ini memungkinkan seorang Programmer dapat menentukan secara persis data mana yang akan diolah oleh
Bahasayang digunakan untuk memprogram Mikrokontroller adalah bahasa - 39496444 rachelbright191 rachelbright191 12.03.2021 TI Bahasa Assembly adalah bahasa pemrograman tingkat menengah, dimana program yang dibuat lebih mendekati bahasa mesin, sehingga pemenfaatan memori dapat dilakukan secara optimal, namun di sisi lain pemrogramannya
itulah20 Macam Bahasa Pemrograman pada komputer. sebenarnya masih banyak lagi bahasa pemrograman yang lainnya, Seperti Assembly, Batch, dBasse, Fortran, dan yang lainnya. Tapi saya hanya menjelaskan yang sekarang umum dipakai oleh programmer saja. Tertarik untuk mempelajari salah satu bahasa pemrograman? Semoga Bermanfaat ya
KUy34l. Kamu tentu akan mengenal macam-macam bahasa pemrograman ketika membangun sebuah website atau aplikasi. Bagi seorang pemula, Sob mungkin bingung dalam memilih mana yang tepat untuk digunakan. Namun, sebelum lebih jauh membahas setiap jenisnya, tahukah kamu apa itu bahasa pemrograman?Nah, kali ini Jagoan Hosting akan memberikan penjelasan lengkap mengenai pengertian, jenis, hingga berbagai contoh bahasa pemrograman. Yuk simak artikelnya!Bahasa pemrograman adalah bahasa yang digunakan untuk membuat fungsi PC atau smartphone bekerja dengan baik. Tidak hanya itu, bahasa pemrograman adalah bahasa yang juga digunakan untuk menjalankan peralatan elektronik lainnya seperti, AC hingga pembuatan seorang programmer, tentunya sebutan bahasa pemrograman adalah istilah yang sudah tidak asing lagi. Bahasa pemrograman adalah bahasa yang digunakan programmer untuk berkomunikasi dengan komputer. Sama seperti halnya manusia yang membutuhkan bahasa tertentu dalam berkomunikasi dan berinteraksi, programmer pun juga memiliki bahasa pemrogramannya sendiri untuk menjalankan fungsi komputer. Dari analogi tersebut dapat disimpulkan bahwa sederhananya, bahasa pemrograman adalah kumpulan perintah dan instruksi milik komputer bila ada manusia yang melakukan interaksi dengannya. Selain itu, bahasa pemrograman adalah rangkaian yang memiliki maksud, arti, dan juga simbol pada fungsi dari fungsi-fungsi bahasa dalam pemrograman adalah berjalannya suatu situs website, menulis perintah untuk PC komputer, mengembangkan games, hingga membuat berbagai aplikasi yang kini sering kita gunakan untuk memudahkan pekerjaan Bahasa PemrogramanDari penjelasan mengenai bahasa dalam pemrograman di atas, kamu juga perlu mengetahui jenis bahasa pemrograman atau tingkatannya. Hal ini karena bahasa pemrograman adalah istilah yang tidak langsung ada begitu saja, bahasa tersebut diciptakan dan dikembangan sesuai dengan perkembangan ini adalah tingkatan bahasa pemrograman yang sudah di rangkum oleh Jagoan Hosting1. Tingkat Rendah low level languageJenis bahasa pemrograman pada tingkat paling rendah adalah bahasa mesin. Bahasa ini lah yang di gunakan pertama kali untuk membuat sistem merupakan Bahasa tingkat rendah memiliki angka biner yaitu, angka 0 dan angka 1. Bahasa ini juga disebut dengan bahasa komputer asli karena memiliki bahasa mesin paling Tingkat Tinggi high level languageBahasa tingkat ini biasanya menggunakan bahasa yang sering di gunakan manusia, dan juga menggunakan bahasa instruksi dengan Bahasa Inggris seperti, print, if, atau yang menggunakan Bahasa Inggris ini biasanya justru membuat programmer mudah untuk menemukan kesalahan saat melakukan programming seperti, error, bug, dan bahasa pemrograman tingkat tinggi yaitu HTML, SQL, CSS, Phyton, Java, C++, C+, JavaScript, Visual Basic, Delphi, dan Turbo juga Kenali PWA Progressive Web App agar Website Lebih CepatContoh Bahasa PemrogramanPhoto by olia danilevich from PexelsAda macam-macam bahasa pemrograman yang wajib di pelajari oleh programmer maupun web developer. Nah, contoh bahasa pemrograman adalah sebagai berikut1. PythonPython termasuk ke dalam bahasa di level tinggi dari macam-macam bahasa pemrograman lainnya. Hal ini karena kamu bisa mengembangkan dan membuat aplikasi dengan berbagai fungsi menggunakan Python. Python juga bisa di pelajari dengan mudah bagi pemula atau siapapun yang mengembangkan JavaBahasa pemrograman Java merupakan bahasa dalam pemrograman yang memiliki karakter lebih versatile. Java ini mendukung semua perangkat, dari mulai PC hingga smartphone. Selain itu, Java juga mudah di pelajari oleh pengguna baru, sudah banyak contoh-contoh aplikasi di smartphone yang menggunakan bahasa JavaScriptAwalnya, Javascript merupakan bahasa yang di kembangkan khusus untuk website. Hal ini karena Javascript mulai di kembangkan di tahun 1994 saat internet dan website sedang berkembang. Sehingga, Javascript sekarang menjadi bahasa dalam pemrograman yang mampu membuat website menjadi menarik dan CC adalah bahasa dalam pemrograman yang menggabungkan prinsip C dan C++ dan di kembangkan oleh Microsoft. Bahasa ini banyak di gunakan untuk video game dan juga platform Windows yang berjalan pada platform .NET. Kelebihan C adalah fleksibel, powerful, dan mudah di gunakan oleh PHPYang paling terkenal dari berbagai contoh bahasa pemrograman adalah PHP. PHP juga menjadi salah satu bahasa yang sering di gunakan pada website. Contohnya, PHP di gunakan pada Content Management System CMS seperti, WordPress dan Joomla. PHP ini juga di gunakan oleh social media terkenal seperti Facebook. Baca Juga Pengertian PHP, Fungsi, Syntax dan Contoh Penulisan6. CC juga sering di sebut dengan bapak bahasa dari bahasa pemrograman komputer lainnya. Bahasa C ini memiliki kelebihan salah satunya adalah struktur data yang terstruktur, sehingga mudah di kembangkan oleh pengguna. Namun, C juga memiliki kekurangan di mana tidak jarang terjadi kebingungan karena banyaknya fleksibilitas penulisan dan RR adalah bahasa yang berbasis interpreter, jadi eksekusi atau pengaplikasian fungsinya di tulis dengan bahasa R terutama aplikasi/fungsi yang membutuhkan program code yang panjang dan membutuhkan waktu yang relatif Objective-CObjective-C ini adalah bahasa pemrograman yang di gunakan oleh Apple untuk mengembangkan sistem operasi OS X dan iOS serta di gunakan untuk mengembangkan API Apple. Namun, tidak hanya Apple yang menggunakannya. Android juga menggunakan bahasa ini untuk mengembangkan sistem SwiftSama seperti Objective-C, Swift juga di gunakan sebagai bahasa pengembang Mac, iOS dan menjadi platform utama Apple. Swift ini memang di rancang sebagai hubungan macam-macam bahasa lainnya yaitu, Objective-C. Kelebihan dari Swift adalah memiliki manajemen memori yang bagus dan menjamin programmer tidak akan khawatir tentang manajemen MatlabBahasa pemrograman Matlab adalah bahasa pemrograman yang di gunakan untuk menganalisa komputasi numerik. Matlab sering di gunakan dalam mengembangkan website, dan kebanyakan bahasa komputer Matlab menggunakan bahasa di bidang Matematika dan TypeScriptBahasa pemrograman Typescript memiliki karakter tambahan fitur strong-typing dan konsep pemrograman OOP klasik class, interface. Typescript juga di sebut sebagai super set dari JavaScript. Hal ini karena Typescript di bangun berdasarkan bahasa VBAVBA di gunakan oleh Microsoft Office untuk mendesain dan membangun program visual basic. Kelebihan dari VBA adalah memiliki kemampuan handling yang baik, berorientasi objek, dan mengusung konsep single inheritance. Siapapun bisa menggunakannya dalam pengembangan. Bahkan VBA mampu menghapus informasi pada memori yang sudah tidak juga Mengenal Apa Itu Captcha, Jenis, dan Fungsinya pada Website13. RubyRuby merupakan bahasa yang memiliki struktur sintaks sederhana. Banyak developer website menggunakan Ruby, dan membuat Ruby menjadi salah satu bahasa komputer yang populer dan banyak di ScalaScala adalah bahasa pemrograman yang memiliki komputasi data berbasis klaster. Perusahaan seperti, Twitter, Linkedin, dan Netflix menggunakan scala untuk mengembangkan ScriptScript ini di buat berdasarkan ECMAScript yang juga biasanya di gunakan untuk mengembangkan website atau software berbasis Adobe Flash Player. Saat ini Script tengah melakukan pembaruan bahasa, di mana yang paling terakhir adalah Action Script yang juga terkenal di programmer Indonesia dan di gunakan untuk melakukan macam-macam bahasa pemrograman di atas, mana yang paling sesuai dengan target project kamu? Tambahkan di kolom komentar artikel di bawah ini ya, Sob! Buat kamu yang masih bingung setelah membaca macam-macam bahasa pemrograman di atas kamu juga bisa mempelajari lebih lanjut, bagaimana cara belajar pemrograman web dari Jagoan Hosting. Setelah mempelajari bahasa pemrograman, khususnya jika kamu kini sedang mengembangkan website, Jagoan Hosting hadir untuk membantu project kamu dengan produk hosting murah atau VPS murah dengan performa bisa bikin websitemu semakin keren dan profesional. Dengan unlimited hosting kamu bisa mendapatkan hosting murah yang tersedia dari berbagai paket mulai Kamu juga dapat Gratis Domain 1 Tahun serta premium fitur lainnya secara gratis.
Skip to content Sistem minimum mikrokontroler hanya sekumpulan komponen-komponen elektronika yang belum dapat dioperasikan. Agar dapat dioperasikan, haruslah terlebih dahulu dimasukkan program ke dalam IC mikrokontroler. Progam yang akan dimasukkan haruslah sesuai dengan tujuan dari sistem tersebut dibuat. Program tersebut akan disimpan ke dalam mikrokontroler pada bagian penyimpanan memory. Ketika sistem dijalankan, maka baris per baris pada memory akan dibaca dan dijalankan instruksinya oleh keseluruhan sistem. Dengan demikian, barulah sistem tersebut dapat bekerja dengan komputer memahami kehendak si perancang, maka program yang dimasukkan harus dipahami oleh sistem mikrokontroler. Oleh karena itu, diperlukan sebuah bahasa yang dipahami oleh si perancang dan juga mikrokontroler, yang disebut dengan Bahasa Pemrograman, atau sering diistilahkan juga dengan bahasa komputer, adalah teknik komando/instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantikyang dipakai untuk mendefinisikan program ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110. Terkadang, untuk memudahkan penulisan, bahasa biner ini dituliskan dalam bilangan heksadesimal, seperti 2A, F5 dan BC. File yang dihasilkan dari penulisan Bahasa Mesin berekstensi *. Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan Assembly, yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat kode mnemonic, contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb. File yang dihasilkan dari penulisan bahasa ini berekstensi *. Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia lihat contoh Bahasa Tingkat Tinggi di bawah dan instruksi yang bersifat simbolik, contohnya {, }, ?, >, &&, , Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb. Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah. Semua bahasa pemrograman, pada akhirnya, harus diubah ke dalam Bahasa Mesin *.hex. Karena, hanya Bahasa Mesin yang dapat dikirimkan ke dalam IC Mikrokontroler. Jadi, ayo belajar bahasa pemrograman, agar bisa memprogram sistem mikrokontroler. Post navigation
Mikrokontroller yang populer dalam kalangan masyarakat saat ini adalah mikrokontroller jenis Atmel yaitu ATMega dan jenis AVR dengan pengembangannya bernama Arduino. Mikrokontroler ATmega128 merupakan salah satu varian dari mikrokontroler AVR 8-bit. Mikrokontroller AVR adalah jenis mikrokontroller yang tampilannya hanya sebatas IC mikrokontroller tampa tambahan perangkat interfaces. Arduino adalah Papan yang menggunakan jenis mikrokontroler AVR yang telah mengalami perkembangan di bagian penggunaan port dan uploading program bootloader. Bahasa pemprograman terdiri dari tiga level yaitu bahasa mesin, as- sembly, dan bahasa tingkat tinggi. Bahasa pemrograman C adalah bahasa level tinggi yang populer digunakan di kalangan umum dan memilik source code yang open source. Dalam penggunaan bahasa C hal perlu diperhatikan ada beberapa hal yaitu, sintak, penulisan source code, tipe data, operator operatot kondisi. Figures - uploaded by I Gede Suputra WidharmaAuthor contentAll figure content in this area was uploaded by I Gede Suputra WidharmaContent may be subject to copyright. Discover the world's research25+ million members160+ million publication billion citationsJoin for free Buku Teks Mikrokontroler Oleh I Gede Suputra Widharma And The A Team POLITEKNIK NEGERI BALI 2021 CHAPTER TWO Hardware dan Software Pernahkah mendengar istilah hardware atau perangkat keras dan software atau perangkat lunak? Tentu sudah tidak asing lagi mendengar istilah tersebut. Terlebih, apabila pekerjaan yang dilakukan erat hubungannya dengan komputer. Tentu sudah lebih paham mengenai hardware dan software tersebut. Saat ini sendiri sudah ada banyak jenis perangkat keras dan lunak yang bisa dijadikan pilihan. Bisa menggunakan berbagai jenis perangkat tersebut untuk berbagai keperluan. Hardware dalam membangun system control otomatis, pemrosesan data, robotika, dan lainnya. Sofware dalam melakukan editing video, membuat desain, bermain game, dan masih banyak lagi yang lainnya. Para developer sendiri juga selalu melakukan pengembangan secara berkala agar semakin banyak fitur yang memudahkan para penggunanya dalam menggunakan hardware dan software itu sendiri. Gambar 11. Hardware dan Software Hardware Mikrokontroler adalah suatu chip berupa IC Integrated Circuit yang dapat menerima sinyal input, mengolahnya dan memberikan sinyal output sesuai dengan program yang diisikan ke dalamnya. Sinyal input mikrokontroler berasal dari sensor yang merupakan informasi dari lingkungan sedangkan sinyal output ditujukan kepada aktuator yang dapat memberikan efek ke lingkungan. Jadi secara sederhana mikrokontroler dapat diibaratkan sebagai otak dari suatu perangkat/produk yang mempu berinteraksi dengan lingkungan sekitarnya. Mikrokontroler pada dasarnya adalah komputer dalam satu chip, yang di dalamnya terdapat mikroprosesor, memori, jalur Input/Output I/O dan perangkat pelengkap lainnya. Kecepatan pengolahan data pada mikrokontroler lebih rendah jika dibandingkan dengan PC. Pada PC kecepatan mikroprosesor yang digunakan saat ini telah mencapai orde GHz, sedangkan kecepatan operasi mikrokontroler pada umumnya berkisar antara 1 – 16 MHz. Begitu juga kapasitas RAM dan ROM pada PC yang bisa mencapai orde Gbyte, dibandingkan dengan mikrokontroler yang hanya berkisar pada orde byte/Kbyte. Meskipun kecepatan pengolahan data dan kapasitas memori pada mikrokontroler jauh lebih kecil jika dibandingkan dengan komputer personal, namun kemampuan mikrokontroler sudah cukup untuk dapat digunakan pada banyak aplikasi terutama karena ukurannya yang kompak. Mikrokontroler sering digunakan pada sistem yang tidak terlalu kompleks dan tidak memerlukan kemampuan komputasi yang tinggi. Sistem yang menggunakan mikrokontroler sering disebut sebagai embedded system atau dedicated system. Embeded system adalah sistem pengendali yang tertanam pada suatu produk, sedangkan dedicated system adalah sistem pengendali yang dimaksudkan hanya untuk suatu fungsi tertentu. Sebagai contoh, printer adalah suatu embedded system karena di dalamnya terdapat mikrokontroler sebagai pengendali dan juga dedicated system karena fungsi pengendali tersebut berfungsi hanya untuk menerima data dan mencetaknya. Hal ini berbeda dengan suatu PC yang dapat digunakan untuk berbagai macam keperluan, sehingga mikroprosesor pada PC sering disebut sebagai general purpose microprocessor mikroprosesor serba guna. Pada PC berbagai macam software yang disimpan pada media penyimpanan dapat dijalankan, tidak seperti mikrokontroler hanya terdapat satu software aplikasi. Penggunaan mikrokontroler antara lain terdapat pada bidang-bidang berikut ini. 1. Otomotif Engine Control Unit, Air Bag, fuel control, Antilock Braking System, sistem pengaman alarm, transmisi automatik, hiburan, pengkondisi udara, speedometer dan odometer, navigasi, suspensi aktif. 2. perlengkapan rumah tangga dan perkantoran sistem pengaman alarm, remote control, mesin cuci, microwave, pengkondisi udara, timbangan digital, mesin foto kopi, printer, mouse. 3. pengendali peralatan di industri. 4. robotika. Saat ini mikrokontroler 8 bit masih menjadi jenis mikrokontroler yang paling populer dan paling banyak digunakan. Maksud dari mikrokontroler 8 bit adalah data yang dapat diproses dalam satu waktu adalah 8 bit, jika data yang diproses lebih besar dari 8 bit maka akan dibagi menjadi beberapa bagian data yang masing-masing terdiri dari 8 bit. Masing-masing mikrokontroler mempunyai cara dan bahasa pemrograman yang berbeda, sehingga program untuk suatu jenis mikrokontroler tidak dapat dijalankan pada jenis mikrokontroler lain. Gambar 12. Modul Mikrokontroler Untuk memilih jenis mikrokontroler yang cocok dengan aplikasi yang dibuat terdapat tiga kriteria yaitu 1. Dapat memenuhi kebutuhan secara efektif & efisien. Hal ini menyangkut kecepatan, kemasan/packaging, konsumsi daya, jumlah RAM dan ROM, jumlah I/O dan timer, harga per unit. 2. Bahasa pemrograman yang tersedia. 3. Kemudahan dalam mendapatkannya. Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem komputer. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu komputer pribadi dan komputer mainframe, mikrokontroler dibangun dari elemen-elemen dasar yang sama. Secara sederhana, komputer akan menghasilkan output spesifik berdasarkan inputan yang diterima dan program yang dikerjakan. 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 jalinan yang panjang dari aksi-aksi sederhana untuk melakukan tugas yang lebih kompleks yang diinginkan oleh programmer. 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. 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. Pada mikrokontroler tersedia fasilitas tambahan untuk pengembangan memori dan I/O yang disesuaikan dengan kebutuhan sistem. Harga untuk memperoleh alat ini lebih murah dan mudah didapat. Mikrokontroler ATMEGA128 Mikrokontroler ATmega128 merupakan salah satu varian dari mikrokontroler AVR 8-bit. Beberapa fitur yang dimiliki adalah memiliki beberapa memory yang bersifat non-volatile, yaitu 128Kbytes of In-System Self-Programmable Flash program memory 128Kbytes memory flash untuk pemrograman, 4Kbytes memori EEPROM, 4Kbytes memori Internal SRAM, write/erase cycles Flash/ EEPROM program dalam mikrokontroler dapat diisi dan dihapus berulang kali sampai kali untuk flash memori atau kali untuk penyimpanan program/data di EEPROM. Gambar 13. ATMEGA 128 Selain memory, fitur yang dimiliki oleh mikrokontroler atmega128 ini adalah pada perangkat peripheral interfacenya, yaitu memiliki 2 buah 8-bit Timer/Counter, 2 buah expand 16-bit Timer/Counter, RTC Real Time Counter dengan oscillator yang terpisah, 2 buah 8-bit chanel PWM, 6 PWM channel dengan resolusi pemrograman dari 2 sampai 16 bits, output compare modulator, 8-chanel 10-bit ADC, 2 buah TWI Two Wire Interface, 2 buah serial USARTs, Master/Slave SPI serial interface, Programmable Watchdog Timer dengan On-chip Oscillator, On-chip analog comparator, dan memiliki 53 programmable I/O. Gambar 14 Mikrokontroler ATmega128 Sistem minimum merupakan suatu rangkaian minimalis yang dirancang / dibuat agar suatu mikrokontroler dapat berfungsi dan bekerja dengan semestinya. Sama seperti mikrokontroler atmega8535, atmega128 juga membutuhkan sistem minimum, Namun sistem minimum pada Mikrokontroler ATmega128 memiliki beberapa perbedaan dibandingkan dengan sistem minimum mikrokontroler keluarga AVR yang lain. Perbedaan terletak pada konfigurasi pin pada ISP In System Programming. Jika pada kebanyakan mikrokontroler jenis AVR konfigurasi pin 11 untuk ISP-nya adalah mosi-mosi, miso-miso, sck-sck, reset-reset, dan power supply, maka pada Mikrokontroler ATmega128 adalah mosi-RX0, miso-TX0, SCK-SCK, dan power supply. Berikut adalah contoh rangkaian sistem minimum Mikrokontroler ATmega128 Gambar 15. Sistem Minimum ATmega128 Desain sistem minimum tersebut merupakan rangkaian minimum yang terdiri dari beberapa led indikator dan 2 port I/O expansion, selain itu juga dilengkapi dengan rangkaian referensi clock, rangkaian reset, dan port pemrograman ISP. Pada rangkaian sistem minimum ini juga harus diperhatikan bahwa pin PEN harus pada kondisi pull up pin PEN dihubungkan dengan catuan/vcc yang diberi tahanan. 12 Selain itu juga perlu diperhatikan bahwa untuk konfigurasi programing mikrokontroler atmega 128 ini menggunakan ISP, pin MOSI downloader terhubung dengan pin RX0 mikrokontroler, sedangkan pin MOSI downloader terhubung dengan pin TX0 mikrokontroler, sedangkan pin SCK dan pin Reset downlaoder masing masing terhubung dengan pin SCK dan pin Reset mikrokontroler. Port-port I/O dan peripheral interface pada Mikrokontroler ATmega128 yang telah terhubung dengan sistem minimum dapat langsung dihubungkan ke perangkat-perangkat atau komponen lainnya untuk diintegrasikan menjadi suatu sistem / rangkaian elektronika yang lebih kompleks. Gambar 16 Data sheet ATMEGA 128 Mikrokontroler AVRMikrokontroler AVR Alf and Vegards Risc processor dari Atmel ini menggunakan arsitektur RISC Reduced Instruction Set Computer yang artinya prosesor tersebut memiliki set instruksi program yang lebih sedikit dibandingkan dengan MCS-51 yang menerapkan arsitektur CISC Complex Instruction Set Computer .Gambar 17. Mikrokontroller AVRHampir semua instruksi prosesor RISC adalah instruksi dasar belum tentu sederhana, sehingga instruksi-instruksi ini umumnya hanya memer- lukan 1 siklus mesin untuk menjalankannya. Kecuali instruksi percabangan yang membutuhkan 2 siklus mesin. RISC biasanya dibuat dengan arsitektur Harvard, karena arsitektur ini yang memungkinkan untuk membuat ekseku- si instruksi selesai dikerjakan dalam satu atau dua siklus mesin, sehingga akan semakin cepat dan handal. Proses downloading programnya relatif lebih mudah karena dapat dilakukan langsung pada sistemnya. Sekarang ini, AVR dapat dikelompokkan menjadi 6 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATmega, keluarga AT90CAN, keluarga AT90PWM dan AT86RFxx. Pada dasarnya yang membedakan masing- masing kelas adalah memori, peripheral, dan fungsinya, sedangkan dari segi arsitektur dan instruksi yang digunakan hampir AVR RISCReduced instruction set computing atau Kompu- tasi set instruksi yang disederhanakan pertama kali digagas oleh John Cocke adalah perangkat yang di desain untuk berjalan dengan cepat, dengan meng- gunakan instruksi mesin yang disederhanakan sehingga dapat meningkatkan kinerja dari mikrokontroler. Sebelum ada RISC, namanya CISCComplex Instruction Set Computers. Dengan pengunaan instruksi yang lebih sederhana memberikan konstribusi pada kecepatan dengan instruksi mesin yang terbatas. Mikrokontroler AVR RISC dapat berjalan pada single cycle dari prosesor clock, yang berarti Mikrokontroler AVR dengan clock 8 MHz, da- pat mengeksekusi sekitar 8 juta instruksi perdetiknya atau 8 MIPSmillion instruction per second .Gambar 18. Contoh Perancangan Sistem MemoriBagian memori dari mikrokontrol Atmel RISC AVR berbasis Harvard Mo- del, yang mana memorinya terbagi sehingga dapat meningkatkan kecepatan akses dan meningkatkan kapasitas. CPU membagi antarmuka untuk bagian kode memori FLASH, bagian memori data , dan memori EEPROM. Memori FLASH Memori FLASH merupakan blok dari memori FLASH yang dimulai dari lokasi 0x000 dan ukurannya tergantung dari mikro- kontroler yang digunakan. Memori FLASH merupakan memori non- volatile dan digunakan untuk menyimpan kode eksekusi dan konstanta, karena kode-kode tersebut akan digunakan kembali meskipun mik- rokontroler tidak terhubung ke catu daya, sedangkan non-volatile yaitu kode yang disimpan dalam memori tidak hilang meskipun mikrokontrol tidak dialiri listrik, ruang memori antara 16 bit pada setiap lokasi untuk menangani instruksi mesin yang khususnya single-16 bit Data Memori data Atmel AVR khasnya terdiri dari tiga bagian memori baca/tulis terpisah .bagian terendah terdiri dari 32 register kerja umum, yang diikuti oleh 64 register I/O, yang diikuti oleh inter- nal SRAM. Register kerja umum hanya digunakan untuk menyimpan variabel lokal dan data temporal yang digunakan oleh program saat dieksusi dan dapat juga digunakan untuk penyimpanan data variabel global, 64 register I/O digunakan sebagai antarmuka untuk perangkat I/O dan peripheral yang berada di papan mikrokontroler. dan internal SRAM digunakan sebagai area penyimpanan variable umum dan juga untuk prosessor Register kerja umum menempati 32 sel terndah dalam data memori. register ini kebanyakan digunakan seperti data penyimpanan dalam kalkulator yang mana hanya disimpan sementara. terkadang digunakan untuk menyimpan variable lokal, dan terkadang variable global, dan terkadang sebagai pengarah ke memori yang digu- nakan oleh prosessor. singkatnya prosessor menggunakan 32 register kerja sebagaimana program 19. Register Register I/O Setiap regiter memberikan akses ke register kontrol atau ke register data I/O peripheral yang berada dalam mikrokontroler. Programer lebioh sering menggunakan I/O register untuk mengantar- muka ke peripheral I/O dari mikrokontroler. ukuran Register I/O tergantung dari perangkat. setiap register I/O memiliki nama, sebuah alamat I/O, dan alamat Bagian SRAM dari memori digunakan untuk menyimpan variabel yang tidak dapat disimpan kedalam register dan untuk menyimpan prosessor EEPROM Bagian memori EEPROM adalah area memori ba- ca/tulis yang non volatile. ini biasanya digunakan untuk menyimpan data yang tidak boleh hilang saat catu daya dilepas mikrokontroler dimatikan dan dipasang kembali mikrokontroler dinyalakan. ruang EEPROM dimulai dari 0x000 dan ke nilai maksimum tergantung spe- sifikasi mikrontroler yang BoardArduino merupakan papan rangkaian sistem minimum mikrokontroler yang memang dirancang untuk bisa digunakan dengan mudah oleh para seniman dan desainer yang memang bukan orang teknik. Dengan demiki- an, tanpa mengetahui bahasa pemrograman, Arduino bisa digunakan untuk menghasilkan karya yang 20. Arduino BoardMenggunakan Arduino sangatlah membantu dalam mebuat suatu proto- typing ataupun untuk melakukan pembuatan proyek. Arduino memberikan I/O yang sudah fix dan bisa digunakan dengan mudah. Arduino dapat di- gabungkan dengan modul elektro yang lain sehingga proses perakitan jauh lebih efisien. Para desainer hanya tinggal membuat software untuk men- dayagunakan rancangan H/D yang ada. Software jauh lebih mudah untuk dimodifikasi tanpa memindahkan ini arduino sangat mudah dijumpai dan ada beberapa perusaha- an yang mengembangkan sistem H/D open source ini. Pengembangan- pengembangan tersebut antara lain Arduino I-CubeX Arieh Robot Project Junior Dwengo EmbeddedLab http/ GP3 antara pengembang-pengambang yang ada, Arduino merupakan sa- lah satu pengambang yang banyak digunakan. Pada buku ini, kita akan menggunakan produk pengembang dari Arduino. Keistimewaan arduino adalah hardware yang open source. Hal ini sangatlah memberi keleluasan bagi pengguna untuk bereksperiment secara bebas dan adalah pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform, dirancang untuk memudahkan pengguna- an elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman ini Arduino sangat populer di seluruh dunia. Banyak pemula yang belajar mengenal robotika dan elektronika lewat Arduino karena mudah di- pelajari. Tapi tidak hanya pemula, para hobbyist atau profesional pun ikut senang mengembangkan aplikasi elektronik menggunakan Arduino. Baha- sa yang dipakai dalam Arduino bukan assembler yang relatif sulit, tetapi bahasa C yang disederhanakan dengan bantuan pustaka-pustaka libraries Arduino. Microcontroller yang banyak jenisnya, Arduino la hir dan berkembang, kemudian muncul dengan berbagai jenis. Diantaranya adalah Uno Jenis yang ini adalah yang paling banyak digunakan. Terutama untuk pemula sangat disarankan untuk menggunakan Arduino Uno. Dan banyak sekali referensi yang membahas Arduino yang terakhir adalah Arduino Uno R3 Revisi 3, menggunakan ATMEGA328 sebagai Microcontrollernya, memiliki 14 pin I/O digital dan 6 pin input analog. Untuk pemograman cukup menggunakan ko- neksi USB type A to To type B. Sama seperti yang digunakan pada USB Due Berbeda dengan saudaranya, Arduino Due tidak meng- gunakan ATMEGA, melainkan dengan chip yang lebih tinggi ARM Cortex CPU. Memiliki 54 I/O pin digital dan 12 pin input analog. Untuk pemogramannya menggunakan Micro USB, terdapat pada beberapa Mega Mirip dengan Arduino Uno, sama-sama menggunakan USB type A to B untuk pemogramannya. Tetapi Ardu- ino Mega, menggunakan Chip yang lebih tinggi ATMEGA2560. Dan tentu saja untuk Pin I/O Digital dan pin input Analognya lebih banyak dari Uno. Leonardo Bisa dibilang Leonardo adalah saudara kembar da- ri Uno. Dari mulai jumlah pin I/O digital dan pin input Analognya sama. Hanya pada Leonardo menggunakan Micro USB untuk pemo- Fio Bentuknya lebih unik, terutama untuk socketnya. Walau jumlah pin I/O digital dan input analognya sama dengan uno dan leonardo, tapi Fio memiliki Socket XBee. XBee membuat Fio dapat dipakai untuk keperluan projek yang berhubungan dengan Lilypad Bentuknya yang melingkar membuat Lilypad dapat dipakai untuk membuat projek unik. Seperti membuat amor iron man misalkan. Hanya versi lamanya menggunakan ATMEGA168, tapi ma- sih cukup untuk membuat satu projek keren. Dengan 14 pin I/O digital, dan 6 pin input Nano Sepertinya namanya, Nano yang berukulan kecil dan sangat sederhana ini, menyimpan banyak fasilitas. Sudah dilengkapi dengan FTDI untuk pemograman lewat Micro USB. 14 Pin I/O Digi- tal, dan 8 Pin input Analog lebih banyak dari Uno. Dan ada yang menggunakan ATMEGA168, atau Mini Fasilitasnya sama dengan yang dimiliki Nano. Hanya tidak dilengkapi dengan Micro USB untuk pemograman. Dan ukuran- nya hanya 30 mm x 18 mm Micro Ukurannya lebih panjang dari Nano dan Mini. Karena memang fasilitasnya lebih banyak yaitu; memiliki 20 pin I/O digital dan 12 pin input Ethernet Ini arduino yang sudah dilengkapi dengan fasilitas ethernet. Membuat Arduino kamu dapat berhubungan melalui jaring- an LAN pada komputer. Untuk fasilitas pada Pin I/O Digital dan Input Analognya sama dengan Esplora Rekomendasi bagi kamu yang mau membuat gadget sepeti Smartphone, karena sudah dilengkapi dengan Joystick, button, dan sebagainya. Kamu hanya perlu tambahkan LCD, untuk lebih mempercantik Robot Ini adalah paket komplit dari Arduino yang sudah ber- bentuk robot. Sudah dilengkapi dengan LCD, Speaker, Roda, Sensor Infrared, dan semua yang kamu butuhkan untuk robot sudah ada pada Arduino pada buku ini menggunakan arduino jenis Arduino UNO. Arduino UNO adalah jenis arduino yang paling populer digunakan dika- langan pelajar maupun kalangan umum. Berikut ini adalah perangkat keras arduino dengan fungsi dari masin-masing bagiannya. Gambar 21 Arduino UNOSoftware Algoritma PemrogramanDalam pembuatan sebuah program menurut Suputra 2015 terdapat 7 langkah umum yaitu1. Mendefinisikan masalah, Langkah yang pertama dilakukan adalah men- definisikan permasalahan. langkah ini harus dilakukan untuk menen- tukan masalah yang ada serta ditentukan pula input dan output pro- Mencari solusi, Kemudian ditentukan solusi dari permasalahan yang dihadapi. Bila untuk mendapatkan solusi harus melalui langkah yang terlalu rumit dapat dilakukan pembagian masalah dalam beberapa modul-modul kecil agar mudah untuk dikerjakan. Lalu modul-modul kecil tersebut digabungkan menjadi satu untuk dapat menentukan so- Menentukan algoritma, Dalam pemilihan algoritma, pemrogram atau analis harus menggunakan algoritma yang sesuai dan efisien untuk masalah yang Menulis program, Penulisan program bisa dilakukan dengan menggu- nakan bahasa pemrograman yang dikuasai dan memiliki kompabilitas dengan perangkat keras yang akan menggunakan program Menguji program, Bila program sudah selesai dibuat, pengujian di- perlukan untuk mengetahui apakah program yang dibuat sudah layak untuk Mendokumentasikan program, Penulisan dokumentasi yang biasanya dilupakan oleh pemrogram menjadi sangat penting saat akan dilakuk- an perubahan pada program yang dibuat. penulisan program ini dapat dilakukan dengan menulis komentar pada source code tentang kegu- naannya variabel, parameter, procedur, fungsi.7. Merawat program, Program yang sudah selesai dibuat juga perlu dira- wat dengan pendeteksian bug yang belum diketahui sebelumnya juga penambahan fasilitas baru yang mempermudah pengguna penjelasan diatas, dapat kita peroleh kesimpulan bahwa pembelajar- an algoritma pemrograman adalah bagian dari langkah-langkah pembuatan program. Untuk lebih jelasnya tentang algoritma pemrograman akan diulas sebagai berikut Gambar 22. Algoritma Pemrograman Definisi AlgoritmaAlgoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah. Algoritma adalah urutan langkah- langkah berhingga untuk memecahkan masalah logika atau matematika. Algoritma adalah logika, metode dan tahapan urutan sistematis yang di- gunakan untuk memecahkan suatu permasalahan. Menurut E. Knuth 2011 dalam bukunya yang berjudul The Art of Computer Programming, algoritma harus mempunyai lima ciri penting1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas berhingga2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua ambiguous3. Algoritma memiliki nol atau lebih masukan input4. Algoritma mempunya nol atau lebih keluaran output5. Algoritma harus efektif dan dapat dilaksanakan oleh pemproses, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh pemproses. Kata algoritma dan kata program seringkali dipertukarkan dalam penggu- naannya. Algoritma adalah urutan langkah-langkah penyelesaian masalah sedangkan Program adalah realisasi algoritma dalam bahasa pemrograman. Program ditulis dalam salah satu bahasa pemrograman dan kegiatan mem- buat program disebut pemrograman programming. Orang yang menulis program disebut programmer. Tiap-tiap langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan oleh pemproses. Secara garis besar perangkat yang membutuhkan alogaritma tersusun atas empat komponen utama, yakni masukan berfungsi untuk memasukkan data atau program ke dalam memori. keluaran berfungsi menampilkan hasil dari eksekusi pro gram. pemroses utama berfungsi mengerjakan operasi-operasi dasar. berfungsi untuk menyimpan program dan data atau Eksekusi Program, Mekanisme eksekusi sebuah program adalah. Program disimpan di dalam memori melalui piranti masukan. Ketika sebuah program dieksekusi maka setiap instruksi program akan dikirim dari memori ke unit pemroses utama. Unit pemroses utama kemudian akan menjalank- an operasi sesuai instruksi-instruksi yang dibaca. Apabila sebuah instruksi membutuhkan data masukan, maka piranti masukan akan membaca data masukan, mengirimkan ke memori kemudian mengirimkan ke unit pemroses utama untuk interpreter dan compiler Interpreter1. Menerjemahkan instruksi per Source program tidak harus ditulis Bila terjadi kesalahan instruksi, dapat langsung diperbaiki secara in- Tidak menghasilkan objek program5. Pemrosesan program lebih lambat, karena setiap instruksi yang diker- jakan harus diinterpretasi Source code program terus dipergunakan. Compiler1. Menerjemahkan secara keseluruhan. 2. Source program harus ditulis Bila terjadi kesalahan dalam kompilasi, source program harus dibe- narkan dan proses kompilasi diulang Menghasilkan objek Pemrosesan program lebih cepat, karena program sudah dalam bahasa Source code program dipergunakan satu kali saat kompilasi program. Penulisan AlgoritmaPada umumnya terdapat tiga jenis cara penulisan algoritma, yakni Cara DeskriktifDengan notasi ini, deskripsi setiap langkah dijelaskan dengan bahasa yang jelas. Contohnya Algoritma Bilangan Maksimum Diberikan tiga buah bilangan bulat. Carilah bilangan bulat maksimum di antara ketiga bilangan •baca bilangan 1.•baca bilangan 2.•bandingkan bilangan 1 dan bilangan 2, kita ambil yang lebih besar, jika kedua bilangan tersebut sama besar, dapat kita ambil bilangan 1, dan sebut bilangan tersebut MAX.•baca bilangan 3.•bandingkan MAX dengan bilangan 3, dan pilih yang lebih besar, jika keduanya sama besar, pilih MAX dan sebut bilangan tersebut MAX.•keluarkan sebagai output MAXPseudocodePseudocode adalah notasi yang menyerupai bahasa pemrograman tingkat tinggi. Keuntungan menggunakan notasi pseudocode adalah memberikan kemudahan bagi programmer untuk menerjemahkan ke notasi bahasa pem- rograman, karena terdapat korespondensi antara setiap pseudocode dengan notasi bahasa yang sering digunakan dalam flowchart antara lainGambar 23. Simbol Flowchart dan Kegunaannya Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-rutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain da- lam pengoperasian. Bila seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti•Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.•Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.•Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.•Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja.•Setiap langkah dari aktivitas harus berada pada urutan yang benar•Gunakan simbol-simbol flowchart yang PemprogramanUntuk menjalanakan mikrokontroler dibutuhkan sebuah program atau kode inisialisasi dalam bentuk biner 0 dan 1. Dalam menginisialisai program tersebut dibutuhkan sebuah pengkonversi compiller untuk mempermudah manusia dalam menentukan fungsi mikrokontroller tersebut dalam arti lain mengubah bahasa manusia menjadi bahasa kode mikrokontroller yaitu 0/1. Bahasa yang dimaksud dalam pengkonversi tersebut disebut sebagai code program / pemprograman. Dalam pemprograman suatu mikrokontroler ter- dapat 3 level atau tingkatan berdasarkan tingkat kesukaranya yaitu bahasa mesin, assembly, dan bahasa tingkat MesinBahasa mesin machine language/machine code adalah bahasa yang di- pahami oleh komputer. Kode yang terdapat pada bahasa ini berupa kode bilangan biner yang dapat diproses oleh mikrokontroler sehingga sulit dipa- hami oleh manusia. Bahasa mesin umumnya bersifat spesifik, yaitu tidak lintas jenis mikrokontroler sehingga suatu jenis mikrokontroler memiliki ba- hasa pemrograman yang berbeda dengan jenis mikrokontroler lainnya. File bahasa mesin memiliki ekstensi .hex, karena untuk kepentingan manusia yang memprogram kode biner dikonversikan menjadi kode bilangan heksa- AssemblyBahasa Assembly terdiri dari instruksi berupa representasi mnemonic dari instruksi berupa kode bilangan biner dari bahasa mesin. Umumnya mnemonic berupa singkatan tiga atau empat huruf dari kata yang mewakili suatu instruksi. Contohnya instruksi Assembly adalah sebagai berikut •SUB adalah kode Assembly untuk instruksi substract, yaitu mengu rangkan suatu angka dari angka lain.•CBI adalah kode Assembly untuk instruksi Clear Bit I/O, yaitu mem beri logika nol pada suatu pin I/O pada Bahasa Assembly diterjemahkan menjadi bahasa mesin oleh perangkat lunak Assembler. Seperti juga bahasa mesin bahasa Assembly juga spesifik untuk suatu jenis mikrokontroler Tingkat TinggiBahasa pemrograman tingkat tinggi high level programming language memiliki sintaks yang lebih mendekati bahasa manusia. Hal ini menyebabk- an bahasa tingkat tinggi lebih mudah untuk dipelajari. Meski demikian bahasa tingkat tinggi umumnya menghasilkan ukuran kode yang lebih besar dibandingkan bahasa Assembly. Bahasa tingkat tinggi memerlukan perang- kat lunak kompiler compiler untuk menerjemahkan kode menjadi bahasa mesin. Contoh compiler atau bahsa pemprograman yang berada pada ting- kat tinggi•Bahasa C•Bahasa BasicPada buku ini akan lebih memfokuskan pada penggunaan bahasa tingkat tinggi C. Pemrograman mikrokontroler dilakukan dalam beberapa langkah. Langkah pertama adalah penulisan kode program menggunakan perangkat lunak text editor yang menghasilkan file .asm untuk Assembly, .c untuk C, dan .bas untuk Basic. Langkah berikutnya adalah proses kompilasi pro- gram menggunakan perangkat lunak compiler yang menghasilkan file .hex yang berisi kode bahasa mesin. Sebelum dikompilasi file sumber diperik- sa sintaksnya terlebih dahulu oleh preangkat lunak debugger. File .hex inilah yang dimasukkan ke mikrokontroler menggunakan perangkat lunak proses pemasukan program ini mikrokontroler dipasang pada rang- kaian downloader dan dihubungkan dengan PC melalui perangkat keras pro- grammer. Setelah diprogram mikrokontroler menjalankan fungsinya sebagai kontroler/pengendali pada rangkaian sistem minimum Sismin yang me- rupakan rangkaian yang berisi beberapa komponen tambahan pendukung ini tidak diperlukan rangkaian downloader khusus karena AVR me- miliki fasilitas ISP In System Programming sehingga AVR dapat dipro- gram langsung pada rangkaian kerjanya menggunakan programmer. Bebe- rapa perangkat lunak pemrograman AVR merupakan IDE Integrated De- velopment Environment. IDE adalah suatu perangkat lunak pemrograman yang memuat seluruh/sebagian besar fasilitas untuk memprogram mikro- kontroler, seperti text editor, debugger, compiler, dan downloader, sehingga tidak diperlukan lagi perangkat lunak lainnya. beberapa IDE bahkan juga memiliki fasilitas simulator dan komunikasi serial. Berbeda dengan mikrokontroler AVR, proses Upload program pada Arduino sudah tidak menggunakan perangkat keras berupa downloader karena papan arduino telah tersedia chip bootloader yang memungkinkan upload program dilakukan lewat data serial USART rx dan tx.Gambar 24. Serial USART Bahasa Pemrograman CMenurut Iswanto 2011 bahasa C adalah bahasa pemrograman yang dapat dikatakan berada di bahasa beraras tinggi. Bahasa beraras rendah artinya bahasa yang berorientasi pada mesin, sedangkan beruas tinggi bero- rientasi pada manusia. Bahasa beraras rendah, misalnya bahasa assembler. ditulis dengan sandi yang hanya dimengerti oleh mesin sehingga hanya digu- nakan bagi yang memrogram mikrokontroler. Bahasa beruas rendah meru- pakan bahasa yang membutuhkan kecermatan tinggi bagi pemrogram kare- na perintahnya harus rinci, ditambah lagi masingmasing pabrik mempunyai sandi perintah sendiri. Bahasa tinggi relatif mudah digunakan karena ditulis dengan bahasa manusia sehingga mudah . dimengerti dan tidak tergantung mesinnya. Bahasa beraras tinggi umumnya digunakan pada bahasa C adalah Brian Wr Kemighan dan Denis M. Ritchi sekitar 1972. Penulisan program dalam bahasa C dilakukan dengan mem- bagi dalam blok-blok sehingga bahasa C disebut bahasa terstruktur. Bahwa C dapat digunakan di berbagai mesin dengan mudah, mulai dari PC sam- pai mainframe, serta menggunakan berbagai sistem operasi misalnya DOS, UNIX, VMS, dan lain-lain. Gambar 25. Bahasa Pemrograman C Penulisan Bahasa C AVRProgram Bahasa C tidak mengenal aturan penulisan di kolom terten- tu sehingga bisa dimulai dari kolom manapun. Namun demikian, untuk mempermudah pembacaan program dan keperluan dokumentasi, sebaiknya penulisan bahasa C diatur sedemikian rupa sehingga mudah dan enak diba- dalam bahasa C selalu berbentuk fungsi seperti ditunjukkan main. Program yang dijalankan berada dalam tubuh program dan dimulai dengan tanda kurung buka”{” dan diakhiri dengan kurung tutup”}” Semua yang tertulis di dalam tubuh program disebut blok. Tanda ”” digunakan untuk mengapit argumen suatu fungsi. Argumen adalah suatu nilai yang akan digunakan dalam fungsi tersebut. Dalam fung- si main, tidak ada argumen sehingga tak ada data dalam . Dalam tubuh fungsi antara tanda ”[” dan tanda ”]”, ada sejumlah pernyataan yang me- rupakan perintah dan harus dikerjakan oleh prosesor. Setiap pernyataan diakhiri tanda titik koma ”;”. Gambar 26. Contoh Penulisan Program Pada C AVRBaris pertama include bukanlah pernyataan sehingga tak dia- khiri tanda titik koma ”;”. Baris tersebut meminta kompiler untuk menyer- takan file yang namanya ada di antara tanda dalam proses kompilasi. File-file ini berekstensi .h berisi deklarasi fungsi ataupun variable. File ini disebut header dan digunakan semacam perpustakaan untuk pernyataan yang ada di tubuh program. Gambar 27. Code Vision AVRAda beberapa program yang dapat digunakan sebagai editor dan compiler untuk mikrokontroler AVR, salah satunya adalah CodeVisionAVR. Code- VisionAVR adalah salahsatu alat bantu pemrograman programing tools yang bekerja dalam lingkunga pengambangan perangkat lunak yang terinte- grasi Integrated Develoment Environment, IDE . Seperti aplikasi IDE lai- nya, CodevisionAVR dilengkapi dengan sourcecode editor, compiler, linker, dan dapat memanggil Atmel AVR studio untuk Bahasa C ArduinoPenulisan program bahasa C di ArduinoGambar 28. Contoh Penulisan Program Pada C Arduino Penjelasan tentang fungsi setiap sintak pada Arduino hampir sama dengan AVR. Beberapa bagian yang membedakannya•”void mainvoid” menjadi ”void setup” penanda atau sebagai pe- nunjuk isi dari program dalam pemprograman AVR, isi dari program dimulai dari tanda kurung kurawal { dan diakhiri pula dengan tanda tutup kurung kurawal } •perintah ”while1” sendiri juga dapat digunakan di arduino, tapi seca- ra khusus aplikasi arduino sudah menyediakan tempat untuk menulis program yang memiliki karakteristik berulang looping yang tertulis ”void loop”Secara Prinsip, sketch selalu melibatkan dua fungsi, yaitu setup dan loop. Kode Sketch menimal dapat dilihat pada gambar 28. Baris yang mengandung void dan nama fungsi adalah judul fungsi, sedangkan bagian { } dinamakan tubuh fungsi. Semua definisi fungsi melibatkan judul fungsi dan tubuh fungsi. Menurut Kadir 2015 fungsi sendiri adalah deretan instruksi yang diberi suatu anam, umumnya fungsi memberikan nilai ketika dipanggil Nilai yang diberikan tersebut dinamakan nilai 29. Contoh Tubuh Fungsi Tipe DataDalam Pemprograman Mikrokontroller, ram rom maupun register harus di- isi data untuk menjalankan suatu program tertentu, data yang diisi pun beragam tergantung besar bit data yang digunakan. Jenis data tersebut dapat dilihat di tabel berikutTabel 1. Tipe Data-2147483648 - 21474836467 -2147483648 - 21474836467 OperatorOperator adalah source code yang digunakan dalam mengelolah data baik itu membandingkan, menyamakan, menjumlahkan, 2. operator kondisilebih kecil atau sama denganlebih besar atau sama denganTabel 3. Operator AritmatikaTabel 4. Operator LogikaTabel 5. Operator Bitwise Tabel 6. Operator AssignmentMenambahkan nilai dari keadaan semulaMengurangi nilai dari keadaan semulaMengalikan niliai dari keadaan semulaMembagi nilai dari keadaan semulaMamasukkan nilai sisa dari pembagianGambar 30. Proses Perpindahan Data Rangkuman———————————————————————————————Mikrokontroller yang populer dalam kalangan masyarakat saat ini adalah mikrokontroller jenis Atmel yaitu ATMega dan jenis AVR dengan pengembangannya bernama Arduino.Mikrokontroler ATmega128 merupakan salah satu varian dari mikrokontroler AVR 8-bit. Mikrokontroller AVR adalah jenis mikrokontroller yang tampilannya hanya sebatas IC mikrokontroller tampa tambahan perangkat interfa- ces.Arduino adalah Papan yang menggunakan jenis mikrokontroler AVR yang telah mengalami perkembangan di bagian penggunaan port dan uploading program bootloader.Bahasa pemprograman terdiri dari tiga level yaitu bahasa mesin, as- sembly, dan bahasa tingkat tinggi.Bahasa pemrograman C adalah bahasa level tinggi yang populer digunakan di kalangan umum dan memilik source code yang open source.Dalam penggunaan bahasa C hal perlu diperhatikan ada beberapa hal yaitu, sintak, penulisan source code, tipe data, operator operatot dan Soal ———————————————————————————————1. Jelaskan apa itu mikrokontroler A tm eg a?2. J ela sk an a pa i tu m ik ro k o n t r ol er AVR?3. Jelaskan apa itu Arduino?4. Uraikanlah jenis-jenis bahasa pemrograman untuk mikrokontroler?5. Tuliskan contoh perintah atau sintak dasar bahasa pemrograman C? ... Arduino Nano adalah papan sirkuit pengembang yang ukurannya kecil dan terdapat mikrokontroler dan terdapat penggunaan bread-board. Arduino Nano khusus dirancang dan diproduksi oleh perusahaan Gravitech dengan menggunakan mikrokontroler Atmega328 untuk Arduino Nano V3 [14]. ...Salah satu hak pejalan kaki yang tidak boleh dilanggar oleh pengendara lain yang melintas yaitu zebra cross. Peraturan agar tidak berhenti di zebra cross sudah diatur dalam Undang-Undang Lalu Lintas dan Angkutan Jalan UULAJ Nomor 22 Tahun 2019 pasal 284 yang berbunyi “Setiap orang yang mengemudikan kendaraan bermotor dengan tidak mengutamakan keselamatan pejalan kaki atau pesepeda sebagaimana yang dimaksud dalam pasal 106 ayat 2 dipidana kurungan paling lama 2 dua bulan dan denda sebesar Rp lima ratus ribu rupiah”. Namun, masih banyak terdapat kendaraan bermotor yang melanggar aturan tersebut. Oleh karena itu, dalam penelitian ini, dibangun purwarupa sistem peringatan pengendara pelanggar zebra cross berbasis mikrokontroler ESP32-CAM, dengan menggunakan sensor ultrasonic untuk mendeteksi kendaraan. Ketika sensor mendeteksi kendaraan melebihi garis zebra cross yang ditentukan dan keadaaan lampu sedang berwarna merah, maka buzzer akan berbunyi sebagai peringatan pengendara yang melanggar garis zebra cross untuk mundur ke garis yang seharusnya. Selanjutnya, sistem akan meng-capture pelanggaran yang terjadi dan hasil tangkapan layarnya akan dikirimkan ke telegram sebagai bukti pelanggaran. Hasil dari penelitian ini, sensor ultrasonic mampu bekerja apabila terdapat kendaraan yang melintasi melewati garis batas sejauh 65,6 cm pada saat lampu berwarna merah. Pada saat terjadi pelanggaran, buzzer berbunyi menandakan pelanggaran terjadi dan kamera ESP32-CAM akan menangkap layar dan mengirimkan ke telegram sebagai bukti pelanggaran. Perhitungan waktu saat buzzer berbunyi sampai akhirnya gambar diterima dan ter-download sempurna ke telegram yaitu sebesar 5,2 – 7,99 of the rights of pedestrians that other passing motorists must not violate is zebra cross. Regulations so as not to stop at Zebra cross have been regulated in the Traffic and Road Transport Law UULAJ Number 22 of 2019 article 284, which reads, "Everyone who drives a motorized vehicle without prioritizing the safety of pedestrians or cyclists as referred to in article 106 paragraph 2 shall be sentenced to a maximum imprisonment of 2 two months and a fine of Rp. 500,000 five hundred thousand rupiahs”. However, many motorized vehicles stop at the zebra cross line, so it is difficult for pedestrians to cross the road because they are blocked by the car. Therefore, this study built a warning system for violators of zebra cross at red lights using the ESP32-CAM microcontroller, using ultrasonic sensors to detect vehicles. When the sensor detects the vehicle exceeds the specified zebra cross line and the sunlight is red, the buzzer will signal drivers who violate the Zebra cross line to back down to the appropriate queue. Next, the system will capture the violation, and the screenshot will be sent to the telegram as evidence of the breach. The results of this study show that ultrasonic sensors can work if vehicles cross the cm boundary line when the light is red. When a violation occurs, a buzzer sounds indicating a violation has occurred, and the ESP32-CAM camera will capture the screen and send it to a telegram as evidence of a breach. The calculation of when the buzzer sounds until the image is finally received and downloaded perfectly to Telegram is – seconds. Misspellings and grammatical errors can affect your credibility. The same goes for misused commas and other types of punctuation. Not only will Grammarly underline these issues, but it will also show you how to write a sentence has not been able to resolve any references for this publication.
Lampiran 1. Materi pembelajaran BAHAN AJAR Sekolah SMK Indonesia Mata Pelajaran Mikroprosesor dan Mikrokontroler C3 Kelas/Semester XI/I Materi Pokok Bahasa Pemrograman Mikroprosesor Alokasi Waktu 1 JP 50 menit A. Tujuan Pembelajaran 1. Pengetahuan a. Produk 1 Secara mandiri dan tanpa membuka bahan ajar, siswa mampu menjelaskan pengertian mikroprosesor dengan mengerjakan soal terkait di LP3 minimal nilai sama dengan KKM. 2 Secara mandiri dan tanpa membuka bahan ajar, siswa mampu menjelaskan klasifikasi bahasa pemrograman mikroprosesor dengan mengerjakan soal terkait LP3 minimal nilai sama dengan KKM. b. Proses Siswa diharapkan mampu menjelaskan langkah - langkah penggunaan bahasa pemrograman mikroprosesor dengan mengerjakan evaluasi yang terkait dengan LP 4 minimal nilai sama dengan KKM. 2. Keterampilan Dengan menggunakan komputer siswa dapat penggunaan bahasa pemrograman mikroprosesor sesuai rincian tugas kinerja di LP 5 minimal nilai sama dengan KKM. B. Kompetensi Dasar Menerapkan bahasa pemrograman mikroprosesor Menggunakan bahasa pemrograman mikroprosesor C. Indikator Pencapaian Kompetensi IPK 1. Pengetahuan a. Produk Menjelaskan pengertian mikroproseor Menjelaskan klasifikasi bahasa pemrograman mikroprosesor b. Proses Menjelaskan langkah - langkah penggunaan bahasa pemrograman mikroprosesor 2. Keterampilan Mempraktekkan penggunaan bahasa pemrograman mikroprosesor D. Materi Pembelajaran Bahasa Pemrograman Mikroprosesor D. Uraian Materi Ajar Penggalan Materi 1 1. Pengertian Mikroprosesor Ciri penting dari sebuah mikroprosesor adalah sifatnya yang programmable. Artinya sebuah mikroprosesor tidak dapat bekerja begitu saja secara perangkat keras tanpa perangkat lunak. Sebuah mikroprosesor selalu bekerja dengan program. Program adalah susunan sejumlah instruksi yang membentuk satu fungsi. Untuk mengembangkan program dalam mikroprosesor digunakan bahasa pemrograman. Program adalah susunan atau urutan perintah-perintah sederhana yang diberikan kepada komputer untuk memecahkan beberapa permasalahan. Jika sebuah program telah ditulis dan dilakukan debuging , komputer akan dapat mengeksekusi program tersebut dengan sangat cepat dan dengan cara yang sama setiap saat tanpa kesalahan. Disinilah kehebatan komputer, meskipun program tersusun dari perintah-perintah yang sangat sederhana, hasil akhir sangat menakjubkan sebab komputer dapat bekerja dengan kecepatan tinggi. Kebanyakan mikroprosesor memiliki kesamaan dalam perintah atau instruksi. Intsruksi transfer data misalnya dapat menggunakan perintah LOAD atau MOVE, Instruksi matematika sederhana menggunakan perintah ADD, SUBTRACT, MULTIPLY, DEVIDE. Untuk menjalankan program, sebuah mikrokomputer harus memiliki program yang tersimpan dalam format biner pada suatu lokasi memori. 2. Klasifikasi Bahasa Pemrograman Mikroprosesor a. Bahasa mesin Kode mesin atau bahasa mesin adalah sistem instruksi dan data yang dijalankan langsung oleh komputer central processing unit. Kode mesin dapat dianggap sebagai primitif dan rumit atau sebagai bahasa pemrograman tingkat terendah representasi dari disusun dan / atau program komputer rakitan. Program dalam menafsirkan bahasa tidak diwakili oleh kode mesin tetapi, walaupun penerjemah mereka yang dapat dilihat sebagai sebuah prosesor melaksanakan program tingkat yang lebih tinggi sering terjadi. Kode mesin kadang-kadang disebut kode asli ketika mengacu pada platform-bagian dari bahasa tergantung fitur atau perpustakaan. kode Mesin tidak boleh disamakan dengan apa yang disebut “bytecode”, yang dilaksanakan oleh seorang juru bahasa. Setiap prosesor atau keluarga prosesor memiliki set instruksi kode mesin. Instruksi pola bit yang oleh desain fisik sesuai dengan perintah yang berbeda ke mesin. Set instruksi demikian khusus untuk kelas prosesor menggunakan banyak arsitektur yang sama. Penerus atau derivatif desain prosesor sering mencakup semua instruksi dari pendahulunya dan dapat menambah petunjuk tambahan. Kadang-kadang desain pengganti akan menghentikan atau mengubah arti dari beberapa kode instruksi biasanya karena dibutuhkan untuk keperluan baru, kode yang mempengaruhi kompatibilitas sampai batas tertentu, bahkan hampir sepenuhnya kompatibel dengan prosesor mungkin akan menampilkan perilaku yang sedikit berbeda untuk beberapa instruksi tetapi ini jarang yang masalah. Sistem mungkin juga berbeda dalam rincian lainnya, seperti pengaturan memori, sistem operasi, atau perangkat periferal; karena biasanya program bergantung pada faktor-faktor seperti, sistem yang berbeda akan biasanya tidak menjalankan kode mesin yang sama, bahkan ketika jenis prosesor yang sama digunakan. Sebuah set instruksi kode mesin mungkin memiliki semua instruksi yang sama panjang, atau hal itu mungkin karena panjang variabel-instruksi. Bagaimana pola diorganisir sangat bervariasi dengan arsitektur tertentu dan sering juga dengan jenis instruksi. Sebagian besar instruksi memiliki satu atau lebih opcode bidang yang menentukan jenis instruksi dasar seperti aritmatika, logis, melompat, dll dan operasi sebenarnya seperti menambah atau membandingkan dan bidang lain yang mungkin memberikan jenis operand s , mode pengalamatan s, pengalamatan offset s atau indeks, atau nilai aktual itu sendiri Operand konstan seperti yang terdapat dalam sebuah instruksi disebut immediates. Sebuah program komputer adalah suatu urutan instruksi yang dijalankan oleh CPU. Sementara prosesor mengeksekusi instruksi sederhana satu demi satu, prosesor superscalar mampu menjalankan beberapa instruksi sekaligus. Program aliran mungkin dipengaruhi oleh khusus melompat’ instruksi yang mentransfer eksekusi ke instruksi lain dari yang di bawah satu. Lompatan bersyarat diambil eksekusi berlanjut pada alamat lain atau tidak eksekusi berlanjut pada instruksi berikutnya tergantung pada beberapa kondisi. Dalam beberapa arsitektur komputer, kode mesin ini diterapkan oleh lapisan yang lebih mendasar dari program yang disebut microprograms, menyediakan antarmuka bahasa mesin Common melintasi sebuah garis atau keluarga model yang berbeda dengan komputer yang mendasari dataflows sangat berbeda. Hal ini dilakukan untuk memfasilitasi port dari program bahasa mesin antara model yang berbeda. Contoh dari penggunaan ini adalah IBM System/360 komputer keluarga dan para penerus mereka. Dengan jalan dataflow lebar dari 8 bit dengan 64 bit dan seterusnya, mereka tetap menyajikan sebuah arsitektur umum pada tingkat bahasa mesin di seluruh baris. Menggunakan lapisan terfokus untuk menerapkan sebuah emulator memungkinkan komputer untuk menyajikan arsitektur komputer yang sama sekali berbeda. Baris System/360 ini digunakan untuk mengizinkan program port dari mesin IBM sebelumnya untuk keluarga baru komputer, misalnya IBM 1401/1440/1460 emulator pada IBM S/360 model 40. Penggalan Materi 2 Langkah-langkah pembuatan diagram blok pemancar dan penerima televisi A. Alat dan Bahan 1. Pensil 2. Penghapus 3. Penggaris 4. Kertas millimeter B. Teori Singkat 1. Pemancar televisi analog analogue tv transmitter merupakan suatu sistem peralatan yang menerima dan memproses sinyal gambar video analog dan suara audio analog dari suatu sumber informasi, memodulasi sinyal video dan audio analog yang telah diproses itu ke tingkat IF Intermediate Frequency dan kemudian sinyal IF tersebut di up convert-kan ke tingkat RF Radio Frequency. Sinyal RF yang dihasilkan, akan dikuatkan dengan menggunakan penguat daya power amplifier yang nantinya sinyal tersebut akan dikirimkan ke antena pemancar melalui suatu transmission line. Keluaran dari antena pemancar itu sendiri adalah gelombang elektromagnetik yang dapat diradiasikan disebarluaskan melalui ruang bebas sehingga dapat diterima antena disisi penerima. 2. Pemancar televisi digital digital tv transmitter adalah suatu sistem pemancar yang memproses sinyal input yaitu transport stream TS yang merupakan sinyal hasil encoding & multiplexing, yang nantinya akan dimodulasikan ke tingkat RF dengan menggunakan modulasi OFDM Orthogonal Frequency Division Multiplexing dengan penambahan FEC Forward Error Correction. Sinyal RF yang dihasilkan nantinya tetap berupa sinyal analog, sehingga dapat dikuatkan dengan penguat daya. Proses selanjutnya sudah dipastikan sama dengan pemancar televisi analog hingga akhirnya dapat diterima oleh antena disisi penerima. C. Langkah-langkah Kerja 1. Siapkan alat dan bahan yang dibutuhkan untuk pratikum 2. Cermati diagram blok pemancar dan penerima televisi 3. Buatlah diagram blok pemancar dan penerima televisi pada kertas milimiter dengan skala 11 Penggalan Materi 3 Siswa disuruh mempraktekkan sesuai dengan urutan langkah kerja
bahasa pemrograman yang belum dapat memprogram mikrokontroller adalah