☕️ this pada Pemrograman Java

☕️ this pada Pemrograman Java

this adalah sebuah keyword dalam bahasa Java. Keyword ini digunakan di dalam method atau constructor pada sebuah class. this ini bekerja sebagai acuan dari object saat ini, yang object tersebut bisa berupa method atau constructor yang dipanggil. this ini juga bisa digunakan untuk memanggil objek di dalam suatu instance method atau constructor.

Keyword this bisa sangat berguna dalam menangani Variable Hiding. Kita itu gak bisa buat dua variabel lokal atau dua variabel instance dengan nama yang sama. Namun, sah-sah saja jika kita buat satu variabel instance dan satu local variable atau parameter method dengan nama yang sama. Variabel lokal akan menyembunyikan variabel instance, inilah yang kita sebut Variable Hiding.
class KursiGoyang {
 int iniVariabel = 5;

 public static void main(String args[]) {
  KursiGoyang obj = new KursiGoyang();
  obj.iniMethod(20);
  obj.iniMethod();
 }

 void iniMethod(int iniVariabel) {
  iniVariabel = 10;
  System.out.println("Nilai iniVariabel adalah : " + iniVariabel);
 }

 void iniMethod() {
  int iniVariabel = 40;
  System.out.println("Nilai iniVariabel adalah : " + iniVariabel);
 }
}
Outputnya adalah sebagai berikut :
Nilai iniVariabel adalah 10
Nilai iniVariabel adalah 40
Seperti yang bisa kita liat, variabel instance tersembunyi, dan nilai dari local variabel (atau parameter dari method) lah yang ditampilin, bukan variabel instance. Untuk menyelesaikan masalah tersebut, digunakanlah keyword this diikuti dengan field/variabel untuk menampilkan hasil dari variabel instance.
class KursiGoyang {
 int iniVariabel = 5;

 public static void main(String args[]) {
  KursiGoyang obj = new KursiGoyang();
  obj.iniMethod(20);
  obj.iniMethod();
 }

 void iniMethod(int iniVariabel) {
  iniVariabel = 10;
  System.out.println("Nilai iniVariabel adalah : " + this.iniVariabel);
  System.out.println("Nilai iniVariabel adalah : " + iniVariabel);
 }

 void iniMethod() {
  int iniVariabel = 40;
  System.out.println("Nilai iniVariabel adalah : " + this.iniVariabel);
  System.out.println("Nilai iniVariabel adalah : " + iniVariabel);
 }
}
Outputnya adalah sebagai berikut :
Nilai iniVariabel adalah 5
Nilai iniVariabel adalah 10
Nilai iniVariabel adalah 5
Nilai iniVariabel adalah 40
This Keyword

Keyword this pada ConstructorKeyword this juga bisa kita gunakan di dalam sebuah contructor untuk memanggil constructor lain di class yang sama. Pemanggilan ini disebut Explicit Constructor Invocation. Hal ini terjadi jika sebuah class memiliki dua constructor, satu yang tanpa argument, dan satu lagi punya argument. Lalu, si this keyword bisa kita pake untuk manggil constructor yang punya argument dari constructor yang gak punya argument, soalnya constructor yang punya argument gak bisa kita panggil secara eksplisit.

Note:
  • this ini cuman bisa jadi statement pertama di constructor
  • Constructor bisa punya keyword this atau super, tapi gak bisa punya keduanya
class KursiGoyang {

 KursiGoyang() {
  this("KursiGoyang");
  System.out.println("Di dalam Constructor tanpa Parameter");
 }

 KursiGoyang(String str) {
  System.out.println("Di dalam Constructor pake Parameter : " + str);
 }

 public static void main(String args[]) {
  KursiGoyang obj = new KursiGoyang();
 }
}
Outputnya adalah sebagai berikut :
Di dalam Constructor pake Parameter KursiGoyang
Di dalam Constructor tanpa Parameter

Keyword this pada Method

