Practical Kotlin Deep Dive

Practical Kotlin Deep Dive mengupas 'bagaimana' dan 'mengapa' di balik Kotlin dari dasar-dasar bahasa inti dan mekanisme internal hingga desain API. Mencakup dasar Kotlin, Standard Library, Coroutines, pustaka kotlinx, internal compiler, dan pengembangan Kotlin Multiplatform.

Buku ini melampaui permukaan API dan menyelami ke dalam Kotlin: memandu Anda melalui implementasi fungsi Kotlin yang nyata, mengungkap bytecode yang dihasilkan, dan menjelaskan bagaimana Kotlin compiler menginterpretasikan bahasa. Buku ini juga mengutip langsung dari proposal KEEP, diskusi JetBrains YouTrack, dan kode sumber compiler, menghubungkan konsep dengan asal-usul dan alasan desainnya.

Sampul Buku Practical Kotlin Deep Dive
492
Halaman PDF
5
Bab
70
Topik Mendalam
50+
Tips Pro

ISBN: 979-8243872744

Jaewoong Eum (skydoves)

Google Developer Expert (Android dan Firebase)

Saya Jaewoong Eum (juga dikenal sebagai skydoves), Google Developer Expert (GDE) untuk Android dan Firebase, sebelumnya juga Kotlin GDE. Saya telah membuat lebih dari 80 pustaka dan proyek open source yang diunduh lebih dari 15 juta kali per tahun oleh developer di seluruh dunia. Saya juga pendiri Dove Letter, basis pengetahuan berbasis langganan tempat saya berbagi, mengeksplorasi, dan mendiskusikan topik seputar Android, Jetpack Compose, dan Kotlin.

Ini adalah buku kedua saya, setelah Manifest Android Interview, yang sangat sukses dan diterima dengan baik di komunitas developer Android global.

Saya berharap buku ini membantu Anda mendapatkan perspektif baru, meningkatkan kemampuan pemecahan masalah, dan membangun pemahaman menyeluruh tentang Kotlin dari dasar-dasar bahasa hingga topik lanjutan seperti coroutines, compiler, dan pengembangan multiplatform. Belajar harus menjadi perjalanan yang berkelanjutan, dan setiap tantangan yang Anda atasi membuat Anda menjadi engineer yang lebih baik.

Seperti biasa, selamat coding, dan semoga perjalanan Kotlin Anda lancar!

Semua yang Anda Butuhkan untuk Menguasai Kotlin

Jelajahi dasar-dasar Kotlin secara mendalam dan jadilah developer Kotlin yang lebih baik

๐Ÿ“– Penjelasan Mendalam

Setiap topik memberikan penjelasan detail yang melampaui pengetahuan permukaan, tidak hanya mengeksplorasi bagaimana fitur Kotlin bekerja tetapi juga menjelaskan mengapa dirancang seperti itu. Anda akan memahami alasan dan trade-off di balik keputusan desain.

๐Ÿ’ก Tips Pro

Bagian "Tips Pro" menyelami topik lanjutan, mengungkap struktur internal dasar-dasar Kotlin, memberikan wawasan ahli yang dapat langsung Anda terapkan untuk menulis kode yang lebih baik.

๐Ÿ” Referensi Kode Sumber

Anda akan melihat referensi langsung ke proposal KEEP (Kotlin Evolution and Enhancement Process), diskusi JetBrains YouTrack, dan kode sumber compiler untuk memahami alasan di balik keputusan desain bahasa.

๐Ÿ“š Cakupan Komprehensif

Dari dasar bahasa hingga standard library, coroutines, compiler dan plugin, serta Kotlin Multiplatform - pengetahuan praktis yang dicakup buku ini akan benar-benar mengubah cara Anda menulis, men-debug, dan mengoptimalkan kode Kotlin.

Apa yang Dicakup Buku Ini

Lima bab komprehensif yang mencakup berbagai aspek pengembangan Kotlin

Bab 0

24 Topik

Bahasa Kotlin

Mencakup blok bangunan fundamental Kotlin, dari null safety dan desain sistem tipe hingga fitur lanjutan seperti sealed class, inline function, dan delegation. Anda akan mengeksplorasi filosofi desain bahasa dengan referensi ke proposal KEEP dan diskusi engineer bahasa Kotlin.

Bab 1

7 Topik

Kotlin Standard Library

