ios app dev. 101 - dasar-dasar pengembangan … · android studio, laravel, ... penulis melanjutkan...

14

Upload: lyngoc

Post on 18-Sep-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: iOS App Dev. 101 - Dasar-Dasar Pengembangan … · Android Studio, Laravel, ... penulis melanjutkan studi masternya dalam ... tutorial komputer dan pemrograman, dan blog kesenian,
Page 2: iOS App Dev. 101 - Dasar-Dasar Pengembangan … · Android Studio, Laravel, ... penulis melanjutkan studi masternya dalam ... tutorial komputer dan pemrograman, dan blog kesenian,

 

iOS App Dev. 101 Dasar-Dasar Pengembangan Aplikasi iOS

Page 3: iOS App Dev. 101 - Dasar-Dasar Pengembangan … · Android Studio, Laravel, ... penulis melanjutkan studi masternya dalam ... tutorial komputer dan pemrograman, dan blog kesenian,

 

iOS App Dev. 101 Dasar-Dasar Pengembangan Aplikasi iOS

Luthfi Fathur Rahman

PENERBIT PT ELEX MEDIA KOMPUTINDO

Page 4: iOS App Dev. 101 - Dasar-Dasar Pengembangan … · Android Studio, Laravel, ... penulis melanjutkan studi masternya dalam ... tutorial komputer dan pemrograman, dan blog kesenian,

iOS App Dev. 101 - Dasar-Dasar Pengembangan Aplikasi iOS

Luthfi Fathur Rahman ©2017, PT. Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang Diterbitkan pertama kali oleh Penerbit PT Elex Media Komputindo Kelompok Gramedia, Anggota IKAPI, Jakarta 2017

[email protected]

717051998

ISBN: 978-602-04-5052-0

Dilarang keras menerjemahkan, memfotokopi, atau memperbanyak sebagian atau seluruh isi buku tanpa izin tertulis dari penerbit.

Dicetak oleh Percetakan PT. Gramedia, Jakarta Isi di luar tanggung jawab percetakan

Page 5: iOS App Dev. 101 - Dasar-Dasar Pengembangan … · Android Studio, Laravel, ... penulis melanjutkan studi masternya dalam ... tutorial komputer dan pemrograman, dan blog kesenian,

v

Kata Pengantar

Apple, iDevices dan Apps

Kita semua tahu bahwa Apple, Inc. adalah salah satu raksasa teknologi yang menyediakan berbagai perangkat untuk menunjang kekreatifan dan produktifitas sehari-hari. Dengan produk perangkat kerasnya yang revolusioner, iPod dan iPhone, Apple menjelma menjadi raksasa teknologi yang tak terkalahkan. Mereka memiliki semua lini perangkat keras, mulai dari desktop & mobile computer, iMac & seri Macbook, sampai mobile device seperti iPod, iPhone, iPad, dan yang terbaru adalah wearable device, Apple Watch.

Desain perangkat yang cantik dan stylish, menjadikan produk mereka disukai oleh semua kalangan dan dijadikan simbol gaya hidup. Semua perangkat keras ini didukung oleh closed system environment yang mereka usung sejak awal. MacOS, iOS, dan watchOS bekerja secara halus dan dapat terhubung satu dengan yang lainnya dengan mudah. Terlepas dari harga produk Apple yang terbilang mahal, Apple memudahkan penggunanya dengan sistem yang mereka buat.

Apple App Store adalah salah satu toko aplikasi terbesar dengan nilai transaksi mencapai USD 500 juta (Rp 6,3 triliun) pada awal tahun 2015. Salah satu penyebab perolehan nilai transaksi yang besar ini adalah tipikal para pengguna produk Apple yang banyak tidak berfikir 2 kali untuk membayar sebuah aplikasi. Oleh karena itu, Apple App Store adalah tempat yang potensial untuk memonetisasi aplikasi yang Anda kembangkan.

Page 6: iOS App Dev. 101 - Dasar-Dasar Pengembangan … · Android Studio, Laravel, ... penulis melanjutkan studi masternya dalam ... tutorial komputer dan pemrograman, dan blog kesenian,

vi

