• Tidak ada hasil yang ditemukan

LAPORAN TUGAS AKHIR PERANCANGAN SISTEM INFORMASI PENJUALAN MELALUI APLIKASI MOBILE PADA PT. FIORA ETNIKA INDONESIA. Disusun Oleh :

N/A
N/A
Protected

Academic year: 2021

Membagikan "LAPORAN TUGAS AKHIR PERANCANGAN SISTEM INFORMASI PENJUALAN MELALUI APLIKASI MOBILE PADA PT. FIORA ETNIKA INDONESIA. Disusun Oleh :"

Copied!
83
0
0

Teks penuh

(1)

LAPORAN TUGAS AKHIR

PERANCANGAN SISTEM INFORMASI PENJUALAN

MELALUI APLIKASI MOBILE

PADA PT. FIORA ETNIKA INDONESIA

Disusun Oleh :

Nama

: Retno Ika Safitri

NIM

: A11.2007.03631

Program Studi

: Teknik Informatika

FAKULTAS ILMU KOMPUTER

UNIVERSITAS DIAN NUSWANTORO

SEMARANG

2012/2013

(2)

LAPORAN TUGAS AKHIR

PERANCANGAN SISTEM INFORMASI PENJUALAN

MELALUI APLIKASI MOBILE

PADA PT. FIORA ETNIKA INDONESIA

Laporan ini disusun sebagai salah satu syarat untuk menyelesaikan program studi Teknik Informatika S1 pada Fakultas Ilmu Komputer

Universitas Dian Nuswantoro

Disusun Oleh :

Nama

: Retno Ika Safitri

NIM

: A11.2007.03631

Program Studi

: Teknik Informatika

FAKULTAS ILMU KOMPUTER

UNIVERSITAS DIAN NUSWANTORO

(3)

PERSETUJUAN LAPORAN TUGAS AKHIR

Nama Pelaksana : Retno Ika Safitri

NIM : A11.2007.03631

Program Studi : Teknik Informatika Fakultas : Ilmu Komputer

Judul Tugas Akhir : Perancangan Sistem Informasi Penjualan Melalui

Aplikasi Mobile Pada PT. Fiora Etnika Indonesia

Tugas Akhir ini telah diperiksa dan disetujui, Semarang, 3 Oktober 2013

Menyetujui, Menyetujui,

Pembimbing Dekan Fakultas Ilmu Komputer

Sari Wijayanti, M.Kom Dr. Abdul Syukur Drs, MM                            

(4)

PENGESAHAN DEWAN PENGUJI

Nama Pelaksana : Retno Ika Safitri

NIM : A11.2007.03631

Program Studi : Teknik Informatika Fakultas : Ilmu Komputer

Judul Tugas Akhir : Perancangan Sistem Informasi Penjualan Melalui

Aplikasi Mobile Pada PT. Fiora Etnika Indonesia

Tugas Akhir ini telah diujikan dan dipertahankan di hadapan Dewan Penguji pada Sidang Tugas Akhir tanggal 3 Oktober 2013. Menurut pandangan kami, Tugas

Akhir ini memadai dari segi kualitas maupun kuantitas untuk tujuan penganugerahan gelar Sarjana Komputer (S.Kom).

Semarang, 3 Oktober 2013 Dewan Penguji :

Budi Widjajanto, M.Kom Noor Ageng Setiyanto, M.Kom

Anggota Anggota

Heru Lestiawan, M.Kom Ketua Penguji            

(5)

PERNYATAAN KEASLIAN TUGAS AKHIR

Sebagai mahasiswi Universitas Dian Nuswantoro, yang bertanda tangan dibawah ini, saya :

Nama : Retno Ika Safitri NIM : A11.2007.03631

Menyatakan bahwa karya ilmiah saya yang berjudul :

PERANCANGAN SISTEM INFORMASI PENJUALAN MELALUI APLIKASI MOBILE PADA PT. FIORA ETNIKA INDONESIA

merupakan karya asli saya (kecuali cuplikan dan ringkasan yang masing-masing telah saya jelaskan sumbernya, dan perangkat pendukung lainnya). Apabila di kemudian hari, karya saya disinyalir bukan merupakan karya asli saya, yang disertai bukti-bukti yang cukup, maka saya bersedia untuk dibatalkan gelar beserta hak dan kewajiban yang melekat pada gelar tersebut.

Demikian surat pernyataan ini saya buat dengan sebenar-benarnya.

Dibuat di : Semarang Pada tanggal : 3 Oktober 2013 Yang menyatakan

(Retno Ika Safitri)

                   

(6)

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA

ILMIAH UNTUK KEPENTINGAN AKADEMIS

Sebagai mahasiswi Universitas Dian Nuswantoro, yang bertanda tangan dibawah ini, saya :

Nama : Retno Ika Safitri NIM : A11.2007.03631

Demi mengembangkan Ilmu Pengetahuan, menyetujui untuk memberikan kepada Universitas Dian Nuswantoro Hak Bebas Royalti Non-Eksklusif atas karya ilmiah saya yang berjudul :

PERANCANGAN SISTEM INFORMASI PENJUALAN MELALUI APLIKASI MOBILE PADA PT. FIORA ETNIKA INDONESIA

beserta perangkat yang diperlukan (bila ada). Dengan Hak Bebas Royalti Non-Eksklusif ini Universitas Dian Nuswantoro berhak menyimpan, memperbanyak, menggunakan, mengelolanya dalam bentuk pangkalan data (database), mendistribusikannya dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin kepada saya selama tetap mencantumkan nama saya sebagai penulis atau pemilik Hak Cipta.

Saya bersedia untuk menanggung secara pribadi, tanpa melibatkan pihak Universitas Dian Nuswantoro, segala bentuk tuntutan hukum yang timbul atas pelanggaran Hak Cipta dalam karya ilmiah saya ini.

Demikian surat pernyataan ini saya buat dengan sebenar-benarnya.

Dibuat di : Semarang Pada tanggal : 3 Oktober 2013 Yang menyatakan

(Retno Ika Safitri)

(7)

KATA PENGANTAR

Dengan memanjatkan puji syukur kehadirat Allah SWT. Tuhan Yang Maha Pengasih dan Maha Penyayang yang telah melimpahkan segala rahmat, hidayah, dan inayahnya kepada penulis sehingga laporan tugas akhir dengan judul “Perancangan Sistem Informasi Penjualan Melalui Aplikasi Mobile Pada PT.

Fiora Etnika Indonesia” dapat penulis selesaikan karena dukungan dari berbagai

pihak yang tidak ternilai besarnya. Oleh karena itu penulis menyampaikan terima kasih kepada :

1. Dr. Ir. Edi Noersasongko, M.Kom, selaku Rektor Universitas Dian Nuswantoro Semarang.

2. Dr. Abdul Syukur, Drs, MM, selaku Dekan Fakultas Ilmu Komputer Universitas Dian Nuswantoro Semarang.

3. Dr. Heru Agus Santoso, M.Kom, selaku Ketua Program Studi Teknik Informatika S1.

4. Sari Wijayanti, M.Kom, selaku pembimbing tugas akhir yang membantu proses penelitian, memberikan referensi teoritis dan dukungan moral pada penulis, dan memberi bimbingan yang berkaitan dengan penelitian penulis. 5. Dosen-dosen pengampu di Fakultas Ilmu Komputer Teknik Informatika

Universitas Dian Nuswantoro yang telah memberikan ilmu dan pengalamannya untuk kemudian diimplementasikan oleh penulis.

6. Drg. Dita Firdiana Firdaus, S.KG, selaku pimpinan PT. Fiora Etnika Indonesia, beserta segenap karyawannya yang telah memberikan data-data untuk keperluan penyusunan tugas akhir ini hingga terbentuk aplikasi penjualan.

7. Bapak dan Ibu, serta adik-adik yang selalu berdoa dan memberikan dukungan kepada penulis untuk maju dan terus berusaha.

8. Asep Bagja Priandana, SE, yang juga selalu memberikan dorongan dan bantuan untuk penulis dalam berbagai hal.

(8)

9. Teman-teman developer dan blogger yang telah memberi dukungan eksperimen, semangat untuk berbagi, dan memberikan resource pengetahuan yang penulis gunakan selama ini.

10. Sahabat-sahabat dan teman-teman penulis yang selalu memberikan semangat dan dorongan untuk selalu berusaha.

Semoga Tuhan Yang Maha Esa memberikan balasan yang lebih besar kepada beliau-beliau ini, dan pada akhirnya penulis berharap bahwa penulisan laporan tugas akhir ini dapat bermanfaat sebagaimana mestinya.

Semarang, 3 Oktober 2013 Penulis                                                  

(9)

ABSTRAKSI

Laporan Tugas Akhir dengan judul “Perancangan Sistem Informasi Penjualan Melalui Aplikasi Mobile Pada PT. Fiora Etnika Indonesia” telah dibuat dari bulan Oktober 2012 hingga September 2013.

