Bab 1: Development Tools, Cara Belajar dan Ide Aplikasi

Karena kamu mengambil buku ini, penulis berasumsi kamu ingin membuat aplikasi iOS. Membangun sebuah aplikasi adalah pengalaman yang menyenangkan sekaligus memuaskan. Penulis masih ingat betul rasa senang ketika pertama kali berhasil membuat aplikasi beberapa tahun lalu, meskipun aplikasinya sangat sederhana.
iOS, sistem operasi mobile di balik iPhone dan iPad, telah dirilis selama lebih dari 15 tahun. Selama waktu tersebut, tools, bahasa pemrograman, dan framework-nya berkembang sangat pesat. Karena itu, sebelum kita masuk lebih dalam ke pemrograman iOS, mari kita bahas terlebih dahulu tools yang kamu perlukan untuk membangun aplikasi, sekaligus mempersiapkan mindset yang tepat untuk belajar pengembangan aplikasi iOS.
Tools yang Dibutuhkan
Apple sejak awal memilih ekosistem yang tertutup dibandingkan sistem terbuka. iOS hanya bisa berjalan di perangkat buatan Apple sendiri seperti iPhone dan iPad. Hal ini sangat berbeda dengan Google, yang memungkinkan Android berjalan di perangkat dari berbagai produsen. Sebagai calon iOS developer, ini berarti kamu membutuhkan sebuah Mac untuk mengembangkan aplikasi.
1. Memiliki Mac
Memiliki Mac adalah syarat utama untuk pengembangan iOS. Untuk membuat aplikasi iPhone (atau iPad), kamu membutuhkan Mac yang bisa menjalankan macOS versi 14.5 atau yang lebih baru. Jika saat ini kamu menggunakan PC, pilihan paling terjangkau adalah membeli Mac mini. Pada saat penulisan buku ini, harga resmi model paling dasar adalah US$599. Kamu bisa menghubungkannya ke monitor PC yang sudah kamu miliki.
Penulis merekomendasikan Mac mini versi dasar dengan chip Apple M1. Spesifikasi ini sudah lebih dari cukup untuk menjalankan tools pengembangan iOS dengan lancar. Tentu saja, jika kamu memiliki budget lebih, kamu bisa memilih model yang lebih tinggi atau iMac dengan performa yang lebih tinggi.
2. Mendaftarkan Apple ID
Kamu memerlukan Apple ID untuk mengunduh Xcode, mengakses dokumentasi iOS SDK, serta berbagai resource teknis lainnya. Yang paling penting, Apple ID memungkinkan kamu menjalankan dan menguji aplikasi di iPhone atau iPad asli.
Jika kamu pernah mengunduh aplikasi dari App Store, kemungkinan besar kamu sudah memiliki Apple ID. Jika belum, kamu perlu membuatnya terlebih dahulu. Cukup kunjungi situs Apple di https://appleid.apple.com/account dan ikuti proses pendaftarannya.
3. Menginstal Xcode
Untuk mulai mengembangkan aplikasi iOS, Xcode adalah satu-satunya tool yang perlu kamu unduh. Xcode adalah Integrated Development Environment (IDE) resmi dari Apple. Xcode menyediakan semua yang kamu butuhkan untuk memulai pengembangan aplikasi, termasuk iOS SDK terbaru (Software Development Kit), editor kode, editor UI grafis, tools debugging, dan masih banyak lagi. Yang paling penting, Xcode dilengkapi simulator iPhone dan iPad sehingga kamu bisa menguji aplikasi tanpa harus memiliki perangkat fisik.
Untuk menginstal Xcode, buka Mac App Store dan unduh Xcode dari sana. Jika kamu menggunakan macOS versi terbaru, kamu bisa membuka Mac App Store dengan mengklik ikonnya di dock. Jika tidak menemukannya, kemungkinan kamu perlu memperbarui macOS.

Di Mac App Store, cukup cari “Xcode” lalu klik tombol Get untuk mengunduhnya.

Setelah proses instalasi selesai, kamu akan menemukan Xcode di Launchpad.