Menyelami Standard Library Kotlin yang kaya, termasuk collections, sequences, scope functions, dan tools yang membuat kode Kotlin ekspresif dan ringkas. Memahami tools ini sangat penting untuk menulis kode Kotlin yang idiomatis.

Bab 2

19 Topik

Coroutines

Eksplorasi komprehensif pendekatan pemrograman asinkron Kotlin. Dari konsep dasar seperti suspend functions dan coroutine builders hingga topik lanjutan seperti structured concurrency, Flow, dan exception handling.

Bab 3

4 Topik

Pustaka KotlinX

Mengeksplorasi pustaka Kotlin resmi yang dikembangkan oleh JetBrains yang memperluas bahasa dengan fungsionalitas tambahan. Pustaka-pustaka ini menyediakan kemampuan khusus untuk serialization, penanganan date/time, dan immutable collections.

Bab 4

7 Topik

Kotlin Compiler dan Plugin

Membawa Anda mendalam ke bagaimana kode Kotlin ditransformasi menjadi program yang dapat dieksekusi. Anda akan belajar arsitektur compiler, K2 compiler dan peningkatannya, FIR, IR, dan cara membuat compiler plugins.

Bab 5

9 Topik

Kotlin Multiplatform

Mengeksplorasi kemampuan cross-platform Kotlin, mencakup struktur proyek, hierarki source set, interoperabilitas platform, dan Compose Multiplatform untuk pengembangan UI bersama. Pengetahuan ini menjadi semakin berharga seiring pertumbuhan adopsi multiplatform.

Apa Kata Para Developer

"Sejak Kotlin ditunjuk sebagai bahasa resmi untuk pengembangan Android, bahasa ini telah dicintai oleh banyak developer. Sekarang, Kotlin telah melampaui Android dan terus membuktikan potensinya di berbagai platform.

Dalam pengembangan Kotlin praktis, Anda pasti akan menghadapi berbagai masalah. Saat Anda menyelesaikan masalah ini, Anda secara alami mulai mengeksplorasi prinsip-prinsip yang mendasarinya, dan banyak dari kita akhirnya ingin memahami Kotlin lebih dalam.

Buku ini ditulis persis untuk developer seperti itu. Buku ini mendalami prinsip-prinsip inti dan mekanisme internal Kotlin. Jika Anda seorang developer Kotlin yang ingin benar-benar memahami bahasa ini dan meningkatkan keterampilan teknis Anda ke level baru, saya sangat merekomendasikan buku ini."

Sungyong An

Sungyong An

Senior Android Engineer di Naver Webtoon

Google Developer Expert untuk Android

@fornewid
Teks Asli

Kotlin์€ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์˜ ๊ณต์‹ ์–ธ์–ด๋กœ ์ง€์ •๋˜๋ฉด์„œ ๋งŽ์€ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์‚ฌ๋ž‘๋ฐ›๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ , ์ง€๊ธˆ์€ ์•ˆ๋“œ๋กœ์ด๋“œ๋ฅผ ๋„˜์–ด ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์œผ๋กœ ๋ป—์–ด๋‚˜๊ฐ€๋ฉฐ ๊ทธ ๊ฐ€๋Šฅ์„ฑ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค๋ฌด์—์„œ Kotlin์„ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด ํ•„์—ฐ์ ์œผ๋กœ ๋‹ค์–‘ํ•œ ์ด์Šˆ๋ฅผ ๋งˆ์ฃผํ•˜๊ฒŒ ๋˜๊ณ , ๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด ๊ณผ์ •์—์„œ ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉฐ ๋‚ด๋ถ€๋ฅผ ์กฐ๊ธˆ์”ฉ ๋“ค์—ฌ๋‹ค๋ณด๊ฒŒ ๋˜๊ณ , Kotlin์„ ๋” ๊นŠ์ด ์ดํ•ดํ•˜๊ณ  ์‹ถ๋‹ค๋Š” ๊ฐˆ์ฆ์„ ๋А๊ปด์™”์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด ์ฑ…์€ ๋ฐ”๋กœ ๊ทธ๋Ÿฐ ๋ถ„๋“ค์„ ์œ„ํ•ด Kotlin์˜ ๊ทผ๋ณธ ์›๋ฆฌ์™€ ๋‚ด๋ถ€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‹ฌ๋„ ์žˆ๊ฒŒ ํƒ๊ตฌํ•ฉ๋‹ˆ๋‹ค. Kotlin์˜ ๊นŠ์ด๋ฅผ ์ดํ•ดํ•˜๊ณ  ๊ธฐ์ˆ  ์ŠคํŽ™ํŠธ๋Ÿผ์„ ํ•œ ๋‹จ๊ณ„ ๋” ๋„“ํžˆ๊ณ ์ž ํ•˜๋Š” Kotlin ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๊ผญ ์ฝ์–ด๋ณด์‹œ๊ธฐ๋ฅผ ์ ๊ทน ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