Tujuan utama yang hendak dicapai dalam penyusunan Tugas Akhir ini adalah untuk membangun sistem informasi penjualan melalui aplikasi mobile pada PT. Fiora Etnika Indonesia, sehingga dengan adanya sistem informasi ini maka penyebaran informasi tentang penjualan produk yang ada di Fiora dapat diterima dengan cepat dan tepat sasaran pada konsumen sehingga nantinya penjualan akan meningkat karena pemasaran melalui aplikasi mobile dapat diakses oleh lebih banyak orang.

Metode penelitian yang dilakukan adalah studi lapangan dan studi kepustakaan. Studi lapangan meliputi pengamatan, wawancara, dan dokumentasi. Sedangkan studi kepustakaan dilakukan dengan penelitian kepustakaan yang relevan dengan masalah tersebut. Data-data yang didapat kemudian dianalisa, yang meliputi analisa masalah, analisa kebutuhan perangkat lunak, dan dilanjutkan dengan perancangan sistem yang meliputi desain arus data, kamus data, ERD, normalisasi, relasi tabel, desain struktur database, dan desain input-output.

Hasil dari perancangan dan desain sistem yang baru adalah berupa katalog barang berbasis web dan laporan-laporan yaitu laporan data konsumen, laporan data barang, laporan penjualan, dan laporan data konsumen.

Kata Kunci : Penjualan Online, Mobile e-commerce application, Laporan Penjualan

(10)

DAFTAR ISI

HALAMAN JUDUL..………... i

PERSETUJUAN LAPORAN TUGAS AKHIR……… ii

PENGESAHAN DEWAN PENGUJI………... iii

PERNYATAAN KEASLIAN TUGAS AKHIR………... iv

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH……… .. v

KATA PENGANTAR………... vi ABSTRAK……… viii DAFTAR ISI……… ix DAFTAR GAMBAR………. .. x DAFTAR TABEL………xi BAB I PENDAHULUAN 1.1. Latar Belakang……… 1 1.2. Rumusan Masalah……… .. 2 1.3. Batasan Masalah……… . 4 1.4. Tujuan………. 4 1.5. Manfaat………4

BAB II LANDASAN TEORI 2.1. Aplikasi Mobile……… .. 6

2.1.1. Platform yang Tersedia………. .. 6

2.1.2. Aplikasi pada Platform Mobile………. .. 7

2.2. iOS……… .. 9

2.2.1. Arsitektur iOS……… .. 9

2.2.2. Model View Controller………16

2.2.3. Software Development Kit………..17

2.3. Electronic Commerce……… 18

2.3.1. Stakeholder dalam E-Commerce……… 19

(11)

2.3.3. Permasalahan yang Dihadapi……… 20

2.3.4. Penerapan dalam Aplikasi Bisnis………. 20

2.4. Objective C………21

2.4.1. Penggunaan Sintaks Dasar……… 21

2.5. SQLite……….. 23

2.5.1. Fitur SQLite……… 23

2.5.2. Perintah Dalam SQLite……….. 24

2.5.3. Penggunaan SQLite……… 25

2.6. Xcode……… 25

2.6.1. Fitur Xcode……… 26

2.7. Agile Development Methodology……… 28

BAB III METODOLOGI PENELITIAN 3.1. Obyek Penelitian……… 30 3.2. Jenis Data……… 30 3.2.1. Data Kualitatif……… 30 3.2.2. Data Kuantitatif……… 30 3.3. Sumber Data……… 30 3.3.1. Data Primer……… 30 3.3.2. Data Sekunder……… 30

3.4. Metode Pengumpulan Data……… 31

3.4.1. Wawancara……… 31

3.4.2. Survei……… 31

3.4.3. Studi Pustaka……… 31

3.5. Tinjauan Umum Perusahaan……… 31

3.5.1. Sejarah Singkat Perusahaan……… 31

3.5.2. Struktur Organisasi……… 32

3.5.3. Job Description……….. 33

3.6. Metode Pengembangan Sistem………. 34

3.6.1. Planning………. 35

3.6.2. Analysis – Design – Coding – Testing………... 36

(12)

BAB IV PERANCANGAN DAN IMPLEMENTASI SISTEM

4.1. Perencanaan………. 39

4.1.1. Arsitektur Sistem……… 39

4.1.2. Identifikasi Masalah……….. 40

4.1.3. Identifikasi Sumber Masalah………. 40

4.2. Analisa……….. 40

4.2.1. Identifikasi Kebutuhan Perangkat Keras……… 41

4.2.2. Identifikasi Kebutuhan Perangkat Lunak………41

4.2.3. Identifikasi Kebutuhan Sumber Daya Manusia………...41

4.3. Rekayasa………42

4.3.1. Model Proses Bisnis………42

4.3.2. Use Case Diagram……….. 44

4.3.3. Class Diagram……… 49

4.3.4. Activity Diagram……… 50

4.3.5. User Interface Design………. 53

4.4. Implementasi………...57

4.4.1. Home View………. 57

4.4.2. Category View……… 57

4.4.3. Product Detail View………58

4.4.4. Checkout Basket View………58

4.4.5. Login View………. 59

4.4.6. Register View………. 59

4.4.7. Payment Information View……….60

4.4.8. History View……….. 60 4.5. Pengujian……….. 61 BAB V PENUTUP 5.1. Kesimpulan………62 5.2. Saran………. 62 DAFTAR PUSTAKA

(13)

DAFTAR GAMBAR

Gambar 2.1 Native, Web, dan Hybrid App……… .. 8

Gambar 2.2 iOS Programming Concept………10

Gambar 2.3 Model View Controller process……… 17

Gambar 2.4 Xcode Workspace Window……… 26

Gambar 3.1 Struktur Organisasi……… 32

Gambar 3.2 XP Lifecycle……….. 35

Gambar 4.2 Mobile Native App………. 39

Gambar 4.3 Business Process Model………. 43

Gambar 4.4 Use Case Diagram………. 44

Gambar 4.5 Class Diagram……… 49

Gambar 4.6 Activity Diagram Fiora………. 50

Gambar 4.7 Register Activity Diagram………..51

Gambar 4.8 Login Activity Diagram………. 51

Gambar 4.9 Order Process Diagram……….. 52

Gambar 4.10 Home View………. 53

Gambar 4.11 Category View……… 53

Gambar 4.12 Detail Product View……… 54

Gambar 4.13 Basket View……… 54

Gambar 4.14 Login View………. 55

Gambar 4.15 Register View………... 55

Gambar 4.16 Payment Info View……….. 56

Gambar 4.17 History View……….. 56

Gambar 4.18 Home View………. 57

Gambar 4.19 Category View……… 57

Gambar 4.20 Detail Product View……… 58

Gambar 4.21 Basket View……… 58

Gambar 4.22 Login View………. 59

(14)

Gambar 4.24 Payment Info View……….. 60

Gambar 4.25 History View……….. 60

Gambar 4.26 Belanja Produk……… 62

Gambar 4.27 Message Box……… 62

Gambar 4.28……….. 63

Gambar 4.29……….. 63

Gambar 4.30……….. 63

(15)

DAFTAR TABEL

Tabel 4.1 Use Case Open Application………45

Tabel 4.2 Use Case Browse Catalog……….. 46

Tabel 4.3 Use Case View Basket………46

Tabel 4.4 Use Case Order……….. 47

Tabel 4.5 Use Case Check Stock………47

Tabel 4.6 Use Case Reserve Stock……… 48

Tabel 4.7 Deskripsi Pengujian………61

Tabel 4.8 Pengujian Belanja Produk……… 62

(16)

BAB I

PENDAHULUAN

1.1. Latar Belakang

Satu dekade yang lalu, orang-orang masih terikat pada komputer yang diletakkan di meja, dan beberapa diantaranya membawa komputer jinjing yang disebut laptop atau notebook. Mereka menggunakan komputer tersebut untuk mengerjakan tugas-tugas, dan mengakses internet. Dan mereka pun menggunakan telepon genggam hanya untuk melakukan panggilan atau saling berkirim pesan singkat. Kini dengan adanya smartphone, kita bisa membawa komputer dalam genggaman [1].

Kehadiran smartphone sudah mengubah gaya hidup masyarakat modern. Para penggunanya pun menjadikan benda ini sebagai teknologi yang paling dekat dengan mereka, hingga dibawa kemanapun. Dan banyak diantara pengguna ini yang kemudian menjadi fanatik terhadap platform sistem operasi tertentu yang berjalan di smartphone mereka. Bahkan fanatik terhadap merek dagang tertentu. Sehingga kemampuan untuk mengembangkan aplikasi di platform tertentu menjadi kesempatan yang baik bagi seorang pengembang aplikasi atau developer.

Saat ini, iOS milik Apple Inc menjadi platform smartphone yang memiliki aplikasi dengan kualitas tertinggi yang paling banyak dari seluruh platform smartphone yang ada. Dengan jumlah lebih dari 1 juta aplikasi ada di dalam App Store, toko online khusus untuk aplikasi iOS dan Mac, dan jumlah pengguna yang besar. Hal ini menunjukkan bahwa tingkat antusiasme pengguna smartphone keluaran Apple Inc sangat tinggi. Dan banyak diantaranya yang bersedia mengeluarkan uang untuk membeli

(17)

aplikasi berbayar demi mendapatkan kepuasan yang lebih lagi dalam menggunakan aplikasi tersebut [2]. Dan bahkan untuk aplikasi gratis pun,

