Skip to main content

Posts

Kotlin | kotlin.String steroid untuk java.lang.String

Sama seperti String di Java, Kotlin String adalah obyek immutable yang berarti sekali diinisialisasi, valuenya tidak akan bisa diubah. Jika dilakukan assignment value baru, yang sebenarnya terjadi adalah JVM akan membuat obyek String baru dengan value yang diassign. String kode = "Sebenarnya hubungan kita ini apa sih?" ; // misalkan object di memory adalah ABC kode = "Oke, besok aku datang ke Ayah kamu" ; // object yang ada di memory saat ini adalah XYZ Seperti halnya dengan Java, String literal di Kotlin juga dimulai dengan tanda petik ganda ("). Hanya saja class String di Kotlin memeliki beberapa kelebihan dibanding String di Java. Diantaranya: Setiap element character dari string bisa diakses dengan array syntax eg: kode[index], sedangkan di Java kode.charAt(index) Untuk iterasi tiap element Java for ( char c : kode.toCharArray()) { System. out .println(c); } Kotlin for (c in kode) { println (c) } String template, yakni dalam string l...

I'm not that fanatic anymore ^^!

Haiiii * impersonate cara Takeru Satoh mengucapkan hai (iya dalam bahasa Jepang) di dorama Emperor's Cook :P Yak, sesuai judul post kali ini, saya sudah tidak sefanatik dulu terhadap bahasa pemrograman yang saya gunakan, yakni Java. Semua berawal ketika saya mengenal JVM language  lain (bahasa pemrograman yang berjalan di Java Virtual Machine ) seperti : Groovy yang mengusung Dynamic Typing Bagi programmer dynamic type seperti PHP mungkin akan merasa familiar dengan Groovy, karena kita tidak perlu mendeklarasikan tipe data pada variable. Saya sempat jatuh cinta pada bahasa ini, namun saya masih merasakan keamanan "bermain" OOP dengan static type. Scala dengan konsep Functional OOP (Object Oriented Programming) Bahasa ini membuka wawasan saya bahwa diluar pemrograman struktural dan berbasis object (imperative), pernah ada bahasa yang mengusung konsep functional  dan belakangan ini mulai muncul lagi ke permukaan dan bahkan banyak menyedot perhatian para developer...

Java | Retrolambda, Coding dengan Java 8 untuk Java 5, 6, 7

Seperti yang kita ketahui bahwa versi paling akhir untuk saat ini dari Java adalah Java 8. Pada Java (sebagai bahasa pemrograman) 8 terdapat cukup banyak fitur baru yang memudahkan hidup kita sebagai programmer, terutama untuk mengurangi verbosity / boilerplate dari code yang kita tulis. Fitur-fitur tersebut antara lain adalah lambda expressions , method reference , dan try with resources . Lambda expressions (fitur ini dirilis mulai java 8) Sebagai contoh di swing, apabila kita menambahkan actionlistener pada button adalah sebagai berikut clickButton.addActionListener(new ActionListener() {     @Override     public void actionPerformed(ActionEvent event) {         System.out.println(event);     } }); terlihat bahwa koding yang kita tulis cukup banyak ( verbose ), namun dengan lambda expressions  kita cukup menuliskan clickButton.addActionListener((ActionEvent event) -> {     System.out.println(event); })...

What i don't like about Mac OS X

Bagi pengguna "fanatik" Mac OSX mungkin judul post kali ini agak mengganggu, tapi ini pengalaman yang saya rasakan sebagai "pengguna baru". Jadi 2 hari kemarin saya sudah mulai aktif kembali di kantor, yang mana sebelumnya saya bekerja secara remote dikarenakan alasan kesehatan. Namun ujian datang ketika saya ingin mulai aktif di kantor. Pagi hari sebelum berangkat, laptop saya tidak bisa booting, yang ternyata penyebabnya adalah harddisk utama tidak terbaca oleh sistem, alhasil laptop yang sudah menemani saya selama hampir 4 tahun ini harus "dirumah sakitkan". Saya kontak rekan kantor untuk mengabarkan bahwa saya harus ke service center terlebih dahulu sebelum "ngantor". Di kantor tidak ada lagi komputer/laptop yang bisa saya gunakan, sehingga saya pun "terpaksa" memakai MacMini second hand yang dimiliki kantor. Perjuangan dimulai dari sini, karena saya harus mensetup environment yang sama dengan yang saya gunakan di laptop...