"Practical Kotlin Deep Dive adalah panduan yang sangat komprehensif yang melampaui sintaks untuk mengeksplorasi mekanisme internal dan filosofi desain bahasa Kotlin. Jaewoong juga memberikan saran praktis dan teruji berdasarkan pengalamannya yang luas sebagai Google Developer Expert dan kontributor open source yang produktif."

John O'Reilly

John O'Reilly

Principal Software Engineer di Kraken Technologies

Google Developer Expert untuk Android

Bluesky

"Practical Kotlin Deep Dive karya Jaewoong ditulis dengan sangat baik, memecah konsep-konsep kompleks menjadi penjelasan yang jelas dan mudah dipahami. Ini adalah bacaan yang benar-benar luar biasa yang memberikan kedalaman dan kejelasan dengan cara yang jarang bisa dicapai buku teknis saat ini. Di era ketika tools seperti Copilot membuat penulisan konten teknis lebih menantang dan kompetitif, buku ini menonjol dan sangat worth it."

Madona S. Wambua

Madona S. Wambua

Engineering Leader & Author

Google Developer Expert untuk Android

LinkedIn

"Kotlin telah berkembang dari bahasa pemrograman sederhana menjadi pilar inti pengembangan multiplatform. Buku ini tidak hanya mencantumkan penggunaan dasar, tetapi mendalami filosofi desain dan mekanisme internal bahasa. Strukturnya sangat mengesankan, membimbing pembaca dari rasa ingin tahu kasual hingga pemahaman mendalam tentang cara kerja internal Kotlin.

Untuk developer junior, buku ini mengubah ketidakpastian yang kabur dalam pengembangan praktis menjadi kepercayaan diri yang jelas. Untuk developer senior, buku ini menyatukan fragmen pengetahuan yang tersebar menjadi gambaran besar yang lengkap. Ini adalah bacaan wajib untuk engineer mana pun yang ingin benar-benar menguasai inti Kotlin."

SeongUg (Steve) Jung

SeongUg (Steve) Jung

Principal Software Engineer di Grab

Mantan Google Developer Expert untuk Android

LinkedIn
Teks Asli

Kotlin์€ ์ด์ œ ๋‹จ์ˆœํ•œ ์–ธ์–ด๋ฅผ ๋„˜์–ด ๋ฉ€ํ‹ฐํ”Œ๋žซํผ ๊ฐœ๋ฐœ์˜ ํ•ต์‹ฌ์œผ๋กœ ์ž๋ฆฌ ์žก์•˜์Šต๋‹ˆ๋‹ค. ์ด ์ฑ…์€ ๋‹จ์ˆœํ•œ ์‚ฌ์šฉ๋ฒ•์„ ๋‚˜์—ดํ•˜๋Š” ๋ฐ ๊ทธ์น˜์ง€ ์•Š๊ณ , ์–ธ์–ด์˜ ์„ค๊ณ„ ์ฒ ํ•™๊ณผ ๋‚ด๋ถ€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ง‘์š”ํ•˜๊ฒŒ ํŒŒ๊ณ ๋“ญ๋‹ˆ๋‹ค. ๊ฐ€๋ฒผ์šด ํ˜ธ๊ธฐ์‹ฌ์œผ๋กœ ์‹œ์ž‘ํ•ด ์–ธ์–ด์˜ ์‹ฌ์ธต๋ถ€๊นŒ์ง€ ๋„๋‹ฌํ•˜๋Š” ๊ตฌ์„ฑ์ด ๋งค์šฐ ์ธ์ƒ์ ์ž…๋‹ˆ๋‹ค.