(18)

App Store menyediakan kualitas yang terbaik. Karena setiap aplikasi yang masuk akan diseleksi terlebih dahulu, baru kemudian bisa ditampilkan di App Store dan siap diunduh pengguna. Apple Inc juga memberikan aturan-aturan dan batasan yang boleh dan tidak untuk setiap aplikasi yang masuk ke toko online mereka. Apple Inc bahkan menyediakan dokumentasi yang sangat lengkap untuk proses pendaftaran aplikasi ke App Store ini [3]. Berbeda dengan platform smartphone lain. Dan tentunya hal ini akan menjadi nilai tambah buat pengguna dan pengembang.

Dari sekian banyak aplikasi yang beredar di App Store, aplikasi yang berhubungan dengan gaya hidup juga mengalami pertumbuhan yang signifikan. Apalagi dengan hadirnya In-App Purchase, atau fitur dimana pengguna aplikasi bisa membeli produk atau item yang bisa digunakan dalam aplikasi itu saja. Misalnya seperti sticker di beberapa aplikasi messenger yang kini sedang populer [4].

Untuk aplikasi lifestyle atau gaya hidup sendiri, sudah terdapat banyak sekali pengembang yang membuatnya. Dan aplikasi e-commerce termasuk di kategori ini dan jumlahnya pun semakin banyak. Seiring dengan bertumbuhnya e-commerce di kalangan pebisnis dunia, baik dari skala kecil, menengah, atau besar.

Dengan berkembangnya toko online kini, semakin membuka kesempatan bagi para iOS developer untuk membuat aplikasi toko online tersebut agar tidak hanya bisa diakses di web browser yang ada di komputer, namun juga bisa diakses di smartphone pengguna. Dengan sistem dan tampilan antarmuka yang dibuat semudah mungkin, agar informasi produk yang ditawarkan toko online tersebut bisa diakses dengan cepat dan tepat sasaran, dan mudah dipahami serta digunakan.

Membangun sebuah aplikasi iOS pun tidak terlalu sulit. Tidak sesulit membuat sistem berskala enterprise seperti ERP. Hanya saja, seorang pengembang harus memiliki hardware dan software yang tepat. Karena aplikasi iOS hanya dapat dikembangkan menggunakan komputer buatan Apple Inc yaitu MacBook atau iMac, dan IDE khusus yang bernama Xcode.

(19)

Selain itu, yang perlu diperhatikan dalam membuat sebuah aplikasi e-commerce adalah sisi keamanannya. Dan hal ini sudah menjadi perhatian khusus di iOS. Pengembang bisa memanfaatkan tools yang disediakan untuk mengamankan aplikasi e-commerce nya. dengan pertimbangan tersebut diatas, PT Fiora Etnika Indonesia pun menyetujui untuk membangun aplikasi mobile untuk iOS yang ditujukan untuk pasar e-commerce di Indonesia dan internasional.

PT Fiora Etnika Indonesia, atau untuk kemudian dapat disebut sebagai Fiora, brand yang sudah terlebih dahulu diperkenalkan ke konsumen, adalah perusahaan yang bergerak dalam bidang perdagangan.

Orientasi pasar yang dimiliki juga sudah bagus. Fiora sudah memiliki sebuah website sebagai ruang pajang dan tempat berbelanja online. Namun dengan berkembangnya teknologi, maka target pasar mereka pun berkembang juga. Oleh karena itu, mereka menginginkan satu sistem penjualan yang bisa mengakomodasi kebutuhan pasar yang sudah berkembang ke arah penggunaan smartphone tersebut. Dengan menggunakan data yang sudah dimiliki di website, mereka menginginkan untuk dibuatkan aplikasi mobile yang ditujukan kepada konsumen, sekaligus memberi keuntungan dan manfaat bagi konsumen tersebut.

Dari latar belakang masalah diatas, maka penelitian ini diberi judul : “Perancangan Sistem Informasi Penjualan Melalui Aplikasi Mobile

Pada PT. Fiora Etnika Indonesia”.

1.2. Rumusan Masalah

Berdasarkan uraian latar belakang diatas maka adapun perumusan masalah dalam Tugas Akhir ini adalah bagaimana merancang Sistem Informasi Penjualan Melalui Aplikasi Mobile Pada PT Fiora Etnika Indonesia berbasis iOS?

(20)

1.3. Batasan Masalah

Dalam penulisan Tugas Akhir ini, batasan-batasan masalah perlu ditetapkan agar tidak terjadi penyimpangan terhadap obyek yang diteliti dan dapat memenuhi sasaran yang diinginkan. Ruang lingkup dari pembatasan masalah dalam penulisan skripsi ini adalah :

1. Aplikasi dibuat hanya untuk platform iOS milik Apple Inc dengan sistem operasi versi iOS 7.

2. Aplikasi yang dibuat adalah aplikasi belanja online atau e-commerce. 3. Datanya sudah disediakan dari website Fiora.

1.4. Tujuan

Adapun tujuan yang ingin dicapai dari penyusunan Tugas Akhir ini adalah untuk memberikan informasi produk Fiora yang mudah diakses, cepat, dan bisa dilakukan dimana saja kepada para konsumen yang membutuhkan. Dengan adanya penelitian ini, diharapkan bisa menjadi sumber informasi untuk penelitian-penelitian berikutnya agar menjadi aplikasi-aplikasi baru yang lebih inovatif dan bermanfaat.

1.5. Manfaat

1. Bagi Fiora

Diharapkan dapat menjadi dasar pertimbangan bagi Fiora untuk menemukan suatu cara atau gagasan baru dalam usaha penjualan untuk meningkatkan pelaksanaan pada sistem yang sudah berjalan.

2. Bagi Akademik

Memberikan sumbangan bagi ilmu pengetahuan dan perbendaharaan pustaka pada akademik.

3. Bagi Penulis

Memberikan tambahan ilmu pengetahuan dan penerapan dari ilmu pengetahuan yang telah didapatkan di perkuliahan.

(21)

4. Bagi Pengguna

Menjadi sumber informasi yang tepat untuk mempermudah berbelanja produk pakaian lokal.

5. Bagi Masyarakat

Menjadi referensi bagi masyarakat terhadap teknologi smartphone dan Internet bagi penjualan online.

(22)

BAB II

LANDASAN TEORI

2.1. Aplikasi Mobile

Aplikasi mobile adalah sebuah aplikasi perangkat lunak yang didesain khusus untuk dijalankan di smartphone, komputer tablet, dan perangkat mobile yang lain. Aplikasi ini biasanya tersedia melalui platform distribusi aplikasi yang disediakan oleh masing-masing vendor pembuat sistem operasi mobile. Misalnya App Store milik Apple, Play Store milik Google, Windows Phone Store, dan Blackberry App World [5].

Aplikasi yang terdapat di masing-masing distributor itu tersedia dalam dua varian yaitu aplikasi gratis dan aplikasi berbayar. Dan masing-masing aplikasi yang ada di tiap distributor tersebut diperuntukkan bagi platform mobile yang digunakan masing-masing distributor. Untuk Apple App Store, maka aplikasi nya hanya bisa digunakan di perangkat keluaran Apple, misalnya iPhone atau iPad yang menggunakan sistem operasi Apple iOS. Begitu juga untuk platform yang lain. Setiap platform akan memiliki distributor aplikasi sendiri-sendiri.

2.1.1. Platform yang Tersedia

Di pasaran saat ini, ada banyak sekali platform mobile yang hadir untuk smartphone. Misalnya, Android dari Google, iOS dari Apple, BB10 dari Blackberry, Ubuntu Touch OS dari Canonical, Windows Mobile dari Microsoft, Nokia Asha dari Nokia, Sailfish OS dari Jolla, dan Firefox OS dari Mozilla [6].

Semua platform mobile ini menyediakan berbagai macam fitur aplikasi tambahan yang dapat dipilih pengguna sendiri. Fitur tambahan ini berupa aplikasi yang dibuat oleh pihak ketiga, dalam hal ini adalah para pengembang aplikasi mobile atau yang biasa disebut mobile apps developer. Seorang developer dapat

(23)

mengembangkan aplikasinya spesifik hanya untuk satu platform tertentu, atau mengembangkan aplikasi di lintas platform (multiplatform). Konsekwensinya adalah ia harus menggunakan bahasa pemrograman yang berbeda untuk setiap platform mobile yang hendak ia sasar.

2.1.2. Aplikasi pada Platform Mobile

Setiap mobile platform atau sistem operasi mobile menggunakan bahasa pemrograman yang berbeda-beda. Misalnya, Android menggunakan Java Android, Windows Mobile menggunakan Visual C++ yang dibungkus dengan framework .NET, Blackberry menggunakan Qt yang berbasis pada C++.

iOS sendiri adalah salah satu OS keluaran Apple yang dikhususkan untuk perangkat mobile keluarannya, yaitu iPhone, iPad, dan iPod. iOS menggunakan bahasa pemrograman Objective-C, sama dengan yang digunakan Apple untuk MacOS, sistem operasi yang digunakan di perangkat komputer keluarannya seperti iMac, MacBook, Mac Mini, dan Mac Pro.

