Advanced Search
Search Results
297 total results found
9. Common Errors and Debugging
9.1 Function Declaration Errors Error 1: Missing Function Prototype // ERROR: Function used before declaration int main() { int result = add_numbers(5, 3); // Error: 'add_numbers' not declared return 0; } int add_numbers(int a, int b) { return a ...
1. Introduction
Module 6: Tree Author: YP Learning Objectives After completing this module, students are expected to be able to: Explain the basic concept of a Tree as a non-linear data structure. Identify the differences between root, parent, child, leaf, and subtree. Impl...
2. Tree Concept
2.1 Basic Theory 2.1.1 Definition of a Tree A Tree is a non-linear hierarchical data structure composed of nodes and edges. Every Tree has a root (root node). The root can have children. A node with no children is called a leaf. Each node and its descendants...
1. Introduction
Module 9: Advanced Graph Author: YP Learning Objectives After completing this module, students are expected to be able to: Explain the basic concepts of Graph (including adjacency list and adjacency matrix representation). Implement graph traversal using DFS ...
2. Graph Concept
2.1 Theory 2.1.1 Definition of Graph A Graph is a data structure consisting of: Vertex (node) → represents an object. Edge → represents the relationship between objects. Graphs can be: Directed or Undirected. Weighted or Unweighted. 2.1.2 Graph Representa...
Understanding Behavioral Style
One of the three architecture models is the behavioral style. Unlike the data-flow style, a VHDL program written in behavioral style does not need to describe how the circuit will be implemented when synthesized. Instead, the behavioral style describes how the...
Process Statement
A process statement is a concurrent command that consists of a label, sensitivity list, declaration area, begin–end (body) area, and sequential statements. An example of a process statement description in VHDL is: process (<Sensitivity List>) -- Variable d...
Sequential Statement
In a process, the execution of sequential statements will be initiated when there is a change in the signals listed in the sensitivity list. In general, the execution of statements in the process body will be carried out continuously until the end of the proce...
Wait Statements
Wait StatementsWait statements are used to make a process wait for a certain condition, signal/variable, or a specific time interval. The following wait statements are used: ● Wait until [condition] and wait on [signal]wait until [condition] will block the pr...
Report Statements
In VHDL, the report statement is used to generate text messages during simulation. This statement is useful for providing information about the status or certain values during simulation. The generated report will appear in the transcript to help with debuggin...
1. Introduction: From Procedural to Object-Oriented Programming
1.1 What is Object-Oriented Programming? Object-Oriented Programming (OOP) is a programming paradigm that organizes code around objects rather than functions and logic. An object is a data structure that contains both data (attributes) and code (methods) that ...
2. C++ Basics: Essential Differences from C
2.1 Basic Syntax Differences C vs C++ Comparison: Feature C C++ File Extension .c .cpp Input/Output scanf(), printf() cin, cout Header Files #include <stdio.h> #include <iostream> Namespace Not used using namespace std; Comments /* */ and // /* ...
Theory
Boolean algebra is a mathematical system that describes the notations and operations on Boolean values. Boolean values are things that take on one out of two possible values. For example, a bit that can be a 1 or a 0. Boolean algebra can be used to describe ...
Objective
1. Proof Boolean Algebra statements using basic logic gates.2. Understand how to use Integrated Circuits (IC).
Tujuan Pembelajaran
Setelah menyelesaikan modul ini, praktikan diharapkan mampu: Memahami dan dapat mendemonstrasikan jenis-jenis alokasi memory yang terjadi pada suatu sistem. Memahami kasus dan cara manajemen heap pada RTOS. Memahami definisi data structure Queue dan kepenting...
Why Memory Management?
Manajemen memori merupakan hal yang sangat penting dalam aplikasi IoT dan Sistem Embedded. Bayangkan bila sistem menggunakan tipe data yang memerlukan ukuran data yang lebih dari yang dialokasikan, fungsi yang dipanggil pada task tidak diterminasi dengan baik ...
Tipe Memory Allocation
Dalam sebuah program, baik secara umum maupun pada Sistem Embedded, terdapat beberapa jenis alokasi memory yang dapat dilakukan, diantaranya sebagai berikut: [1] Static Variable Static memory digunakan untuk menyimpan variabel global maupun variabel yang dide...
Heap Configuration FreeRTOS
FreeRTOS menyediakan beberapa skema pengelolaan heap (memori dinamis), yang berbeda dari segi kompleksitas, fitur, dan trade-off-nya [2]. Saat FreeRTOS membutuhkan memori dinamis (misalnya saat membuat task, queue, atau objek kernel lainnya), ia menggunakan fu...
Queue
Data structure queue mungkin sudah familiar setelah digunakan pada praktikum pemrograman sebelum sebelumnya. Data structure ini bersifat FIFO dimana data yang masuk pertama kedalam queue akan menjadi data yang pertama keluar dari queue. [3] Dalam konteks IoT d...
Mengirimkan Struct dengan Queue
Umumnya data tidak dikirimkan secara langsung pada queue, namun terlebih dahulu di masukkan kedalam sebuah struct. Ini berguna ketika data yang dikirimkan berbentuk objek yang memiliki beberapa atribut, contohnya ketika mengirimkan data suhu, kelembapan, beser...