Anda di halaman 1dari 9

Hardware and Software

MODUL 3 – IOT
Pendahuluan
◦ Perangkat IoT umumnya adalah kombinasi hardware dengan software.
◦ Pada gambar 3.1 berikut kita akan melihat beberapa komponen hardware, seperti:
◦ Breadboard
◦ Mikrokontroller, inti dari system IoT, komponen yang mengeksekusi program yang menentukan fungsi dari system
IoT
◦ Light Emitting Diode (LED)
Integrated Circuits (IC)
◦ Datasheet merupakan sebuah petunjuk referensi mengenai apa yang membuat sebuah komponen
bekerja dan beroperasi dengan benar.
◦ Datasheet menginfokan bagaimana caranya untuk mengkoneksi komponen yang satu dengan yang
lainnya.
◦ Setiap pemanufaktur komponen memiliki datasheet yang lengkap mengenai komponen-komponen
mereka.
◦ IC adalah chips, terbuat dari silicon pada umumnya (walaupun bisa terbuat dari bahan lainnya).
◦ Chips-chips ini biasanya dibungkus yang memiliki fungsi untuk melindungi, mendinginkan dan
mengkoneksikan pin-pinnya.
Microcontroller Properties
◦ Datapath Bitwidth, merupakan jumlah bits dalam setiap register.
◦ Register merupakan sebuah elemen untuk menyimpan angka.
◦ Bitwidth menginfokan ukuran dari kebanyakan angka pada system kita.
◦ Contoh: mikrokontroller 8-bit, 16-bit dan lain-lain

◦ Input/output pins, pin-pin ini digunakan untuk menghubungkan komponen yang satu dengan yang lain
dalam sebuah perangkat IoT.
◦ Sebaiknya sebelum memulai merangkai komponen IoT, diawali dengan menggambar sketsa system yang akan dibuat. Untuk
memastikan bahwa jumlah pin yang tersedia cukup untuk menghubung-hubungkan komponen yang akan kita pakai.

◦ Performance (kinerja), menetukan seberapa cepat perangkat IoT menanggapi setiap perintah/input
yang diterima.
◦ Timer, penting untuk menentukan waktu.
◦ Low power modes, penting untuk menghemat energi.
◦ Mode: power on, power off atau ditengah-tengah (intermediate)
Compilation and Interpretation
◦ Arduino diprogram menggunakan Bahasa pemrograman C++, yangmana merupakan sebuah compiled
language.
◦ Compiled language membutuhkan sebuah compiler untuk menerjemahkan dari Bahasa pemrograman tingkat tinggi (yang dipahami
oleh manusia) menjadi kode mesin yang dipahami oleh mikrokontroller.
◦ Compiled language hanya perlu di-compile 1 kali setelah program selesai, dan kemudian dapat dieksekusi berkali-kali tanpa harus
di-compile Kembali oleh mikorkontroller.

◦ Sementara Raspberry Pi diprogram menggunakan Bahasa pemrograman Python, yangmana merupakan


sebuah interpretative language.
◦ Interpretative language akan diterjemahkan ke kode mesin setiap kali akan dieksekusi oleh mikrokontroller.
◦ Interpretative language biasanya lebih lambat daripada compiled language karena apabila mikrokontroller dijalankan berkali-kali,
maka interpretative language harus diterjemahkan berkali-kali ke kode mesin. Berbeda dengan compiled language yang hanya
diterjemahkan 1x dan bisa dijalankan berkali-kali, kecuali ada perubahan pada source code.
Python vs C++
◦ Tool chain merupakan istilah yang umum digunakan pada embedded system atau perangkat IoT.
◦ Tool chain menggambarkan urutan dari tools, atau software tools, yang harus digunakan untuk
mengonversi sebuah program yang kita buat menjadi sebuah executable program pada
perangkat/system kita.
Python vs C++ (lanj.)
Berdasarkan gambar 3.3 di slide sebelumnya, dapat dijelaskan sebagai berikut:
◦ Host = laptop/computer yang kita gunakan untuk menulis program (kita asumsikan kita menggunakan
Bahasa pemrograman C).
◦ Dari host, program C yang kita buat masuk ke compiler yang kemudian diterjemahkan ke assembly
language (Bahasa rakitan).
◦ Assembly language dari compiler akan masuk ke assembler untuk kemudian diterjemahkan ke Bahasa
mesin dalam bentuk object file.
◦ Kita dapat menulis kode program menggunakan Bahasa rakitan secara langsung yang akan langsung dikirim ke assembler (tanpa
harus melalui compiler terlebih dahulu).
◦ Linker bertugas menghubungkan kode program yang telah kita buat dengan fungsi-fungsi library yang
kita gunakan.
◦ Keluaran dari linker adalah sebuah executable program.
◦ Executable program ini kemudian akan dikirim ke mikroprosesor untuk dijalankan, biasanya disimpan di
yang Namanya flash memory.
◦ Debugger digunakan hanya apabila kita ingin men-debug program yang kita buat.
Sistem Operasi (OS)
◦ Arduino tidak memiliki system operasi, akan tetapi Raspberry Pi memilikinya.
◦ Sistem operasi merupakan lapisan aplikasi yang berada diantara aplikasi yang kita buat dengan
hardware IoT/embedded system.
◦ Pada Arduino, aplikasi yang kita buat akan berinteraksi langsung dengan hardware IoT/embedded
system.
◦ Pada Raspberry Pi, aplikasi yang kita buat akan berinteraksi dengan system operasi. Kemudian system
operasi yang akan berinteraksi dengan hardware IoT/embedded system.
◦ Penggunaan system operasi bisa melindungi hardware IoT/embedded system dari serangan (cyber
attack).
◦ Akan tetapi, penggunaan system operasi membutuhak mikroprosesor yang lebih kuat.
Akhir
Ada pertanyaan?

Anda mungkin juga menyukai