Dalam mengembangkan aplikasi mobile, seorang developer dapat memilih 3 jenis aplikasi yang akan dibuat. Pembagian jenis ini berdasarkan cara membuatnya [7], yaitu :

a. Native Apps

Aplikasi ini dibuat menggunakan bahasa pemrograman yang sudah ditentukan oleh masing-masing platform. Prosesnya lebih lama, namun hasilnya paling baik karena mendukung semua API (Application Programming Interface) yang disediakan oleh SDK masing-masing platform.

b. Web Apps

Aplikasi jenis ini dibuat menggunakan bahasa pemrograman web, seperti HTML5, PHP, XML, dan lain-lain. Prosesnya lebih cepat, namun hasil akhirnya kurang maksimal. Belum lagi, aplikasi jenis ini hanya bisa menggunakan beberapa API (Application Programming Interface) yang disediakan oleh SDK masing-masing platform saja. c. Hybrid Apps

(24)

Aplikasi jenis ini dibuat dengan bahasa pemrograman web, biasanya menggunakan HTML5 dan JavaScript, dan kemudian dibungkus dengan kontainer native yang sudah disediakan SDK, dan tentunya menyediakan akses API lebih banyak, hampir sama seperti native app. Kualitasnya belum sebaik aplikasi native, namun waktu yang ditempuh juga lebih singkat daripada membuat aplikasi native tersebut, dengan fitur yang lebih banyak.

Ilustrasi pembagian cara pengembangan aplikasi mobile bisa digambarkan menjadi seperti dibawah ini :

Gambar 2.1 Native, Web, dan Hybrid App

2.2. iOS

iOS, atau yang sebelumnya bernama iPhone OS adalah sistem operasi mobile yang dikembangkan dan didistribusikan oleh Apple Inc, khusus untuk iPhone, iPad, dan iPod. Tidak seperti platform yang lain, Apple Inc tidak mengeluarkan lisensi yang memperbolehkan iOS dapat diinstal di perangkat yang bukan keluaran perusahaan tersebut. Jadi, iOS adalah sistem operasi eksklusif untuk perangkat mobile keluaran Apple Inc.

(25)

iOS sendiri dikembangkan dengan bahasa pemrograman Objective-C menggunakan IDE (Integrated Development Environment) khusus bernama Xcode, yang hanya dapat diinstalasi di komputer keluaran Apple Inc juga.

2.2.1. Arsitektur iOS

Pada level tertinggi, iOS bertindak sebagai perantara perangkat keras dan aplikasi yang dibuat oleh pengembang. Aplikasi tidak langsung terhubung dan berkomunikasi dengan perangkat keras, tetapi ia terhubung melalui sejumlah antarmuka sistem yang sudah diatur sedemikian rupa. Antarmuka inilah yang membuat pengembang lebih mudah dalam membuat aplikasi yang dapat bekerja secara konsisten sekalipun dengan perangkat keras yang memiliki kemampuan berbeda-beda.

Dalam membuat sebuah aplikasi iOS, ada 4 bagian atau layer yang harus dipahami. Pembagian layer ini berfungsi sebagai pengaturan dan pembagian kerja dari lapisan paling atas ke paling bawah, dimulai dari tampilan antarmuka ke sistem operasi iOS itu sendiri. Sebagaimana ditunjukkan gambar dibawah ini :

Gambar 2.2 iOS Programming Concept

Semua antarmuka sistem operasi iOS dihadirkan dalam kumpulan yang disebut framework. Framework yang terdapat pada masing-masing layer ini adalah direktori khusus yang memiliki library dinamis dan

(26)

resource yang diperlukan untuk mendukung library tersebut [8]. Pembagian layer dan framework yang ada di dalamnya yaitu :

1. Cocoa Touch Layer

Layer ini memiliki framework yang bersifat sebagai kunci utama dalam mengembangkan aplikasi iOS. Framework didalamnya menentukan tampilan dari aplikasi yang dibuat. Ia juga menyediakan infrastruktur aplikasi dasar dan dukungan untuk multitasking, input yang menggunakan jari (touch-based), push notifications, dan berbagai layanan penting lainnya. Dan layer inilah yang harus pertama kali dipelajari dan dipersiapkan sebelum membuat aplikasi iOS.

Framework yang dimiliki oleh layer Cocoa Touch ini terdiri dari grafis 3D, audio, jaringan, dan hingga pengontrol perangkat khusus seperti kamera dan GPS (Global Positioning System) [9].

Beberapa teknologi yang menjadi kunci utama di layer Cocoa ini dan berguna dalam membangun aplikasi iOS antara lain :

• AirDrop, untuk berbagi dokumen melalui jaringan nirkabel dengan sesama perangkat yang menggunakan platform iOS dalam jarak dekat.

• TextKit, class yang berfungsi untuk menangani teks dan tipografi, sehingga pengembang bisa membuat konten yang berhubungan dengan layout teks seindah mungkin.

• UIKit Dynamics, memberikan sentuhan yang lebih nyata dan karakteristik khusus pada setiap aplikasi yang dibuat.

• Multitasking, memberi kemampuan agar perangkat iOS bisa membuka banyak aplikasi yang bekerja sekaligus, namun tetap menghemat sumber daya.

• Auto Layout, membantu pengembang untuk membuat tampilan antarmuka yang dinamis dengan sedikit kode.

• Storyboards, tools untuk mendesain tampilan antarmuka aplikasi dimana pengembang dapat melihat secara langsung pada tiap jendelanya.

(27)

• UI State Preservation, fitur yang membuat aplikasi bisa berjalan secara multitasking, selalu terlihat aktif padahal tidak.

• Apple Push Notification Service, menyediakan peringatan atau notifikasi pada pengguna walaupun ponselnya tidak sedang digunakan.

• Local Notification, melengkapi fitur sebelumnya, dimana ia dapat menghasilkan notifikasi tanpa harus menyediakan server eksternal khusus.

• Standard System View Controllers, menyediakan view controllers yang paling dasar untuk menampilkan fitur-fitur penting seperti pesan, kontak, kalender, dan lain-lain.

Dan framework yang tersedia di layer Cocoa Touch ini antara lain :

• Address Book UI Framework, antarmuka dasar untuk buku kontak.

• Event Kit UI Framework, antarmuka dasar untuk kalender dan pencatat kegiatan.

• Game Kit Framework, implementasi dukungan untuk Game Center yang dimiliki iOS.

• iAd Framework, fitur untuk menampilkan iklan banner didalam aplikasi.

• Map Kit Framework, untuk menampilkan peta pada aplikasi yang dibuat.

• Message UI Framework, untuk membuat dan menampilkan pesan. • Social Framework, untuk mengintegrasikan jejaring sosial

kedalam aplikasi yang dibuat.

• UIKit Framework, menyediakan infrastruktur paling mendasar untuk implementasi grafis.

2. Media Layer

Layer ini mengurusi grafis, audio, dan video untuk memberikan pengalaman multimedia yang lebih baik lagi dalam aplikasi [9].

(28)

Dalam layer ini terdapat banyak sekali framework yang dapat digunakan untuk menambah keindahan aplikasi yang dikembangkan, antara lain yaitu :

a. Graphics Technologies

Grafis yang berkulitas tinggi menjadi hal yang paling penting dari aplikasi iOS, dimana iOS juga menyediakan sejumlah teknologi terbaik untuk membantu pengembang menggunakan desain khusus.

Tools yang bisa digunakan antara lain :

• UIKit Graphics, mendukung fitur menggambar, Bezier path, dan menganimasikan konten yang ada dalam aplikasi.

• Core Graphic Frameworks, atau Quartz, adalah alat menggambar yang menyediakan dukungan vector dan gambar 2D

• Core Animation, teknologi dasar yang mengoptimalkan animasi dalam aplikasi.

• Core Image, menyediakan dukungan di tingkat lanjut untuk memanipulasi video dan foto tanpa merusaknya.

• OpenGL ES and GLKit, mendukung render gambar 2D dan 3D dengan antarmuka yang diakselerasi oleh perangkat keras. Framework ini biasa digunakan oleh para pengembang game atau siapapun yang ingin mengimplementasi antarmuka yang imersif.

• Text Kit and Core Text, untuk memanipulasi tipografi dan manajemen teks.

• Image I/O, menyediakan antarmuka untuk membaca dan menulis benyak format gambar.

• Assets Library, membuat pengembang dapat menghubungkan aplikasi ke foto, video, dan media milik pengguna.

(29)

Bekerja sama dengan perangkat keras untuk menyediakan pengalaman audio yang terbaik bagi setiap aplikasi. Framework dan tools yang ada di dalamnya antara lain :

• Media Player Framework, menghubungkan audio kedalam aplikasi yang dibuat dengan cepat dan tidak perlu menggunakan kontrol pemutar audio.

• AV Foundation, antarmuka yang mendukung fitur rekam dan putar audio dan video.

• OpenAL, biasa digunakan pengembang game untuk memberikan kualitas audio yang lebih baik dan bisa menghubungkan antarmuka yang berasal dari perangkat yang berbeda.

• Core Audio, menyediakan antarmuka yang sederhana dan lengkap untuk merekam dan memutar audio dan konten MIDI. Bisa juga digunakan untuk para pengembang yang membutuhkan suara yang bersih.