Pada saat buku ini ditulis, versi terbaru Xcode adalah Xcode 16. Sepanjang buku ini, kita akan menggunakan versi tersebut untuk membuat aplikasi contoh. Meskipun kamu sudah pernah menginstal Xcode sebelumnya, penulis menyarankan untuk memperbaruinya ke versi terbaru agar lebih mudah mengikuti tutorial di buku ini.
4. Mendaftar Apple Developer Program (Opsional)
Pertanyaan yang sering muncul adalah apakah kamu perlu mendaftar Apple Developer Program. Jawaban singkatnya: opsional.
Xcode sudah menyediakan simulator iPhone dan iPad, sehingga kamu bisa mengembangkan dan menguji aplikasi langsung di Mac tanpa mendaftar program ini. Sejak Xcode 7, Apple mengubah kebijakan mereka. Dulu, kamu harus membayar US$99 per tahun untuk menjalankan aplikasi di perangkat iPhone atau iPad asli. Sekarang, kamu bisa menguji aplikasi di perangkat fisik tanpa harus menjadi anggota Apple Developer Program.
Namun demikian, jika kamu ingin menggunakan fitur lanjutan seperti in-app purchase, push notification, atau CloudKit, kamu tetap perlu mendaftar. Yang paling penting, kamu tidak bisa mengirim aplikasi ke App Store tanpa membayar biaya keanggotaan tahunan.
Jadi, apakah kamu perlu mendaftar sekarang? Biaya Apple Developer Program adalah US$99 per tahun. Jumlah ini tidak terlalu besar, tetapi juga tidak murah. Karena kamu membaca buku ini, kemungkinan besar kamu masih pemula dan baru mulai mengeksplorasi pengembangan iOS. Buku ini ditulis khusus untuk pemula dan kita akan mulai dari hal-hal dasar. Kamu belum akan menggunakan fitur-fitur lanjutan dalam waktu dekat.
Karena itu, meskipun kamu belum mendaftar program ini, kamu tetap bisa mengikuti hampir seluruh isi buku dan membangun serta menguji aplikasi di perangkatmu. Untuk sekarang, simpan dulu uangmu. Penulis akan memberi tahu kapan saatnya kamu perlu mendaftar, biasanya ketika kamu sudah siap untuk mempublikasikan aplikasi ke App Store.
Cara Belajar
Penulis telah mengajar pemrograman iOS sejak tahun 2012 melalui blog, kursus online, dan workshop tatap muka. Dari pengalaman tersebut, penulis menemukan bahwa perbedaan antara gagal dan berhasil bukan terletak pada kecerdasan, melainkan pada cara belajar dan mindset. Sebelum membahas Swift dan iOS, penulis ingin membekali kamu dengan mindset yang tepat dan cara paling efektif untuk belajar programming.
Langsung Praktik
Salah satu pertanyaan paling sering diajukan adalah:
“Apa cara terbaik untuk belajar pemrograman iOS?”
Pertama, terima kasih sudah membaca buku ini. Namun, penulis harus jujur mengatakan bahwa kamu tidak bisa belajar programming hanya dengan membaca buku. Buku ini memang berisi semua yang kamu butuhkan untuk mempelajari Xcode, Swift, dan pengembangan aplikasi iOS.
Namun bagian terpentingnya adalah beraksi.
Jika penulis harus menjawab pertanyaan tersebut, jawabannya adalah: Learn by Doing. Inilah inti dari pendekatan belajar yang penulis gunakan.
Coba ubah pertanyaannya:
Apa cara terbaik untuk belajar bahasa Inggris (atau bahasa asing lainnya)?
Apa cara terbaik untuk belajar bersepeda (atau olahraga lainnya)?
Kamu pasti tahu jawabannya. Penulis sangat menyukai jawaban di Quora tentang belajar bahasa:
Ikuti rutinitas ini: dengarkan 1 jam sehari, berbicara 1 jam sehari, dan tulis 1 jurnal setiap hari.
— Dario Mars Patible
Kamu belajar melalui praktik, bukan hanya mempelajari tata bahasa. Belajar programming sangat mirip dengan belajar bahasa. Kamu harus bertindak: mengerjakan proyek, latihan, duduk di depan Mac, membuka Xcode, dan menulis kode Swift. Tidak masalah berapa banyak kesalahan yang kamu buat. Yang penting, setiap kali membaca buku ini, buka Xcode dan mulai ngoding.
Motivasi
Mengapa kamu ingin belajar membuat aplikasi? Apa yang memotivasimu untuk mengorbankan akhir pekan dan hari libur demi belajar koding?
Sebagian orang memulai karena uang. Itu tidak salah. Kamu mungkin ingin membangun bisnis aplikasi untuk penghasilan tambahan, bahkan menjadikannya sumber penghasilan utama. Itu sangat wajar.
Namun, per Agustus 2022, terdapat lebih dari 2,2 juta aplikasi di App Store. Sangat sulit mengunggah aplikasi dan berharap langsung menghasilkan banyak uang dalam semalam. Jika uang adalah satu-satunya motivasi, kamu akan mudah merasa putus asa—terutama ketika membaca artikel seperti ini:
- Laporan mengejutkan: rata-rata pendapatan aplikasi kurang dari $50 per bulan (https://www.reddit.com/r/iOSProgramming/comments/1cgo4cm/shocking_report_reveals_average_app_monthly/).
Sebuah laporan pada tahun 2024 dari Revenue Cat menyatakan bahwa median pendapatan per aplikasi dari semua kategori adalah kurang dari $50 per bulan, 1 tahun setelah dirilis. Setelah pemotongan pajak, biaya Apple, dan ongkos untuk alat-alat lainnya, setelah bisa dirilis di app store, pengembangan aplikasi indie akan sulit untuk mendapatkan untung hanya dengan 1 aplikasi.
Pemrograman itu sulit dan menantang. Penulis melihat bahwa orang-orang yang berhasil menguasainya biasanya memiliki keinginan kuat untuk membangun aplikasi dan benar-benar antusias belajar. Mereka punya ide di kepala dan ingin mewujudkannya. Uang bukan prioritas utama. Mereka tahu aplikasi yang dibuat bisa menyelesaikan masalah mereka sendiri dan bermanfaat bagi orang lain. Dengan tujuan sekuat itu, mereka mampu melewati berbagai rintangan.
Jadi, pikirkan kembali alasanmu belajar programming.
Cari Teman Belajar
Ada pepatah lama: “Cara terbaik untuk belajar adalah dengan mengajar.” Pepatah ini masih sangat relevan hingga sekarang. Kamu tidak perlu menjadi ahli untuk mengajar. Mengajar bisa sesederhana berbagi pengetahuan dengan teman atau rekan kerja.
Cobalah cari seseorang yang juga tertarik belajar pemrograman iOS. Saat kamu mempelajari hal baru, jelaskan kembali materi tersebut kepada temanmu. Misalnya, setelah membuat aplikasi pertama, ajarkan teman dekatmu bagaimana aplikasi itu bekerja dan bagaimana cara membuatnya.
Jika kamu tidak menemukan teman belajar, jangan khawatir. Mulailah menulis blog di medium.com atau platform lain yang kamu sukai. Tulis apa pun yang kamu pelajari setiap hari.
Ini adalah salah satu cara belajar paling efektif. Penulis sendiri belajar banyak saat menulis tutorial di appcoda.com dan ketika mengembangkan buku pertama.
Terkadang kamu merasa sudah paham, tetapi saat harus menjelaskan ke orang lain dan menjawab pertanyaan, kamu baru sadar bahwa pemahamanmu belum sepenuhnya matang. Hal ini akan mendorongmu belajar lebih dalam. Cobalah metode ini selama kamu belajar iOS.
Sabar
Beberapa murid penulis sering bertanya, “Berapa lama waktu yang dibutuhkan untuk menjadi developer yang baik?”
Menguasai programming membutuhkan waktu—biasanya bertahun-tahun. Bukan minggu atau bulan, tetapi tahunan.
Buku ini akan membantu kamu memulai perjalanan tersebut. Kamu akan mempelajari dasar-dasar Swift dan iOS serta membangun sebuah aplikasi. Namun, untuk menjadi developer profesional, dibutuhkan latihan terus-menerus.
Bersabarlah. Jangan memasang ekspektasi terlalu tinggi untuk aplikasi pertamamu. Nikmati prosesnya, buat sesuatu yang sederhana dan menyenangkan. Terus membaca dan menulis kode setiap hari. Pada akhirnya, kamu akan menguasainya.
Mencari Ide
Penulis selalu mendorong murid-muridnya untuk memiliki ide aplikasi sendiri sejak awal belajar. Ide tersebut tidak harus besar. Kamu tidak perlu membuat "Go-jek baru". Mulailah dari ide kecil yang menyelesaikan masalah nyata.
Salah satu contoh klasik yang sering penulis sebutkan adalah Cockpit Dictionary. Ini adalah aplikasi yang dibuat oleh Manolo Suarez, seorang pilot profesional. Ide aplikasi ini muncul saat ia sedang belajar pemrograman aplikasi. Ide tersebut tidak rumit atau “wah”, tetapi langsung menyelesaikan masalah yang ia hadapi sendiri.
Dalam dunia penerbangan, ada puluhan ribu istilah dan singkatan (akronim). Bahkan bagi pilot berpengalaman dengan lebih dari 20 tahun jam terbang, mustahil untuk mengingat semua istilah teknis tersebut. Alih-alih menggunakan kamus cetak, ia terpikir untuk membuat aplikasi praktis yang memungkinkan para pilot mencari berbagai istilah penerbangan dengan mudah. Sebuah ide yang sederhana, namun sangat efektif dalam memecahkan masalah nyata yang ia alami sendiri.

Contoh lainnya adalah aplikasi NOAA Buoy Data. Meskipun aplikasi ini sudah tidak tersedia lagi di App Store, penulis tetap ingin mengutipnya sebagai contoh. Aplikasi ini dirancang untuk mengambil data terbaru mengenai cuaca, angin, dan gelombang dari National Data Buoy Center (NDBC) milik National Oceanic and Atmospheric Administration (NOAA). Aplikasi ini dikembangkan oleh Leo Kin, yang mendapatkan ide aplikasi tersebut saat sedang menjalani masa pemulihan setelah operasi.
“Setelah operasi, saya harus memakai penyangga leher selama tiga bulan. Selama tiga bulan itu, saya hampir tidak bisa banyak bergerak dan bahkan kesulitan untuk berjalan atau mengangkat tangan. Terapis fisik menyarankan agar saya berjalan kaki sebanyak mungkin untuk berolahraga dan membangun kembali otot kaki yang mengalami atrofi.
Ada sebuah pulau kecil dekat tempat saya tinggal yang sangat saya sukai untuk dijadikan tujuan berjalan kaki. Masalahnya, pulau tersebut hanya bisa dicapai saat air laut surut. Jika air pasang datang, tidak ada cara untuk pulang selain berenang. Karena kondisi fisik saya saat itu sangat lemah, saya sangat takut terjebak di pulau tersebut tanpa bisa kembali. Saat berjalan, saya selalu membuka situs NOAA untuk mengecek seberapa tinggi atau rendah air laut, serta apakah saya masih punya cukup waktu untuk berjalan ke pulau itu dan kembali.
Pada salah satu sesi berjalan kaki tersebut, muncul ide di benak saya untuk membuat sebuah aplikasi. Meskipun tidak ada orang lain yang menggunakan aplikasi ini, itu tidak menjadi masalah, karena aplikasi tersebut akan membantu penulis memantau pasang surut air laut dan memastikan bisa kembali tepat waktu.”
— Leo Kin
Aplikasi ini mungkin tidak menarik bagi kamu, tetapi aplikasi tersebut berhasil menyelesaikan masalah nyata yang ia hadapi saat itu. Bisa jadi, orang-orang yang tinggal di sekitar pulau tersebut juga akan merasakan manfaat dari aplikasi ini.

Memiliki ide aplikasi sendiri akan memberi kamu tujuan yang jelas dan memotivasi untuk terus belajar. Sekarang, luangkan waktu dan tuliskan tiga ide aplikasi milikmu:
-
——————
-
——————
-
——————
UIKit vs SwiftUI
Sebagai pemula, kamu mungkin pernah menemukan dua istilah ini: UIKit dan SwiftUI. Sebagian orang menyarankan untuk mempelajari UIKit untuk pengembangan aplikasi, sementara yang lain berpendapat bahwa kamu bisa melewati UIKit dan langsung fokus ke SwiftUI, karena SwiftUI merupakan framework UI terbaru dari Apple.
Penulis memahami bahwa istilah-istilah teknis ini bisa terasa membingungkan. Karena itu, penulis akan memberikan gambaran singkat tentang kedua framework tersebut agar kamu bisa lebih jelas menentukan mana yang perlu diprioritaskan.

Pertama, kedua framework ini sama-sama memungkinkan kamu membangun aplikasi yang keren. UIKit adalah framework UI awal yang sudah tersedia sejak rilis pertama iOS. Dengan UIKit, kamu bisa menulis kode untuk membangun UI aplikasi mobile, atau membuat tata letak aplikasi menggunakan Interface Builder di Xcode. Namun, salah satu kekurangannya adalah framework ini relatif lebih rumit untuk dipelajari jika dibandingkan dengan SwiftUI.

Dengan SwiftUI, kamu dapat mengembangkan UI aplikasi menggunakan sintaks Swift yang deklaratif. Artinya, penulisan kode UI menjadi lebih mudah dan intuitif. Dibandingkan dengan framework UI yang lebih lama seperti UIKit, kamu bisa mencapai desain UI yang sama dengan jumlah kode yang jauh lebih sedikit.
Fitur preview sejak lama menjadi salah satu kelemahan Xcode. Meskipun kamu bisa melihat pratinjau layout sederhana di Interface Builder (atau Storyboard), untuk mendapatkan gambaran UI secara utuh biasanya aplikasi harus dijalankan terlebih dahulu di simulator. SwiftUI mengubah hal ini dengan memberikan umpan balik langsung terhadap UI saat kamu menulis kode. Misalnya, ketika kamu menambahkan data baru ke dalam sebuah tabel, Xcode akan langsung memperbarui tampilan UI di preview. Selain itu, melihat UI dalam mode gelap atau melakukan penyesuaian lain cukup dilakukan dengan mengubah satu opsi saja. Fitur pratinjau instan ini membuat pengembangan UI menjadi jauh lebih efisien dan mempercepat proses iterasi secara signifikan.
Sekarang, mari kita jawab pertanyaan utamanya: sebagai pemula, framework mana yang sebaiknya kamu pelajari?
Kamu perlu bertanya pada diri sendiri, apa alasan kamu ingin belajar pemrograman iOS. Apa tujuan kamu? Apakah kamu ingin menekuni karier profesional sebagai iOS developer dan mendapatkan peluang kerja? Atau kamu hanya ingin belajar hal baru sebagai hobi?
Jika tujuan kamu adalah membangun karier di bidang pengembangan iOS, saran penulis adalah mempelajari keduanya. Namun, sebaiknya kamu memulai dari UIKit, karena hingga saat ini masih banyak perusahaan yang mengandalkannya dalam pengembangan aplikasi. Menguasai UIKit akan sangat berharga untuk meningkatkan daya saing kamu di dunia kerja. Oleh karena itu, penulis merekomendasikan agar kamu mengenal UIKit terlebih dahulu, lalu dilanjutkan dengan SwiftUI.
Sebaliknya, jika kamu belajar pemrograman sebagai hobi atau mengerjakan aplikasi sebagai proyek sampingan, penulis menyarankan untuk langsung terjun ke SwiftUI. Framework ini lebih mudah dipelajari dan memungkinkan kamu membangun aplikasi dengan lebih sedikit kode. Di beberapa situasi, kamu mungkin perlu menggunakan komponen UI tertentu dari UIKit. Pada saat itu, kamu bisa mempelajari cara mengintegrasikan komponen UIKit yang dibutuhkan saja. Jadi, prioritaskan SwiftUI terlebih dahulu, dan pelajari UIKit ketika memang diperlukan.
Ringkasan
Itulah pengantar singkatnya. Luangkan waktu untuk menginstal Xcode di Mac kamu, memikirkan ide aplikasi yang ingin kamu buat, dan memilih framework yang ingin kamu fokuskan. Kami menyediakan buku untuk UIKit maupun SwiftUI yang akan membantu kamu memperoleh keterampilan yang dibutuhkan untuk mengembangkan aplikasi buatan kamu sendiri.
Jika SwiftUI adalah fokus kamu, lanjutkan ke bab berikutnya dan kita akan mulai menulis kode Swift.
Bersiaplah untuk perjalanan yang seru ke depannya! 🚀