Info Gempa - Membuat Model

Pada pembahasan kali ini kita akan membahas bagaimana cara mmebuat model pada pemrograman Swift
dengan menggunakan framework SwiftUI
.
Daftar Isi
Spesifikasi APlikasi
Spesifikasi | Keterangan |
---|---|
Bahasa | Swift 5 |
Framework | SwiftUI |
Editor/Tool | Xcode 11.3 |
Platform | IOS |
Model yang akan kita buat adalah sesuai dengan yang dibutuhkan oleh aplikasi dan menyesuaikan dengan JSON
yang di dapat dari API GEMPA.
Berikut data yang kita butuhkan untuk membuat aplikasi info gempa ini
Kebutuhan Atribut Model
Atribut | Tipe Data | Keterangan |
---|---|---|
mag | Double | Informasi kekuatan gempa |
place | String | informasi tempat gempat |
time | Double | informasi waktu gempa |
detail | String | URL detail gempa |
title | String | Informasi judul gempa |
type | String | Tipe Gempa |
coordinates | List Double | Lat Long gempa (Peta) |
Format JSON API
{
"type": "Feature",
"properties": {
"mag": 4.3,
"place": "291km N of Ndoi Island, Fiji",
"time": 1577425336477,
"updated": 1577426822040,
"tz": -720,
"url": "https://earthquake.usgs.gov/earthquakes/eventpage/us70006rfs",
"detail": "https://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us70006rfs.geojson",
"felt": null,
"cdi": null,
"mmi": null,
"alert": null,
"status": "reviewed",
"tsunami": 0,
"sig": 284,
"net": "us",
"code": "70006rfs",
"ids": ",us70006rfs,",
"sources": ",us,",
"types": ",geoserve,origin,phase-data,",
"nst": null,
"dmin": 3.389,
"rms": 0.85,
"gap": 74,
"magType": "mb",
"type": "earthquake",
"title": "M 4.3 - 291km N of Ndoi Island, Fiji"
},
"geometry": {
"type": "Point",
"coordinates": [
-178.4009,
-18.0347,
570.2
]
},
"id": "us70006rfs"
}
langkah - Langkah
-
Buat sebuah file dengan nama
Quake
-
Copy dan paste code dibawah ini
import Foundation struct Features : Decodable, Hashable{ var properties : Properties var geometry : Geometry } struct Properties : Decodable, Hashable { var mag : Double var place : String var time : Double var detail : String var title : String } struct Geometry : Decodable, Hashable { var type : String var coordinates : [Double] } struct QuakeAPIList : Decodable { var features : [Features] }
-
Model selesai dibuat,
Penjelasan Model
-
struct
menunjukan pojo/model -
kelas
Features
dibuat karena atribut yang dibutuhkan ada didalam list dengan namaFeatures
-
kelas
Properties
dibuat karena atribut yang dibutuhkan ada dalan json object ini -
kelas
Geometry
dibuat karena atributtype
dancoordinates
ada dalam json object ini -
kelas
QuakeAPIList
dibuat untuk menampung seluruh return yang di dapat dari api untuk selanjutnya diconversi kedalam bentuk object
Oke sekian pada modul tutorial kali ini, selanjutnya kita akan mengconversi json menjadi pojo seperti yang sudah kita buat ini.