์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž์—๊ฒŒ๋Š” ์‹ค๋ฌด์—์„œ ๋งˆ์ฃผํ•  ๋ง‰์—ฐํ•œ ์˜๊ตฌ์‹ฌ์„ ๋ช…์พŒํ•œ ํ™•์‹ ์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๊ณ , ์‹œ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž์—๊ฒŒ๋Š” ํฉ์–ด์ ธ ์žˆ๋˜ ์ง€์‹์˜ ์กฐ๊ฐ์„ ํ•˜๋‚˜์˜ ํฐ ๊ทธ๋ฆผ์œผ๋กœ ์™„์„ฑํ•ด ์ฃผ๋Š” ํ•„๋…์„œ์ž…๋‹ˆ๋‹ค. Kotlin์˜ ํ•ต์‹ฌ(Core)์„ ๊ฟฐ๋šซ๊ณ  ์‹ถ์€ ๋ชจ๋“  ์—”์ง€๋‹ˆ์–ด์—๊ฒŒ ์ผ๋…์„ ๊ถŒํ•ฉ๋‹ˆ๋‹ค.

Pujian & Rekomendasi dari Komunitas

Lihat apa yang dikatakan komunitas Kotlin tentang buku ini

Ulasan Komunitas
Ulasan Komunitas
Ulasan Komunitas
Ulasan Komunitas

Pratinjau Buku

Lihat isinya sebelum membeli

Suka? Anda dapat membaca lebih lanjut di sini:

Tersedia dalam Berbagai Bahasa

Edisi terjemahan untuk komunitas developer Kotlin global

Terima Kasih atas Dukungan

Daftar Isi Buku

Bab 0: Bahasa Kotlin

  • Q) 0. Jelaskan Null Safety di Kotlin
  • Q) 1. Apa peran utama Any, Unit, dan Nothing?
  • Q) 2. Apa itu Data Class dan apa bedanya dengan class biasa?
  • Q) 3. Apa itu Sealed Class dan jelaskan skenario penggunaannya
  • Q) 4. Apa itu Inner Class dan apa bedanya dengan Nested Class?
  • Q) 5. Kapan menggunakan Enum Class?
  • Q) 6. Apa itu Value Class?
  • Q) 7. Apa itu Object dan apa bedanya dengan class biasa?
  • Q) 8. Apa itu Companion Object?
  • Q) 9. Apa perbedaan antara var dan val?
  • Q) 10. Apa perbedaan antara Backing Field dan Backing Property?
  • Q) 11. Apa itu Delegated Property?
  • Q) 12. Apa perbedaan antara lazy delegate dan lateinit?
  • Q) 13. Visibility modifier apa saja yang ada?
  • Q) 14. Kapan blok init dipanggil dan apa karakteristik utamanya?
  • Q) 15. Apa itu Higher-Order Function dan apa keuntungannya?
  • Q) 16. Apa kelebihan dan keterbatasan kata kunci inline?
  • Q) 17. Apa itu kata kunci reified dan apa manfaat menggunakannya?
  • Q) 18. Bagaimana cara menggunakan ekspresi lambda?
  • Q) 19. Apa itu Functional (SAM) Interface?
  • Q) 20. Apa itu Extension dan apa kelebihan/kekurangannya?
  • Q) 21. Apa itu Structural Equality dan Referential Equality?
  • Q) 22. Apa yang terjadi saat melakukan operasi null + null?
  • Q) 23. Apa itu DSL dan bagaimana cara menggunakannya?

Bab 1: Kotlin Standard Library

  • Q) 24. Tipe Collection apa saja yang ada di Kotlin?
  • Q) 25. Operator transformasi apa saja yang ada untuk Collection?
  • Q) 26. Jelaskan mekanisme Iterator
  • Q) 27. Apa itu Sequence dan mekanismenya?
  • Q) 28. Extension function apa saja yang tersedia untuk mengambil sebagian Collection?
  • Q) 29. Bagaimana cara mendefinisikan pengurutan objek?
  • Q) 30. Apa itu Scope Function?