Keyword this juga bisa kita pake didalam method untuk memanggil method lain dari class yang sama.
class KursiGoyang {

 public static void main(String args[]) {
  KursiGoyang obj = new KursiGoyang();
  obj.methodKedua();
 }

 void methodPertama() {
  System.out.println("Di dalam Method Pertama");
 }

 void methodKedua() {
  System.out.println("Di dalam Method Kedua");
  this.methodPertama();
 }
}
Outputnya adalah sebagai berikut :
Di dalam Method Kedua
Di dalam Method Pertama
Nah, itulah pembahasan tentang keyword this. Semoga bermanfaat ya dan jangan lupa bahagia sob!

Artikel ini hasil terjemahan dari https://javabeginnerstutorial.com/core-java-tutorial/this-keyword-java/
PreferenceManager Android Deprecated?

PreferenceManager Android Deprecated?

Belakangan ini, selama proses build aplikasi Android, ane sering nemuin warning warna merah bertuliskan PreferenceManager.getDefaultSharedPreferences has deprecated. Setelah mencari kesana kemari ternyata nemu penyebab dan solusinya.

Key - Android SharedPreference

Menurut sumber yang ane dapet sih, di Android Q, method untuk inisialisasi SharedPreference tersebut udah deprecated alias usang. Solusinya adalah dengan migrasi ke AndroidX. Kenapa harus ke AndroidX? Karena, ada method baru yang bisa kita gunakan untuk inisialisasi SharedPreference di AndroidX. Sebenernya sih bukan bawaan AndroidX nya, tapi kita harus implement salah satu library dari Android nya sendiri :

Untuk yang pake Java
implementation "androidx.preference:preference:1.1.0"
Untuk yang pake Kotlin
implementation "androidx.preference:preference-ktx:1.1.0"
Nah itu dia sob, solusi yang mungkin bisa membantu ketika nemu warning terkait SharedPreference ini. Sebenernya agak ribet juga sih kalo emang harus migrate ke AndroidX, apalagi jika kita masih pake library yang belum support AndroidX atau yang udah gak di support sama si pemilik library-nya. Kalo kasusnya begitu ya mau gak mau ganti library atau bedah librarynya sendiri hehe . . Jangan lupa bahagia ya sob!

Referensi :
Satpam Virtual

Satpam Virtual

Seorang satpam virtual yang diproyeksikan di cermin diprediksi akan menjadi teknologi yang populer di masa depan. Teknologi tersebut berhasil diwujudkan berkat kerja sama empat perusahaan yaitu SECOM, AGC, DeNA dan NTT DOCOMO.

Satpam Virtual

SECOM merupakan perusahaan yang menginisiasi satpam virtual dan dikenal sebagai perusahaan penyedia jasa keamanan di Jepang. Sementara AGC berkontribusi mengembangkan teknologi desain optik sehingga membuat satpam virtual bisa terintegrasi dengan layar cermin.

DeNA menyediakan teknologi sintesis ucapan yang terdengar alami sehingga pengunjung akan mengira bahwa satpam virtual adalah manusia. NTT DOCOMO akan menyediakan konektivitas 5G sehingga nantinya satpam virtual bisa dikendalikan dari jarak jauh dan mampu merekam data yang ada.

Dalam press release, SECOM menjelaskan bahwa satpam virtual akan dilengkapi dengan AI (Artificial Intelligence) atau kecerdasan buatan.

Mereka akan datang dalam bentuk laki-laki dan perempuan dengan nama masing-masing yaitu "Mamoru" dan "Ai". Dikutip dari Futurism, dengan teknologi sensor pengindera gerak (motion sensing technologies), satpam virtual dapat memindai pengunjung.

Mereka dapat mencari barang mencurigakan atau mendeteksi tanda-tanda bahwa orang itu menyembunyikan sesuatu. Apa pun yang dilihat oleh satpam virtual dapat dimasukkan secara real-time ke layar yang dipantau oleh penjaga manusia.

