PROCESSOR, COMPILER AND PYTHON
AS PROGRAMMING LANGUAGE
Agus Bejo, D.Eng.
Digital System Laboratory
Dept. of Electrical Engineering and Information Technology,
Faculty of Engineering, Universitas Gadjah Mada
Kopdar Python ID Jogja, 4 Februari 2017
FIRST EXPERIENCE WITH PYTHON
2013 - Twitter Crawling:Using the Twitter stream API to visualize tweets on Google Maps
Kopdar Python ID Jogja, 4 Februari 2017
BIODATAKopdar Python ID Jogja, 4 Februari 2017
GAMA32 Processor• Processor Design• Compiler Design• Porting Linux Kernel
RESEARCH FIELD IKopdar Python ID Jogja, 4 Februari 2017
Fingerprint AuthenticationRESERARCH FIELD II
� Net-banking� e-moblie payment
� e-money
Kopdar Python ID Jogja, 4 Februari 2017
Michael Schumacher“A seven-time Formula One World Champion”
Who is he
INTRODUCTIONKopdar Python ID Jogja, 4 Februari 2017
INTRODUCTION
Which one is faster
Application
Processor
Algo Code
Kopdar Python ID Jogja, 4 Februari 2017
INTRODUCTION
Which one is more convenient
Compiler
Kopdar Python ID Jogja, 4 Februari 2017
How application running on processor
INTRODUCTION
Application
Algo CodeCompilerProcessor
Kopdar Python ID Jogja, 4 Februari 2017
• High-Level Language
• Middle-Level Language (Assembly Code)
• Low-Level Language (Machine Code)
LANGUAGE ABSTRACTIONKopdar Python ID Jogja, 4 Februari 2017
Source: http://www.phonearena.com/news/Qualcomm-is-still-the-mobile-processor-market-leader-Intel-pretty-close-to-MediaTek_id532
MOBILE PLATFORM WAR
App.
Processor
Kopdar Python ID Jogja, 4 Februari 2017
Application Processor - System on ChipKopdar Python ID Jogja, 4 Februari 2017
SHARE MARKET SMARTPHONE SOCKopdar Python ID Jogja, 4 Februari 2017
QUALCOMM - Snapdragon SoC
ARM
processor
Kopdar Python ID Jogja, 4 Februari 2017
IPHONE – Apple SoC
ARM
processor
Kopdar Python ID Jogja, 4 Februari 2017
MEDIATEK - SoC
ARM
processor
Kopdar Python ID Jogja, 4 Februari 2017
SAMSUNG – Exynos SoC
ARM
processor
Kopdar Python ID Jogja, 4 Februari 2017
NVIDIA SoC
ARM
processor
Kopdar Python ID Jogja, 4 Februari 2017
Why ARM
ARM Processor
ASIP
Jazelle: Java Accellerator
Kopdar Python ID Jogja, 4 Februari 2017
BUSINESS MODEL
Example:� Product: Mi5, LG5, HTC, etc� SoC: Snapdragon 820� Chip Manufac: Samsung� Processor: ARM
Kopdar Python ID Jogja, 4 Februari 2017
PROGRAMMING LANGUAGE
CODING
(Programming Languages)
Processor
Kopdar Python ID Jogja, 4 Februari 2017
PROGRAMMING LANGUAGE
What is the best Programming Language
Kopdar Python ID Jogja, 4 Februari 2017
PROGRAMMING LANGUAGE
What is the mot popular Programming Language
Kopdar Python ID Jogja, 4 Februari 2017
CODING
(Programming
Languages)
Compiled
(Programming)
Intrepreted
(Scripting)
Python, Java, Ruby, Matlab, PHP, JavaScript, R
C, Java, Pascal, Basic, Cobol, Fortran, ADA, Go
PROGRAMMING LANGUAGEKopdar Python ID Jogja, 4 Februari 2017
Compiler- Translasi off-line, - Optimisasi kode baik,- Eksekusi lebih cepat- Lebih rumit bagi programmer
Translator- Translasi on-line, - Tidak ada optimisasi kode,- Eksekusi lebih lambat,- Lebih sederhana bagi programmer- Run anywhere
COMPILER VS INTERPRETERKopdar Python ID Jogja, 4 Februari 2017
COMPILER & INTERPRETER ABSTRACTION
Java
Kopdar Python ID Jogja, 4 Februari 2017
JAVA
Compiler
Interpteter
Kopdar Python ID Jogja, 4 Februari 2017
PYTHON
Compiler Intepreter
Kopdar Python ID Jogja, 4 Februari 2017
Programming Language vs Scripting Language
BossGeneral
Syntax
EmployeeDetail
Syntax
Kopdar Python ID Jogja, 4 Februari 2017
Programming AbstractionKopdar Python ID Jogja, 4 Februari 2017
WHY PYTHON?
�Easy to learn�Nice and readable syntax�Less code�Good community�Makes your life easy
Why
Kopdar Python ID Jogja, 4 Februari 2017
ARTIFICIAL NEURAL NETWORK
ANN is mostly used for Pattern Recognition
Kopdar Python ID Jogja, 4 Februari 2017
ANN with PYTHON
Python Code
Kopdar Python ID Jogja, 4 Februari 2017
Automatic Number Plate Recognition (ANPR)
1. Original Image 2. Edge detection
3. Bin + Morp. Opening + Closing 4. Detected Plate Number
5. Char Segmentation
6. Char Recognition
AB1341YA
Neural
Network
Kopdar Python ID Jogja, 4 Februari 2017
BIOMETRICS – Fingerprint Authentication
1. Original 2. Dir Filter 3. Binarization 4. Thinning 5. Min Extraction
Kopdar Python ID Jogja, 4 Februari 2017
HOW TO IMPROVE PYTHON PERFORMANCEKopdar Python ID Jogja, 4 Februari 2017
CALLING C FROM PYTHON
Python-C-API Ctypes
Wripper.py
Kopdar Python ID Jogja, 4 Februari 2017
� Python adalah salah satu bahasa pemrograman terpoluler saat ini, cocok untuk pengembang aplikasi dengan penekanan pada aspek “rapid development and easy maintenance”.
� Python memiliki sintaks yang mudah sehingga cepat dipelajari/dikuasai oleh orang yang baru belajar sekalipun.
� Efeknya dari fast development time adalah more productifity.
CLOSING STATEMENTKopdar Python ID Jogja, 4 Februari 2017