Format audio yang dapat didukung oleh iOS antara lain adalah AAC, Apple Lossless (ALAC), A-law, IMA/ADPCM (IMA4), Linear PCM, µ-law, DVI/Intel IMA ADPCM, Microsoft GSM 6.10, AES3-2003.

c. Video Technologies

Dengan teknologi ini, pengembang dapat menggunakan konten berupa video statis yang ada dalam aplikasi dan media milik pengguna, atau streaming dari Internet. Tools yang disediakan antara lain :

• UIImagePickerController, antarmuka untuk memilih data media yang dimiliki pengguna.

• Media Player, pemutar video.

• AV Foundation, mendukung video playback dan kemampuan rekam.

• Core Media, terbatas pada penggunaan tipe data level rendah dan antarmuka untuk memanipulasi media.

(30)

3. Core Service Layer

Layer ini memiliki bagian terpenting dari layanan dasar untuk aplikasi. Kunci diantara layanan-layanan ini adalah pada Core Foundation dan Foundation framework, yang menentukan jenis-jenis dasar dari sistem yang digunakan oleh aplikasi. Layer ini juga memiliki teknologi individu untuk mendukung fitur seperti peta atau lokasi pengguna, iCloud, jejaring sosial, dan jaringan. Fitur level atas yang didukung layer ini adalah :

a. Peer-to-peer Services, b. iCloud Storage

c. ARC (Automatic Reference Counting) d. Block Objects

e. Data Protection f. File-Sharing Support g. Grand Central Dispatch h. In-App Purchase i. SQLite

j. XML Support

4. Core OS Layer

Berisi fitur-fitur tingkat rendah dimana sebagian besar teknologi lain dibangun diatas layer ini. Bahkan jika pengembang tidak menggunakannya secara langsung, besar kemungkinan framework lainnya akan memakai layer ini. Termasuk jika berurusan dengan keamanan atau komunikasi dengan perangkat eksternal lainnya, maka ada beberapa framework yang akan digunakan dalam layer ini [12]. Framework yang ada didalamnya antara lain :

a. Accelerate Framework b. Core Bluetooth Framework c. External Accessory Framework d. Generic Security Services Framework e. Security Framework

(31)

g. 64-Bit Support

2.2.2. Model View Controller

Model view controller adalah metode pembuatan aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara memprosesnya (Controller). Dalam implementasinya, kebanyakan framework dalam sebuah aplikasi berbasis arsitektur MVC [13]. Bagian penyusun MVC adalah :

a. Model, bagian yang mewakili struktur data. Biasanya berisi fungsi-fungsi yang membantu pengembang untuk mengelola data.

b. View, bagian yang mengatur tampilan aplikasi yang ditujukan untuk pengguna. Dalam hal ini adalah antarmuka yang digunakan oleh pengguna.

c. Controller, bagian yang menjembatani model dan view. Isinya adalah perintah-perintah yang berfungsi untuk memproses suatu data dan mengirimkannya ke View.

Dalam pengembangan aplikasi, terdapat beberapa jenis MVC, yaitu : • Server-side MVC, keseluruhan proses bisnisnya hanya dilakukan

oleh server, dan aplikasi pada sisi pengguna hanya dapat menerima. MVC jenis ini biasa disebut juga Thin Client.

• Mixed Client Side and Server Side, memiliki tingkat kompleksitas yang lebih tinggi karena lebih banyak komponen yang terlibat, sehingga membutuhkan sumber daya yang lebih besar. Dibagi menjadi dua jenis, yaitu :

o Mixed MVC 1, client tidak menggunakan model sebagai jembatan untuk melakukan komunikasi dengan server.

o Mixed MVC 2, client menggunakan model sebagai jembatan untuk melakukan komunikasi pada server.

• Rich Internet Application MVC, atau MVC RIA, mempunyai kemampuan dan fungsi hampir seperti aplikasi desktop. Pada sisi client memiliki mesin untuk mengambil data yang berada pada server, sehingga pada bagian client terdapat MVC sendiri dan hanya

(32)

membutuhkan model pada server. Biasa disebut juga dengan Fat Client.

Untuk memahami cara kerja MVC, perhatikan gambar ini :

Gambar 2.3 Model View Controller proccess

2.2.3. Software Development Kit

Apple Inc menyediakan SDK untuk kepentingan pembuatan aplikasi iOS dan Mac OS (desktop). SDK ini terletak dalam sebuah aplikasi IDE (Integrated Development Environment) yang bernama Xcode, dimana Xcode hanya dapat digunakan oleh Mac OS. Penyusun dari SDK ini adalah :

• Cocoa Touch, yang terdiri dari :

o Multi-touch events and controls o Accelerometer support

o View hierarchy o Localization (i18n) o Camera support • Media

(33)

o OpenAL

o Audio Mixing and Recording o Video playback

o Image file formats o Quartz

o Core Animation o OpenGL ES • Core Services

o Networking

o Embedded SQLite Database o Core Location o Threads o Core Motion • Mac OS X Kernel o TCP/IP o Sockets o Power management o File system o Security

2.3. Electronic Commerce (E-Commerce)

E-commerce adalah kegiatan penyebaran, pembelian, penjualan, pemasaran barang dan jasa melalui sistem elektronik seperti internet, televisi, atau jaringan komputer lainnya. Biasanya ia melibatkan transfer dana elektronik, pertukaran data elektronik, sistem manajemen inventori otomatis, dan sistem pengumpulan data otomatis.

Dalam industri teknologi informasi, kegiatan ini dipandang sebagai penerapan dari e-business yang berkaitan dengan transaksi komersial seperti transfer dana elektronik, supply chain management, e-marketing, ataupun online marketing, pemrosesan transaksi online, pertukaran data elektronik (electronic data interchange / EDI).

E-commerce dianggap sebagai bagian dari business dimana cakupan e-business jauh lebih luas, tidak hanya sekedar perdagangan tetapi mencakup juga

(34)

pengkolaborasian mitra bisnis, pelayanan nasabah, lowongan pekerjaan, dan lain-lain. Selain teknologi jaringan world wide web (www), e-commerce juga memerlukan database, e-mail, dan bentuk teknologi non-komputer lainnya seperti sistem pengiriman barang, dan alat pembayaran untuk e-commerce ini [14].

2.3.1. Stakeholder dalam E-Commerce

Dalam merencanakan sistem penjualan melalui aplikasi mobile, ada beberapa media elektronik yang dibutuhkan dan aman, seperti :

1. EDI (Electronic Data Interchange), yaitu sebuah sistem yang digunakan untuk melakukan pertukaran data penjualan. Misalnya ke bagian pergudangan dan pengiriman barang. Sistem ini tentu saja harus dipastikan aman (secure), bisa dengan menggunakan SSL (Secure Socket Layer) dan sudah dipastikan keamanannya agar tidak terjadi kerugian.

2. Penggunaan e-mail untuk mengirimkan informasi transaksi.

3. Penggunaan metode pembayaran elektronik, meliputi direct transfer, Internet banking, kartu kredit, PayPal, Square, dan lainnya.

2.3.2. Faktor Sukses

Ada beberapa faktor pendukung kesuksesan sebuah e-commerce antara lain :

1. Menyediakan harga kompetitif

2. Menyediakan jasa pembelian yang tanggap, cepat, dan ramah 3. Menyediakan informasi produk yang lengkap dan jelas

4. Menyediakan banyak bonus, kupon, penawaran istimewa, dan diskon

5. Memberikan perhatian khusus seperti usulan pembelian

6. Menyediakan suasana komunitas untuk diskusi, menerima kritik dan saran, dan lain-lain

7. Mempermudah kegiatan perdagangan

(35)

Selain keunggulan, ada juga kelemahan yang cenderung menjadi sumber masalah bagi kebanyakan e-commerce, misalnya :

1. Penipuan dengan cara pencurian identitas pelanggan dan membohonginya.

2. Hukum negara yang kurang berkembang dalam bidang perdagangan elektronik seperti ini.

2.3.4. Penerapan dalam Aplikasi Bisnis

Beberapa aplikasi yang umum digunakan dalam ranah bisnis ini antara lain :

1. Email dan messaging

2. Content Management System 3. Dokumen, spreadsheet, database 4. Akunting dan sistem keuangan 5. Informasi pengiriman dan pemesanan

6. Pelaporan informasi dari klien dan perusahaan 7. Sistem pembayaran domestic dan internasional 8. Newsgroup

9. Online shopping 10. Conferencing 11. Internet banking

12. Produk digital atau non-digital

2.4. Objective C

Bahasa turunan dari bahasa C yang memiliki kemampuan pemrograman berorientasi objek dan runtime dinamis. Dibuat oleh Brad Cox dan Tom Love pada awal decade 1980 an di kantor mereka, Stepstone.

Setelah Steve Jobs meninggalkan Apple Inc., ia mendirikan sebuah perusahaan bernama NeXT. Dan pada tahun 1988, NeXT membeli lisensi Objective-C dari StepStone dan memperluas GCC compiler agar dapat mendukung Objective-C, dan kemudian mengembangkan pustaka atau library AppKit dan Foundation Kit yang kemudian menjadi dasar dari tampilan antarmuka pengguna (user interface) dan interface builder dari NeXTstep.