Hal yang menarik adalah wajah dan tubuh mereka mirip sekali dengan karakter Anime yang sering kita tonton.

Satpam virtual juga dapat berfungsi sebagai resepsionis, menjawab pertanyaan pengunjung dan mengarahkan mereka sesuai kebutuhan.
Bahaya Mouse Wireless

Bahaya Mouse Wireless

Wireless mouse dikenal sangat membantu pengguna PC atau laptop yang enggan memakai perangkat berkabel. Namun, di balik itu ada bahaya yang dapat mengancam keamanan penggunanya.


Peneliti dari perusahaan keamanan Bastille baru-baru ini menemukan ancaman tersebut. Marc Newlin dan Balint Seeber menuturkan wireless mouse dari perusahaan HP, Lenovo, Amazon, dan Dell menggunakan sinyal tak terenkripsi untuk berhubungan dengan komputer. Celah inilah yang dapat dimanfaatkan hacker (peretas) untuk menyusup ke perangkat korban.

Menurut dia, serangan tadi secara tak langsung telah membuat penyerang seolah-olah berada langsung di perangkat korban.

Selain itu, untuk menjalankan aksinya, si penyerang tak memerlukan perangkat canggih.

Hacker hanya perlu menggunakan antena, cip nirkabel yang disebut dongle, serta deretan kode untuk menipu cip nirkabel yang terhubung dengan perangkat korban.
.
"Jadi, penyerang dapat mengirim data ke dongle dan berpura-pura menjadi mouse. Namun sebenarnya serangan itu berwujud keyboard dan meminta korban untuk menulis sesuatu," kata Newlin menambahkan.

Nantinya, setelah korban menulis kira-kira seribu kata dalam satu menit, hacker dapat langsung mengakses perangkat korban.

CTO Bastille Chris Rouland memaparkan perusahaan teknologi sebaiknya mulai memikirkan kembali celah pada keamanan.
What's Wrong with Drone?

What's Wrong with Drone?

Drone and Plane

Penerbangan Natal di Bandara Internasional Gatwick, London, pada 2018 terganggu selama 36 jam. Sebanyak 140 ribu penumpang dari 1.000 penerbangan harus gagal mendarat dan terbang karena petugas keamanan menemukan pesawat tanpa awak (drone) yang tengah melintas di area penerbangan.

Walau ukurannya lebih kecil dibandingkan pesawat terbang, namun keberadaan drone di area bandara sangatlah terlarang. Pengintaian untuk aksi terorisme sampai kecelakaan pesawat bisa menjadi akibat yang paling fatal.
Selain menerbangkan drone di area bandara, pelaku yang ditangkap juga karena tak mengantungi izin menerbangkan drone. Ya, beberapa negara memang mulai menetapkan aturan tersebut.

Bagi yang sudah mengantongi izin menerbangkan drone biasanya tahu bahwa ada area yang tak boleh diterbangi, seperti bandara, bangunan tertutup, sampai keramaian publik.

Gatwick dan Heathrow dilaporkan membeli sistem pencegahan drone tak berizin seharga US$6 juta.

Sistem mahal tersebut setingkat militer, karena tidak hanya untuk mengusir drone biasa namun juga drone yang kemungkinan bersenjata.

Drone and Plane

Penyelidikan terhadap insiden Gatwick sedang berlangsung dan bulan lalu dilaporkan oleh Kepolisian Sussex Inggris bahwa itu mungkin merupakan pekerjaan orang dalam.

Dalam sebuah pernyataan disebutkan bahwa berdasarkan perilaku drone, mungkin pilot memiliki pengetahuan langsung tentang "lingkungan operasi bandara," atau akses ke informasi itu.

McQuillan memperingatkan bahwa kemungkinan ada kelompok lain yang mulai menggunakan drone untuk memperlancar kegiatannya.

Inggris telah memperkenalkan undang-undang baru pada bulan Maret, yakni memperpanjang larangan penggunaan drone di sekitar bandara dari jarak satu kilometer menjadi lima kilometer.
Puisi yang Dibikin oleh AI?

