RANCANG BANGUN APLIKASI RUN FASTER PADA IPHONE OS UNTUK PANDUAN PENINGKATAN KECEPATAN LARI 1,2,3
Aditya Wibisana, Sarwosri 2, Nanik Suciati3 Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Kampus ITS Sukolilo Surabaya, 60111, Indonesia 1
[email protected],
[email protected],
[email protected]
Abstrak Perkembangan perangkat mobile yang begitu pesat, menjadikan perangkat mobile tidak sekedar perangkat untuk melakukan hiburan, seperti bermain game, atau menonton film, tetapi juga untuk mendukung aktivitas lain, salah satunya adalah untuk mendukung aktivitas olah raga. Salah satu aktivitas olah raga tersebut adalah lari. Lari, selain memiliki banyak manfaat, juga dapat berbahaya, jika dilakukan secara berlebihan. Karena itu, lari perlu dilakukan secara tepat, sesuai dengan anjuran dari referensi terpercaya, salah satunya adalah dari artikel “20 Sessions to Build Speed” dari Runner’s World. Berdasarkan artikel tersebut, terdapat 20 latihan, dimana inti dari latihan tersebut adalah pemenuhan 2 variabel penting, yaitu variabel untuk jarak, dan variabel untuk waktu agar latihan lari dapat dilakukan dengan cara yang aman. Bagi seseorang yang melakukan latihan, tentunya akan merepotkan apabila harus latihan sambil mengawasi dan mengingat variabel tersebut. Dengan memanfaatkan fitur timer, akselerometer, dan pemutar suara dari iOS, Run Faster dibuat untuk memenuhi panduan dari “20 Sessions to Build Speed”, dimana setelah pengguna Run Faster memenuhi variabel jarak dan waktu tertentu sesuai dengan artikel tersebut, maka Run Faster akan memberi panduan untuk latihan selanjutnya. Untuk menghitung jarak, Run Faster memanfaatkan akselerometer, dan menggunakan teknik hitungan berdasarkan AN-900, yang merupakan artikel yang menyebutkan teknik penghitungan jarak dengan menggunakan akselerometer. Hasil dari aplikasi Run Faster adalah suatu aplikasi yang memberikan panduan peningkatan kecepatan lari sesuai dengan artikel “20 Sessions to Build Speed”. Penghitungan jarak pada Run Faster dengan memanfaatkan akselerometer ini memiliki akurasi hingga 90%, dan dapat ditingkatkan lagi, diantaranya dengan peningkatan metode perhitungan dan pengaplikasian kode yang lebih efektif dan efisien. Kata kunci: akselerometer, latihan peningkatan kecepatan terstruktur dari artikel berdasarkan “20 Sessions to Build Speed”. Perkembangan perangkat mobile cerdas yang begitu pesat, membuat perangkat mobile tidak hanya perangkat untuk sekedar melakukan hiburan semata, seperti untuk memainkan permainan, menonton film, tetapi juga untuk keperluan lain, seperti untuk menunjang aktivitas olah raga. Perangkat mobile ini selain ringan, juga memiliki desain kecil, sehingga mudah dibawa kemana-mana. Karena itu, walaupun perangkat tersebut harganya mahal, tetapi cenderung dinikmati konsumen karena fungsionalitasnya yang cukup tinggi. Salah satu perangkat mobile yang memiliki fungsionalitas cukup tinggi dan diminati banyak konsumen adalah perangkat iPod Touch buatan Apple. Sejauh artikel ini ditulis, untuk mendukung aktivitas olah raga, sudah terdapat banyak aplikasi mobile, salah satunya adalah “321 Run Free”. “321 Run Free” menggunakan stopwatch dan fitur dari GPS (Global Positioning System) untuk menghitung jarak. Kelemahan dari aplikasi ini adalah alat yang digunakan untuk mengukur jarak, yaitu GPS. GPS tidak memiliki akurasi yang cukup bagus untuk perhitungan jarak. GPS juga membutuhkan waktu yang lama dalam
1. Pendahuluan Lari adalah salah satu dari 3 cabang olah raga atletik (lari, lompat, dan lempar). Lari merupakan dasar dari sebagian besar olah raga, seperti sepak bola, basket, tenis, dan lain-lain. Meskipun memiliki banyak manfaat, lari juga memiliki potensi yang berbahaya untuk tubuh [1]. Jika dilakukan dengan cara yang salah, lari dapat merusak lutut, tulang kering, pinggul, dan punggung. Beberapa cedera pada lari tersebut disebabkan karena terlalu berlebihan dalam berlatih. Untuk mengurangi resiko cedera akibat latihan lari yang berlebihan, kita perlu melakukan latihan dengan bantuan dari pelatih, atlet, atau profesional lainnya. Permasalahannya adalah para pelatih dan atlet tidak selalu ada di sekitar kita. Informasi tentang lari yang aman pun mutlak diperlukan. Banyak referensi untuk melakukan olah raga lari yang aman, salah satunya adalah referensi dari Runner’s World. Runner’s World adalah salah satu media yang khusus membahas banyak informasi tentang cara melakukan olah raga yang aman. Salah satu artikel Runner’s World tentang melakukan olah raga lari adalah artikel dengan judul “20 Sessions to Build Speed”. Dengan referensi terpercaya dari Runner’s World, akan dibuat suatu panduan latihan
1
20. Divide Your Time 20 panduan latihan lari tersebut akan diaplikasikan ke dalam perangkat berbasis iOS.
menangkap sinyal. GPS bermasalah jika digunakan dalam ruangan, dan pada cuaca yang mendung. Perangkat yang mendukung GPS juga cenderung mahal, jika dibandingkan dengan perangkat yang mendukung akselerometer. GPS juga membutuhkan tenaga baterai yang besar jika dibandingkan dengan akselerometer [7]. Aplikasi ini juga tidak memiliki panduan untuk melakukan latihan lari dengan cara yang tepat. Alternatif aplikasi lain pun diperlukan. Dengan memanfaatkan teknologi dari perangkat iPod Touch, dan panduan latihan lari dari “20 Sessions to Build Speed” , maka akan dibuat suatu aplikasi bernama Run Faster yang berfungsi untuk memberikan panduan latihan lari, sehingga cedera dalam melakukan latihan lari dapat dikurangi.
2.3. Akselerometer Akselerometer adalah perangkat yang mengukur akselerasi, yaitu perubahan kecepatan yang terjadi pada kurun waktu tertentu. Akselerasi ini dikenal juga sebagai percepatan. Akselerasi dapat bersifat statis, seperti kekuatan gravitasi, atau dapat juga bersifat dinamis, yang diakibatkan oleh perpindahan atau getaran dari akselerometer [1]. Sebagian besar perangkat berbasis iOS memiliki akselerometer. iOS juga memberikan mekanisme untuk melihat akselerasi yang terjadi pada perangkatnya melalui akselerometer ini. Akselerasi tersebut digambarkan pada 3 sumbu, yaitu sumbu x, sumbu y, dan sumbu z, seperti yang terlihat pada Gambar 1.
2. Dasar Teori Teori yang mendukung pembuatan aplikasi Run Faster akan dijelaskan di bawah. 2.1. iPhone OS iPhoneOS, atau yang lebih dikenal dengan iOS, adalah sistem operasi pada perangkat mobile buatan Apple. Beberapa perangkat yang menggunakan sistem operasi iPhoneOS di antaranya adalah iPhone, iPod Touch, dan iPad. Saat tulisan ini dibuat, sistem operasi terbaru dari iOS ini adalah iOS 4.0, dan saat ini Apple sedang gencar dalam membuat iOS vesi 5.0 yang memiliki fitur yang lebih canggih. Aplikasi Run Faster akan dibuat pada perangkat mobile yang menggunakan iOS sebagai sistem operasinya. 2.2. 20 Sessions to Build Speed “20 Sessions to Build Speed” adalah artikel dari Runner’s World yang memberikan panduan latihan peningkatan kecepatan lari. Karena berasal dari sumber terpercaya, Run Faster akan menggunakan “20 Sessions to Build Speed” sebagai dasar panduan latihan lari. “20 Sessions to Build Speed” memiliki 20 latihan untuk peningkatan kecepatan lari. Di antaranya adalah [5] : 1. Keep it Short 2. Add Some Fartlek Training 3. Do An Interval Session 4. Go For Shorts Reps 5. Glide Downhill 6. Do A Pyramid Session 7. Try Fast Reps 8. Do A Simulation Session 9. Build Yourself up 10. Keep Going 11. Pile On The Miles 12. Build Your Pyramids 13. Or Do Half Pyramid 14. Carve up 2K Speed Session 15. Go Longer 16. Go Off Road 17. .. Or Use A Track 18. Build up to 5K 19. Break Up The Longer Run
Gambar 1. Akselerasi yang diberikan oleh akselerometer pada sumbu x, y, dan z 2.4. Peningkatan Perhitungan Jarak dengan Menggunakan Akselerometer Untuk mengukur jarak, Run Faster memanfaatkan akselerometer. Perhitungan jarak dengan memanfaatkan akslerometer ini menggunakan teknik hitungan seperti yang dibuat pada artikel AN-900 , “Enhancing the Performance of Pedometers Using a Single Accelerometer”. Penjabaran tulisan pada bab 2.4. ini menggunakan teori dari AN-900 [6]. Perhitungan jarak ini mengasumsikan bahwa saat lari, pelari akan menggunakan 1 titik tumpu dengan tanah, dan mengasumsikan bahwa gaya tolak yang terjadi antara pelari dengan tanah bersifat elastis sempurna. Walaupun kelihatannya tidak masuk akal, tetapi berdasarkan eksperimen, asusmsi ini. Pola grafik akselerasi yang terjadi pada seseorang saat berjalan dengan menggunakan akselerometer dapat dilihat pada Gambar 2.
2
Gambar 2. Grafik akselerasi pada subjek 1 dengan langkah normal
Gambar 3. Akselerasi pada subjek 2 dengan langkah normal
Grafik yang terlihat pada Gambar 2, menunjukkan adanya puncak dan lembah, dimana puncak dan lembah ini menunjukkan adanya suatu langkah. Secara visual, cukup mudah untuk mendeteksi adanya langkah. Tetapi langkah pada setiap orang akan berbeda-beda. Gambar 3 menunjukkan langkah pada subjek 2 yang berjalan dengan kecepatan normal. Secara visual, akan sulit untuk mendeteksi langkah, jika grafik menunjukkan p ola seperti pada Gambar 3. Tetapi, perhitungan menunjukkan bahwa rata-rata nilai tengah dan nilai puncak antara Gambar 2 dengan Gambar 3 adalah mirip. Karena itu, algoritma sederhana untuk perhitungan jarak ini adalah :
2.6. Cocoa Touch Cocoa Touch adalah kumpulan framework yang menjalankan aplikasi pada iOS. Cocoa Touch memiliki framework UIKit yang menyediakan peralatan dasar untuk mengimplementasikan aplikasi, yang meliputi pengelolaan file, jaringan, dan masih banyak lagi. Melalui UIKit ini pula, kita dapat mengakses beberapa kontrol GUI, tombol, dan fungsi full screen pada iOS. Kontrol akselerometer dan fitur untuk memainkan suara sebagai panduan latihan lari juga dapat dimanfaatkan melalui framework dari Cocoa Touch [2]. 2.7. Obective-C Objective-C merupakan bahasa pemrograman yang sebagian besar digunakan oleh framework dari Cocoa Touch [2]. Contoh deklarasi dari sebuah method pada Objective-C dapat kita lihat pada Gambar 4.
------- (1) dimana : d adalah jarak yang dihitung, satuannya meter. k adalah panjang langkah rata-rata dari pengguna, satuannya meter. max adalah maksimum data akselerasi yang diukur sesuai dengan langkah ini, satuannya m/s2 . min adalah nilai minimal akselerasi, satuannya m/s2 avg adalah rata-rata nilai akselerasi untuk langkah ini, satuannya m/s2 Persamaan 1 ini dihitung setiap langkah, dimana penentuan adanya langkah ini menggunakan algoritma penentuan langkah (step-finding algorithm).
Gambar 4. Contoh dari deklarasi instance method insertObject:atIndex:
2.5. Xcode Xcode adalah satu set perangkat lunak dari Apple untuk mengembangkan berbagai macam aplikasi untuk iOS dan Mac. Terdapat beberapa peralatan pendukung pada Xcode, dan perangkat utama yang digunakan untuk membuat Run Faster adalah iOS Simulator sebagai simulator untuk menjalankan aplikasi, dan InterfaceBuilder (untuk membuat antar muka Run Faster).
Suatu object dapat mengirimkan pesan, dan pengiriman pesan itu ditandai oleh tanda kurung siku ( [ dan ] ). Di dalam kurung siku, objek yang menerima pesan ada pada sisi kiri, dan pesan (yang mengandung parameter yang dibutuhkan oleh pesan) ada di sebelah kanan. Contoh, untuk mengirim pesan insertObject:atIndex: pada variable myArray kita bisa menggunakan sintaks : [myArray insertObject:anObject atIndex:0];
3
Objective-C mendukung nested message untuk menghindari pembuatan variabel lokal yang akan digunakan untuk menyimpan suatu nilai. Kembalian dari tiap nested message akan digunakan sebagai parameter, atau sebagai target dari pesan yang lain. Contoh :
Dalam melakukan suatu latihan, akan menarik apabila kita dapat melihat beberapa informasi latihan, seperti total jarak yang ditempuh, total waktu yang telah dilalui, jarak dan waktu yang ditempuh pada sesi yang sedang dijalani. Karena itu, Run Faster akan menyediakan informasi untuk itu. Untuk keperluan pengukuran jarak dengan memanfaatkan akselerometer, maka perlu adanya penyesuaian nilai k, seperti yang ditunjukkan pada persamaan 1 bab 2. Karena itu, Run Faster perlu menyajikan pengaturan nilai k, agar setiap individu dapat mengatur nilai k nya,. Semua fitur yang disebutkan di atas dapat dipetakan ke dalam use case seperti yang terlihat pada Gambar 6.
[[myAppObject theArray] insertObject: [myAppObject objectToInsert] atIndex:0];
Objective-C juga menyediakan sintaks dot (.). Sebagai contoh, kita dapat menuliskan contoh sebelumnya dengan : [myAppObject.theArray insertObject: [myAppObject objectToInsert] atIndex:0];
Sintaks dot ini juga bisa digunakan untuk mengubah suatu nilai. Contoh : myAppObject.theArray = aNewArray;
uc use1 Run Faster System Mengetahui total j arak yang telah ditempuh
3. Metodologi
Memilih Latihan
Metodologi ini membahas analisi dan desain dari aplikasi Run Faster.
Mengetahui total w aktu yang telah dilalui Melakukan Pengaturan Latihan
3.1. Arsitektur aplikasi Aplikasi Run Faster dapat digunakan pada perangkat berbasis iOS. Gambar 5 menunjukkan arsitektur aplikasi Run Faster.
Mengetahui j arak yang ditempuh pada suatu sesi Mengetahui Indikator Latihan Pengguna
Memberi panduan
Mengetahui w aktu yang dilalui pada suatu sesi
Mendapatkan instruksi latihan
menggunakan
Pengguna
menjalankan Mengetahui sisa sesi yang harus dilakukan
Run Faster iOS devices Mengubah Pengaturan Aplikasi
Mengetahui j umlah sesi yang telah dilakukan
Gambar 5. Arsitektur sistem Run Faster.
3.2. Analisa Perancangan Perangkat Lunak
Gambar 6. Diagram use case aplikasi Run Faster
Run Faster memberikan panduan kepada pengguna dalam latihan peningkatan kecepatan. Di bawah ini akan dijabarkan apa saja yang diperlukan untk membuat aplikasi. Untuk memenuhi kebutuhan dalam memberikan panduan, maka Run Faster perlu memberikan informasi pada pengguna tentang latihan yang dipilih pengguna, seperti deskripsi latihan dan informasi latihan yang harus dilakukan. Karena itu Run Faster harus dapat memberikan informasi latihan pada pengguna. Informasi yang memungkinkan untuk diberikan pada pengguna adalah informasi teks dan informasi suara. Beberapa panduan pada artikel “20 Sessions to Build Speed” membolehkan pengguna untuk melakukan kustomisasi latihan, sesuai dengan kondisi pengguna. Karena itu, Run Faster juga harus dapat menyediakan pengaturan untuk kustomisasi beberapa latihan yang telah dipilih oleh pengguna.
3.3. Implementasi proses pengambilan data Berdasarkan pola latihan yang disebutkan pada artikel “20 Sessions to Build Speed”, suatu latihan lari pasti memiliki satu atau beberapa sesi latihan, dan setiap sesi latihan pasti dibatasi oleh salah satu hal berikut ini : 1. Jarak. 2. Waktu. Pengambilan data pada variabel waktu yang diperlukan dalam melakukan latihan cukup mudah, yaitu dengan memanfaatkan fitur timer yang ada pada framework CocoaTouch. Sedangkan pengambilan data jarak, akan digunakan algoritma seperti yang disebutkan pada AN-900 [6]. Jika salah satu variabel terpenuhi, maka Run Faster akan memberikan sesi yang harus dilakukan selanjutnya.
4
Mulai
Run Faster menampilkan deskripsi latihan
Pengguna memilih latihan
Pengguna melakukan pengaturan?
ya Run Faster menyimpan pengaturan yang dilakukan pengguna
Run Faster menampilkan instruksi dan indikator latihan
Pengguna memulai latihan
tidak
Run Faster mengambil data standar latihan Run Faster memberikan instruksi suara untuk melakukan latihan
ya
Masih ada sesi? tidak
Latihan dibatasi jarak?
ya
tidak
Jarak sudah terpenuhi?
tidak
tidak
ya
Tampilkan indikator latihan dan tetap hitung waktu dan jarak
Run Faster berhenti memberikan instruksi latihan
Waktu sudah terpenuhi?
ya
Gambar 7. Diagram alir rancangan proses aplikasi Run Faster saat memberikan instruksi latihan pada suatu sesi latihan, maka Run Faster akan menjalankan sesi latihan selanjutnya (apabila sesi latihan tersebut memiliki batasan jarak). Gambaran umum proses pengambilan dan pengolahan data serta pemberian panduan secara keseluruhan dapat kita lihat pada
3.4. Implementasi proses pengolahan data Proses ini merupakan proses pengolahan data. Pada latihan yang memiliki batasan variabel berupa jarak, Run Faseter menggunakan algoritma sesuai dengan artikel AN 900. Jika algoritma pada AN-900 menunjukkan bahwa pengguna telah menempuh jarak Gambar 7.
yang berisi batasan sesi latihan (jarak/waktu, tergantung sesi latihan), dan stack tersebut akan diambil mulai dari stack yang paling pertama (dequeue). Pengambilan isi stack latihan dilakukan apabila pengguna memenuhi jarak/waktu pada sesi tersebut. Penggeneralisasian pengambilan stack ini dapat kita lihat pada kelas coreRunFasterModel. Tetapi, ada juga beberapa latihan yang tidak mengikuti pola pengambilan stack tersebut, yaitu pada latihan nomor 2,9,10 dan 15. Karena itu, dibuatlah suatu kelas tersendiri yang mengaplikasikan pengkhususan pada latihan nomor 2,9,10, dan 15 tersebut, seperti yang dapat kita lihat pada kelas core2, core9, core10, dan core15.
3.5. Implementasi kelas Berdasarkan spesifikasi-spesifikasi pada “20 Sessions to Build Speed” maka rancangan kelas untuk Run Faster dapat kita lihat pada Error! Reference source not found.. Pada latihan tertentu, terdapat beberapa pengaturan, dimana pengaturan tersebut berbeda dengan pengaturan lainnya. Karena itu, dibuat generalisasi pada kelas pengaturan, yaitu pada kelas trainSetting. Umumnya setiap latihan, memiliki beberapa sesi latihan yang fixed, di mana untuk pengaplikasian pemberian panduan cukup dengan pembuatan stack
5
Untuk proses perhitungan jarak, digunakan kelas accelerometerDelegate, dimana pengaplikasian dari kelas ini merupakan pengaplikasian (dengan modifikasi pengambilan jumlah sampel pada akselerometer) dari kode sumber yang terdapat pada AN-900.
3.
3.6. Implementasi Lingkungan Pembangunan Perangkat Lunak Run Faster akan diimplementasikan pada perangkat berbasis iPodTouch 4th Gen yang memiliki spesifikasi sebagai berikut : Perangkat keras CPU : ARM Cortex-A8 Apple A4 1 GHz (diturunkan ke 800 MHz) Memori : 256 MB DRAM Grafis : PowerVR SGX Akselerometer : LIS302DL. Perangkat lunak iOS 4.1 Sedangkan untuk mengembangkan Run Faster menggunakan lingkungan dengan spesifikasi : Sistem Operasi : MacOS Snow Leopard 10.6.7. IDE & compiler : Xcode. Simulasi : iOS Simulator. GUI Builder : Interface Builder. UML dan rancangan aplikasi : Enterprise Architect 7. Desain background dan icon : CorelDraw X5. Simulasi : iOS Simulator.
melaksanakan latihan peningkatan kecepatan, sesuai dengan artikel “20 Sessions to Build Speed”. Run Faster dapat berfungsi sebagai aplikasi yang menghitung jarak yang ditempuh pengguna dengan memanfaatkan akselerometer yang tertanam pada perangkat berbasis iPhone OS dan memberikan peringatan sesuai dengan artikel “20 Sessions to Build Speed”.
6. Saran Peningkatan akurasi perhitungan jarak diperlukan untuk dapat menghitung jarak dengan lebih baik, salah satunya adalah dengan penggunaan fitur time windowing [6].
7. Daftar Pustaka [1] A beginner’s guide to accelerometers. (n.d.). Retrieved Maret 9, 2011, from Dimension Engineering: http://www.dimensionengineering.com/accelerometers. htm [2] Apple Inc. (n.d.). iOS Cocoa Touch. Retrieved 6 21, 2011, from Apple Developer: http://developer.apple.com/technologies/ios/cocoatouch.html [4] Dreyer, D., & Dreyer, K. ChiRunning, A Revolutionary Approach to Effortless, Injury Free Running. Simon & Schuster.
4. Hasil uji coba Berdasarkan hasil uji coba untuk pengukuran jarak dengan menggunakan metode seperti yang tertera pada AN-900, maka Run Faster memiliki tingkat kesalahan sebesar hingga 10%. Sedangkan untuk pengukuran waktu, dengan menggunakan timer yang disediakan pada framework Cocoa Touch, maka akurasi untuk ketepatan waktu adalah 99% akurat.
[5] Runner’s World Complete Guide to Running. . (2010). Runner’s World. [6] Scarlett, J. (n.d.). Retrieved July 14, 2011, from Analog Devices: http://www.analog.com/static/importedfiles/application_notes/47076299220991AN_900.pdf
5. Kesimpulan [7] Sharon, R. (2010, Mei 9). Tracking Running Pace and Distance: GPS vs. Accelerometers. Retrieved Maret 10, 2011, from suite101.com: http://www.suite101.com/content/tracking-runningpace-and-distance-gps-vs-accelerometers-a235395
Kesimpulan yang dapat diambil dalam rancang bangun aplikasi Run Faster untuk latihan peningkatan kecepatan adalah : 1. Aplikasi Run Faster berhasil dibuat dan digunakan pada perangkat berbasis iPhone OS. 2. Run Faster dapat berfungsi sebagai penghitung waktu lari yang dibutuhkan pengguna dalam
6
Lampiran class JustClassNameAndLittleExplanation
core9
fileHandler
core2 +
sessionFinished() : void +
+ +
myTimerAction(NSTimer*) : void
getSettingsDictionary() : NSDictionary* save:key:(NSString*, NSObject*) : void
core15 theFileHandler +
sessionFinished() : void
runFasterMain coreRunFasterModel
core10 +
sessionFinished() : void
+
1 initSessions(int) : void playSoundGuide() : void player startAccelerometer() : void 1
+ + +
1
1
theFileHandler
audioPlayer +
brain
loadSettingTabAndTrainMain() : void
initPlayerList(boolean, NSString*) : void
1 accelerometerHandler
theSetting
coreRunFaster accelerometerDelegate +
initWithSessions(NSArray*, int) : void +
accelerometer(UIAcceleration*, UIAccelerometer*) : void 1
theCoreRunFaster
setting 1
trainMain
+
theTrainMainModel 1 +
trainMainModel +
applyClicked() : IBAction
loadDescSetupRun() : void 1
getSetupView(int) : UIViewController*
1 theTrainDescription
theTrainSetting theTrainMain
trainDescription trainSetting
+
runFaster3View Controller +
loadTrainMenuList() : void
+
1
updateDescription:(int) : void
getSessions() : NSMutableArray*
settingUpDefault +
no1Setup
no2Setup
no3Setup
1
no4Setup
1
no6Setup
1
no7Setup
1
no16Setup
1
pickerDelegate +
pickerView:titleForRow: forComponent:(int, int, UIPickerView*) : NSString*
Lampiran 1. Rancangan kelas diagram Run Faster
7
getSessions:(int) : void
no17Setup
1