Professional Documents
Culture Documents
Who is he
Michael Schumacher
“A seven-time Formula One World Champion”
INTRODUCTION
Application
Algo Code
Processor
INTRODUCTION
Compiler
INTRODUCTION
How application running on processor
Application
Processor Compiler
Algo Code
LANGUAGE ABSTRACTION
• High-Level Language
GCC Toolchain
Compiler
Mentranslate bahasa level tinggi
menjadi bahasa assembly.
Assembler
Mengkonversi bahasa assembly menjadi bahasa mesin. Kode mesin disini
masih berupa potongan-potongan file biasa disebut dengan object code.
Linker
Menggabungkan beberapa object code bersama beberapa library menjadi
sebuah file utuh yang siap dieksekusi seperti file *.exe atau *.out.
TOOLCHAIN
TOOLCHAIN
C Code
Assembly Code
Machine Code
MOBILE PLATFORM WAR
App.
Processor
Source: http://www.phonearena.com/news/Qualcomm-is-still-the-mobile-processor-market-leader-Intel-pretty-close-to-MediaTek_id53
Application Processor - System on Chip
QUALCOMM - Snapdragon SoC
ARM
processor
FLASHBACK: WHY ARM PROCESSOR?
Why ARM
Double
Decode
ASIP
CODING
(Programming Languages)
Processor
PROGRAMMING LANGUAGE
Top 5
New Programming Languages
With High Demand
Source: https://www.technotification.com/2018/08/new-demanding-
programming-languages.html
PROGRAMMING LANGUAGE
1. Swift
released in 2014
developed by Apple Inc
for developing applications for iOS macOS, tvOS, and watchOS
its concepts and features are based on Objective C
PROGRAMMING LANGUAGE
2. Kotlin
released in 2012
developed by Stefan Karpinski, Alan Edelman, and Jeff Bezanson
a dynamically typed programming language mainly used for numerical
and computational analysis.
an alternative to Python and R programming languages
able to perform at the optimum levels even when dealing with
complex data
PROGRAMMING LANGUAGE
Compiled
(Programming)
CODING C, Java, Pascal, Basic,
(Programming Cobol, Fortran, ADA, Go
Languages)
Intrepreted
(Scripting)
Python, Java, Ruby, Matlab,
PHP, JavaScript, R
COMPILER VS INTERPRETER
Compiler Translator
- Translasi off-line, - Translasi on-line,
- Optimisasi kode baik, - Tidak ada optimisasi kode,
- Eksekusi lebih cepat - Eksekusi lebih lambat,
- Lebih rumit bagi programmer - Lebih sederhana bagi programmer
- Run anywhere
COMPILER & INTERPRETER ABSTRACTION
Java
Toolchain
Java
Bahasa pemrograman yang memiliki slogan “Write Once Run Anywhere”
(WORA) karena menggunakan konsep interpreter. Sekali coding program bisa
jalan untuk semua platform OS.
Interpteter
Toolchain
Qt
Sebuah framework pemrograman yang memiliki filosofi sama dengan java
yaitu sekali coding program bisa jalan untuk semua platform OS baik desktop
OS maupun mobile OS. Bahasa pemrograman yang digunakan adalah C++.
PYTHON
Compiler Intepreter
Programming Language vs Scripting Language
Employee
Detail
Syntax
Boss
General
Syntax
Programming Abstraction
WHY PYTHON?
Why
Easy to learn
Nice and readable syntax
Less code
Good community
Makes your life easy
ARTIFICIAL NEURAL NETWORK
ANN is mostly used for Pattern Recognition
ANN with PYTHON
Python Code
HOW TO IMPROVE PYTHON PERFORMANCE
CALLING C FROM PYTHON
Python-C-API Ctypes
Wripper.py
CLOSING STATEMENT
Contoh :
• MS Visual Studio
• NetBeans
• Qt Creator
• Android SDK
• Eclipse
• Keil ARM
• CodeVision AVR
45
SOFTWARE DEVELOPMENT TOOL
Contoh: Keil uVision untuk target prosesor ARM
SOFTWARE DEVELOPMENT TOOL
Keil uVision IDE: Editor, Compiler, Debugger
SOFTWARE DEVELOPMENT TOOL
- Free Compiler
- Open Source Compiler
- Free Editor
- Plugin Compiler
- Plugin Debuger
- C, C++, Java
- Own compiler
SOFTWARE DEVELOPMENT TOOL
CodeVisionAVR adalah software development tool untuk mikrokontroler
keluarga AVR.
SOFTWARE DEVELOPMENT TOOL
ARDUINO IDE adalah software development tool untuk development
board arduino.