Puisi yang Dibikin oleh AI?

Seni dan budaya merupakan bagian penting dari sebuah perkembangan masyarakat di negara manapun. Bidang tersebut saat ini sedang dirambah oleh Google dalam peningkatan teknologinya.

Poemportraits

Dilansir dari laman Android Pit, Sabtu (4/5/2019) bahkan raksasa teknologi asal Amerika tersebut telah meluncurkan aplikasi untuk menyusun puisi menggunakan kecerdasan buatan yang dinamai Poemportraits.

Aplikasi ini dikembangkan oleh penulis kode Ross Goodwin dan artis Es Devlin. Ide itu terwujud tahun lalu, awalnya sebagai karya seni interaktif yang dipamerkan di London. Pada dasarnya, aplikasi ini menggabungkan kecerdasan buatan dengan puisi untuk memproyeksikan puisi yang ditulis di wajah pengguna.

Untuk menghasilkan puisi, aplikasi meminta pengguna untuk memasukkan kata, yang pada gilirannya akan menjadi inspirasi untuk teks yang ditulis oleh AI. Semua puisi yang ditulis akan menjadi bagian dari puisi kolektif. Untuk melakukan ini, AI belajar dengan menggunakan lebih dari 20 juta contoh dari puisi abad ke-19. Dalam praktiknya, kombinasi teks dan gambar menyerupai filter Instagram.
Gadis Kecil yang Jago Coding

Gadis Kecil yang Jago Coding


Samaira Mehta mungkin seperti anak-anak berusia 10 tahun pada umumnya. Lewat akun Instagram, kita bisa melihat kegiatannya sehari-hari seperti berjualan minuman limun, berenang, hingga menari.

Namun demikian, ada hal menarik dari Mehta. Gadis yang jago coding ini ternyata merupakan founder sekaligus penemu dari CoderBunnyz.

CoderBunnyz merupakan sebuah board game yang mengajarkan para pemainnya, yakni anak usia 4 tahun ke atas tentang konsep coding program.

Lewat gim ini, anak diminta untuk mengarahkan kelinci untuk makan wortel. Namun, untuk makan wortel mereka diajak berpikir, dalam hal ini membuat code yang bisa melancarkan jalan si kelinci sampai ke tujuan.

Dia menambahkan, dalam gim ini anak diajarkan konsep mendasar coding seperti pengurutan, persyaratan konsep loop, fungsi, stack, antrean, daftar, dan lain-lain.

Mehta mengatakan, dirinya mulai mengkonseptualisasi game board tersebut saat usia 7 tahun. Itu dilakukan ketika sang ayah yang merupakan engineer mengajarkannya cara untuk meng-coding.

Seiring dengan upayanya meng-coding, dia memperhatikan ada celah di pasar untuk produk yang membantu anak-anak belajar programming computer.

Dia mulai dengan membuat sketsa gim tersebut. Kemudian dengan bantuan keluarganya, Mehta terhubung dengan desainer grafis dan produsen gim di Tiongkok dan Selandia Baru. Setelah bertukar email, Mehta memilih produk yang menurutnya tepat.

Setelah membesut gim CoderBunnyz, Mehta juga membuat gim keduanya yang bernama CoderMindz. Gim ini merupakan board game yang mengajarkan anak tentang konsep kecerdasan buatan melalui bahasa pemrograman Java.

Dia menambahkan, jika anak-anak ingin belajar coding sekarang, nanti saat dewasa mereka bisa menjadikan coding (engineer) sebagai kesempatan untuk berkarier.

Sejauh ini, dia telah membukukan pendapatan USD 200 ribu (setara Rp 2,8 miliar) sejak April 2018 dan menjual 6.000 board game CoderBunyz. Mehta pun kembali menginvestasikan uangnya untuk gim, menabung untuk kuliah, dan mendonasikan sisanya.