(36)

Namun ketika NeXT gagal memberikan dampak yang baik di pasar, ia pun tidak dapat bertahan, walaupun begitu tools nya dipuji oleh industri saat itu. Inilah yang membawa NeXT kemudian menghentikan produksi perangkat keras nya dan lebih berkonsentrasi ke perangkat lunak, dan kemudian menjual NeXTstep dan OpenStep sebagai platform untuk pemrograman khusus [15].

Objective-C sendiri kini adalah bahasa pemrograman utama yang digunakan untuk menulis program untuk OS X (MacOS) dan iOS. Ia adalah superset dari bahasa pemrograman C. Mewarisi sintaks, tipe primitif, dan pernyataan kontrol aliran dari C dan menambahkan sintaks untuk mendefinisikan class dan methods. Ia juga menambahkan dukungan level-bahasa untuk manajemen grafik obyek dan obyek literal juga menyediakan typing dan binding dinamis, untuk menunda banyak tanggungan pekerjaan hingga runtime.

2.4.1. Penggunaan Sintaks Dasar

Di dalam Objective-C, ada beberapa file dasar yang di-generate otomatis oleh XCode, biasanya berupa file header dan file implementation. File header berekstensi *.h ini adalah file dimana kita mendeklarasikan instance variable, properti, dan method yang akan digunakan. Sedangkan file implementation yang berekstensi *.m adalah file dimana kita akan menuliskan semua baris kode yang berhubungan dengan logika aplikasi kita.

1. Contoh penggunaan file header :

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController {

// declare instance variable here

}

// declare method here

@end

Keterangan :

a. #import <UIKit/UIKit.h> berarti meng-import pustaka UI iOS.

b. @interface ViewController : UIViewController berarti mendeklarasikan class bernama ViewController

(37)

c. Colon (:) untuk menandakan bahwa class ViewController adalah subclass dari UIViewController.

d. @end berarti akhir dari file header. 2. Contoh penggunaan file implementation :

#import "ViewController.h" @interface ViewController ()

// we can declare private method here, since we won't using it now. We can ignore or delete it.

@end

@implementation ViewController – (void)viewDidLoad

{

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}

Keterangan :

a. #import “ViewController.h” artinya meng-import file header.

b. @implementation ViewController berarti implementasikan semua method dan variabel yang sudah dideklarasikan di file header.

c. – (void)viewDidLoad ini adalah method yang berasal dari class UIViewController, semua kode yang ditulis di dalam method ini akan dieksekusi ketika view dibuka di perangkat iOS.

2.5. SQLite

SQLite adalah sebuah sistem basis data relasional yang bersifat ACID-compliant dan memiliki ukuran pustaka kode yang relative kecil, dan ditulis dalam Bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D Richard Hipp.

Inti dari SQLite bukanlah sebuah sistem mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai bagian integral dari sebuah program secara keseluruhan. Sehingga protokol komunikasi utama yang digunakan adalah melalui pemanggilan API secara langsung melalui bahasa pemrograman.

Keuntungan dari mekanisme ini adalah dapat mereduksi overhead, latency times, dan secara keseluruhan akan menjadi lebih sederhana. Seluruh elemen basis data disimpan sebagai sebuah file. Dan kesederhanaan dari sisi desain

(38)

tersebut bisa diraih dengan cara mengunci keseluruhan file basis data pada saat sebuah transaksi data dimulai [16].

2.5.1. Fitur SQLite

Database SQLite ini memiliki beberapa fitur unggulan, antara lain : • Transaksi data didalamnya bersifat atomic, consistent, isolated,

durable (ACID) sekalipun sewaktu sistem mengalami kesalahan • Zero-configuration atau tidak perlu melakukan konfigurasi sewaktu

dipakai

• Mendukung data berukuran terabyte dan strings berukuran gigabyte • Cepat, dibandingkan sistem basis data manapun

• Ditulis dengan ANSI-C

• Mendukung penggunaan di platform berbeda seperti Unix (Linux, Mac OS X, iOS, Android) dan Windows karena sangat mudah untuk dipindahkan.

• Bisa digunakan untuk tujuan apapun karena bersifat public domain.

2.5.2. Perintah dalam SQLite

Di SQLite ada banyak sekali perintah yang bias digunakan. Namun yang biasa digunakan antara lain :

a. CREATE

Untuk membuat database dan tabel baru : # sqlite3 fiorashop.db

sqlite> create table customer(custid integer, nama varchar(30), address varchar(50));

sqlite> create table barang(barid integer, barnam varchar(30), barwarna varchar(10));

b. INSERT

Untuk memasukkan record data : # vi insert-data.sql

insert into customer values(101, ‘Retno Ika Safitri’, ’Jl. Tunjung Sari 2 no 106, Tembalang, Semarang.’);

(39)

insert into customer values(102, ‘Asep Bagja Priandana’, ‘Jl. Rereng Wulung no 33, Bandung.’);

c. DROP

Untuk menghapus tabel, bisa menggunakan perintah : # sqlite3 fiorashop.db

sqlite> drop table customer; sqlite> drop table barang; d. SELECT

Untuk melihat isi dari satu database, bisa menggunakan perintah SELECT ini. Hasil dari perintah SELECT adalah nol atau lebih baris data dimana setiap baris memiliki jumlah kolom yang tetap.

# sqlite3 –header –column fiorashop.db ‘select * from barang’

2.5.3. Penggunaan SQLite

Didalam membuat aplikasi iOS, ada dua cara penggunaan database, dengan Core Data atau FMDB. Kedua jenis metode penggunaan ini memiliki perbedaan dasar, yaitu :

a. Core Data

Atau yang biasa disebut ORM (Object Relational Model) di pemrograman web, dimana setiap tabel yang ada dalam database dijadikan obyek. Core Data sendiri adalah sebuah framework yang disediakan khusus untuk menangani data besar, dimana setiap tabel harus didefinisikan satu persatu menjadi sebuah obyek. Namun kelebihannya, untuk memelihara data menjadi lebih mudah dan kode pemrograman yang ditulis lebih rapi [17].

b. FMDB

Adalah cara dimana untuk memanggil database dilakukan secara langsung, tanpa menggunakan obyek ataupun framework. Cara ini juga dapat digunakan dalam pemrograman iOS, hanya saja untuk menangani data besar akan membutuhkan waktu yang lebih panjang, dan kode pemrograman untuk memanggil datanya akan menjadi tidak rapi.

(40)

Dalam pembuatan aplikasi iOS ataupun Mac OS X, IDE yang bisa digunakan hanya Xcode, tidak ada IDE lain yang bisa digunakan selain ini. Karena Xcode menyediakan tools untuk mengatur seluruh alur kerja pengembangan aplikasi mulai dari pembuatan desain, coding, pengujian, optimisasi, bahkan sampai masuk ke App Store.

2.6.1. Fitur Xcode

Ada banyak sekali fitur yang dimiliki oleh Xcode untuk membuat aplikasi iOS dan Mac OS X, antara lain :

• Single-Window Interface

Sebuah antarmuka yang mengintegrasikan code editing, user interface designing, manajemen aset, testing, dan debugging dalam satu area kerja yang bisa terlihat keseluruhan fungsinya.

Gambar 2.4 Xcode Workspace Window

• Assisted Source Code Editing

Setiap kode yang diketik, akan dicek oleh Xcode. Dan jika ada kesalahan, editor akan menampilkan pesan kesalahan. Akan sangat menghemat waktu dengan adanya fitur ini.

• Interface Builder

Interface Builder adalah editor desain visual dimana seorang pengembang dapat langsung melihat pekerjaannya dan menambahkan kode kedalam desain yang sudah ada. Tools ini dapat membuat

(41)

pengembang dengan mudah menambahkan windows, views, controls, menu dan elemen-elemen lain yang ada dalam pustaka kode (library). • Integrated Debugging

Membantu proses debugging, atau proses mencari dan mengurangi sampah yang bisa menyebabkan aplikasi berjalan dengan tidak semestinya, dengan lebih mudah. Karena Xcode dapat menunjukkan bagian mana yang berpotensi untuk menjadi sampah, dan memberikan saran bagaimana kode tersebut diperbaiki. Ia juga dapat menunjukkan berapa besar konsumsi daya yang dihabiskan oleh aplikasi yang anda buat.

• Unit Testing and Continuous Integration

Program yang menguji fitur-fitur dalam aplikasi yang dibuat dan memberikan hasilnya, secara otomatis. Dari sini, seorang pengembang akan lebih terbantu untuk melakukan pengujian secara langsung, bukan dengan aplikasi atau metode pengujian terpisah. • Automatic Saves, Project Snapshots, and Source Control

Management

Secara otomatis, Xcode akan menyimpan progres pekerjaan dengan melacak setiap perubahan yang dilakukan. Dan Project Snapshots akan memberikan daftar pekerjaan yang sudah dilakukan sehingga pengguna hanya tinggal memilih mana yang akan digunakan.

• Integrated Documentation

