Last Updated on November 8, 2021 by
Seperti yang sudah dijelaskan sebelumnya pada artikel-artikel tentang Swift di Seri Tutorial Swift Codekey, Swift sendiri adalah bahasa yang menyediakan berbagai properti. Swift properties ini ditujukan untuk kelas, struktur, atau enumerasi untuk mengasosiasikan atau menggabungkan nilai.
Properti bisa diklasifikasikan ke dalam properti penyimpanan (stored) dan properti komputasi (computed). Seri tutorial Swift yang ke- 26 di Codekey ini akan membahas tentang properties pada swift dan properti variabel. Tertarik untuk tahu penjelasannya secara lebih mandalam? Pada artikel ini kami akan membahas tentang properti pada Swift untuk pemula.
Table of Contents
Penjelasan tentang Swift Properties
Properti pada bahasa Swift berguna untuk mengasosiasikan nilai dengan kelas, struktur, atau enumerasi tertentu. Properti yang disimpan menyimpan nilai konstan dan variabel sebagai bagian dari instance, sedangkan properti yang dihitung menghitung (bukan menyimpan) suatu nilai.
Properti Variabel (variable property) yang telah disediakan oleh enumerasi, struktur, dan kelas. Swift Properties yang disimpan hanya disediakan oleh kelas dan struktur. Biasanya, properti yang disimpan serta dihitung dikaitkan dengan instance (contoh) dari tipe tertentu.
Selain itu, properti juga bisa berkaitan dengan suatu tipe (type). Properti seperti ini dikenal dengan Type Property atau tipe properti.
Selain itu, Anda dapat menentukan property observer untuk memantau perubahan nilai properti, yang dapat Anda tanggapi dengan tindakan kustom. Property observer dapat ditambahkan ke properti tersimpan yang Anda definisikan sendiri, dan juga ke properti yang diwarisi subkelas dari superkelasnya.
Anda juga dapat menggunakan pembungkus properti untuk menggunakan kembali kode di pengambil dan penyetel beberapa properti variabel.
Ada dua jenis properti pada bahasa pemrograman Swift yaitu Stored Property dan Computed Property. Ini dia perbedaan keduanya.
- Stored property digunakan untuk menyimpan konstanta dan nilai variabel sebagai instance. Sementara Computed Property menghutung nilai daripada menyimpan nilai.
- Stored property disediakan oleh kelas dan struktur. Sementara, computed property dengan menyediakan kelas, enumerasi, dan struktur.
Stored dan Computed Property terkait dengan tipe instance. Saat properti berhubungan dengan nilai tipenya, maka properti tersebut akan didefinisikan sebagai ‘Type Properties’. Properti yang telah dihitung dan disimpan biasanya berkaitan dengan instance (contoh) dari tipe nilai tertentu. Selain itu, properti yang disebutkan sebelumnya juga dapat berkaitan dengan tipe tersebut sendiri daripada mengini. Properti seperti itu dikenal sebagai properti tipe. Property observer juga digunakan untuk beberapa hal berikut ini:
- Untuk mengamati nilai properti yang disimpan
- Untuk mengamati properti dari subclass yang diwarisi yang berasal dari superclass
Stored Property
Swift 4 memperkenalkan konsep Stored Property untuk menyimpan instance dari konstanta dan variabel. Properti konstanta yang disimpan ditentukan oleh kata kunci ‘biarkan’ dan properti variabel yang disimpan ditentukan oleh kata kunci ‘var’. Berikut ini adalah penjelasannya:
- Selama definisi, Properti tersimpan menyediakan ‘default value.’
- Selama Inisialisasi, pengguna dapat menginisialisasi dan memodifikasi nilai awal.
Ini adalah contoh penerapannya:
struct Number { var num: Int let g = 9.8 } var x = Number(num: 4912) x.num = 931 print("Hasil : \(x.num)") print("Hasil : \(x.pi)")
Ketika dijalankan, maka hasil yang Anda bisa dapatkan:
Hasil : 931 Hasil : 9.8
Perhatikan baris berikut dalam kode di atas:
let g = 9.8
Pada kode tersebut, variabel g terinisialisasi sebagai nilai properti (property value) yang disimpan dengan instance g (nilai g = 9.8). Jadi, setiap kali instance dirujuk, ia akan menyimpan nilai 9.8 saja. Metode lain untuk memiliki Swift properties yang disimpan adalah memiliki struktur sebagai konstan. Jadi seluruh contoh struktur akan dianggap sebagai Stored Properties of Constants.
struct Number { var num: Int let g = 9.8 } var num = Number(num: 4912) x.num = 931 print("\(x.num)") print("\(x.g)") x.g = 10
Ketika dijalankan, maka hasil yang akan Anda dapatkan adalah sebagai berikut:
error: cannot assign to 'g' in 'x' x.g = 10
Daripada melakukan re-initialization atau inisialisasi ulang angka menjadi 10, ia akan mengembalikan error message yang menunjukkan bahwa angka dinyatakan sebagai konstan.
Lazy Stored Properties
Swift 4 menyediakan properti fleksibel yang disebut Lazy Stored Properties di mana ia tidak akan menghitung nilai awal saat variabel diinisialisasi untuk pertama kalinya. Sebelum deklarasi variabel, Lazy stored properties digunakan untuk menjadikannya sebagai properti tersimpan yang malas.
Lazy Stored Properties digunakan untuk:
- Untuk menunda pembuatan objek.
- Ketika properti bergantung pada bagian lain dari kelas, yang belum diketahui
class information { lazy var x = pesan() } class pesan { var val = "Selamat Belajar Swift 4" } var hasil = information() print(hasil.x.val)
Ketika menjalankan program ini maka hasil yang akan Anda dapat adalah sebagai berikut:
Selamat Belajar Swift 4
Instance Variables
Stored Property di Objective C juga memiliki variabel instan untuk tujuan pencadangan. Hal ini berguna menyimpan nilai yang dideklarasikan dalam properti variabel yang tersimpan. Berbeda halnya dengan Swift 4 yang mengintegrasikan kedua konsep ini ke dalam satu deklarasi stored properties.
Tidak hanya mempunyai variabel instan yang sesuai. Nilai cadangan ‘stored properties’ berisi semua informasi terintegrasi yang ditentukan dalam satu lokasi tentang properti variabel berdasarkan fungsi manajemen memori, tipe data, dan nama variabel.
Computed Properties
Daripada menyimpan nilai, properti yang dihitung menyediakan pengambil dan optional setter untuk mengambil dan menyetel properti dan nilai lain secara tidak langsung.
class contoh { var num1 = 0.0, num2 = 0.0 var panjang = 50.0, lebar = 120.0 var data: (Double, Double) { get { return (panjang / 2, lebar / 2) } set(val){ num1 = val.0 - (panjang / 2) num2 = val.1 - (lebar / 2) } } } var hasil = contoh() print(hasil.data) hasil.data = (5.0, 5.0) print(hasil.num1) print(hasil.num2)
Ketika menjalankan program ini, maka hasil yang akan dapatkan adalah sebagai berikut.
(25.0, 60.0) -20.0 -55.0
Nilai default akan ditetapkan untuk variabel tertentu, ketika properti yang dihitung meninggalkan nilai baru sebagai tidak terdefinisi.
Computed Properties sebagai Read-Only Properties
Read-only properties dalam Swift Properties yang dihitung didefinisikan sebagai properti dengan pengambil tetapi tanpa penyetel. Itu selalu digunakan untuk mengembalikan nilai. Variabel yang selanjutnya dapat diakses lewat ‘.’ Tetapi syntax tidak dapat disetel ke nilai lain.
class video { var title = "" var duration = 0.0 var data: [String:String] { return [ "title": self.title, "duration":"\(self.duration)" ] } } var file = video() file.title = "Belajar Swift 4" file.duration = 23.17 print(file.data["title"]!) print(file.data["duration"]!)
Ketika dijalankan, ini adalah hasil yang akan Anda dapatkan dari program tersebut.
Belajar Swift 4 23.17
Computed Properties sebagai Property Observers
Di Swift 4 untuk mengamati dan menanggapi nilai properti “Property Observer” yang digunakan. Setiap saat ketika nilai properti ditetapkan, pengamat properti dipanggil. Kecuali properti tersimpan yang malas, kita dapat menambahkan pengamat properti ke properti inherited (mewarsisi) dengan metode overriding (menimpa).
Property observer ini dapat didefinisikan dengan:
- Sebelum Menyimpan nilai – willset
- Setelah Menyimpan nilai baru – didset
- Ketika sebuah properti diatur dalam penginisialisasi willset dan pengamat didset tidak dapat dipanggil.
class contoh2 { var stat: Int = 0 { willSet(hasil){ print("\(hasil)") } didSet { if stat > oldValue { print("\(stat - oldValue)") } } } } let val = contoh2() val.stat = 25 val.stat = 235
Saat dijalankan, maka hasilnya akan seperti di bawah ini:
25 25 235 210
Variabel Lokal dan Global pada Swift
Berikut ini adalah perbedaan variabel lokal dan global dalam bahasa Swift.
- Variabel Lokal yang didefinisikan dalam fungsi, metode, atau konteks penutupan. Global Variabel yang didefinisikan di luar fungsi, metode, penutupan, atau type context.
- Variabel Lokal digunakan untuk menyimpan dan mengambil nilai. Variabel global yang digunakan untuk menyimpan dan mengambil nilai.
- Properti Variabel lokal tersimpan digunakan untuk mendapatkan dan mengatur nilai. Properti global variabel tersimpan digunakan untuk mendapatkan dan mengatur nilai.
- Pada lokal variabel, properti yang dihitung juga digunakan. Sementara global variabel properti yang dihitung juga digunakan.
Type Properties
Type properties didefinisikan dengan kurung kurawal {}. Selain itu, cakupan variabel juga telah didefinisikan sebelumnya. Dalam mendefinisikan type property untuk tipe nilai maka akan digunakan kata kunci ‘static’. Sementara untuk tipe kelas kata maka akan digunakan dengan kunci “class”. Contoh syntax
struct Structname { static var storedTypeProperty = " " static var computedTypeProperty: Int { } } enum Enumname { static var storedTypeProperty = " " static var computedTypeProperty: Int { } } class Classname { class var computedTypeProperty: Int { } }
Query dan Setting Properties
Sama seperti halnya instance properties, type property telah diterapkan query dan disetel dengan ‘.’ Sintaksnya hanya pada tipenya saja bukan menunjuk ke instance.
struct Nilai { static let val = 90 static var totalVal = 0 var NilaiAkhir: Int = 0 { didSet { if NilaiAkhir > Nilai.val { NilaiAkhir = Nilai.val } if NilaiAkhir > Nilai.totalVal { Nilai.totalVal = NilaiAkhir } } } } var nilai1 = Nilai() var nilai2 = Nilai() nilai1.NilaiAkhir = 67 print(nilai1.NilaiAkhir) nilai2.NilaiAkhir = 77 print(nilai2.NilaiAkhir)
Hasil yang didapat ketika Anda menjalankan syntaxnya.
67 77
Demikianlah penjelasan tentang Swift Properties yang bisa Anda pelajari untuk pemula. Jika Anda tertarik untuk belajar bahasa pemrograman Swift kunjungi selalu Codekey di https://codekey.id/.
Codekey adalah media untuk belajar bahasa pemrograman dengan mudah, cepat, dan bisa dipelajari di mana saja melalui tutorial, tips, dan trik untuk belajar bahasa pemrograman. Jangan lupa allow notification dari situs kami agar Anda tidak ketinggalan informasi terbaru.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.