Sayangnya, di Indonesia jarang ada buku yang berisi cara mengembangkan aplikasi di produk-produk Apple, baik dengan menggunakan bahasa Objective-C ataupun Swift. Sepertinya para pengembang aplikasi produk Apple di Indonesia banyak mengandalkan tutorial gratis di internet. Untuk mendorong perkembangan para pengembang aplikasi di Indonesia, saya membuat buku ini. Buku ini dibuat untuk memudahkan para pengembang mempelajari Swift dan Xcode dalam satu buku yang komperhensif. Buku ini diperuntukan bagi para pengembang pemula aplikasi produk Apple. Para pembaca diharapkan telah memiliki dasar yang kuat tentang alogritma dan pemrograman dan juga telah memahami pemrograman berorientasi objek dan konsep Model-Visual-Controller (MVC) yang banyak digunakan saat ini.

Pada buku ini yang digunakan adalah Xcode 8 dan Swift versi 3. Keduanya adalah major upgrade yang dirilis pada akhir tahun 2016. Perubahan beberapa nama fungsi pada beberapa API membuat para pengembang susah. Oleh karena itu, Apple menyediakan fasilitas migrating tools. Materi yang saya ajarkan di buku ini sangat praktikal, objek-objek umum yang dipakai pada aplikasi berbasis Swift sudah saya tuliskan di buku ini. Tetapi perlu diingat, buku ini bukan panduan utama untuk mempelajari cara mengembangkan aplikasi untuk produk Apple. Saya menyarankan Anda untuk lebih mengulik sendiri bahasa pemrograman dan Integrated Development Environment-nya (IDE). Gunakan kreatifitas Anda untuk mengembangkan aplikasi yang keren dan bermanfaat bagi banyak orang. Semoga sumbangsih saya melalui buku ini dapat memberikan kontribusi untuk memajukan masyarakat Indonesia.

Page 7: iOS App Dev. 101 - Dasar-Dasar Pengembangan … · Android Studio, Laravel, ... penulis melanjutkan studi masternya dalam ... tutorial komputer dan pemrograman, dan blog kesenian,

vii

Daftar Isi

Apa Saja Materi pada Buku Ini?

Kata Pengantar.........................................................................v Daftar Isi ................................................................................. vii

Bab 1 Pengenalan Xcode IDE dan Swift.....................................1 1.1 - Pemasangan Xcode..............................................................1 1.2 - Pengenalan Singkat Xcode 8 IDE ...........................................2 1.3 - Pengenalan Singkat Bahasa Swift ....................................... 11

Bab 2 Mendaftar Apple Developer Program............................ 13 2.1 - Tipe-tipe Akun................................................................... 13 2.2 - Cara Mendaftar................................................................ 15

Bab 3 Application Lifecycle ...................................................... 17

Bab 4 Apa itu Segue?.............................................................. 23

Bab 5 Memasang Cocoapod.................................................... 27

Bab 6 View Controller ............................................................. 29 6.1 - Navigation Controller........................................................ 30 6.2 - Activity Indicator View....................................................... 33 6.3 - Alert View ........................................................................ 37 6.4 - Progress View................................................................... 39 6.5 - Stack View ....................................................................... 42 6.6 - Image View...................................................................... 56 6.7 - Text View dan Text Field .................................................... 61 6.8 - Scroll View....................................................................... 65 6.9 - Picker View ...................................................................... 73 6.10 - Map Kit View ................................................................. 81 6.11 - Web View ..................................................................... 92 6.12 - Container View............................................................. 102

Daftar Pustaka...................................................................... 109 Tentang Penulis ..................................................................... 111

Page 8: iOS App Dev. 101 - Dasar-Dasar Pengembangan … · Android Studio, Laravel, ... penulis melanjutkan studi masternya dalam ... tutorial komputer dan pemrograman, dan blog kesenian,

1

Bab 1

Pengenalan Xcode IDE dan Swift

