Embedded System
(Sistem Tertanam)
Definisi Embedded System
• Embedded system atau sistem tertanam menurut Dwi Maryono (2019)
dalam Cakap Mengaplikasikan Informatika untuk Kelas XI SMA dan MA
adalah kombinasi perangkat lunak dan perangkat keras computer, baik
dengan kemampuan tetap atau dapat deprogram yang dirancnag untuk
fungsi dalam sistem yang lebih besar.
• Embedded system diperkenalkan oleh Apollo Guidance Computer yang
dikembangkan oleh Charles Stark Draper di MIT Instrumentasi
Laboratorium pada awal tahun 1960-an.
• AGC (Apollo Guidance Computer) merupakan onboard digital computer
(papan computer digital) yang dipasang di setiap acecraft program Apollo,
baik CM (Command Module) maupun LM (Lunar Module). Apollo Guidance
Computer menjadi yang pertama menggunakan IC (Integrated Circuit).
Software AGC ditulis dalam Bahasa assembly AGC.
• Sistem komputasi embedded system ada yang memiliki antarmuka
pengguna (user interface) dan ada juga yang memiliki antarmuka grafis (GUI).
• Konsentrasi pengembangan sistem tertanam pada mikroprosesor atau
microcontroller yang diibaratkan sebagai CPU (Central Processing Unit).
Mikroprosesor diimplementasikan untuk memenuhi kebutuhan komputasi
secara umum (general purpose systems) dan perancangan embedded system
yang dapat diimplementasikan untuk memenuhi kebutuhan tertentu
(special-purpose systems).
• Dalam mengembangkan perangkat berbasis sistem tertanam dibutuhkan
kombinasi berbagai perangkat keras (seperti microcontroller, memory,
peripheral interface) dan perangkat lunak (seperti real-time operating
systems, Windows CE, Linux, dan Android) secara terprogram (co-design) ke
dalam sebuah sistem computer atau sistem berbasis pada computer.
• Pengembangan sistem tertanam tidak hanya sebatas pada sistem
mikrokomputer, tetapi juga perangkat berbasis embedded mobile
computing, ubiquitous computing, hingga IoT (Internet of Things).
Struktur dan Arsitektur Embedded System
• Arsitektur sistem embedded merupakan hal yang
• Keterangan:
penting dalam menyelesaikan tantangan yang
dihadapi saat mendesain sistem baru. Adapun 1. User interface: interaksi dengan pengguna.
tantangan yang biasa dihadapi sebagai berikut. Di dalamnya dapat berisi, seperti keyboard
a. Mendefinisikan dan meng-capture desain sistem. dan touchpad.
b. Keterbatasan biaya. 2. ASIC (Application Specific Integrated Circuit):
c. Menentukan integritas sistem, seperti keandalan dan fungsi yang spesifik seperti pada motor
keamanan. control dan data modulation.
d. Bekerja dalam batas-batas fungsi elemen yang 3. Microcontroller: bagian dari mikroprosesor.
tersedia (seperti processing power, memori dan
battery life). 4. Real-Time Operating System (RTOS): terdiri
e. Marketability dan sellability. dari semua software untuk control sistem dan
interface pengguna.
f. Persyaratan deterministik
Ciri dan Aspek Embedded System
• Ciri khusus embedded system: • Aspek embedded system:
a. Dilengkapi dengan computing power. Dengan a. Keandalan (Reliability)
kata lain dilengkapi dengan sebuah prosesor. b. Kinerja (Performance)
b. Dapat bekerja di lingkungan luar ruangan IT. c. Konsumsi Daya
Kemungkinan besar tidak dilengkapi dengan d. Biaya (Cost)
AC dan menghadapi gangguan dari luar, e. Ukuran (Size)
seperti getaran dan debu. f. Keterbatasan antarmuka dengan pengguna (Limited
c. Memiliki tugas yang spesifik. Beda dengan PC User Interface)
atau server yang relatif lebih multipurpose. g. Kemampuan peningkatan perangkat lunak (Software
upgradation capability)
Kelebihan dan Kekurangan Embedded System
• Kelebihan embedded system: • Kekurangan embedded system:
1. Proses pengkodean embedded system tidak 1. Tidak bisa berdiri sendiri. Embedded system
harus dilakukan secara urut. harus berada di dalam sistem
2. Dapat diinterupsi sebelum proses selesai. elektronik/mekanik yang lebih besar.
3. Banyak bagian dari sistem dapat berjalan 2. Hardware yang sudah permanen, tidak bisa di-
secara bersamaan dalam waktu yang sama. upgrade/downgrade.
4. Dapat menjaga komponen-komponen 3. Punya satu fungsi tertentu, tidak selalu bisa
penting pada banyak sistem. digunakan untuk komputasi tertentu.
Komponen Utama Embedded System
• Hardware • Software
1) Power supply Terdapat berbagai jenis software dalam
embedded system, seperti assembly, C, C++, dan
2) Prosesor Java
3) Memori
• RTOS (Real-Time Operating System)
4) Timers RTOS membawahi software dan menyediakan
5) Serial communication ports mekanisme agar prosesor dapat menjalankan
6) Input/output circuits proses sesuai jadwal dan melakukan switching
dari satu proses (tugas) ke proses lain. Contoh:
7) System application specific circuits VxWorks, OS-9, RTLinux, dan Symbian
Penggunaan Embedded System
Embedded system (computer tanam) memiliki fungsi spesifik yang dapat membantu mendukung kerja suatu alat.
Beberapa produk sehari-hari yang menggunakan sistem computer tanam menurut Faisal Naharuddin.
1. Elektronik Konsumen
Elektronik konsumen merupakan alat untuk penggunaan sehari-hari dan dapat digunakan untuk
hiburan, komunikasi, serta bisnis. Contohnya adalah alat pemutar music yang dikenalkan oleh
Philips pada tahun 1963 sebagai media penyimpanan dan pemutar music. Dua tahun selanjutnya, Compad Audio
Cassette diproduksi secara masal. Sejak tahun 70-an produsen tape dari berbagai negara mulai
membuat alat pemutar kaset yang disebut tape recorder. Di tahun 1980-an, Sony menciptakan Walkman
sebagai alat pemutar music portable. Seiring berjalan waktu, music mengalami digitalisasi dengan munculnya
format baru, seperti MP3, WAV, dan WMA, sekarang music atau file audio lainnya bisa diputar dengan MP3
player dan platform lainnya.
contoh lainnya dari elektronik konsumen adalah computer pribadi, telepon, perangkat audio,
televisi, kalkulator, sistem navigasi kendaraan GPS, kamera digital, serta pemutar dan perekam media video,
seperti DVD, VHS, atau perekam kamera video (camcorder). Produk-produk ini telah menjadi dasar
teknologi digital dan telah bergabung dengan industry computer.
2. Perangkat Smarthome
Home otomatis atau smarthome adalah rumah yang dilengkapi dengan sistem untuk
mengintegrasi dan mengontrol alat-alat elektronik yang ada di rumah, misalnya lampu, TV, CCTV,
kipas angin dan door lock.
Smarthome system merupakan sebuah sistem berbantuan computer yang akan
memberikan segala kenyamanan, keselamatan, keamanan, dan penghematan energi yang
berlangsung secara otomatis dan terprogram melalui computer pada Gedung atau rumah tinggal.
Sistem ini digunakan untuk mengendalikan hampir semua perlengkapan dan peralatan
di rumah, mulai dari pengaturan tata lampu hingga ke berbagai alat rumah tangga, yang
perintahnya dapat dilakukan dengan suara, sinar inframerah, atau melalui kendali jarak jauh
(remote).
Contoh alat smarthome: lemari pendingin, mesin cuci, kompor listrik, televisi, dan telepon
3. Mobil
Embedded system merupakan kombinasi dari hardware dan software yang
disisipkan (embedded) dalam suatu perangkat tertentu yang bertujuan melakukan
suatu fungsi/tugas khusus. Tujuan utama embedded system pada mobil dari setiap
pengembangan teknologi otomotif yaitu mempermudah pengendalian kendaraan dan
meningkatkan keselamatan.
Sebagai contoh, embedded system pada kemudi mobil yang menggunakan konsep
steer by wire yang diadopsi dari teknologi kemudi pesawat terbang, fly by wire.
Untuk mengendalikan jalannya mobil dengan sistem kemudi otomatis disematkan alat
pendektsi (sensor) yang digunakan untuk mendeteksi rintangan yang menghalangi jalannya
mobil. Informasi yang didapat oleh sensor diolah oleh controller atau disebut ECU (Electric
Control Unit) menggunakan metode pengendali yang digunakan dalam sistem navigasi mobil
sistem kemudi otomatis ini.
4. Pengendali Proses dan Robotika
Pengendalian proses merupakan penggunaan teknologi
informasi untuk memantau dan mengendalikan suatu proses fisik. Sebagai
contoh, pengendalian proses untuk mengukur kelembapan dan ketebalan
kertas ketika melewati sebuah mesin kertas dengan kecepatan ribuan kaki
per menit. Contoh lainnya, menetapkan dan mengendalikan
temperatur, tekanan, dan kualitas dalam proses penyulingan minyak, proses
petrokimia, pabrik semen, penggilingan baja, dan reactor nuklir.
Umumnya, robot diprogram untuk melakukan pekerjaan
berulang kali dan memiliki mekanisme yang dipandu oleh control otomatis.
Robotika adalah ilmu yang mempelajari tentang robot. Robotika
merupakan cabang ilmu pengetahuan yang mempelajari tentang
robot. Cabang ilmu tersebut mencakup desain mesin robot, elektronika,
pengontrolan, pemrograman computer, dan kecerdasan buatan.
5. Perangkat Komputer dan Mesin Kantor
Komputer sebenarnya tidak berbeda dengan produk teknologi lainnya,
seperti kereta api, pesawat terbang, dan mobil. Perbedaannya, computer memiliki
kemampuan dapat deprogram guna melaksanakan berbagai macam tugas dengan
kecepatan dan ketelitian yang tinggi.
Pada dasarnya tugas manusia sangat padat dan dipenuhi berbagai macam
kesibukan, untuk mempermudah pekerjaan manusia maka membutuhkan
sesuatu yang dapat membantu mengurangi beban pekerjaan manusia. Oleh karena
itu, teknologi informasi sangat dibutuhkan dalam kehidupan masyarakat.
Jenis Embedded System
• Stand Alone (Mandiri)
Stand alone artinya sistem dapat bekerja sendiri, dapat berfungsi secara
independent atau bisa dikatakan sistem tidak terintegrasi ke dalam perangkat lain. Stand alone
dapat menerima input digital ataupun analog, melakukan kalibrasi, konversi, pemrosesan data,
serta menghasilkan output data ke peripheral output, contohnya display LCD. Contoh alat:
konsol video game, MP3 player, dan kamera digital.
Stand alone juga dapat merujuk kepada sebuah program software yang tidak
memerlukan software selain sistem operasi untuk menjalankannya. Contoh jenis software
seperti plug-in dan paket ekspansi untuk video game bukan merupakan program stand alone
karena tidak akan berjalan, kecuali program tertentu telah terinstal.
• Real-Time
Embedded system dengan tugas-tugas spesifik yang dilakukan dalam periode waktu
spesifik. Sistem ini terdiri dari hard real-time dan soft real-time.
1. Hard real-time adalah sistem yang harus melaksanakan tugas dengan deadline yang tepat.
Batas waktu respons untuk sistem ini sangatlah kritis yaitu dalam milidetik, bahkan bisa lebih
singkat lagi. Umumnya sistem hard real-time digunakan sebagai alat pengontrol untuk aplikasi
yang dedicated. Pemrosesan harus selesai dalam batasan-batasan yang sudah didefinisikan
atau sistem akan gagal, contohnya sistem kontrol rudal. Penyelesaian operasi yang tidak sesuai
waktunya pada embedded system kontrol rudal dapat menyebabkan bencana. Contoh lainnya
adalah sistem control kantong udara mobil. Waktu tunda sistem ini dapat mengancam
keselamatan pengendara mobil karena kecelakaan biasanya terjadi dalam waktu yang sangat
singkat. Selain harus bekerja dengan batas waktu yang sangat tepat hal yang harus
diperhatikan dalam sistem hard real-time adalah pemilihan cip dan RTOS.
2. Soft Real-Time adalah sistem yang tidak memerlukan deadline. Pada sistem ini,
keterlambatan waktu respons dapat ditoleransi pada batas tertentu. Pelanggaran
batas waktu dapat menyebabkan performanya menurun, tetapi sistem tetap
beroperasi. Contohnya, DVD player, saat diberikan perintah dari remote control,
akan mengalami delay selama beberapa milidetik untuk menjalankan perintah
tersebut. Delay tidak mengakibatkan sesuatu yang serius. Contoh lainnya,
microwave dan mesin cuci. Walaupun ada batas waktu untuk sistem operasinya,
tetapi keterlambatan yang dapat ditoleransi dalam hitungan detik bukan mlidetik.
• Networked adalah tipe yang berkembang dengan cepat dibandingkan dengan tipe
lainnya. Sistem ini terkoneksi ke jaringan computer, seperti LAN, WAN, atau internet.
Koneksi yang digunakan dapat berupa nirkabel atau kabel. Jika terkoneksi ke internet,
akan memungkinkan sistem untuk mengakses berbagai sumber daya (resources)
dengan perangkat lain. Contohnya adalah sistem pengamanan rumah yang semua
sensor (misalnya pendeteksi gerak, sensor tekanan, sensor cahaya, ataupun sensor
asap) terhubung melalui kabel dan dijalankan dengan protokol TCP/IP. Sistem
pengamanan rumah dapat diintegrasikan dengan jaringan sistem pengamanan rumah
dengan tambahan jaringan kamera yang dijalankan dengan protokol HTTP.
• Mobile devices, tipe embedded system ini merupakan tipe yang digunakan
pada perangkat portabel. Contoh dari perangkat tersebut, ponsel, PDA, dan
gawai. Meskipun PDA melakukan banyak tugas untuk tujuan umum (general
purpose), tetapi harus dirancang seperti embedded system konvensional.
Perangkat berbasis mobile dianggap sebagai embedded system karena
keterbatasannya pada kapasitas memori, ukuran yang kecil, dan
keterbatasan interface. Meski demikian, saat ini PDA mampu mendukung
software aplikasi general purpose, seperti word processor dan game.
Aplikasi Embedded System
Seiring dengan perkembangan teknologi, banyak sistem dengan mekanisme yang bersifat otomatis sehingga penggunaan
embedded system semakin luas. Embedded system digunakan pada peralatan-peralatan dalam berbagai industri, termasuk
peralatan otomotif, telekomunikasi, penerbangan, elektronik, komputer, rumah, dan kantor. Berikut merupakan beberapa
contoh perangkat yang menggunakan embedded system.
• Anti-lock braking system (ABS) pada kendaraan
• Auto-focus camera
• ATM
• Sistem pembayaran tol otomatis
• Sistem transmisi otomatis
• Sistem avionik pesawat
• Sistem pembayaran parkir.
• Robot pembersih ruangan.
• Vending machine.
• Kulkas dan AC
Contoh penerapan embedded system
Mikrokontroler dan Cara Pemilihannya
Mikrokontroler adalah chip yang terdiri atas CPU sebagai bagian utama serta dilengkapi dengan
RAM, ROM, I/O ports, dan timers. Mikrokontroler berbeda dengan mikroprosesor karena
mempunyai port untuk input/output, timers, dan perangkat periferal lainnya yang dihubungkan
sebagai bagian-bagian eksternal.
Mikrokontroler merupakan pilihan tepat untuk membangun embedded system untuk
pengguna tertentu dengan batasan ukuran yang kecil dan biaya murah. Pengguna tidak perlu
menambahkan perangkat eksternal yang akan menambah biaya dan ukuran seperti halnya jika
mengunakan mikroprosesor. Selain itu, penggunaan mikrokontroler tidak membutuhkan
penggunaan tambahan memori. Oleh karena itu, mikrokontroler digunakan secara luas untuk
membangun embedded system.
Mikrokontroler
Mikrokontroler yang umum digunakan di pasaran mempunyai berbagai tipe, yaitu 4, 8,
16,dan 32 bit. Mikrokontroler tipe 32 bit merupakan mikrokontroler yang paling luas
digunakan untuk membangun embedded system. Selain menggunakan mikrokontroler,
alternatif yang dapat digunakan untuk membangun embedded system adalah field-
programmable gate arrays (FPGAs), application specific integrated circuits (ASIC),
custom logic, dan lain-lain.
Pada beberapa embedded system yang membutuhkan kemampuan yang lebih besar
dengan dukungan perangkat keras dan perangkat lunak yang lebih kompleks, perangkat
tersebut dapat juga digunakan secara bersamaan dengan mikrokontroler.
Ada banyak keuntungan dari penggunaan mikrokontroler, diantaranya sebagai berikut.
• Dapat bekerja dengan efisien.
• Dapat menggunakan logika yang sama untuk berbagai jenis pekerjaan atau fungsi.
• Mempunyai kemampuan untuk menyederhanakan desain dari produk-produk yang
dibangun.
• Menggunakan lebih banyak logika untuk mengimplementasikan fungsi.
• Mikrokontroler saat ini memiliki fitur yang mengontrol danmeminimalkan konsumsi
daya.
• Mikrokontroler merupakan salah satu komponen yang paling penting dalam
embedded system sehingga pemilihan mikrokontroler merupakan langkah
yang krusial. Seperti halnya semua perangkat elektronik, kinerja dan fitur
dari mikrokontroler akan sebanding dengan harga yang harus dibayar. Oleh
karena itu, penting untuk memilih mikrokontroler dengan benar sehingga
sistem yang dibangun efisien dari sisi biaya, tetapi masih tetap dapat
bekerja baik jika digunakan pada sistem yang dibangun.
Pemilihan mikrokontroler dapat dilakukan dengan mengikuti langkah-langkah sebagai berikut.
• Memahami kebutuhan perangkat keras system
Langkah pertama ketika memilih mikrokontroler adalah mengidentifikasi kebutuhan perangkat
keras sistem. Anda harus memahami perangkat apa saja yang diperlukan ketika membangun
sistem. Pada tahap ini, Anda perlu mengidentifikasi antarmuka apa yang dibutuhkan sistem,
peralatan apa yang akan menjadi input dan output sistem, apakah sistem perlu terhubung ke
jaringan komputer, apakah sistem membutuhkan port USB, dan sebagainya. Dengan
memahami kebutuhan perangkat keras tersebut, Anda dapat membuat pilihan yang semakin
terarah.
• Memahami kebutuhan perangkat lunak system
Ketika mengidentifikasi kebutuhan perangkat lunak, beberapa hal yang perlu dipertimbangkan, di
antaranya apakah system menjalankan proses penghitungan, berapakah kecepatan pemrosesan yang
diperlukan, apakah ada batasan waktu pada sistem ketika digunakan, dan berapakah kemampuan
pemrosesan sistem yang dibutuhkan. Setelah memahami kebutuhan tersebut, Anda dapat
menentukan mikrokontroler mana yang akan memenuhi kebutuhan tersebut.
• Arsitektur system
Setelah mengidentifikasi kebutuhan perangkat keras dan perangkat lunak, Anda dapat menentukan
mikrokontroler yang sesuai. Ada berbagai arsitektur mikrokontroler yang digunakan. Saat ini,
umumnya mikrokontroler mempunyai beberapa arsitektur, yaitu 4 bit, 8 bit, 16 bit dan 32 bit.
• Biaya membangun system
Jika Anda membangun embedded system dengan budget yang ketat atau Anda sedang membangun sistem yang
digunakan dan diproduksi dalam jumlah besar, biaya untuk menyiapkan perangkat menjadi faktor yang penting
dipertimbangkan. Mikrokontroler dengan kemampuan yang lebih besar dan dapatdigunakan pada sistem yang
kompleks akan membutuhkanbiaya yang lebih besar. Sebaliknya, mikrokontroler dengan kemampuan yang
sederhana mempunyai harga yang relatif lebih murah. Dalam hal ini, Anda perlu melakukan penilaian yang tepat
sehingga setiap biaya yang dikeluarkan dapat memberikan kinerja yang efisien.
• Daya
Pertimbangan selanjutnya adalah daya yang akan menjadi sumber tenaga bagi sistem. Anda harus dapat
menjawab pertanyaan, seperti apakah sistem menggunakan sumber daya listrik atau baterai dan berapakah
daya yang diperlukan. Selanjutnya, pilihlah mikrokontroler yang sesuai untuk ketersediaan daya tersebut.
• Kebutuhan memori
Memori digunakan untuk menyimpan dan menjalankan program yang akan ditempatkan di mikrokontroler.
Ukuran memori akan memastikan apakah sistem dapat bekerja dengan baik atau tidak. Oleh karena itu,
hitunglah terlebih dahulu ukuran memori yang diperlukan oleh sistem, kemudian siapkan ruang ekstra di
memori untuk memastikan sistem berjalan dengan baik dan tidak kekurangan ruang memori ketika
dijalankan.
• Mencari mikrokontroler yang sesuai
Pada tahap ini, Anda sudah mengidentifikasi dan mendapatkan semua informasi yang dibutuhkan untuk
menentukan mikrokontroler yang sesuai. Jika belum terlalu yakin, Anda dapat meminta bantuan kepada
penjual yang biasanya memiliki kemampuan teknis untuk memilih mikrokontroler yang digunakan atau
kepada orang yang berpengalaman bekerja dengan mikrokontroler.
• Kompatibilitas perangkat
Perlu diingat bahwa mikrokontroler mempunyai beberapa tipe. Oleh karena itu, ketika memilih perangkat yang
digunakan, pastikan bahwa perangkat-perangkat yang dipilih kompatibel satu dengan yang lainnya. Kompatibel berarti
dapat dipasangkan dan bekerja secara bersama-sama.
• Perangkat lunak dan program simulasi
Sebagian mikrokontroler dilengkapi dengan perangkat lunak yang disediakan oleh produsen mikrokontroler tersebut.
Perangkat lunak tersebut akan sangat berguna untuk proses perakitan, pemrograman, dan proses debugging. Oleh
karena itu, Anda perlu memahami cara kerja dari perangkat lunak tersebut untuk kelancaran proses. Beberapa jenis
mikrokontroler memiliki program simulasi yang dapat digunakan untuk menyimulasikan apakah embedded system yang
dibangun akan bekerja dengan baik atau tidak. Program simulasi ini akan sangat membantu saat proses pengembangan
sistem karena kita dapat melihat apakah system dapat bekerja dengan benar atau tidak sebelum sistem tersebut benar-
benar dibangun.
• Menggunakan development kits
Bagi pemula, mungkin akan sedikit rumit jika harus menyusun sendiri perangkat-
perangkat embedded system dalam sebuah board. Jika demikian, Anda dapat
menggunakan development kits. Development kits sudah dibangun sedemikian rupa
sehingga proses untuk menghubungkannya dengan perangkat lain menjadi lebih
mudah. Development kits dapat digunakan untuk membangun berbagai proyek
embedded system sederhana. Selanjutnya, jika sudah memahami cara bekerja dengan
mikrokontroler, Anda dapat membangun sendiri embedded system dimulai dari
langkah paling awal.