Bab 2: Coroutines

  • Q) 31. Apa itu Coroutine?
  • Q) 32. Apa itu Continuation dan bagaimana hubungannya secara internal dengan suspend function?
  • Q) 33. Apa perbedaan antara Coroutine dan Thread?
  • Q) 34. Apa itu Coroutine Builder?
  • Q) 35. Apa itu Coroutine Context?
  • Q) 36. Apa peran Job?
  • Q) 37. Apa tujuan Coroutine Scope?
  • Q) 38. Coroutine Dispatcher apa saja yang ada dan apa kegunaannya?
  • Q) 39. Apa itu Channel dan bagaimana cara kerjanya?
  • Q) 40. Apa fungsi join() dan yield()?
  • Q) 41. Bagaimana cara menangani exception di Coroutine?
  • Q) 42. Apa perbedaan antara Cold Flow dan Hot Flow?
  • Q) 43. Jelaskan perbedaan StateFlow dan SharedFlow
  • Q) 44. Apa yang dilakukan operator Flow.flowOn()?
  • Q) 45. Bagaimana cara kerja operator Flow.buffer()?
  • Q) 46. Bagaimana mekanisme internal Kotlin mengoptimalkan Flow melalui FusibleFlow dan ChannelFlow
  • Q) 47. Apa perbedaan antara launchIn(Scope) dan Scope.launch()?
  • Q) 48. Apa itu operator transformasi Flow: flatMapLatest, flatMapMerge, flatMapConcat?
  • Q) 49. Apa itu callbackFlow dan channelFlow, dan bagaimana mekanisme internalnya?

Bab 3: Pustaka KotlinX

  • Q) 50. Apa itu kotlinx-serialization dan bagaimana cara kerjanya?
  • Q) 51. Apa itu kotlinx-datetime dan mengapa menggunakannya daripada Java Time API?
  • Q) 52. Apa itu kotlinx-collections-immutable dan kapan harus menggunakannya?
  • Q) 53. Pustaka KotlinX lain apa yang perlu diperhatikan?

Bab 4: Kotlin Compiler dan Plugin

  • Q) 54. Apa itu Annotation Processor, KAPT, dan KSP?
  • Q) 55. Bagaimana struktur Kotlin Compiler?
  • Q) 56. Apa itu K2 Compiler?
  • Q) 57. Apa itu FIR (Frontend Intermediate Representation)?
  • Q) 58. Apa itu IR dan bagaimana backend Kotlin bekerja?
  • Q) 59. Bagaimana cara menulis Kotlin Compiler Plugin?
  • Q) 60. Apa contoh dan use case nyata Kotlin Compiler Plugin?

Bab 5: Kotlin Multiplatform

  • Q) 61. Apa itu Kotlin Multiplatform?
  • Q) 62. Bagaimana Kotlin Multiplatform menangani API spesifik platform dan berbagi kode bersama?
  • Q) 63. Strategi pemrograman concurrent atau asynchronous apa saja yang ada di KMP?
  • Q) 64. Strategi komunikasi jaringan HTTP apa saja yang ada di KMP?
  • Q) 65. Apa itu Compose Multiplatform?
  • Q) 66. Bagaimana source set diorganisir dalam proyek Kotlin Multiplatform?
  • Q) 67. Bagaimana Kotlin/Native menangani manajemen memori dan interoperabilitas platform?
  • Q) 68. Strategi testing apa saja yang ada di Kotlin Multiplatform?
  • Q) 69. Strategi dependency injection apa saja yang ada di Kotlin Multiplatform?

Kini Tersedia dalam Cetak

Dapatkan edisi hardcover fisik Practical Kotlin Deep Dive

Practical Kotlin Deep Dive Hardcover - Sampul Depan
Practical Kotlin Deep Dive Hardcover - Halaman Dalam

Timeline & Milestone

2026.01.31
Penjualan melampaui 400 eksemplar ๐ŸŽ‰
2026.01.28
Edisi hardcover dan paperback diterbitkan di Amazon ๐Ÿ“š
2026.01.15
Rilis edisi Jepang ๐Ÿ‡ฏ๐Ÿ‡ต
2026.01.13
Rilis edisi Hindi ๐Ÿ‡ฎ๐Ÿ‡ณ
2026.01.12
Penjualan melampaui 200 eksemplar ๐ŸŽ‰
2026.01.11
Rilis edisi Indonesia ๐Ÿ‡ฎ๐Ÿ‡ฉ
2026.01.11
Rilis edisi Cina ๐Ÿ‡จ๐Ÿ‡ณ
2026.01.06
Penjualan melampaui 100 eksemplar ๐ŸŽ‰
2026.01.03
Edisi pertama dirilis

Komentar

Bagikan pendapat Anda tentang buku ini