Dengan adanya dokumentasi yang terintegrasi didalam Xcode, informasi teknis yang berhubungan dengan Xcode dan pemrograman aplikasi iOS dapat dilakukan dengan mudah, dan tidak harus terhubung dengan Internet.

• App Distribution

Ketika aplikasi akan disubmit ke App Store, pengembang tidak harus melakukan registrasi ulang dengan memasukkan data-data yang berhubungan dengan akun pengembangnya. Semua sudah dilakukan oleh Xcode. Pengembang hanya memasukkan data diawal, lalu

(42)

membuat arsip khusus untuk proyek yang dikerjakan, dan hanya tinggal submit ke App Store. Setelah aplikasi diterima, pengembang hanya tinggal mengatur tanggal kapan aplikasi itu tersedia untuk diundah pengguna.

2.7. Agile Methodology

Agile Software Development adalah sekumpulan metodologi pengembangan perangkat lunak berdasarkan pengembangan yang berulang dan terus bertambah, dimana persyaratan dan solusi juga ikut berkembang lewat kolaborasi antar tim mandiri dan lintas fungsional[18].

Kata Agile berarti bersifat cepat, ringan, bebas bergerak, waspada. Kata ini digunakan sebagai kata yang menggambarkan konsep model proses yang berbeda dari konsep model- model proses yang sudah ada. Konsep Agile software development dicetuskan oleh Kent Beck dan 16 rekannya dengan menyatakan bahwa Agile Software Development adalah cara membangun software dengan melakukannya dan membantu orang lain membangunnya sekaligus.

Dalam metodologi Agile Software Development ini ada 4 nilai yang diutamakan[19], yaitu:

1. Proses saling mempengaruhi dalam hubungan timbal balik (interaksi) lebih penting daripada proses yang membutuhkan banyak alat.

2. Software yang berjalan dengan semestinya lebih penting daripada dokumentasi komprehensif.

3. Kolaborasi dengan customer lebih penting daripada negosiasi kontrak.

4. Respon terhadap perubahan lebih penting daripada hanya mengikuti perencanaan.

Agile Software Development memungkinkan model proses yang bertoleransi kepada perubahan kebutuhan, sehingga perubahan dapat cepat ditanggapi, namun di sisi lain dapat menyebabkan produktivitas menurun.

     

(43)

                                                                   

BAB III

METODOLOGI PENELITIAN

3.1. Obyek Penelitian

Obyek penelitian penulis dalam Tugas Akhir ini adalah PT Fiora Etnika Indonesia yang berlokasi di Jalan Dharmawangsa VI Melawai, Kebayoran Baru, Jakarta Selatan.

(44)

Jenis data yang digunakan dalam penyusunan laporan tugas akhir ini adalah :

3.2.1. Data Kualitatif

Jenis data kualitatif yaitu prosedur penelitian yang menghasilkan data tidak dalam bentuk angka, melainkan informasi tentang cara pemesanan barang pada PT. Fiora Etnika Indonesia.

3.2.2. Data Kuantitatif

Jenis data kuantitatif yaitu prosedur penelitian yang menghasilkan data dalam bentuk angka yaitu data harga barang pada PT. Fiora Etnika Indonesia.

3.3. Sumber Data

Sumber data yang digunakan dalam laporan tugas akhir ini adalah :

3.3.1. Data Primer

Yaitu data yang diperoleh secara langsung dari sumber data tersebut yang berhubungan dengan penelitian yang dilakukan, yaitu data-data hasil observasi dan survey secara langsung, yang digunakan sebagai acuan dalam pembuatan aplikasi. Diantaranya adalah data-data tentang profil PT. Fiora Etnika Indonesia dan data-data tentang sistem penjualan barang.

3.3.2. Data Sekunder

Data yang diperoleh dari data penulis dalam bentuk yang sudah siap digunakan yang bersifat informasi dan kutipan, aik dari internet

(45)

maupun literatur, pustaka, jurnal yang berhubungan dengan penelitian yang dibuat.

3.4. Metode Pengumpulan Data

Metode pengumpulan data yang dilakukan oleh penulis dalam penyusunan laporan tugas akhir ini adalah :

3.4.1. Wawancara

Metode yang dilakukan dengan cara mengadakan tanya-jawab langsung dengan pihak-pihak yang bersangkutan. Kegiatan yang dilakukan adalah melakukan wawancara dengan pemiliki PT. Fiora Etnika Indonesia yaitu Bapak Asep Bagja Priandana, SE, tentang masalah yang sering dihadapi dalam penjualan produk fashion serta mengenai sejarah berdirinya perusahaan tersebut.

3.4.2. Survei

Metode yang digunakan untuk memperoleh data dengan cara melakukan pengamatan terhadap obyek penelitian dan pencatatan secara sistematis terhadap suatu gagasan yang diteliti. Kegiatan yang dilakukan adalah riset pengamatan secara langsung terhadap proses penjualan barang selama 2 minggu.

3.4.3. Studi Pustaka

Merupakan metode yang dilakukan dengan cara mencari sumber dari buku-buku pemrograman iOS.

3.5. Tinjauan Umum Perusahaan 3.5.1. Sejarah Singkat Perusahaan

PT. Fiora Etnika Indonesia didirikan oleh Ibu drg. Dita Firdiana Firdaus, S.KG, sekitar tahun 2011 yang terletak di Jl. Dharmawangsa VI Melawai Kebayoran Baru Jakarta Selatan,

(46)

dengan karyawan pertamanya sebanyak 6 orang, dengan tenaga yang sangat sedikit dan produk terbatas, namun pemasaran tetap lancar.

Hasil penjualannya pun meningkat, walaupun tidak signifikan. Dan setelah melihat peluang berjualan melalui e-commerce, akhirnya Ibu drg. Dita Firdiana Firdaus memutuskan untuk memperluas jaringan usahanya dengan membuka toko berbasis e-commerce website.

Dalam kurun waktu yang sangat singkat, usaha jualannya melalui toko online tersebut mengalami peningkatan signifikan. Hal ini terjadi karena selain barang yang dijual memiliki kualitas yang terbaik, toko online nya juga bisa menarik peminat dari berbagai lokasi di seluruh Indonesia karena kemudahan aksesnya. Dari segi harga juga barang yang ditawarkan pun memiliki harga yang terjangkau, sesuai dengan kualitas produknya.

3.5.2. Struktur Organisasi

Struktur organisasi menunjukkan bagaimana perusahaan di dalam organisasi dikoordinasikan bersama melalui jalur wewenang dan tanggung-jawab. Bagan organisasi merupakan penerjemahan secara grafik tentang struktur kerja dari suatu organisasi.

Dibawah ini adalah merupakan struktur organisasi dari PT. Fiora Etnika Indonesia.

(47)

Gambar 4.1 Struktur Organisasi

3.5.3. Job Description

Dalam melaksanakan program kerjanya, terdapat pembagian tugas dan wewenang antara bagian-bagian yang terdapat dalam struktur organisasi. Tugas dan wewenang tersebut antara lain : A. Pimpinan Perusahaan

Tugas dan tanggung-jawab :

1. Memimpin perusahaan dan bertanggung-jawab untuk semua kegiatan yang ada di perusahaan.

2. Mengatur dan memberikan tugas dari semua bagian sesuai dengan bidangnya masing-masing.

3. Memutuskan dan menetapkan segala kebijakan yang berlaku di perusahaan.

B. Marketing

Tugas dan tanggung-jawab :

PIMPINAN MARKETING Staf Pembelian Staf Penjualan ADMINISTRASI Staf Keuangan Inventaris Staf Gudang

(48)

1. Memimpin dan bertanggung-jawab terhadap kegiatan pemasaran perusahaan.

2. Memerintah, mengawasi, dan memimpin jalannya pemasaran yang dilaporkan oleh staf penjualan.

Bagian ini dikelompokkan menjadi dua, yaitu : 1. Staf Pembelian

a. Melakukan pengawasan terhadap persediaan barang perusahaan.

b. Melakukan riset pembelian mengenai kebutuhan konsumen terhadap suatu barang.

c. Membuat laporan mengenai kebutuhan barang dalam perusahaan setiap bulan.

2. Staf Penjualan

a. Melakukan riset pemasaran untuk melihat peluang pasar. b. Membuat catatan internal mengenai lingkungan

pemasaran.

c. Memikirkan suatu strategi pemasaran dari catatan dan hasil riset yang ada.

C. Administrasi

Tugas dan tanggung-jawab :

1. Memimpin dan bertanggung jawab tentang pengelolaan keuangan kepada pimpinan perusahaan.

2. Menyetujui, menandatangani kwitansi tagihan, cek dan giro bersama-sama pemimpin perusahaan.

3. Memeriksa laporan dan dokumen keuangan perusahaan. 4. Mengelola keuangan perusahaan.

D. Inventaris

(49)

1. Mengawasi dan bertanggung-jawab penuh terhadap keluar masuknya barang yang dimiliki perusahaan.

2. Membuat laporan tentang keluar masuknya barang yang ada di gudang kepada pimpinan perusahaan

Terdiri atas : 1. Staf Gudang

a. Bertanggung-jawab atas keluar masuknya barang sehingga dapat diketahui tingkat pengeluaran di gudang, guna mengantisipasi permintaan dari konsumen.

