Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... ·...

30
Mobile Programming Python Script SL4A & Basic Python Script

Transcript of Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... ·...

Page 1: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Mobile ProgrammingPython ScriptSL4A & Basic Python Script

Page 2: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Tentang SL4A• SL4A (The Scripting Layer for Android) : Aplikasi open

source yang memungkinkan bahasa pemrograman intepreter dapat berjalan di Android

• SL4A juga memungkinkan program untuk berinteraksi dengan API (high level) di peralatan Android, sehingga memudahkan untuk mengakses data dari sensor, mengirim SMS dan lain sebagainya.

• SL4A memungkinkan bahasa script diedit, dijalankan dan digunakan secara interaktif melalui intepreter secara langsung pada peralatan Android,

Page 3: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Script yang bisa SL4A• SL4A saat ini mendukung untuk bahasa

pemrograman script berikut;▫ Python, ▫ Perl, ▫ Ruby, ▫ Lua, ▫ BeanShell, ▫ JavaScript, dan ▫ Tcl

Page 4: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Overview Arsitektur SL4A

Page 5: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Menulis Script Python pada SL4A• Script dapat ditulis pada perangkat android seperti

layaknya kita tulis pada komputer untuk melakukan banyak hal.

• Untuk mengakses API android kita harus menuliskan perintah berikut.

• Python:import androiddroid = android.Android()

Atau

import sl4aDroid = sl4a.Android()

Page 6: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Contoh Hello World

import androiddroid = android.Android()nama = droid.dialogGetInput(“Form Masukan", “Nama Anda?");

droid.makeToast("Hello World" + "Are You " + nama.result)

Page 7: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Basic Python Script• print

perintah untuk menampilkan di konsol

#dibawah ini adalah contoh penggunaan perintah printprint (“Hello I’m Scripting Programming Language”)print (“Tulisan ini tampil di konsol”)print (“I don’t like ‘error’ in my script”)print (‘Kecuali kalau “baru” belajar’)

Page 8: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Operator Matematika pada Python

+ Penambahan- Pengurangan/ Pembagian* Perkalian% Sisa hasil pembagian< Lebih kecil dari> Lebih besar dari<= Lebih kecil sama dengan>= Lebih besar sama dengan

Page 9: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Contoh Penggunaan Operator Matematika pada Python

print ("Saya menghitung ayam:") print ("Ayam betina", 25 + 30 / 6) print ("Ayam Jago", 100 - 25 * 3 % 4) print ("Sekarang menghitung jumlah telur:“) print (3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6) print ("Apakah benar bahwa 3 + 2 < 5 - 7?“) print (3 + 2 < 5 – 7) print ("Berapakah 3 + 2 ?", 3 + 2)

Page 10: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

String & Teks• Penulisan String atau Teks di dalam double quote (tanda

kutip dua).Contoh: print (“Tulisan ini string”)x = “Jumlah telur 10 butir”print ( x )

• Kombinasi string, angka dan variabelDigunakan untuk menggabungkan suatu string dengan angka atau variabel.

Contoh: print(“Jumlah telur %d butir” % 10)telur = 10unggas = “bebek”print(“Jumlah telur %d butir dari %s semua” % (telur,unggas))

Page 11: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

String Format OperatorFormat Symbol Conversion

%c character

%s String (converts any python object using str()).

%r String (converts any python object using repr()).

%d signed decimal integer

%u unsigned decimal integer

%f floating point real number

Page 12: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Escape Character untuk String

Escape Char Hasil

\\ Backslash (\)

\' Single- quote (')

\" Double- quote (")

\b ASCII backspace (BS)

\t ASCII horizontal tab (TAB)

\n ASCII linefeed (LF)

\f ASCII formfeed (FF)

\r ASCII carriage return (CR)

\a ASCII bell (BEL)

\N{name} Character named name in the Unicode database (Unicode only)

Page 13: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Input Melalui Konsol• input() untuk membaca masukan melalui

konsol

Contoh:age = input ("Usia anda?")print ("Ternyata usia anda %s tahun", % age)

Mengapa menggunakan %s bukan %d ?

input( ) merekam masukan user dalam bentuk string, untuk merubahnya menjadi integer gunakan int()

Page 14: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Input Melalui Konsol• input()

Contoh:age = input("Usia anda? ")print ("Ternyata usia anda %s tahun " % age)age = int(age, base=10)age = age + 4print ("Tahun 2020 usia anda %d tahun " % age)

int() untuk merubah string angka menjadi angkaSyntax:int(str, base=10)str variabel atau string angkabase=10 menandakan bilangan bulat

Page 15: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Membuka File teks• Fungsi-fungsi yang digunakan:open(<namaFile>).read( )

Contoh:namaFile = “/storage/sdcard0/documents/fileTeks.txt"txt = open(namaFile)print (txt.read())

Nama file: fileTeks.txtLokasi file: /storage/sdcard0/documents/

Page 16: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Menulis ke File teks• Fungsi-fungsi yang digunakan:open(<namaFile>, ‘w’).write(<strTulisan> )

Contoh:namaFile = “/storage/sdcard0/documents/fileTeks.txt"txt = open(namaFile, ’w’)tulisan=input(“Teks yang akan ditulis :\n”)txt.write(tulisan)

‘r’ dibaca isinya‘w’ ditulis baru isinya‘a’ ditambahkan isinya

strTulisan variable / String yang akan ditulis pada file teks

Nama file: fileTeks.txtLokasi file: /storage/sdcard0/documents/

Page 17: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Selection pada Python• Selection dengan ifif <kondisi>:

<statement_kondisi_terpenuhi>

Contoh:manusia=20kucing=15if manusia<kucing:

print(“Kucing lebih banyak dari manusia”)if manusia>kucing:

print(“Manusia lebih banyak dari kucing”)

Page 18: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Selection pada Python• Selection dengan if

Contoh:manusia=int(input("Jumlah manusia: "), base=10)kucing=int(input("Jumlah kucing: "), base=10)

if manusia<kucing:print("Kemungkinan ada kucing liar")

if manusia>kucing:print("Kemungkinan ada manusia yang tidak memelihara kucing")

Page 19: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Selection pada Python• Selection dengan if… else…if <kondisi>:

<statement_kondisi_terpenuhi>else:

<statement_kondisi_tidak terpenuhi>

Contoh:manusia=20kucing=15if manusia<kucing:

print(“Kucing lebih banyak dari manusia”)else:

print(“Manusia lebih banyak dari kucing”)

Page 20: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Selection pada Python• Selection dengan if… else…

Contoh:manusia=int(input("Jumlah manusia: "), base=10)kucing=int(input("Jumlah kucing: "), base=10)

if manusia<kucing:print("Kemungkinan ada kucing liar")

else:print("Kemungkinan ada manusia yang tidak memelihara kucing")

Page 21: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Selection pada Python• Selection dengan if… elif… else…

if <kondisi1>:<statement_kondisi1_terpenuhi>

elif <kondisi2>:<statement_kondisi1_tdk_terpenuhi_kondisi2_terpenuhi>

else:<statement_kondisi1_dan_kondisi2_tdk_terpenuhi>

Contoh:manusia=20kucing=15if manusia<kucing:

print(“Kucing lebih banyak dari manusia”)elif manusia>kucing:

print(“Manusia lebih banyak dari kucing”)else:

print(“Manusia sama banyaknya dengan kucing”)

Page 22: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Selection pada Python• Selection dengan if… elif… else…

Contoh:manusia=int(input("Jumlah manusia: "), base=10)kucing=int(input("Jumlah kucing: "), base=10)

if manusia<kucing:print("Kemungkinan ada kucing liar")

elif manusia>kucing:print("Kemungkinan ada manusia yang tidak memelihara kucing")

else:print(“Kemungkinan satu manusia memelihara satu kucing”)

Page 23: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Perhatikan Indent …!!

Blok Kode pada Python• Python tidak menggunakan simbol untuk menentukan suatu blok kode.

• Pada python suatu blok kode dikenali melalui indent, jadi suatu blok kode harus memiliki indent yang sama agar dianggap sebagai satu blok.

Contoh:manusia=20kucing=15if manusia<kucing:

print(“Kucing lebih banyak dari manusia”)print(“Kemungkinan banyak kucing liar”)print(“atau ada manusia yang pelihara lebih dari 1 kucing”)

if manusia>kucing:print(“Manusia lebih banyak dari kucing”)print(“Pastinya ada yang tidak pelihara kucing”)

Page 24: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Perhatikan Indent …!!

Blok Kode pada PythonContoh:

manusia=int(input("Jumlah manusia: "), base=10)kucing=int(input("Jumlah kucing: "), base=10)

if manusia<kucing:print(“Kucing lebih banyak dari manusia”)print(“Kemungkinan banyak kucing liar”)print(“atau ada manusia yang pelihara lebih dari 1 kucing”)

elif manusia>kucing:print(“Manusia lebih banyak dari kucing”)print(“Pastinya ada yang tidak pelihara kucing”)

else:print(“Jumlah manusia sama dengan jumlah kucing”)print(“Kemungkinan satu manusia memelihara satu kucing”)

Page 25: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Lists dan Loops (Perulangan)• For loops dan List pada python• List

Contoh penulisan list:rambut= [‘putih', ‘coklat', ‘hitam']mata = [‘coklat', ‘biru', ‘hitam'] nilai = [1, 2, 3, 4]

• Menambah isi list<namaList>.append(<nilai>)

• For loop untuk listsfor <varTampung> in <varList>:

Contoh:rambut=['putih', 'coklat', 'hitam']rambut.append('kelabu')for warnaRambut in rambut:

print(warnaRambut)

Page 26: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Loops (Perulangan)• Loops dan List pada python• List

Contoh:rambut= [‘putih', ‘coklat', ‘hitam']mata = [‘coklat', ‘biru', ‘hitam'] nilai = [1, 2, 3, 4]

• For loop untuk lists

for <varTampung> in <varList>:

Contoh:rambut=['putih', 'coklat', 'hitam']for warnaRambut in rambut:

print(warnaRambut)

Page 27: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Loops (Perulangan)• For loop dengan range

for <varTampung> in range(awal, akhir):

Contoh:print(“loop dengan list”)angka=[1,2,3,4]for i in angka:

print(“perulangan ke-%d” % i)

print(“Sekarang dengan range”)for x in range(0, 6):

print(“perulangan x ke-%d” % x)print(“Selesai”)

Page 28: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Loops (Perulangan)• while loopswhile <kondisi>:

<statement yg diulang>

Contoh:i=0while i<5:

print(“Perulangan ke-%d” % i)i=i+1

Page 29: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Function pada Python

Page 30: Mobile Programming - UPJocw.upj.ac.id/files/Slide-SIF406-2-3-Python-Script-Intro... · 2019-08-23 · Augury El Rayeb, S.Kom., MMSI. Mobile Device Programming Technology (Python Script)

Augury El Rayeb, S.Kom., MMSI.Mobile Device Programming Technology (Python Script) | IST205

Terima Kasih