
Perlu dipahami bahwa Objective C bukan bahasa tersendiri seperti C#, C++, atau Java. Objective C adalah bahasa C yang ditambahkan dengan sintak object oriented. Jadi jika kamu mengetikkan bahasa C dan di-compile, maka tidak akan ada masalah.
Sedangkan Cocoa Touch adalah kumpulan iOS framework. Tiap framework memiliki ribuan class, dengan bahasa Objective C, yang bisa kita gunakan untuk membuat aplikasi iOS. Diilustrasikan sebagai berikut :
Cocoa Touch
- Foundation Framework, basis framework
- NSObject
- NSString
- NSArray
- NSDictionary
- dan lain-lain
- UIKit Framework, untuk membuat UI
- UIView
- UITextField
- UIButton
- UILabel
- dan lain-lain
- MapKit Framework, untuk menampilkan apple maps
- dan lain-lain
Sekarang, buka kembali Xcode dan buat project baru (cmd + shift + N). Kita akan belajar dasar dari Objective C.
Membuat Command Line Project
➷ Pilih OS X -> Application -> Command Line Tool.
➷ Beri nama “LearnBasic“. Pada pilihan type, pilih Core Foundation.
➷ Klik Next.
➷ Klik Create.
➷ Klik Xcode pada topbar -> Preferences -> Text Editing -> Editing -> centang Line numbers untuk memberikan nomor baris.
Kamu akan mendapati kode pada main.m sebagai berikut :
9 #import <Foundation/Foundation.h> 10 11 int main(int argc, const char * argv[]) 12 { 13 14 @autoreleasepool { 15 16 // insert code here... 17 NSLog(@"Hello, World!"); 18 19 } 20 return 0; 21 }
Baris 9 menunjukkan bahwa kita membutuhkan file Foundation.hpada Foundation Framework. Untuk memanggil file pada Objective C, kita menggunakan #import, bukan #include, walaupun sebenarnya tidak ada masalah walaupun kita gunakan #include. Namun ada baiknya kita gunakan standardisasi yang telah ditetapkan oleh Objective C.
Baris 11 adalah fungsi yang telah ditetapkan pada bahasa C sebagai fungsi yang dipanggil ketika program dijalankan. Pada project HelloWorld pun ada file ini, yang digunakan untuk memanggil class AppDelegate.
Baris 14 adalah tanda bahwa semua object yang dibuat setelah kurung kurawal “{” akan dihapus ketika keluar dari kurung kurawal. Pada sesi ini tidak ada object yang dibuat, jadi kalau dihilangkan juga tidak apa-apa. Karakter “@” menunjukkan sebuah identifier keyword dalam Objective C agar tidak konflik dengan bahasa C atau C++.
Baris 16 adalah single line comment, ditandai dengan “//”. Untuk multi line comments gunakan “/* */”.
Baris 17 adalah fungsi untuk menampilkan output ke console. NSLog adalah bagian dari Foundation Framework. Lagi-lagi kamu berhadapan dengan “@” yang menandakan bahwa tulisan “Hello World!” adalah sebuah kelas NSString, bukan char[].
➷ Klik Run, maka akan muncul tulisan “Hello World!” pada panel di bagian bawah (apabila tidak muncul pilih View -> Debug Area -> Activate Console).
Deklarasi Variable
Ketikkan kode di bawah ini :
14 @autoreleasepool { 15 16 // insert code here... 17 NSLog(@"Hello, World!"); 18 19 NSString *myName = @"Chuck Norris"; 20 int myAge = 18; 21 NSLog(@"Halo, nama saya %@. Umur saya %d tahun.", myName, myAge); 22 }
Baris 19 adalah bentuk deklarasi variable NSString. Semua object dalam Objective C berupa pointer, jadi harus menggunakan tanda “*”. Jika kamu belum mengerti apa itu pointer, bisa dicari di google atau wikipedia.
Hanya untuk NSString yang bisa diisi langsung dengan nilainya. Objek lain harus dialokasikan terlebih dahulu (akan dipelajari di segmen berikutnya).
Baris 20 adalah inisialisasi variable standar C.
Baris 21, logging. Pada C mungkin kamu mengenal fomat “%d” untuk decimal variable, “%f” untuk floating point, “%s” untuk string. Untuk object pada Objective C, kita gunakan “%@”.
Klik Run, maka akan muncul tulisan “Halo, nama saya Chuck Norris. Umur saya 18 tahun.”
Mengakses Method
Jika basis pemrograman kamu adalah prosedural seperti C, mungkin method adalah sesuatu yang asing. Method adalah fungsi yang dimiliki oleh suatu object atau class, yang berkenaan dengan object atau class itu sendiri. Contoh seperti burung (object) memiliki fungsi makan, terbang, bersuara (method).
Mengakses method pada Objective C berbeda dengan bahasa pemrograman lain. Pada pemrograman lain mungkin kamu mengenal format seperti ini :
someObjectOrClass.someMethod() someObjectOrClass.someMethod(type someParameter) someObjectOrClass.someMethod(type someParameter1, type someParameter2)Pada objective C, format yang dipakai sebagai berikut :
[someObjectOrClass someMethod] [someObjectOrClass someMethodWithParameter:(type)parameter] [someObjectOrClass someMethodWithParameter1:(type)parameter1 andParameter2:(type)parameter2]Lanjut koding. Ketikkan kode berikut :
21 NSLog(@"Halo, nama saya %@. Umur saya %d tahun.", myName, myAge); 22 23 NSMutableArray *myFoods = [[NSMutableArray alloc] init]; 24 [myFoods addObject:@"Mangga"]; 25 [myFoods addObject:@"Apel"]; 26 [myFoods addObject:@"Jeruk"]; 27 NSLog(@"Buah kesukaan saya adalah : %@", myFoods); 28 29 NSArray *mySubjects = [NSArray arrayWithObjects:@"Matematika", @"Fisika", @"Kimia", nil]; 30 NSLog(@"Dan mata pelajaran favorit saya adalah : %@", mySubjects); 31 }
Run dan lihat hasilnya.
Baris 23 adalah cara standar inisialisasi object dalam Objective C. Pertama kelas mengalokasikan tempat pada memori untuk dijadikan sebuah objek, lalu objek tersebut diinisialisasikan.
Baris 24-26 adalah cara akses object method.
Baris 29 adalah cara akses class method. Dalam hal ini method tersebut langsung mengalokasi dan menginisialisasi sebuah array berisi matematika, fisika, dan kimia
Baris 23 adalah cara standar inisialisasi object dalam Objective C. Pertama kelas mengalokasikan tempat pada memori untuk dijadikan sebuah objek, lalu objek tersebut diinisialisasikan.
Baris 24-26 adalah cara akses object method.
Baris 29 adalah cara akses class method. Dalam hal ini method tersebut langsung mengalokasi dan menginisialisasi sebuah array berisi matematika, fisika, dan kimia

Hai, selamat datang di iOS tutorial. Jika kamu ingin belajar pemrograman iOS namun masih belum tahu langkah awal untuk memulainya, kamu berada di tempat yang tepat. Kebanyakan orang mengajarkan iOS dimulai dari interface builder, atau lebih ekstrim lagi, storyboard. Well, I’m different. Tiap orang memiliki cara tersendiri untuk belajar dan mengajarkan bahasa pemrograman, dan di sini saya akan mengajarkan berdasarkan pengalaman pribadi. It’s code time!
Untuk memulai pemrograman iOS, paling tidak kamu mengerti bahasa pemrograman, entah itu C, java, C++, Pascal, dll. Yang kedua, sudah pasti kamu harus punya mac, minimal dengan O.S. Lion 10.7.4. Selanjutnya, apabila kamu masih belum memiliki Xcode, download di sini. Xcode yang saya pakai pada saat blog ini ditulis adalah Xcode 4.6.2.
Create Empty Application
Pada bagian ini, kamu akan saya ajak untuk mengikuti step-step pembuatan project hingga test di simulator. Apabila kamu tipikal orang yang selalu ingin tahu makna dari tiap kode yang kamu tulis, well, untuk saat ini kamu tidak perlu tahu. Ikuti saja petunjuk yang saya berikan, dan kamu akan mengetahuinya ketika tiba saatnya (cieee).
Tujuan dari bab ini adalah untuk membuat sebuah text field, text label, dan button. Apabila button ditekan, maka teks pada text field akan ditampilkan di text label. Pretty simple, huh?
Ok, tahap pertama, buka Xcode.
Untuk memulai pemrograman iOS, paling tidak kamu mengerti bahasa pemrograman, entah itu C, java, C++, Pascal, dll. Yang kedua, sudah pasti kamu harus punya mac, minimal dengan O.S. Lion 10.7.4. Selanjutnya, apabila kamu masih belum memiliki Xcode, download di sini. Xcode yang saya pakai pada saat blog ini ditulis adalah Xcode 4.6.2.
Create Empty Application
Pada bagian ini, kamu akan saya ajak untuk mengikuti step-step pembuatan project hingga test di simulator. Apabila kamu tipikal orang yang selalu ingin tahu makna dari tiap kode yang kamu tulis, well, untuk saat ini kamu tidak perlu tahu. Ikuti saja petunjuk yang saya berikan, dan kamu akan mengetahuinya ketika tiba saatnya (cieee).
Tujuan dari bab ini adalah untuk membuat sebuah text field, text label, dan button. Apabila button ditekan, maka teks pada text field akan ditampilkan di text label. Pretty simple, huh?
Ok, tahap pertama, buka Xcode.
Klik File -> New -> Project (cmd+shift+N). Kamu akan disuguhi dengan template yang telah disediakan.
Pilih iOS -> Application -> Empty Application dan klik Next.
Selanjutnya, isi Product Name dengan nama “HelloWorld”. Bila Organization Name dan Company Identifier masih kosong, isi bebas. Pastikan Use Automatic Reference Counting telah tercentang. Klik Next.
Selanjutnya kamu harus memilih folder untuk menyimpan project. Pilih folder sesuka hati (tidak perlu untuk membuat folder baru, karena akan di-generate oleh Xcode). Klik Create.
Selamat! Kamu sudah membuat project pertama kamu. Sekarang, klik tombolRun di kiri atas (cmd + R). Kamu akan mendapati tampilan kosong, karena kamu memang belum menuliskan satu kode pun.
Add Some Elements
Kembali ke Xcode. Buka AppDelegate.h (cukup klik satu kali). Kelas ini yang dipanggil pertama kali ketika aplikasi dijalankan. Mungkin kamu bingung dengan sintak-sintak yang tidak familiar ini, tapi untuk sekarang jangan terlalu dipikirkan.
Inisialisasikan elemen-elemen yang dibutuhkan :
@interface AppDelegate : UIResponder <UIApplicationDelegate> { UITextField *inputTextField; UIButton *clickMeButton; UILabel *outputLabel; } @property (strong, nonatomic) UIWindow *window;Sekarang kita akan memasukkan elemen-elemen yang dibutuhkan, bukaAppDelegate.m dan ketikkan kode berikut :
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; inputTextField = [[UITextField alloc] initWithFrame:CGRectMake(20, 40, 280, 30)]; [inputTextField setBorderStyle:UITextBorderStyleRoundedRect]; [self.window addSubview:inputTextField]; clickMeButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [clickMeButton setFrame:CGRectMake(20, 100, 280, 50)]; [clickMeButton setTitle:@"Click Me" forState:UIControlStateNormal]; [self.window addSubview:clickMeButton]; outputLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 170, 280, 30)]; [outputLabel setTextAlignment:NSTextAlignmentCenter]; [outputLabel setText:@"Hello World!"]; [self.window addSubview: outputLabel]; return YES; }Run dan lihat hasilnya.
Wow, seperti yang kamu duga, akan ada 3 elemen yang tampil, yaituinputTextField, clickMeButton, dan outputLabel. Ketika inputTextFieldkamu tekan, maka akan keluar keyboard standar ala iOS. KetikaclickMeButton ditekan, maka tombol akan berubah warna menjadi biru, but nothing happened!?
Pada tahap ini kamu akan belajar menyambungkan inputTextField danoutputLabel dengan perantara clickMeButton.
Buat sebuah method sebagai target ketika clickMeButton ditekan :
[outputLabel setText:@"Hello World!"]; [self.window addSubview:outputLabel]; [clickMeButton addTarget:self action:@selector(clickMe:) forControlEvents:UIControlEventTouchUpInside]; return YES; } - (void)clickMe:(UIButton *)sender{ [inputTextField resignFirstResponder]; NSString *output = [NSString stringWithFormat:@"Hello, %@!",inputTextField.text]; [outputLabel setText: output]; } - (void)applicationWillResignActive:(UIApplication *)application {Run dan lihat hasilnya. Sekarang ketika kamu mengetikkan sesuatu diinputTextField dan menekan clickMeButton, maka keyboard akan hilang dan teks pada outputLabel akan berubah.
Sign up here with your email
EmoticonEmoticon