b. Bertanggung jawab atas keberadaan dan keselamatan barang yang ada di gudang.

c. Berkewajiban menyelenggarakan administrasi penjualan dan pembelian seperti pembuatan kartu pembelian dan penjualan, surat jalan, packing list, dan mengurus pengiriman barang dengan jasa ekspedisi.

d. Mengirimkan barang kembali yang rusak atau tidak sesuai dengan pesanan, yang dikembalikan untuk meminta ganti rugi, sesuai peraturan perusahaan.

3.6. Metode Pengembangan Sistem

Metode yang digunakan dalam pengembangan aplikasi sistem penjualan berbasis mobile ini adalah Agile Methodology menggunakan Extreme Programming (XP). Penulis memilih metode XP ini karena fleksibilitas dan efisiensi yang dimilikinya dalam menanggapi perubahan yang terjadi selama proses pengembangan.

(50)

Gambar 4.2 XP Lifecycle

Bagian yang paling utama adalah iterasi demi iterasi yang berlangsung terus menerus tanpa henti. Dan setiap satu proses iterasi selesai, akan ada satu fitur atau perbaikan baru yang di rilis. Namun setelah itu iterasi selanjutnya akan dimulai lagi, dan tidak akan berhenti pada titik tertentu. Jadi produk yang dibuat akan selalu berada dalam status pengembangan.

Metode XP ini cocok dipakai untuk pengembangan produk yang memiliki tujuan long-term development. Dalam hal ini, produk-produk yang akan dikembangkan dan ditambahkan fitur terus-menerus. Termasuk juga produk-produk yang berfokus pada usaha atau kegiatan pengembangan (Focuses effort), dimana ia harus memiliki tim yang berkomitmen penuh pada iterasi terus-menerus yang akan terjadi. Metode ini pun punya nilai lebih dimana anggota tim dapat saling berkolaborasi dalam satu tempat terbuka untuk melakukan kegiatan iterasi ini. Efek yang dirasakan kemudian adalah komitmen yang lebih besar lagi dan juga memperkecil biaya.

Dalam setiap iterasi yang dilakukan di metode XP ini terdiri dari beberapa kegiatan, yaitu :

3.6.1. Planning

Bagian ini akan dimulai dari merencanakan fitur baru yang akan dibuat, atau memperbaiki fitur sebelumnya yang masih memiliki kesalahan (buggy). Perencanaan ini ada dalam satu fase

(51)

tersendiri. Metode XP memungkinkan seorang pengembang untuk mendapatkan masukan (feedback) dari pengguna atau dari stakeholder lain di dalam sistem yang dikembangkan. Dan masukan tersebut yang kemungkinan akan dipakai dalam iterasi selanjutnya, untuk menambahkan fitur dan lain sebagainya.

3.6.2. Analysis – Design – Coding – Testing

Dalam metode XP, keempat proses ini adalah satu bagian yang dapat dikerjakan bersamaan. Hal ini memungkinkan terjadi karena Agile Methodology diterapkan dalam lingkup kerja tim, yang terdiri atas berbagai macam job description yang dapat menangani keempat proses tersebut secara bersamaan. Dan karena keempat proses ini dilakukan bersamaan, maka prosesnya dapat berlangsung lebih cepat. Sehingga mempercepat kerja tim, dan juga mempercepat berlanjut ke tahapan selanjutnya.

Tahapan ini dikendalikan oleh satu kegiatan bernama test-driven development, sebuah aktifitas bersama untuk melakukan empat proses diatas, dimana tahapan ini dilakukan oleh pengembang yang berpasang-pasangan, yang akan meningkatkan keaktifan kerja yang harus dilakukan oleh masing-masing pengembang. Aktifitas ini juga akan memastikan bahwa salah satu orang dari setiap pasangan yang ada akan memiliki waktu untuk berfikir tentang desain yang lebih besar lagi, untuk diterapkan pada iterasi-iterasi selanjutnya.

Penjelasan detail mengenai keempat proses yang dilakukan pada tahapan ini yaitu :

• Analysis

Langkah ini merupakan analisa terhadap kebutuhan sistem. Pada langkah ini akan informasi yang akan dibutuhkan oleh sistem digali sebanyak-banyaknya. Dokumen ini disebut user requirement, dan dari dokumen inilah yang akan menjadi acuan

(52)

sistem analis untuk menterjemahkan ke dalam bahasa pemrograman.

• Design

Proses desain akan menterjemahkan syarat kebutuhan sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum masuk ke bagian pemrograman (coding). Proses ini akan berfokus pada arsitektur perangkat lunak, representasi antarmuka pengguna, dan detail (algoritma) prosedural. Dan kemudian langkah desain ini akan menghasilkan dokumen yang disebut software requirement. Dokumen inilah yang akan dibutuhkan programmer untuk melakukan aktivitas pembuatan aplikasi.

• Coding

Coding, atau pemrograman, adalah penerjemahan desain dalam bahasa yang bisa dikenali oleh komputer atau perangkat elektronik. Proses ini dilakukan oleh programmer yang akan menerjemahkan aksi yang diinginkan oleh user. Tahapan inilah yang merupakan tahapan nyata dalam mengerjakan suatu sistem, dimana penggunaan computer akan dimaksimalkan. Disini penulis akan menggunakan bahasa Objective C sebagai bahasa pemrograman aplikasi iOS.

• Testing

Testing atau pengujian adalah tahapan untuk menemukan kesalahan yang ada pada sistem atau aplikasi yang dibuat, untuk kemudian diperbaiki.

3.6.3. Deployment

Tim pengembang aplikasi yang menggunakan metode XP akan menyiapkan aplikasi mereka agar siap di deploy atau disebarkan,

(53)

biasanya menggunakan version control tools seperti Git, pada setiap akhir proses iterasi. Versi aplikasi yang baru saja di deploy ini biasanya disimpan untuk demo internal tim terlebih dahulu, baru di rilis ke publik setelah memenuhi kebutuhan bisnis yang diinginkan.

Setelah proses deploy selesai, akan masuk ke proses iterasi yang baru. Proses ini bisa berisi penambahan fitur dari proses iterasi sebelumnya, namun bisa juga memperbaiki kesalahan atau kekurangan pada proses sebelumnya juga. Setiap proses iterasi yang dilewati, akan menghasilkan perubahan versi aplikasi yang akan diletakkan di version control tools beserta catatan perubahannya, agar dapat terdokumentasi dengan baik, dan dapat digunakan suatu saat nanti. Bagian deploy dan dokumentasi ini juga merupakan tahapan penting dalam XP.

                                                   

(54)

BAB IV

PERANCANGAN DAN IMPLEMENTASI SISTEM

4.1. Perencanaan

Berdasarkan arsitektur aplikasi dan desain logis yang telah dikumpulkan, maka keputusan yang bersifat teknis/fisik seperti penggunaan software/hardware dalam sistem dapat diambil.

4.1.1. Arsitektur Sistem

Aplikasi yang akan dirancang merupakan aplikasi berbasis mobile platform yaitu iOS. Sistem berbasis aplikasi mobile merupakan salah satu cabang dari sistem client-server, sehingga setidaknya harus terdapat sebuah server dan sebuah client dalam arsitektur perangkat kerasnya. Dan disini akan ada dua tipe server yang akan digunakan, yaitu web server dan database server. Sedangkan client dari sistem ini diimplementasikan dengan Native Container App.

Gambar

Ilustrasi  pembagian  cara  pengembangan  aplikasi  mobile  bisa  digambarkan menjadi seperti dibawah ini :
Gambar 2.2 iOS Programming Concept
Gambar 2.3 Model View Controller proccess
Gambar 2.4 Xcode Workspace Window
+7

Referensi

Dokumen terkait

Pada aspek afektif masih terdapat beberapa kekurangan yang harus diperbaiki, antara lain masih terdapat siswa yang tidak mengikuti proses pembelajaran Fiqih di

Terkait data dari hasil wawancara yang dilakukan mengenai kesulitan yang dihadapi oleh siswa kelas II dalam hal membaca yaitu; kesulitan pengucapan huruf yang dialami

Jaman logam di Indonesia dikenal sebagai jaman perunggu, Karena banyak ditemukan benda – benda kerajinan dari bahan perunggu seperti ganderang, kapak, bejana, patung dan

Dari beberapa Hadits di atas, telah memberi gambaran bahwa zakat itu hukunya wajib. Kewajiban mana juga sama dengan mengerjakan shalat. Bahkan secara khusus,

[r]

a) Sehubungan dengan perkembnagan kognisi anak pada masa kanak-kanak awal, pendidik perlu mendorong anak melakukan kolaborasi dengan orang dewasa atau anak yang lebih besar

Sedangkan definisi nikah sirri dalam pengertian yuridis di Indonesia adalah pernikahan yang dilakukan secara syar’i (konteks fiqh) dengan diketahui orang banyak, namun

Halaman 144, Putusan Nomor : 12/G/2017/PTUN.SMD Daerah Kabupaten Kutai Timur Nomor 7 Tahun 2016 Tentang Pelaksanaan Pemilihan Kepala Desa secara Serentak dan melanggar