Didats Triadi

iOS Developer dari Malang, Indonesia

Author: Didats Triadi Page 1 of 3

Mengatur tema gelap di iOS 13

Sejak iOS 13 diperkenalkan, tema gelap mulai ada dan banyak disukai pengguna iOS. Lalu sebagai pengembang iOS, bagaimana mengatur tema terang dan gelap dengan bahasa Swift?

Membuat aturan main

Yang pertama, kita perlu menulis sebuah protocol yang berisi aturan warna yang akan digunakan di dalam aplikasi. Sebagai contoh, saya hanya akan membuat 3 aturan saja.

protocol Themed {
   var background: UIColor {get}
   var main: UIColor {get}
   var mainText: UIColor {get}
}

Aturan di atas hanya membutuhkan getter di tiap variabel. Jadi siapapun yang mengimplementasi protocol di atas, harus mengembalikan warna pada tiap variabel yang sudah ditentukan.

Selanjutnya, kita perlu membuat struct untuk tiap tema. Di tulisan ini saya hanya akan membuat 2 buah tema, gelap dan terang. Berikut struct DarkTheme dan LightTheme yang mengimplementasikan seluruh variabel warna pada protocol Themed.

struct DarkTheme: Themed {
    var main: UIColor {
        return UIColor(hex: 0xFF0000)
    }
    var mainText: UIColor {
        return UIColor(hex: 0xEFEFEF)
    }
    var background: UIColor {
        return UIColor(hex: 0x353535)
    }   
}

struct LightTheme: Themed {
    var main: UIColor {
        return UIColor(hex: 0x00FF00)
    }
    var mainText: UIColor {
        return UIColor(hex: 0x353535)
    }
    var background: UIColor {
        return UIColor(hex: 0xFFFFFF)
    }
}

Untuk mengecek tema yang saat ini digunakan, kita bisa membuat method di UIApplication sebagai extension.

extension UIApplication {
    static func isDark() -> Bool {
        if #available(iOS 13.0, *) {
            return (UIScreen.main.traitCollection.userInterfaceStyle == .dark)
        }
        return false
    }
}

Dan kita perlu membuat satu buat struct lagi untuk digunakan di banyak tempat.

struct Theme {
    static var active: Themed {
        return (UIApplication.isDark()) ? DarkTheme() : LightTheme()
    }
}

Cara penggunaan

Untuk menggunakan warna yang sudah ditulis, Anda hanya membutuhkan satu baris perintah berikut:

view.backgroundColor = Theme.active.main

Untuk perlu diingat, jangan gunakan nama warna yang disediakan oleh UIKit. Contoh, penggunaan UIColor.white lebih baik dihindari dan gunakan UIColor(hex: 0xFFFFFF). Dikarenakan UIKit akan mengubah warna putih pada .white saat menggunakan tema gelap.

Oh iya, jika Anda penasaran bagaimana saya menggunakan UIColor dengan menyertakan kode heksa, bisa ambil dari sini:

extension UIColor {
    public var hexValue: Int {
        var rF: CGFloat = 0
        var gF: CGFloat = 0
        var bF: CGFloat = 0
        getRed(&rF, green: &gF, blue: &bF, alpha: nil)
        
        let r = Int(rF*255)
        let g = Int(gF*255)
        let b = Int(bF*255)
        
        return r << 16 + g << 8 + b
    }
    
    public convenience init(hex value: Int, alpha: CGFloat = 1) {
        let r = (value & 0xFF0000) >> 16
        let g = (value & 0x00FF00) >> 8
        let b = value & 0x0000FF
        
        self.init(red: CGFloat(r)/255, green: CGFloat(g)/255, blue: CGFloat(b)/255, alpha: alpha)
    }
}

Tips bangun tidur dengan alarm

Saya punya beberapa tips untuk bangun pagi dengan bantuan alarm. Bukan rahasia umum jika Anda butuh bangun pukul 4 pagi, maka biasanya Anda akan membuat beberapa alarm untuk membangukan di pukul 3.50, 3.55, 3.58, 3.59, dan sejenisnya.

