1. Become a Reliable Web
Programmer
Achmad Solichin | @achmatim
Tangerang, 17-18 April 2018
menjadi programmer handal era kekinian
AMIK BSI Tangerang
2. Achmad Solichin
Dosen - Web Developer - Trainer
@achmatim Achmad Solichin achmatim@gmail.com
slideshare.net/achmatim http://achmatim.net
Universitas Budi Luhur, Jakarta
3. pro·gram·mer
/ˈprōˌɡramər/
noun
• a person who writes computer programs.
• a device that automatically controls the operation of
something in accordance with a prescribed program.
6. Choose your own path
Full stack developerFront-end developer Back-end developer
+ =
7.
8.
9. Tools and Software
Code Editor
AWS Cloud9
Visual Studio Code
Sublime Text
Brackets
Vim
Atom
Notepad++
Good Browser
Mozilla Firefox
Google Chrome
Microsoft Edge
Opera
Image Editor
Adobe Photoshop
Adobe Illustrator
GIMP
Development Tools
SSH
GIT
WinSCP
Composer
FTP Client
DB Client
10. HTML and CSS
Learn before ANYTHING else
Every website use them
Easy and quick to learn
Basic building layout (Grid-based, CSS based)
Responsive is IMPORTANT
11. Javascript [is not Java]
Learn Basic JS [no framework]
Data types, variable, operator, function, loop,
etc.
DOM manipulation [without JQuery]
Ajax / JSON
12. Deploying an online website
Domain and hosting
[start from IDR 10k /month]
Learn basic CPanel
[creating subdomain,
email, file manager, FTP account, etc]
Uploading file and database
[via Cpanel or FTP]
13. Front-end Dev Basic Skills
Build simple websites & UIs [using HTML &
CSS]
Creating logo, banner and some web
component [using Adobe PS or AI]
Creating some dynamic UI [with Javascript]
Join a simple project
14. Where to Next ?
HTML / CSS Framework Bootstrap, Materialize, etc
Front-end JS Framework ReactJS, Angular, etc
Server side technologies Python, PHP, NodeJS, etc
Database MySQL, MongoDB, etc
15. HTML / CSS Framework [pick one]
Materialize CSS
[responsive, material design]
Twitter Bootstrap
[easy, most popular]
Foundation
[advanced, responsive]
Skeleton
[a lightweight boillerplate]
Bulma
[easy to learn syntax, no JS]
Pure CSS
[small and responsive]
16. Javascript Framework [pick one]
React JS [popular for startup, fast]
Angular JS [popular in enterprise, complete]
Vue JS [fast, light, easy to use]
Ember JS [large and small scale web applications]
17. Side Technologies You Should Learn Too
GIT [version control system]
Command Line [old, but you will need it someday]
API / REST
HTTP / SSL
Composer [PHP], PyPi [Python], Gradle [Java]
Webpack, Babel, NPM, etc
Web Server [Apache, nginx]
18. Composer
Composer is a tool for
dependency management in
PHP. It allows you to declare the
libraries your project depends
on and it will manage
(install/update) them for you
19. Server Side Technologies [pick one]
Node.js [fast, scalable, powerfull]
Python [popular, rapid development, integration]
PHP [easy, practical, every body knows]
Ruby [rapid development, strong community]
20. Database [choose one]
MongoDB [NoSQL, non-relational, recommended for Node.js]
MySQL [free, popular, easy to use, best couple for PHP]
PostgreSQL [powerfull but a bit difficult for beginners]
SQL Server [Microsoft support]
Oracle [used by large enterprise, expensive]
Firebase [cloud database maintained by Google]
21. Server side Framework [choose one]
Javascript [Express for Node.js, Hapi.js, Adonis, etc]
Python [Django, Flask, Pylons, etc]
PHP [Laravel, CodeIgniter, Symfony, Yii2, etc]
Ruby [Ruby on Rails, Sinatra, Nitro, etc]
C# [.Net Framework]
22. You are a Full-stack Developer!
Create a simple to complex website [back-end and front-end]
Create secure REST APIs
Deploy and maintain applications
Administer databases
Full stack developer
24. Sebuah Proses…
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016
BELAJAR : MEMBANGUN KEMAMPUAN DIRI
BEKERJA : MEMBANGUN PENGALAMAN
BERBAGI : MEMBANGUN
JEJARING
26. Belajar : Lingkungan PHP
• Pahami konsep aplikasi berbasis web
• Webserver
• Browser
• Client Side:
• HTML
• CSS
• Javascript
• Jquery
• Server Side: PHP
• Database: MySQL
27. Belajar : Editor
• Front Page
• Notepad
• Dreamweaver
• NuShere PHP ED
• Zend Studio
• Gedit
• Geany
• Sublime Text
28. Belajar : Dasar PHP
• Hello World
• Variabel dan Konstanta
• Tipe Data
• Operator
• Komentar
• Single Quote (‘) vs Double
Quote (“)
29. Belajar : Dasar PHP
• Hello World
• Variabel dan Konstanta
• Tipe Data
• Operator
• Komentar
• Variable of Variable
31. Belajar : Struktur Kondisi dan Perulangan
• Struktur Kondisi:
• IF
• IF…ELSE…
• (…)? :
• SWITCH…CASE
• Struktur Perulangan
• FOR
• WHILE
• DO…WHILE…
• FOREACH
32. Belajar : Penanganan Form
• Metode:
• POST
• GET
• Form Action
• Halaman sama
• Halaman berbeda
• Jenis-jenis inputan
33. Belajar : Pemrograman Dasar di PHP
• Array
• String
• Tanggal dan Waktu
• File dan Direktori
• Membuat Fungsi
• Penyimpanan File
• Session
• Cookie
• Database
• Prosedural
• OOP-Style
• Koneksi Database
• Abstraction Layer DB
• mysql* vs mysqli*
• Laporan HTML
• Laporan PDF
• Laporan Excel
• Laporan Grafik
• dll
38. Tidak boleh egois
#WebDeveloper tidak boleh
egois, tidak semua
pekerjaan bisa dikerjakan
sendiri. Bekerjalah dalam
sebuah tim
Bekerja dalam tim artinya
harus mau belajar bersama,
saling berbagi ilmu, share
pengetahuan. Demi
selesainya pekerjaan
39. Bertanggung jawab dengan
pekerjaan yang dibebankan
kepadanya. Bagaimana pun
caranya, pekerjaan harus
dihadapi & selesaikan
Jika ada bugs dengan
program yang Anda tangani,
berusahalah sekuat tenaga
agar bugs tersebut bisa
teratasi.
Bertanggung jawab
40. Terbuka terhadap kritikan,
karena tidak ada program yg
sempurna. Software without
bugs is impossible to write.
Terima kritik & masukan
sebagai bahan baku
memperbaiki pekerjaan kita,
seringkali ide justru muncul
dari orang lain.
Terbuka terhadap kritik dan masukan
41. #WebDeveloper profesional memiliki etos
kerja yang kuat. Tahan banting.
Jam kerja seorang #WebDeveloper tidak
seperti karyawan kantoran yang bekerja
hanya pada jam 8 pagi sampai 4 sore.
Terkadang #WebDeveloper harus bekerja
melebihi jam kantoran, terutama kalau udah
dikejar deadline.
Kuncinya, hadapi dengan semangat kerja
yang tinggi, jangan menunda pekerjaan yang
bisa dikerjakan saat ini.
Memiliki etos kerja yang kuat