Dasar Python -4

Percabangan, dalam python dikenal juga percabangan if,else. Contohnya ada 3 percabangan:

a. If A then B (Jika memenuhi kondisi A, maka lakukan B, jika tidak maka tidak terjadi apa2)

b. IF A then B else C (Jika memenuhi kondisi A, maka lakukan B, jika tidak maka C

c. IF A, then B, ELSE IF C then D else E (jika memenuhi kondisi A, maka lakukan B, jika tidak, maka cek apakah memenuhi kondisi C maka lakukan D, jika tidak maka lakukan E.

contoh:

a=4
if(a==4) print("ini adalah 4")

bila dijalankan maka akan mengeluarkan output “ini adalah 4” sementara bila variabel a kita ganti menjadi angka lain, maka tidak akan menghasilkan output apapun

a=4
if(a==4) print ("ini adalah 4") else print("bukan 4")

Pada contoh diatas, telah ditambahkan perintah else…. sehingga bila variabel a kita ganti, dia akan menampilkan teks “bukan 4”

a=4

if(a==4):
     print("ini adalah 4")
elif(a>4):
     print("lebih besar dari 4")
else:
     print("lebih kecil dari 4")

Nested IF: fungsi IF dapat digunakan untuk menguji lebih dari 1 kondisi. contoh:

if ( a<4 && i <1)

Semoga Bermanfaat!

referensi:

https://academy.dqlab.id/

Bibi Gil – Tere Liye

Saya baru beres baca buku bibi gil karya tere liye. Buku ini bercerita tentang Bibi Gil, gurunya miss Selena di Akademi Bayangan. Dia yang mengajarkan miss selena jadi pengintai handal. Buku ini kelanjutan kisah Si putih. Di akhir buku si putih, nou dan si putih terpisah dan dikejar oleh Raja timur dan naganya. Nah mereka dibantu sama Bibi Gil. Bibi gil sedang dalam pertualangan mencari naga yang bisa bonding dengan dia. Untuk mengalahkan musuhnya si mahluk malam.

Disini kita ketemu lagi dengan pak tua. Ternyata pak tua walaupun berbadan besar dan naik kursi roda memiliki kekuatan unik. Dia, bersama si putih menemani bibi gil dalam pertualangannya mencari naga. Seru banget buku ini. Bibi Gil ini punya teknik pukulan es yang keren. Mereka nanti bertarung untuk menyelamatkan klan polaris minor. Trus ada flashback juga kisah sedih Bibi Gil yang dikejar2 oleh mahluk malam. Oiya ada bab bonus juga di buku ini yang bercerita tentang ily. Petarung klan bulan yang bantuin raib dan temen2nya waktu mereka bertualang ke klan matahari. O,iya buku ini baru ada di google books.Keren bang Tere bukunya. Selamat membaca!

Bahasa R dasar

Saya lagi belajar bahasa R. Bahasa R ini adalah salah satu bahasa pemrograman standar dan banyak digunakan di machine learning, selain python. Bahasa R adalah nama bahasa pemrogramanan untuk pengolahan data dan grafik. Awalnya R banyak digunakan oleh para ahli statistik. Beberapa kelebihan bahasa R:

  1. Banyak pilihan untuk pengolahan data dan banyak fitur dari machine learning sampai grafik
  2. Lebih cepat untuk mengolah data
  3. Gratis dan open source

Bahasa R contohnya telah digunakan di perusahaan besar seperti Uber, AirBnB, Microsoft dan Facebook untuk analisa data.

Contoh:

Menuliskan “Hello world” langsung saja ketik Hello world dengan diapit tanda petik dua, tidak perlu printf

"Hello World"

untuk perhitungan juga bisa langsung ditulis pada code. Contohnya

5+4

Untuk menuliskan variabel a dan menampilkan isi variabel, contohnya sebagai berikut:

a=4
print(a)

Untuk menuliskan comment dengan menggunakan # . Contoh

5+4 #ini adalah komentar

atau

#ini adalah komentar
5+4

Vektor adalah struktur data yang dapat menyimpan banyak data. Contohnya

b(4,8,15)

untuk menyimpan angka berurutan dalam satu vektor contohnya sebagai berikut:

b(1:10)

Ada banyak fungsi di R yang keren. Contohnya fungsi summary

summary(b(1:10)

maka outputnya akan menampilkan:

Min = angka terkecil

max= angka terbesar

Median= nilai tengah

Mean: rata2

1st Qu : seperempat pertama dari data

3rd Qu: tiga perempat dari data

Sampai disini dulu semoga Bermanfaat!

Referensi

https://en.wikipedia.org/wiki/R_(programming_language)

https://academy.dqlab.id/

Materi Kuliah Machine Learning

Saya lagi cari materi kuliah machine learning. Karena lagi belajar dasar tentang machine learning. Ada banyak kampus ternyata yang share materi menarik tentang machine learning. Setelah browsing2 nemu materi kuliah machine learning yang keren dan lengkap. Yaitu materi kuliah machine learning dari kampus Carnegie Melon. Dosennya Tom Mitchell. Tom Mitchel ini penulis buku textbook machine learning.

Materinya lengkap ada slide, video dan PR juga. Topik bahasannya dimulai dari Introduction, Decision tree, Bayes, regression, Model Grafis, Gaussian, Semi-supervised Learning, Hidden Markov Model, Neural Network, ANN, Kernel Method dan SVM, dan Reinforcement Learning.

Materinya bisa dilihat pada link berikut:

http://www.cs.cmu.edu/%7Etom/10701_sp11/lectures.shtml

Tentang dosennya bisa dilihat disini:

http://www.cs.cmu.edu/~tom/

Semoga Bermanfaat!

Dasar python -3

Untuk menggunakan library di python, digunakan perintah berikut:

import nama_library
import nama_library as alias

contoh:

import math
import numpy as np
import pandas as pd
import seaborn as sns

Penjumlahan, pengurangan pembagian, perkalian dan perpangkatan di python bisa langsung menggunakan operator matematika. Contoh jalankan perintah berikut:

a=10
b=20
print (a+b)
print(a-b)
print(a*b)
print(a/b)
Print(a^b)

Perintah print() bisa digunakan untuk menampilkan strings dan variabel. Contoh:

print("Hello,world")
a=10
print(a)
print(f"The value of a is {a}")

Dalam python variabel tidak perlu dideklarasikan tipenya. Contoh:

a=5 
b= 2.2
c="hello"
print(f"a is {type(a)}")
print(f"b is {type(b)}")
print(f"c is {type(c)}")
print(f"a is {a}")
print(f"b is {b}")
print(f"c is {c}")

Selain itu ada juga modulo (%) yaitu sisa dari pembagian contoh:

sisa=20%6
print(sisa)

Semoga Bermanfaat!

Dasar Python -2

Tipe data di python:

  1. None
  2. Numerik
  3. Boolean
  4. Sequence
  5. Set
  6. Map
  1. None: hanya memiliki satu nilai yaitu none
  2. Numerik ada 2 :

int: seluruh bilangan bulat;

contoh: -10; -5, 0; 2; 120

Konversi tipe data: gunakan fungsi int() Contoh:

int(4,.3)-->4
int("7")-->7

float: seluruh bilangan riil, yaitu bilangan yang dapat ditulis dalam bentuk desimal. Atau bilangan yang mempunyai koma

Contoh; -8.51; 0.3612; 12.78 ;

gunakan fungsi float(); contoh :

float (4)--> 4.0 
float("8.45")--> 8.45

3. Boolean: bool; hanya memiliki dua nilai True bernilai 1 dan False bernilai 0;

Gunakan fungsi bool(); contoh:

bool(1)--> True
bool(0)--> false

4. Sequence: ada tiga macam

str: tipe data teks yang dapat berupa huruf, kata, frasa, kalimat atau paragraf yang diapit oleh tanda petik satu ‘ atau tanda petik 2″ ;

contoh: “a” ; ‘d’;’kamu’;”Saya belajar Python”; “Mari makan soto ayam” . Untuk konversi Gunakan fungsi str():

contoh:

str(4.6)-->"4.6" 
str([2,'pulpen'])-->"[2,'pulpen']"

list: urutan bilangan dan teks yang diapit oleh kurung siku dan masing-masing elemennya dipisahkan dengan koma. list bisa menyimpan berbagai tipe data, dan isinya bisa diubah2.

Contoh: [-9.52,None,True,”saya”] ;

untuk konversi data gunakan fungsi list();

contoh:

list("pulpen")-->['p','u','l','p','e','n'] 
list((2,4,6))-->[2,4,6]  
list({2,4,6,2})-->[2,4,6]

tuple: urutan bilangan teks yang diapit oleh kurung biasa dan masing-masing elemennya dipisahkan dengan koma. tuple bisa menyimpan berbagai tipe data, tapi isinya tidak bisa diubah.

Contoh: (-8.43, None, True,”saya”).

Untuk konversi gunakan fungsi tuple().

Contoh:

tuple("buku")-->('b','u','k','u'); 
tuple((1,2,3))-->(1,2,3); 
tuple({1,3,6,3})-->(1,3,6)

5. set: urutan bilangan dan teks yang diapit oleh kurung biasa dan masing-masing elemennya dipisahkan dengan koma. Setiap elemennya bernilai unik. Contoh:{2,4,4,6} –> {2,4,6} .

untuk konversi gunakan fungsi set().

Contoh:

set("buku")-->['b','k','u']; 
set((2,4,6))-->{2,4,6}.
set{[2,4,6,4])-->{2,4,6}

Dictionary : urutan data yang menyimpan berbagai tipe data berupa pasangan penunjuk dan nilai. Contohnya:

{‘nama’:’adi’,’id’:2}

Semoga bermanfaat!

Referensi:

introduction to data science with python

https://academy.dqlab.id/

Dasar Python – 1

Python adalah bahasa pemrograman yang high-level programming language maksudnya mudah untuk dibaca dan diapahami oleh manusia. Karena menggunakan perintah yang dengan bahasa manusia. Python disebut juga general-purpose programming language, karena bisa digunakan untuk berbagai macam kegunaan seperti: pengembangan aplikasi web ataupun mobile, data science, dll. Bahasa  pemrograman  Python  diciptakan  oleh  Guido  van Rossum  tahun 1991 sebagai sebuah proyek open-source.

Beberapa library python:

  1. Numpy (numerical python): library untuk pendefinisian array baik 1D, 2D, 3D atau nD, dan fungsi-fungsi untuk aljabar linier.
  2. Scipy (Scientific Python) : library untuk keperluan komputasi saintifik seperti keperluan aljabar linier, integral dan diferensil, transformasi Fourier, optimasi, interpolasi, statistik dan yang lainnya.
  3. Pandas : library untuk pengolahan data dalam bentuk tabel (seperti excel). Dapat mengolah data dari berbagai file CSV, TSV, Excel, SQL query, Google BigQuery, SAS, Stata, SPSS, dsb.
  4. Matplotlib : untuk visualisasi dari data ke dalam berbagai bentuk grafik 2D atau 3D, seperti line chart, bar chart, histogram, polar chart, error bar plot, dll
  5. Scikit-learn : untuk menghasilkan model predictive dengan menggunakan machine learning.
  6. Seaborn : library dari matplotlib yang ditujukan oleh visualisasi grafik statistik yang berwarna.

Struktur bahasa python:

  1. Statement: instruksi yang diberikan baris per baris untuk dijalankan program
  2. Variabel: deklarasi data atau informasi yang akan dipake
  3. Literals: data atau informasi yang digunakan untuk mengisi suatu variabel
  4. Operator: simbol matematika untuk mengubah nilai variabel. Bisa menggunakan satu atau lebih variabel dan literal.
  5. Reserved Words: kumpulan kata yang tidak dapat digunakan untuk variables dan literals
  6. Whitespace: spasi dan tab untuk menandai blok
  7. Comments: komentar atau teks buat jelasin codingan. Komen ini gak bakal dijalanin sm program

Contoh kode hello world di python:

print("Hello World.")

Penulisan Variabel:

  1. Nama dari sebuah variabel harus dimulai dengan huruf (a-z, A-Z) 
    atau karakter garis bawah underscore (_) dan tidak dapat dimulai dengan angka (0-9).
  2. Variabel hanya boleh mengandung karakter alfabet dan bilangan dan underscore 
    (a-z, A-Z, 0-9, _)
  3. Variabel bersifat case-sensitive yang mengartikan bahwa 
    variabel TINGGI, tinggi, dan Tinggi merujuk pada tiga variabel berbeda.

Contoh penulisan variabel

bilangan1=5
Bilangan_2=10
Frasa=”Halo Dunia”
bilangan1, Bilangan_2=5,10
salam=”Selamat Pagi”; Penutup=”Salam Sejahtera”

Comments:

untuk single line menggunakan # ; contoh:

#perintah pada baris ini tidak akan dijalankan oleh python

untuk multi line menggunakan ”’ diakhiri dengan ”’

''' perintah pada baris ini tidak akan dijalankan python 
perintah pada baris ini juga tidak dijalankan python '''

komentar alias comment ini penting untuk menjelaskan code kita

reference:

introduction to Data science with python

https://academy.dqlab.id/

Belajar tentang celah keamanan android

Android sekarang jadi salah satu sistem operasi yang paling populer. Buat para satpam yang berminat belajar tentang celah keamanan android alias vulnerability atau kerentanan, berikut ini ada beberapa website yang menyediakan tutorial tentang kerentanan Android:

1. Android Application Security Series
https://manifestsecurity.com/android-application-security/
2. Android Forensics & Security Testing
http://opensecuritytraining.info/AndroidForensics.html
3. Introduction to ARM
http://opensecuritytraining.info/IntroARM.html
4. Infosec Institute
http://www.androidpentesting.com
5. Learning Android Bytecode
https://mariokmk.github.io/…/06/learning-android-bytecode.h…

Kerentanan tuh maksudnya celah keamanan, yang sering dimanfaatkan atau dieksploitasi oleh hacker. Jadi kayak pintu masuk buat hacking. Kerentanan biasanya dieksploitasi menggunakan skrip hacking. Skrip ini seringkali dikemas dalam bentuk malware. Dalam kasus android, malwarenya biasanya dibungkus (packing) dalam bentuk aplikasi yang dishare dalam bentuk APK.

Buat belajar lebih dalam tentang kerentanan android, daftar kerentanan Android bisa dilihat pada link berikut ini:

1. Android Vulnerabilities
http://androidvulnerabilities.org/ Daftar vulnerability alias kerentanan disini udah disortir berdasarkan Manufaktur, versi dan tahun.

2. Android CVE Details
https://www.cvedetails.com/vulnerability-list/vendor_id-1224/product_id-19997/Google-Android.html

3. Android Vulnerability & Exploit
https://docs.google.com/spreadsheets/d/13GXrCL9Q-V-pOKQThSKnS03SSuDe4hVRDfr9FZQIHO8/pub?single=true&gid=0&output=html

Silahkan dipelajari, jangan digunakan untuk hal ilegal ya. Semoga Bermanfaat!

Bacaan tentang Android security

Ada temen yang share materi di grup beberapa bahan bacaan tentang Android Security berikut ini:

1. Analysis of Secure Key Storage Solutions on Android
https://www.cs.ru.nl/E.Poll/papers/AndroidSecureStorage.pdf

2. ATTACKING THE LINUX PRNG ON ANDROID
https://www.usenix.org/…/conference/woot14/woot14-kaplan.pdf

3. Android OEM’s applications (in)security and backdoors without permission
http://www.quarkslab.com/…/Android-OEM-applications-insecur…

4. Attacks on Android Clipboard
http://www.cis.syr.edu/…/pap…/clipboard_attack_dimva2014.pdf

5. A Study of Android Application Security
http://www.cs.rice.edu/%7Esc40/pubs/enck-sec11.pdf

6. Attacks on Webview in the Android System
http://www.cis.syr.edu/…/Resear…/paper/webview_acsac2011.pdf

7. Gues who’s is Texting you?Evaluating Security of Smartphone Messaging Applications
https://www.sba-research.org/…/publicati…/ndss2012_final.pdf

8. Evaluations of Security Solutions for Android Systems
http://arxiv.org/ftp/arxiv/papers/1502/1502.04870.pdf

9. Why Eve and Mallory Love Android: An Analysis of Android SSL (In)Security
http://www2.dcsec.uni-hannover.de/files/android/p50-fahl.pdf

10. The Impact of Vendor Customizations on Android Security
https://www.cs.ncsu.edu/faculty/jiang/pubs/CCS13.pdf

11. The Peril of Fragmentation: Security Hazards in Android Device Driver Customizations
http://www.cs.indiana.edu/%7Ezhou/files/sp14_zhou.pdf

12. An Empirical Study of Cryptographic Misuse in Android Applications
http://www.cs.ucsb.edu/%7Ec…/research/…/ccs13_cryptolint.pdf

13. Android Permissions:User Attention, Comprehension, and Behavior
http://www.guanotronic.com/%7Ese…/papers/soups12-android.pdf

14. AppsPlayground: Automatic Security Analysis of Smartphone Applications
http://www.cs.northwestern.edu/%7Eychen/…/AppsPlayground.pdf

15. Understanding and Improving App Installation Security Mechanisms through Empirical Analysis of Android
http://users.encs.concordia.ca/%7Eclark/papers/2012_spsm.pdf

16. Android Malware Situation
https://www.incibe.es/…/Estud…/android_malware_situation.pdf

17. PowerSpy: Location Tracking using Mobile Device Power Analysis
http://arxiv.org/pdf/1502.03182v2

18. EdgeMiner: Automatically Detecting Implicit Control Flow Transitions through the Android Framework
http://yinzhicao.org/EdgeMiner/2015_ndss_edgeminer.pdf

19. Detecting Passive Content Leaks and Pollution in Android Applications
http://www.yajin.org/papers/ndss13_contentscope.pdf

20. DIVILAR: Diversifying Intermediate Language for Anti-Repackaging on Android Platform
http://www.yajin.org/papers/codaspy14_divilar.pdf

21. RiskRanker: Scalable and Accurate Zero-day Android Malware Detection
http://www.csc.ncsu.edu/faculty/jiang/pubs/MOBISYS12.pdf

22. DroidMOSS: Detecting Repackaged Smartphone Applications in Third-Party Android Marketplaces
http://www.csc.ncsu.edu/faculty/jiang/pubs/CODASPY12.pdf

23. Dissecting Android Malware: Characterization and Evolution
http://www.yajin.org/papers/oakland12_sok.pdf

24. Hey, You, Get off of My Market: Detecting Malicious Apps in Official and Alternative Android Markets
http://www.csc.ncsu.edu/facul…/…/pubs/NDSS12_DROIDRANGER.pdf

25. Systematic Detection of Capability Leaks in Stock Android Smartphones
http://www.csc.ncsu.edu/faculty/…/pubs/NDSS12_WOODPECKER.pdf

26. Fast, Scalable Detection of “Piggybacked” Mobile Applications
http://www.csc.ncsu.edu/faculty/jiang/pubs/CODASPY13.pdf

27. Leaving our ZIP undone: how to abuse ZIP to deliver malware apps
https://www.virusbtn.com/…/confe…/vb2014/VB2014-Panakkal.pdf

28. Forensic Analysis On Android: A Practical Case
https://www.sans.org/…/forensic-analysis-android-practical-…

29. A Machine Learning Approach to Android Malware Detection
http://www.utdallas.edu/~lkhan/papers/06298824.pdf

30. Cross Site Scripting Attacks on Android Webview
http://arxiv.org/ftp/arxiv/papers/1304/1304.7451.pdf

31. Autonomous smartphone apps: self-compilation, mutation, and viral spreading
http://arxiv.org/abs/1511.00444

32. BareDroid: Large-Scale Analysis of Android Apps on Real Devices
http://cs.ucsb.edu/~y…/publications/2015_acsac_baredroid.pdf

Semoga bermanfaat.

Materi Kuliah Deep Learning

Kemaren ada temen yang share materi kuliah Deep Learning di grup. Materi ini adalah materi kuliahnya UC Berkeley, dosennya Alexander Smola dan Mu Li. Materinya cukup lengkap mulai dari dasar Deep Learning, multilayer perceptron, backpropagation, automatic differentiation, dan stochastic gradient descent. Kemudian ada juga materi convolutional networks untuk image processing,mulai dari arsitektur LeNet, ResNet dan model yang lebih canggih.

Kemudian dibahas juga tentang sequence models dan recurrent networks, seperti LSTMs, GRU, dan mekanisme attention. Untuk implementasinya dibahas juga tentang optimasi, dan scalability, misalnya dengan banyak GPUs dan banyak mesin. Referensi utama kuliah ini adalah buku  Dive into Deep Learning .

Materi kuliahnya bisa dilihat disini:

https://courses.d2l.ai/berkeley-stat-157/syllabus.html

Semoga bermanfaat!