Tapi ada hal yang paling manjur yang bisa Anda terapkan langsung jika ingin benar-benar konsisten bangun pagi. Saya sudah terapkan ini bertahun-tahun yang lalu (ketahuan umurnya), dan selalu berhasil.

  • Buat bunyi alarm persis di jam yang Anda ingin bangun saja. Jika Anda ingin bangun di jam 4.00, maka buatlah alarm HANYA di jam 4.00
  • Gunakan suara yang keras, bukan yang klemar-klemer
  • Taruh alarm Anda (atau telepon genggam Anda) jauh dari jangkauan, minimal sebagai pemula, 4-5 langkah
  • Hitung mundur 6 jam, dan mulai tutup gadget Anda dijam itu, tepat.
  • Sebagai pemula, Anda akan tergoda dengan indahnya bantal dan kasur ketika meraih alarm, dan tetapkan hati untuk tidak mudah tergoda

Itu saja, selamat menerapkan cara di atas! Jika ada yang lain, dipersilahkan memberi masukan.

Gambar di atas didapatkan dari https://www.legalcheek.com/2015/05/the-law-student-behind-this-iphone-alarm-is-clearly-destined-for-great-things/ tanpa permisi.

Mulai menggunakan Android

Karena banyak yang harus dibayar sampai tahun depan, membuat saya harus bisa puasa ganti iPhone. Versi iPhone yang saya pegang sampai saat ini adalah iPhone 7, hampir 3 tahun sudah perangkat ini menemani saya setiap harinya.

Walaupun sudah hampir 3 tahun, kesehatan baterai masih 81% dan masih oke saya gunakan baik untuk mengetes aplikasi ataupun kebutuhan harian.

Jika biasanya tiap 2 tahun sekali saya ganti, tapi tahun ini sepertinya saya akan lewat versi iPhone terbaru yang katanya versi 11 itu. Dananya bukan untuk kesana.

Maka itu, karena penasaran dengan layar besar dan FaceID, saya mau cari Android murah meriah dengan spesifikasi ukuran layar harus lebih dari 6 inchi, ada FaceID, dan yang paling penting, menggunakan USB C, karena komputer yang saya gunakan sudah menggunakan USB C juga.

Pilihan jatuh ke Samsung Galaxy M20. Kenapa pilih Samsung, karena saya juga mau coba masuk ke Galaxy Store selain Play Store kepunyaan Google.

21 hari dengan Android

Terhitung sudah 21 hari saya bersama Galaxy M20, saya tau karena setiap harinya saya menulis blog dan atau memotret dengan menggunakan hape itu.

Untuk yang mau ikut liat, dipersilahkan untuk melihat di akun Tumblr saya. Tapi Tumblr versi desktop tidak seenak dilihat versi mobilenya. Terbukti di versi desktop gambar yang saya masukkan kena ukuran yang dipaksakan, jadi tidak terlihat proporsional. Payah deh.

Kesan tentang Android

Ternyata Android versi saat ini cukup menyenangkan. Perlu diketahui, sekitar 4 tahun lalu, saya juga sempat punya Galaxy A5, tapi jarang saya pakai karena cuma digunakan untuk mengetes aplikasi saja. Karena dulu sama sekali tidak tertarik menggunakannya untuk sehari-hari.

Mungkin karena sekarang saya menggunakan OneUI si Samsung yang sangat lancar dan menyenangkan. Ini pula yang membuat saya mau coba belajar membuat aplikasi Android.

Tapi ada hal yang masih kurang sreg, soal keamanan dan komitmen Google untuk hanya meloloskan aplikasi yang baik saja yang bisa masuk ke Play Store-nya. Ini membuat saya gak berani untuk pasang aplikasi apapun. Hanya yang saya yakin gak akan menimbulkan masalah saja yang bisa saya pasang. Kriterianya? cuma filing aja.

Walau begitu, Android versi 9.x ini oke jugalah untuk pengguna iOS seperti saya yang sudah lebih dari 7 tahun menggunakan iPhone.