Untuk mengembangkan aplikasi di lingkungan Apple Device harus menggunakan integrated development environment (IDE) buatan Apple yang disebut Xcode. Xcode dapat digunakan untuk mengembangkan Aplikasi di Mac, iPhone, iPad, dan iWatch. Xcode hanya tersedia di Mac App Store sehingga Anda harus memiliki Macbook atau iMac untuk menggunakannya. Tidak harus menggunakan seri iMac atau Macbook yang terbaru, dengan menggunakan iMac atau Macbook yang telah berumur 5 tahun masih cukup kuat untuk digunakan, inilah salah satu keunggulan closed system yang diusung oleh Apple. Mereka dapat membuat perangkat mereka tetap powerful meski telah berusia 5 tahun atau lebih. Sedangan untuk bahasa pemrograman yang digunakan, Apple memiliki bahasa pemrograman berorientasi objek turunan Bahasa C yang disebut Objective-C. Objective-C dapat digunakan untuk mengembangkan aplikasi seluruh Apple Device, tetapi pada tanggal 2 Juni 2014 yang lalu, Apple meluncurkan bahasa pemrograman baru yang disebut Swift. Swift dapat digunakan mulai dari Xcode 6 ke atas.

1.1 - Pemasangan Xcode

Xcode dapat diuduh secara gratis dari Mac App Store. Buka Mac App Store, tulis "Xcode" pada search bar lalu tekan tombol "Return" di keyboard. Kemudian tekan "Install" pada aplikasi Xcode.

Page 9: iOS App Dev. 101 - Dasar-Dasar Pengembangan … · Android Studio, Laravel, ... penulis melanjutkan studi masternya dalam ... tutorial komputer dan pemrograman, dan blog kesenian,

2

Gambar 1.1 - Xcode Pada Mac App Store

1.2 - Pengenalan Singkat Xcode 8 IDE

Xcode adalah IDE dengan konsep Model-View-Controller (MVC), seperti Android Studio, Laravel, dll. Berikut ini adalah tampilan welcome screen saat Anda menjalankan Xcode:

Gambar 1.2 - Welcome Screen Xcode

Anda diberikan pilihan untuk membuat proyek baru melalui 3 pilihan yang ada di bawah atau membuka proyek yang telah Anda lakukan pada panel sebelah kanan. Untuk mencoba baris kode, Anda dapat menggunakan Playground. Playground memang ditujukan untuk belajar pemrograman, terutama Swift. Di Playground, Anda dapat langsung mencoba baris kode yang Anda inginkan dan melihat output dari kode Anda secara langsung.

Page 10: iOS App Dev. 101 - Dasar-Dasar Pengembangan … · Android Studio, Laravel, ... penulis melanjutkan studi masternya dalam ... tutorial komputer dan pemrograman, dan blog kesenian,

3

Berikut ini adalah tampilan pengaturan cepat (quick setup) saat Anda memilih Playground:

Gambar 1.3 - Pengaturan Cepat untuk File Playground

Gambar 1.4 - Playground Xcode

Tentukan nama file dan platform yang ingin Anda gunakan. Tekan tombol "Next" untuk memilih direktori menyimpan file playground tersebut, lalu tekan tombol "Create". Setelah itu, akan muncul tampilan seperti Gambar 1.4. Masih pada Gambar 1.4, panel di sebelah kiri yang berwarna putih dan berukuran lebih besar digunakan untuk menulis baris kode yang Anda inginkan, sedangkan panel di sebelah kanan yang berwarna abu-abu dan berukuran lebih kecil digunakan untuk menampilkan output dari baris kode Anda. Setiap Anda menambahkan baris kode baru, Xcode akan menjalankan (run) program secara otomatis untuk menampilkan output sehingga Anda dapat belajar dengan nyaman dan melihat langsung output kode Anda. Pilihan berikutnya adalah "Create a new Xcode Project". Anda dapat

Page 11: iOS App Dev. 101 - Dasar-Dasar Pengembangan … · Android Studio, Laravel, ... penulis melanjutkan studi masternya dalam ... tutorial komputer dan pemrograman, dan blog kesenian,

4

menggunakan template yang telah disediakan untuk membuat proyek aplikasi Anda seperti yang ditunjukan oleh gambar berikut ini:

Gambar 1.5 - Memilih Template untuk Proyek Aplikasi Baru

Untuk template paling standar yang banyak digunakan adalah "Single View Application". Dari template ini, Anda juga dapat membangun Master-Detail Application, Tabbed Application, dan Page-Based Application. Untuk kebutuhan pengajaran pada buku ini, saya akan menggunakan Single View Application. Tekan tombol "Next" untuk menuju ke halaman pengaturan cepat.

Gambar 1.6 - Pengaturan Cepat Proyek Aplikasi Baru