MySQL | Catatan Pengingat

Saya sangat jarang menggunakan MySQL, karena saya lebih menyukai PostgreSQL untuk development. Saya intensif menggunakan MySQL di semester ke-2, karena ada mata kuliah database (database model design dan querying) yang mana saat itu menggunakan Oracle. Dikarenakan komputer saya saat itu speknya minim (komputer bekas yang saya beli dari teman kuliah seharga 350ribu rupiah, lengkap), maka saya hanya bisa menginstall MySQL untuk belajar, yang mana saat itu versinya belum mensupport subquery, sehingga saya harus banyak membuat view sebagai alternatif subquery. Belakangan saya mulai melirik lagi MySQL, namun hanya untuk tujuan belajar. Berikut catatan atas problem yang saya hadapi, sebagai catatan pengingat jika nanti saya lupa Lupa password user root Hari ini saya kelupaan password user root dari MySQL, karena sudah cukup lama tidak tersentuh. Hasil googling mengarahkan saya ke laman ini (workstation saya adalah Ubuntu 14.04) Langkah pertama adalah stop mysql service sudo service...

Raspberry Pi | Problem Monitor Out of Range 60Hz

Halo apa kabar sahabat sekalian? Semoga sahabat semua senantiasa dalam limpahan kebaikan dari Allah SWT, aamiin. Sudah lama saya tidak posting di blog ini, hehehe maklum orang sok sibuk :D. Kali ini saya ingin berbagi mengenai Raspberry Pi , lebih tepatnya saya menggunakan varian Banana Pi. Karena ada tugas kantor, saya harus mencoba komputer mungil  ini di rumah (sekalian ngoprek). Berbekal konverter HDMI to VGA saya mencoba menghubungkan Banana Pi  ke LCD monitor 19", namun ternyata ada masalah, yakni muncul informasi " Out of Range bla bla ". Setelah googling sebentar saya menemukan link berikut , dan saya mendapatkan pencerahan bahwa untuk mengatasi hal ini kita bisa mengedit file config.txt . Jadi berikut hal-hal yg saya lakukan: Mencabut sdcard dari banana pi dan memasangnya ke laptop Saya edit file config.txt yg ada di folder BOOT uncomment  2 baris berikut, jika belum ada mungkin sahabat bisa menambahkannya sendiri hdmi_group=1  hdmi_mode=1...

Ubuntu | Menerima File Dari Device Bluetooth

Lama ga ketemu ya sahabat javanatics, apa kabar? Semoga sahabat sekalian senantiasa dalam limpahan rahmat dari Tuhan Yang Maha Esa. Aamiin Kali ini saya ingin berbagi cara untuk mengkonfigurasi Ubuntu 12.04 agar bisa menerima file yang dikirim dari device bluetooth (sebagai contoh saya ingin mengirim foto dari device Android saya). Secara default, setting bluetooth di Ubuntu 12.04  belum bisa digunakan untuk menerima file yang kita kirim melalui bluetooth. Jadi jangan heran jika proses pengiriman file ke Ubuntu kita selalu gagal. Berikut adalah langkah-langkah untuk mengkonfigurasi agar Ubuntu kita bisa menerima file dari device bluetooth.  Masuk ke dashboard Unity dan akses aplikasi "Personal File Sharing".  Pada window preferensi Personal File Sharing, centang opsi Receive files in Downloads folder over Bluetooth  lalu klik tombol Close Ulangi kembali mengirim file dari device Bluetooth kita, dan voila... File otomatis t...