Review Liga Inggris di Mola TV dan jawaban dari banyak pertanyaan

Setelah minggu ke-2 menyaksikan liga Inggris lewat perangkat Mola TV, kayaknya sudah boleh untuk menulis review.

Penting diketahui, saya tinggal di Malang dan menggunakan koneksi MNC Play. Soal lokasi ini penting diketahui karena jadi faktor penting kenyamanan menonton, terutama soal kecepatan internet.

Koneksi Internet saya biasa memberikan kecepatan seperti tertera di gambar di bawah ini. Untuk diperhatikan server yg digunakan untuk mengetes adalah server singapura, artinya saya langsung mengetes koneksi internasional, bukan koneksi lokal Indonesia.

Dengan koneksi di atas, saya nonton dengan nyaman, dapat tayangan dengan gambar yang cukup jernih. Walaupun kalau ada saudara mampir dan pake internet di rumah, gambar yang saya dapat pecah-pecah. Mungkin ikut streaming youtube dan lain-lain.

Beda Mola TV dan Beinsport

Karena tahun lalu saya juga berlangganan Beinsport, maka tidak salah jika saya bandingkan.

  1. Mola TV hanya bisa disaksikan lewat layar televisi. Beinsport bisa dimana-mana.
  2. Mola TV hanya menyiarkan liga Inggris saja, Bein Sport ada Liga Italia, Spanyol, dan Perancis.
  3. Beinsport khusus olahraga saja, Mola TV ada film dan film untuk anak-anak (Walaupun sampai ini ditulis masih kosong)
  4. Beinsport mengelompokkan pertandingan berdasarkan nomor saluran. Sedangkan Mola TV mengelompokkannya per pertandingan. Artinya, di Mola TV setelah pertandingan selesai, maka tak ada lagi yang ditayangkan. Harus pindah ke channel lain yang menampilkan pertandingan lain.

Keuntungan Mola TV

  1. Selain liga Inggris, Mola TV juga menyediakan film-film
  2. Dapat perangkat ‘Android box
  3. Ukuran perangkat yang kecil. Bisa dibawa ke rumah lain jika ada koneksi Internet

Kekurangan Mola TV

  1. Hanya bisa disaksikan di rumah
  2. Butuh koneksi internet yg cukup bagus
  3. Hanya punya liga inggris saja
  4. Film-film yang tersedia hanya film lama saja
  5. Harga cukup mahal walaupun saya tahu, beli lisensi liga inggris memang mahal.

Pertanyaan-pertanyaan yang mungkin sering ditanyakan

Apa Mola TV menayangkan liga Italia, Spanyol dan lain-lain?
Tidak. Jika Anda ingin menyaksikan liga lain selain Inggris, harus daftar di Bein Sport lagi. Mola TV hanya untuk liga Inggris saja.

Selain perangkat yang dibeli, apalagi yang harus dipunya?
Selain perangkat dari Mola TV, Anda butuh koneksi internet dan Televisi dengan input HDMI. Sudah itu saja. TVpun tak perlu yang Smart TV, hanya butuh yang sudah ada koneksi HDMI.

Kenapa Bein Sport melepas lisensi liga Inggris?
Menurut info yang saya dapat, lisensi liga Inggris tiap 3 tahun naik. Mungkin karena Bein sport gak untung, akhirnya melepasnya. Dan Mola TV jadi yang berani ambil resiko itu.

Kenapa TVRI cuma menayangkan 2 pertandingan perminggu?
Karena TVRI mampu bayarnya segitu. Lagipula, harga lisensi yang mencapai 100 Miliar rupiah itu, mahal banget buat TVRI.

Kenapa harus bayar? dulu gratis nonton
Dimana-mana sih harus bayar. Dulu harga lisensi masih ketutup iklan. Sekarang mungkin sudah tidak lagi.

Kenapa Mola TV gak menayangkan streaming di handphone? Tahun lalu Beinsport bisa. Pasti bisa lebih laku.
Bein Sport yang nayangin streaming di handphone aja gak untung, apa jaminannya Mola TV akan untung. Mungkin mereka juga udah berpikir mending disuruh bayar sekalian.