Isikan nama aplikasi Anda di kolom Product Name, nama organisasi atau perusahaan tempat Anda bekerja (yang telah terdaftar pada Apple Developer Program) di kolom Organization Name dan Organization Identifier Anda.

Page 12: iOS App Dev. 101 - Dasar-Dasar Pengembangan … · Android Studio, Laravel, ... penulis melanjutkan studi masternya dalam ... tutorial komputer dan pemrograman, dan blog kesenian,

5

Data ini akan dikombinasikan menjadi bundle identifier untuk aplikasi Anda dengan format: com.organizationidentifier.productname. Pilih bahasa pemrograman yang ingin Anda gunakan, Objective-C atau Swift. Kemudian pilih target device aplikasi Anda, iPhone, iPad, atau kedua-duanya (universal). Pilihan target device ini tergantung pada pilihan template program yang Anda pilih pada pengaturan sebelumnya. Karena saya memilih iOS, maka munculah pilihan target device yang menjalankan iOS. Biarkan 3 pilihan paling bawah sesuai dengan yang ada. Selanjutnya, pilih direktori untuk menyimpan file proyek aplikasi Anda, untuk sementara ini biarkan pilihan "Source Control: Create Git Repository On (Git Resource Control)" tidak tercentang dan tekan tombol "Create". Anda akan melihat tampilan seperti berikut ini:

Gambar 1.7 - Pengaturan Umum Proyek Aplikasi

Gambar di atas adalah tampilan General Setting untuk aplikasi Anda. Yang harus Anda perhatikan di halaman pengaturan ini adalah kolom Team di tab Identity dan tab Deployment Info. Deployment Info berisi tentang target device dan OS pengembangan aplikasi Anda. Anda dapat mengubah target versi iOS/watchOS/tvOS Anda, file interface utama (main interface), variasi

Page 13: iOS App Dev. 101 - Dasar-Dasar Pengembangan … · Android Studio, Laravel, ... penulis melanjutkan studi masternya dalam ... tutorial komputer dan pemrograman, dan blog kesenian,

111

Tentang Penulis

Penulis yang memiliki lengkap Luthfi Fathur Rahman, S.Kom. lahir di Bandung tahun 1993. Penulis adalah seorang praktisi dalam bidang teknologi informasi, khususnya pemrograman perangkat bergerak (mobile), iOS. Penulis pernah memiliki sebuah perusahaan software house rintisan yang bergerak di pasar business to business (B2B) bernama Imperio Teknologi Indonesia (www.imperio.co.id), yang didirikan pada akhir tahun 2015. Saat ini Penulis sedang bekerja aktif sebagai freelance pengembang iOS dengan client sebuah perusahaan rintisan

berbasis teknologi (tech start-up) di Amerika Serikat. Penulis adalah alumni Universitas Bina Nusantara jurusan teknik komputer (Computer Engineering) dengan peminatan sistem tertanam (embedded system), angkatan 2011. Untuk melengkapi kemampuan teknis dalam bidang teknologi informasi dengan pengetahuan bidang bisnis, penulis melanjutkan studi masternya dalam bidang Administrasi Bisnis pada program MBA (Master of Business Administration) di Institut Teknologi Bandung.

Page 14: iOS App Dev. 101 - Dasar-Dasar Pengembangan … · Android Studio, Laravel, ... penulis melanjutkan studi masternya dalam ... tutorial komputer dan pemrograman, dan blog kesenian,

112

Penulis memiliki personal website yang menampilkan segala bidang yang diminati oleh penulis, blog travelling, tutorial komputer dan pemrograman, dan blog kesenian, yaitu www.luthfifr.com. Pada website ini juga ditampilkan setiap proyek yang telah dikerjakan oleh penulis dari tahun 2010. Penulis memiliki akun LinkedIn untuk menampilkan curriculum vitae (CV) secara online, dapat dilihat di https://www.linkedin.com/in/luthfifr/. Penulis memiliki akun GitHub dan BitBucket sebagai portofolio untuk menampilkan kemampuan pemrograman yang dimiliki. Akun GitHub digunakan untuk menampilkan portofolio yang diizinkan oleh penulis untuk dilihat oleh publik, dapat dilihat di https://github.com/luthfifr. Akun BitBucket digunakan untuk menyimpan private repository penulis.