NIM : 1182002030
Section A
1. Explain the differences kind of mobile apps (native apps, web apps, and hybrid
apps).
Jawab :
Web app : Aplikasi web bisa menjadi pilihan yang terbaik untuk membangun produk
yang diinginkan. Karena benar-benar minim persyaratan, dengan kata lain akses ke
fitur dari perangkat mobile seperti Push Notification tidak diperlukan. Aplikasi web
bisa menjadi pilihan yang murah dari sisi budget. Namun sayangnya, aplikasi web
tidak bisa didistribusikan melalui toko aplikasi native seperti App Store atau Google
Play.
Hybird apps : Aplikasi hybrid adalah aplikasi web yang ditransformasikan menjadi
kode native pada platform seperti iOS atau Android. Aplikasi hybrid biasanya
menggunakan browser untuk mengijinkan aplikasi web mengakses berbagai fitur di
device mobile seperti Push Notification, Contacts, atau Offline Data Storage.
Beberapa tools untuk mengembangkan aplikasi hybrid antara lain Phonegap,
Rubymotion dan lain-lain.
Jawab :
Saya tertarik dengan mobile app Hybird karena untuk apps ini sendiri salah satu yang
mudah untuk digunakan oleh user pengguna, selain itu proses kinerjanya lebih cepat.
Selain itu saat sedang loading, prosesnya tersebut tidak memakan waktu yang terlalu
lama. Sehingga tidak membuatnya bosan karena menunggu, lalu aplikasi ini mampu
untuk dijalankan dengan baik dalam kondisi apapun baik offline maupun online
sehingga ada beberapa game yang menggunakan hybird karena mudah diakses dan
dimainkan pada saat offline lalu gambar dan kualitas yang ditampilkan juga sama
seperti online. Selain itu juga aolikasi hybird bisa di install oleh IOS yang lain
Jawab :
Definisi Classes
Object : Kelas dasar untuk semua objek Dart. Karena Object adalah root dari hierarki
class Dart, setiap class Dart lainnya adalah subclass dari Object. Saat Anda
mendefinisikan sebuah kelas, Anda harus mengganti toString untuk mengembalikan
string yang mendeskripsikan sebuah instance dari kelas itu. Anda mungkin juga perlu
mendefinisikan hashCode dan operator ==, seperti yang dijelaskan di bagian
Menerapkan kunci peta dari tur perpustakaan.
Section B
1. In this case study, you are expected to develop a single android application.
a. Explain what kind of application that you want to develop. What is the purpose
of your application.
b. Who is the target user would need the application?
Jawab:
a. Saya ingin membuat sebuah aplikasi penyaluran penyewaan motor yaitu penyediaan
aplikasi yang dapat digunakan oleh user untuk mencari motor yang bisa disewa yang
sesuai dengan keinginannya dan lokasi tempat dimana dia berada. Dan tujuan dari
pembuatan aplikasi tersebut adalah Mempermudah orang yang ingin menyewa
kendaraan bermotor dengan cara membooking lewat, dan selain itu membantu tempat
penyewaan motor untuk mendapatkan customer.
b. untuk target pengguna adalah calon penyewa seperti :Wisatawan/turis, warga lokal
yang tidak memiliki kendaraan Agen tour atau travel , dan hotel. Yang ditujukan juga
untuk usia diatas 17 tahun yang memiliki KTP dan SIM.
2. Create the code of the user interface below, and explain each of its code.
import 'package:flutter/material.dart';
// Try running your application with "flutter run". You'll see the
// application has a blue toolbar. Then, without quitting the app, try
// "hot reload" (press "r" in the console where you ran "flutter run",
// Notice that the counter didn't reset back to zero; the application
),
home: MyHomePage(title: 'Flutter Demo Home Page'), debugShowCheckedModeBanner:
false,
); }
// This widget is the home page of your application. It is stateful, meaning // that it has a State
object (defined below) that contains fields that affect // how it looks.
// This class is the configuration for the state. It holds the values (in this // case the title) provided by
the parent (in this case the App widget) and
// used by the build method of the State. Fields in a Widget subclass are
// always marked "final".
@override
_MyHomePageState createState() =>_MyHomePageState(); }
// This call to setState tells the Flutter framework that something has
// changed in this State, which causes it to rerun the build method below // so that the display can
reflect the updated values. If we changed
// _counter without calling setState(), then the build method would not be // called again, and so
nothing would appear to happen.
_counter++;
}); }
@override
appBar: AppBar(
// Here we take the value from the MyHomePage object that was created by // the App.build
method, and use it to set our appbar title.
title: Text(widget.title),
),
body: Center(
// Center is a layout widget. It takes a single child and positions it // in the middle of the parent.
child: Column(
Text(
'You have pushed the button this many times:',
), Text(
'$_counter',
style: Theme.of(context).textTheme.display1,
), ],
), ),
floatingActionButton: FloatingActionButton( onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
}}
Penjelasan dari kode program diatas adalah kita membuat statelesswidgets yang berisi
widgetMaterialApp(), dan didalamnya terdapat widget lagi : Scaffold, AppBar, Center, dan Text.