Kenapa Anda jawabin pertanyaan-pertanyaan di atas? Orang Mola TV ya?
Saya bukan orang Mola TV, tapi saya cumagemes sama netizen.

Ada lagi?

Tips naik sepeda dari kota Malang ke Batu

Salah satu cita-cita saya ketika beli sepeda balap (road bike) adalah naik ke Batu. Paling tidak sampai alun-alun Batu. Dan sukses setelah sekitar satu tahun setelah membeli sepeda. Hahaha.

Alasan utama adalah takut karena tidak tahu medannya dan takut gak kuat. Dan memang benar, saya dua kali gagal.

Kegagalan pertama karena saya gak kuat. Titik berhenti dan balik lagi ke bawah adalah sekitar kampus pascasarjana UIN Maliki Malang.

Pada minggu selanjutnya, naik lebih sedikit sampai dengan Indomaret Sukarno Raya sebelum bersua dengan Jatim Park 3.

Karena penasaran dan berpikir sudah cukup tahu medan, maka di minggu ketiga saya coba lagi. Kali ini mau cari barengan. Dan sukses ketemu bapak-bapak yang cukup tangguh. Saya menyerah kalah karena jauh tertinggal. Tolong jangan ketawa.

Setelah beristirahat di pinggir jalan cukup lama, saya meneruskan perjalanan. Sampai 2 atau 3 kali.

Hasil akhirnya, cukup menyenangkan.

Tips naik ke Batu dari Malang.

Cukup basa-basinya, dari pengalaman tersebut apa yang bisa saya ambil pelajaran?

  1. Yakin pasti bisa.
  2. Sering-sering main dengan gigi belakang dan depan
  3. Jangan lupa sarapan dulu sebelum naik
  4. Kalau tak kuat, istirahat aja dulu.
  5. Setelah melewati sengkaling siap-siap jalanan yang terus-terusan mendaki. Terlebih lagi jika sudah sampai Jatim Park 3.

Selain sarapan, hal paling penting adalah bermain-main dengan gigi belakang dan depan. Jangan sampai habis di gigi depan dan belakang paling rendah.

Tipsnya adalah, setelah menaikkan gigi, jika ada jalan tidak terlalu menanjak, turunkan lagi. Dan naikkan lagi kalau jalan mulai menanjak lagi. Begitu seterusnya sampai puncak.

Tapi gara-gara ini, saya pikir kalau ada duit mau upgrade sepeda. Kurang gaharrr. 😄

Memilih koneksi internet di Malang. Indihome, First Media, MNC atau MyRepublic?

Tinggal di Malang kota untuk koneksi internet memang bisa dibilang menyenangkan. Sampai saat tulisan ini ditulis ada 4 pilihan untuk warga kota Malang soal koneksi internet rumahan. Dari 4 koneksi yang saya bahas ini, manakah yang paling bisa diandalkan? Teruskan membaca.

Penting diketahui: Saya tidak dibayar untuk menulis ini. Semua murni karena pengalaman saya sendiri. Pengalaman saya bisa saja beda dengan pengalaman Anda, dikarenakan lokasi kita berbeda.

Perlu diperhatikan dan sangat penting sekali adalah lokasi tinggal. Saya tinggal di Sawojajar, dan saat ini sedang menggunakan koneksi MNC untuk rumah, dan MyRepublic untuk kantor. Saya juga pernah menggunakan First Media dan Indihome sebelumnya, jadi boleh dikata tulisan ini adalah sepenuhnya pengalaman saya.

Indihome

Layanan milik Telkom ini ada ketika saya mulai memasang pesawat telepon untuk rumah. Waktu itu setiap bulannya tidak sampai 400 ribu untuk tagihan telepon dan tagihan internet. Sepertinya saya dulu ambil paket yang 5Mbps.

