A1317025 - Gusti Ahmad Hafi (Modul 10)
A1317025 - Gusti Ahmad Hafi (Modul 10)
APLIKASI MOBILE
Oleh:
GUSTI AHMAD HAFI
A1317025
Dosen Pengampu:
Fathurrahmani, M.Kom
A. CAMERA
1
import { Component } from '@angular/core';
import { IonicPage } from 'ionic-angular';
import { Camera, CameraOptions } from '@ionic-native/camera';
@IonicPage()
@Component({
selector: 'page-camera',
templateUrl: 'camera.html',
})
export class CameraPage {
cameraData: string;
constructor(private camera : Camera){ }
openCamera(){
const options : CameraOptions = {
quality: 100,
sourceType: this.camera.PictureSourceType.CAMERA,
destinationType: this.camera.DestinationType.DATA_URL,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE,
saveToPhotoAlbum: true
}
this.camera.getPicture(options).then((imageData) => {
this.cameraData = 'data:image/jpeg:base64,' + imageData;
}, (err) => {
});
}
openLibrary(){
const options: CameraOptions = {
quality: 100,
sourceType: this.camera.PictureSourceType.PHOTOLIBRARY,
destinationType: this.camera.DestinationType.DATA_URL,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE,
saveToPhotoAlbum: true
}
this.camera.getPicture(options).then((imageData) => {
this.cameraData = 'data:image/jpeg:base64,' + imageData;
}, (err) => {
});
}
}
2
9. Buka “camera.html”, kemudian isi codingan seperti gambar dibawah ini.
<ion-header>
<ion-navbar>
<button ion-button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
<ion-title>camera</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<img src="{{cameraData}}" width="100%">
<button ion-button (click)="openCamera()">Open Camera</button>
<button ion-button (click)="openLibrary()">Open Library</button>
</ion-content>
10. Buka “app.modules.ts”, kemudian isi codingan seperti gambar dibawah ini.
Ambil yang berhubungan dengan camera
import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
@NgModule({
declarations: [
3
MyApp,
HomePage,
ListPage,
CameraPage,
AppratePage,
SocialPage,
GeolocationPage,
SmsPage,
CallPage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
ListPage,
CameraPage,
AppratePage,
SocialPage,
GeolocationPage,
SmsPage,
CallPage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
Camera,
AppRate,
SocialSharing,
Geolocation,
NativeGeocoder,
SMS,
CallNumber
]
})
export class AppModule {}
11. Kemudian coba kembali ke cmd lalu jalankan dengan cara ketikkan “ionic
serve”, jika tampilannya seperti gambar dibawah ini maka telah berhasil.
4
Untuk mencoba kameranya bisa koneksikan dengan smartphone kalian. Dan
tutorial ada pada akhir.
B. APP RATE
1. Buat halaman sama seperti cara awal yaitu ketikkan “ionic generate
page apprate” di command prompt.
2. Kemudian kembali ke Visual Studio Code, maka apprate akan muncul.
5
constructor(private appRate: AppRate) {}
giveRate(){
this.appRate.preferences.storeAppURL = {
ios: '<app_id>',
android: 'market://details?id=<package_name>',
windows: 'ms-windows-store: //review/?ProductId=<store_id>'
};
this.appRate.promptForRating(true);
}
6
import { CallPage } from '../pages/call/call';
@NgModule({
declarations: [
MyApp,
HomePage,
ListPage,
CameraPage,
AppratePage,
SocialPage,
GeolocationPage,
SmsPage,
CallPage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
ListPage,
CameraPage,
AppratePage,
SocialPage,
GeolocationPage,
SmsPage,
CallPage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
Camera,
AppRate,
SocialSharing,
Geolocation,
7
NativeGeocoder,
SMS,
CallNumber
]
})
export class AppModule {}
C. SOCIAL SHARING
1. Buat halaman sama seperti cara awal yaitu ketikkan “ionic generate page
social” di command prompt.
2. Kemudian ketikkan “ionic cordova plugin add cordova-plugin-x-social-
sharing”.
3. Jika sudah, ketikkan lagi “npm install –save @ionic-native/social-sharing”.
4. Kemudian kembali ke Visual Studio Code, maka social akan muncul.
8
5. Buka “social.ts”, isi codingan seperti gambar dibawah ini.
import { Component } from '@angular/core';
import { IonicPage } from 'ionic-angular';
import { SocialSharing } from '@ionic-native/social-sharing';
@IonicPage()
@Component({
selector: 'page-social',
templateUrl: 'social.html',
})
export class SocialPage {
pesan: string;
subjek: string;
gambar: string;
link: string;
email: string;
9
shareFacebook(){
this.socialSharing.shareViaFacebook(this.pesan, this.gambar, this.link);
}
shareInstagram(){
this.socialSharing.shareViaInstagram(this.pesan, this.gambar);
}
shareEmail(){
this.socialSharing.shareViaEmail(this.pesan, this.subjek,
['daffa@gmail.com'], null, null, this.gambar);
}
}
//ionViewDidLoad() {
// console.log('ionViewDidLoad SocialPage');
//}
//}
10
<ion-icon name="logo-instagram"></ion-icon>
</button>
<button ion-button icon-only clear (click)="shareEmail()">
<ion-icon name="mail"></ion-icon>
</button>
</ion-content>
@NgModule({
declarations: [
MyApp,
HomePage,
ListPage,
CameraPage,
AppratePage,
SocialPage,
GeolocationPage,
11
SmsPage,
CallPage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
ListPage,
CameraPage,
AppratePage,
SocialPage,
GeolocationPage,
SmsPage,
CallPage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
Camera,
AppRate,
SocialSharing,
Geolocation,
NativeGeocoder,
SMS,
CallNumber
]
})
export class AppModule {}
12
D. GEOLOCATION
1. Buat halaman sama seperti cara awal yaitu ketikkan “ionic generate
page geolocation” di command prompt.
2. Kemudian ketikkan “ionic cordova plugin add cordova-plugin-
geolocation”.
3. Kemudian ketikkan “npm install –save @ionic-native/geolocation”.
4. Kemudian kembali ke Visual Studio Code, maka geolocation akan
muncul.
@IonicPage()
@Component({
selector: 'page-geolocation',
templateUrl: 'geolocation.html',
})
13
export class GeolocationPage {
map: any;
infoWindow: any;
alamat: string;
let mapOptions = {
center: latLng,
zoom: 15,
mapTypeId: google.maps.mapTypeId.ROADMAP
}
this.map = new
google.maps.Map(this.mapElement.nativeElement, mapOptions);
//ionViewDidLoad() {
// console.log('ionViewDidLoad GeolocationPage');
//}
14
6. Buka “geolocation.html”, kemudian isi codingan seperti gambar
dibawah ini.
<ion-header>
<ion-navbar>
<ion-title>geolocation</ion-title>
<button ion-button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
</ion-navbar>
</ion-header>
<ion-content padding>
<div class="photo-map" #map id="map"></div>
</ion-content>
15
E. GEOCODER
16
F. SMS
1. Buat halaman sama seperti cara awal yaitu ketikkan “ionic generate page
sms” di command prompt.
2. Kemudian ketikkan “ionic cordova plugin add cordova-sms-plugin”.
3. Kemudian ketikkan “npm install –save @ionic-native/sms@4”.
4. Kemudian kembali ke Visual Studio Code, maka sms akan muncul.
@IonicPage()
@Component({
selector: 'page-sms',
templateUrl: 'sms.html',
})
export class SmsPage {
nohp: string;
pesan: string;
sendSMS(){
this.sms.send(this.nohp, this.pesan);
}
ionViewDidLoad() {
console.log('ionViewDidLoad SmsPage');
}
17
6. Buka “sms.html”, kemudian isi codingan seperti gambar dibawah ini.
<ion-header>
<ion-navbar>
<ion-title>SMS</ion-title>
<button ion-button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-list>
<ion-item>
<ion-label floating>No. HP</ion-label>
<ion-input type="text" [(ngModel)]="nohp"></ion-input>
</ion-item>
<ion-item>
<ion-label floating>Pesan</ion-label>
<ion-textarea [(ngModel)]="pesan"></ion-textarea>
</ion-item>
</ion-list>
<div padding>
<button ion-button (click)="sendSMS()">Kirim Pesan</button>
</div>
</ion-content>
18
G. CALL NUMBER
1. Buat halaman sama seperti cara awal yaitu ketikkan “ionic generate page
call” di command prompt.
2. Kemudian ketikkan “ionic cordova plugin add call-number”.
3. Kemudian ketikkan “npm install –save @ionic-native/ call-number”.
4. Kemudian kembali ke Visual Studio Code, maka call akan muncul.
@IonicPage()
@Component({
selector: 'page-call',
templateUrl: 'call.html',
})
export class CallPage {
nohp: string;
doCall(){
this.callNumber.callNumber(this.nohp, true);
}
}
19
6. Buka “call.html”, kemudian isi codingan seperti gambar dibawah ini.
<ion-header>
<ion-navbar>
<ion-title>call</ion-title>
<button ion-button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
</ion-navbar>
</ion-header>
<ion-content padding>
<button ion-button (click)="doCall()">Call Center</button>
</ion-content>
20
import { NativeGeocoder} from '@ionic-native/native-geocoder';
import { SMS} from '@ionic-native/sms';
import { CallNumber} from '@ionic-native/call-number';
@NgModule({
declarations: [
MyApp,
HomePage,
ListPage,
CameraPage,
AppratePage,
SocialPage,
GeolocationPage,
SmsPage,
CallPage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
ListPage,
CameraPage,
AppratePage,
SocialPage,
GeolocationPage,
SmsPage,
CallPage
],
providers: [
StatusBar,
21
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
Camera,
AppRate,
SocialSharing,
Geolocation,
NativeGeocoder,
SMS,
CallNumber
]
}) export class AppModule {}
Jika berhasil membuat seperti gambar dibawah ini, maka telah berhasil
melakukan latihan modul 10.
22
H. Cara Koneksi Ke Smartphone
1. Pastikan wifi di laptop dan smartphone koneksinya sama
23
2. Buka cmd/command prompt di windows, lalu masuk ke direktori
“HalloIonic” atau nama folder project. Dan ketikkan “ionic serve” untuk
menjalankan project.
24
6. Lalu pilih menu, dan pilih Enter address manually.
25
8. Dan tunggu sampai proses selesai, tampilannya akan seperti berikut.
9. Maka tampilannya akan seperti berikut, pilih menu nya dan selesai. Selamat
mencoba.
26
27