Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Belajar Pemrograman kotlin platform android
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Muhammad Fahmi Hidayah
September 21, 2019
Programming
30
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Belajar Pemrograman kotlin platform android
Belajar Pemrograman kotlin platform android
Muhammad Fahmi Hidayah
September 21, 2019
Other Decks in Programming
See All in Programming
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
460
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
590
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
150
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
640
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
R8 の設定見直しでアプリサイズ削減
andpad
0
220
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
450
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
Color Theory Basics | Prateek | Gurzu
gurzu
1
490
Crafting Experiences
bethany
1
380
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
950
GitHub's CSS Performance
jonrohan
1033
470k
The SEO Collaboration Effect
kristinabergwall1
1
590
Making Projects Easy
brettharned
120
6.8k
Transcript
BELAJAR PEMROGRAMAN KOTLIN PLATFORM ANDROID Muhammad Fahmi Hidayah Android Engineer
Pixil
PENGENALAN
PENGENALAN KOTLIN ➤ Dasar-dasar variable (Kata Benda) ➤ Fungsi (Kata
Kerja) ➤ Percabangan (if…else, when) ➤ Perulangan (for)
VARIABLES AND CONSTANTAS DECLARATION var yourName : String = ""
var yourNumber : Int = 0 var yourMoney : Double = 0.0 var nullableName : String ? = null $POTUBOUBT val MINIMUM_AGE : Int = 18 val DEFAULT_COUNTRY_NAME : String = "INDONESIA" 7BSJBCMFT /VMMBCMF7BSJBCMF
FUNGSI DAN METHOD fun log(deskripsi : String) { println("Default Log
: $deskripsi") } fun tambah(nilaiSatu : Int = 0, nilaiDua : Int = 0) : Int { return nilaiSatu + nilaiDua } fun testMethod() { println("hello world") }
PERCABANGAN fun checkScore(score : Float = 0.0f) : String {
if(score <= 40) { return "Nilai jelek" } else if(score > 40 && score <= 60) { return "Lumayan" } else { return "Bagus" } } JGFMTF XIFO fun checkScore(score : Float = 0.0f) : String { when { score <= 40 -> return "Nilai jelek" score > 40 && score <= 60 -> return "Lumayan" else -> return "Bagus" } }
PERULANGAN fun loopThis() { for(i in 0..10) { println("data index
$i") } } fun loopArray() { var arrayList : MutableList<String> = ArrayList() for(name in arrayList) { } }
OBJECT ORIENTED PROGRAMMING DENGAN KOTLIN ➤ Encapsulation ➤ Inheritance ➤
Polymorphism
DIAGRAM
ENCAPSULATION (CLASS) class UserData { } $MBTTXJUI"UUSJCVUF class UserData {
var email : String = "" var password : String = "" } $MBTT$POTUSVDUPS class UserData() { } class UserData() class UserData (var email : String = "", var password : String = "")
CLASS METHOD class UserData (var email : String = "",
var password : String = "") { fun validate() : Boolean { return email.isNotEmpty() } }
INHERITANCE
INHERITANCE CODE class MainActivity : AppCompatActivity() { var editTextEmail :
EditText? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } }
POLIMORPHISM
buttonLogin?.setOnClickListener(OnLoginClickListener()) class OnLoginClickListener : View.OnClickListener { override fun onClick(v: View?)
{ println("execute login here") } }
ANONYMOUS CLASS AND LAMBDA buttonLogin?.setOnClickListener(object : View.OnClickListener { override fun
onClick(v: View?) { } }) buttonLogin?.setOnClickListener { v : View -> }