Dari pengalaman saya, Indihome cukup stabil di koneksi yang lelet tidak, cepatpun tidak. Tapi untuk kecepatan upload, indihome termasuk bikin sengsara. Saya yang seorang pengembang juga butuh kecepatan upload tinggi.

Puncaknya saat sekitar 3 hari tidak jelas dengan koneksi, hidup segan mati tak mau, akhirnya saya pasang First Media sebelum akhirnya memutus kontrak Indihome.

First Media

Saya cukup tertarik janji sales First Media yang berani janji koneksi Upload saya akan tinggi. Tapi ditunggu-tunggu tidak juga sampai dengan janjinya. Lihat tulisan saya di review First Media di kota Malang.

MNC

Sampai saat ini saya cukup puas dengan koneksi MNC di rumah. Kecepatan download dan upload bisa bikin senyum-senyum sendiri. Silahkan dilihat saja.

speedtest mnc

Yang menyenangkan adalah melihat kecepata Uploadnya yang lebih besar dibandingkan kecepata downloadnya.

MyRepublic

MyRepublic dan MNC sebenarnya sama, mereka cukup bisa diandalkan di daerah Sawojajar. Tapi yang perlu jadi perhatian adalah perangkat MyRepublic yang disediakan tidak sebagus kepunyaan MNC.

Dengan MyRepublic, Anda saya anjurkan untuk menyediakan kabel ethernet dengan kecepatan sampai deengan 1000 Mbps. Dengan begitu Anda bisa memaksimalkan koneksi yang disediakan MyRepublic. Jika tidak, Anda tetap dapatkan koneksi bagus, tapi sayang aja sudah bayar cukup mahal, tapi tidak bisa memaksimalkan koneksi yang ada.

Berikut perbedaan koneksi dengan menggunakan koneksi Wifi:

Myrepublic-sawojajar-wifi

Dan berikut ini adalah koneksi dengan menggunakan kabel ethernet.

Myrepublic-sawojajar-kabel

Kesimpulan

Jika pilihan di daerah Anda hanya Indihome, artinya sabar saja. Tapi jika ada tambahan First Media, pilih yang paling murah antara First Media dan Indihome, sambil tetap sabar. Koneksi mereka berdua sama saja, jadi pilih yang tidak terlalu bikin sesak dada.

Dan jika keempat koneksi yang saya bahas di atas tersedia, saya akan tetap memilih MNC dikarenakan lebih stabil walaupun kecepatannya masih kalah dibanding MyRepublic.

Masalah MyRepublic adalah kurang stabilnya koneksi. Beberapa minggu lalu selalu bermasalah dengan koneksi yang sangat lambat. Walaupun tidak sering bermasalah, tapi koneksi MNC jauh lebih jarang bermasalah.

Liga Inggris di Mola TV

Berlaku mulai musim di tahun ini (2019-2020), liga inggris tidak lagi disiarkan oleh Beinsport Indonesia. Mola TV yang tidak dikenal siapapun (kecuali orang Mola TV sendiri) kini mengambil jatah tayang liga Inggris yang katanya sampai dengan 3 tahun ke depan.

Untuk review Mola TV, langsung ke tulisan tentang review Mola TV dan pertanyaan yang sering ditanyakan.

Untuk langganan lewat perangkat, Anda bisa beli di Blibli di harga awal 1 juta rupiah. Untuk diketahui, perangkat yang dibeli tidak termasuk dengan koneksi internet. Jadi Anda harus punya koneksi internet dengan kecepatan yang cukup.

Untuk internet, Anda bisa gunakan Wifi atau langsung kabel ethernet.

Sampai saat ini belum bisa berkata apa-apa dulu karena liga Inggris belum dimulai.

Pasar Sawojajar

Pasar sawojajar di Malang sedang renovasi, sehingga dibuatlah pasar dadakan di area jalan.Karena area jalan ini tadinya tempat parkir motor, maka di depan kios mereka berjejer motor. Membuat pengunjung jadi berebut tempat dengan motor.

Semoga cepat selesai renovasinya.

Supaya tidak gampang sakit

Ini bukan tulisan berbayar. Hanya review saja.

Dokter pernah menyampaikan satu ilmu penting yang sangat berguna untuk orang awam seperti saya.

Ketika terasa badan kurang enak, artinya antibodi sedang berperang dengan kuman/bakteri, maka untuk memperkuat, tubuh butuh vitamin.

Sayangnya, vitamin yg ada di makanan kurang bisa diandalkan ketika tubuh sedang kurang enak. Dan jalan cepat yang bisa diambil adalah dengan mengkonsumsi vitamin dalam bentuk obat.

Magazing di foto bagian atas biasa saya konsumsi 2 hari sekali. Dan ketika badan gak enak, sehari sekali. Harga 33 ribu isi 10.

Tapi tentu saja, untuk hasil maksimal olahraga tiap hari akan sangat bermanfaat. Jangan lupa itu.

Sawojajar, bisa masuk susah keluar

Nama sawojajar sudah terkenal di penjuru kota Malang sebagai komplek perumahan besar. Tidak jarang banyak yang malas untuk masuk ke dalam karena biasanya sulit keluar. Ojek-ojek online sebagian besar akan nyasar apalagi jika letak rumah berada di tengah-tengah jalan raya sawojajar.

Komplek Sawojajar terletak di sebelah timur Alun-alun kota Malang, mungkin sekitar 8-15km. Semua nama jalannya dimulai dengan kata danau. Jika Anda membaca nama jalan seperti Jalan Danau Maninjau, dan berada di kota Malang, bisa dipastikan rumahnya berada di dalam komplek sawojajar.

Yang membuat cukup bingung adalah banyaknya jalan yang ditutup portal pada waktu-waktu tertentu. Sehingga harus mencari jalan lain yang biasanya tidak diterangkan di aplikasi peta seperti Google Maps. Biasanya waktu-waktu ditutup portal mulai jam 10 pagi sampai dengan jam 15 sore. Ini dilakukan untuk mempersempit ruang gerak maling yang dulu katanya pernah marak.

Hal lain yang cukup ajaib adalah kombinasi nama jalan yang cukup banyak variasi. Berikut beberapa kombinasi nama jalan dari satu nama danau saja.

  1. Jalan Danau (nama) Raya
  2. Jalan Danau (nama) Barat
  3. Jalan Danau (nama) Timur
  4. Jalan Danau (nama) Utara
  5. Jalan Danau (nama) Selatan
  6. Jalan Danau (nama) Dalam
  7. Jalan Danau (nama) Tengah
  8. Jalan Simpang Danau (nama) (arah mata angin, Dalam, Tengah)
  9. Jalan Terusan Danau (nama) (arah mata angin, Dalam, Tengah)

Jadi ketika Anda mencari alamat di kota Malang dengan nama danau, perhatikan baik-baik nama jalannya. Karena ada juga variasi angka romawi seperti terlihat di foto bagian atas.

Selain nama jalan, kompleks ini juga ditandaì dengan nomor blok dan nomor rumah. Formatnya menggunakan huruf alfabet. Contoh formatnya: A1 A13.

A1 di atas adalah nama blok, A yang kedua sub-blok, dan 13 adalah nomor rumah. Saya belum tahu apakah kombinasi ini bisa sampai dengan huruf Z. Sejauh pengetahuan saya, belum ada kombinasi sampai Z.

Walaupun begitu, komplek sawojajar adalah salah satu tempat tinggal yang cukup menyenangkan di kota Malang. Ke bandara dekat, ke stasiun dekat, ke mall ada di komplek. Tidak jarang iklan-iklan perumahan akan menggunakan embel-embel “Dekat dengan sawojajar”.

Bahwa nyatanya ada komplek baru sampai dinamai Sawojajar 2. Tapi lokasi Sawojajar 2 sudah berada di kabupaten, bukan lagi kota. Anda tahu, apa beda kota dan kabupaten? wisata jalan rusak. Huehehe.

Segitu dulu hari ini, selamat nyasar kawan-kawan!

Page 1 of 3

Powered by WordPress & Theme by Anders Norén