• Home
  • /
  • Author: Rosihan Ari Yuana

Konsep Interface dan Implementasinya di Java

Dalam Pemrograman Berorientasi Obyek (PBO), memungkinkan kita dapat membuat method yang sifatnya abstrak, atau belum terdefinisikan detilnya, di mana tujuannya adalah untuk menyederhanakan ide solusi dari permasalahan. Melalui konsep ini, kita bisa memikirkan secara global terlebih dahulu struktur dan karakteristik dari obyek, barulah kemudian dipikirkan detilnya.

Keberadaan method abstrak bisa terdapat dalam dua tempat, yaitu bisa terdapat dalam sebuah class, yang selanjutnya class tersebut disebut dengan class abstrak, dan juga bisa terdapat dalam sebuah interface.

Dari kedua hal di atas, apa perbedaan keduanya? Perbedaan dari keduanya adalah pada implementasinya. Pada class abstrak implementasinya hanya bisa di dalam pewarisan (inheritance), artinya semua method-method yang masih abstrak milik class abstrak hanya bisa diimplementasikan di subclass nya. Adapun pada interface, tidak. Method abstrak di dalam interface bisa diimplementasikan pada sembarang class.

Artikel ini akan membahas lebih detil tentang interface, karakteristiknya, dan bagaimana contoh penerapannya di Java.

Konsep Abstraksi dan Implementasinya di Java

Di dalam Pemrograman Berorientasi Obyek (PBO) atau Object Oriented Programming (OOP), selain fitur inheritance, terdapat pula sebuah fitur di mana akan memudahkan kita, sebagai seorang programmer, untuk memikirkan ide dasar dalam mengkonstruksi sebuah class dengan fungsionalnya secara sederhana. Melalui fitur ini, untuk sementara kita bisa mengabaikan fungsionalnya secara detil dengan tidak menghilangkan fungsionalnya secara umum. Fitur ini disebut dengan abstraksi (abstraction).

Abstraksi juga merupakan salah satu kemampuan problem solving melalui pendekatan berpikir komputasional (computational thinking).

Artikel ini akan menjelaskan bagaimana konsep abstraksi secara lebih dalam di PBO, bagaimana karakteristiknya, cara implementasinya di Java, serta studi kasus penerapannya.

Cara Upgrade/Downgrade Python di Anaconda

Anaconda merupakan salah satu software distribusi Python, dan juga bahasa R yang secara spesifik digunakan untuk keperluan komputasi sains dan juga datascience. Kelebihan Anaconda ini adalah telah lengkapnya library-library yang mendukung komputasi sains tersebut.

Terdapat beberapa jenis lisensi Anaconda, yaitu ada yang untuk keperluan perorangan atau Individual Edition, dan juga untuk keperluan Enterprise (Enterprise Edition). Adapun yang Anaconda Individual Edition sepenuhnya adalah FREE alias gratis.

Meskipun di dalam Anaconda secara built-in sudah terdapat beberapa library yang sifatnya esensial untuk keperluan komputasi data science, namun terkadang masih diperlukan instalasi library tambahan secara mandiri. Dampak dari instalasi mandiri ini, terkadang terjadi ketidakkompatibelan pada versi Python yang menjadi bawaan Anaconda tersebut dengan library yang diinstall. Sebagai contoh misalkan akan diinstall library PySpark. Library PySpark yang terbaru, kurang kompatibel dengan Python versi 3.8 yang menjadi bawaan Anaconda versi terbaru pada saat tulisan ini dibuat. Oleh karena itu, perlu dilakukan downgrade terhadap versi Python yang ada di Anaconda ke versi 3.7.

Dalam artikel ini akan dibahas bagaimana cara mendowngrade atau mengupgrade versi Python yang ada di Anaconda.

Auto Click Object dengan Timer Menggunakan JQuery dan Javascript

Artikel ini direquest oleh salah satu pengunjung blog ini, yang memanfaatkan layanan article by request. Artikel yang diminta adalah tutorial bagaimana membuat script yang secara otomatis melakukan klik pada suatu obyek tertentu dalam sebuah laman web berdasarkan waktu yang telah ditentukan.

Sebagai contoh misalkan di laman web tersebut terdapat dua buah gambar, misal image1 dan image2. Selanjutnya diharapkan secara otomatis ada sebuah script yang mengklik image1 pada waktu tertentu, dan juga akan mengklik image2 pada waktu yang lain.

Untuk solusi permasalahan tersebut, kita bisa menggunakan jQuery dan Javascript.

Encoding Data Kategori ke Numerik di Python

Dalam banyak kasus di datascience, seringkali dijumpai dataset yang berisi data kategori berbentuk non numerik. Sebagai contoh misalkan dataset karyawan yang di dalamnya terdapat kolom gender, di mana datanya berupa kategori ‘laki-laki’ atau ‘perempuan’. Contoh lainnya, masih dari dataset karyawan, misalnya jenis karyawan: ‘karyawan tetap’, ‘karyawan kontrak’, ‘freelance’. Data-data kategori dalam dataset yang diberikan pada contoh tersebut berupa string. Untuk keperluan pengolahan data, misalnya di machine learning, data-data tersebut harus dinyatakan ke dalam format numerik (encoding) supaya dapat diolah menggunakan formula matematika.

Artikel ini akan menjelaskan bagaimana melakukan encoding data kategori (categorical data) ke dalam numerik menggunakan Python. Dengan menggunakan library tertentu, proses ini dapat dilakukan dengan mudah dan cepat tanpa perlu banyak coding. Proses encoding data ke numerik ini masuk ke dalam proses data pre processing.

Menangani Missing Data dengan Python

Dalam datascience, sering kali kita jumpai data-data yang tidak utuh, atau hilang (missing data atau missing value). Sebagai contoh adalah data berikut ini:

Contoh Missing Data

Gambar di atas menunjukkan data ketepatan waktu lulus dari mahasiswa dari beberapa program studi. Dalam hal ini kolom ‘Prodi’, ‘Usia’, dan ‘IPK’ kita sebut sebagai variabel bebas (X) dan kolom ‘LulusTepatWaktu’ sebagai variabel terikat (y). Jika diperhatikan, maka ada beberapa missing data dalam X, yaitu pada kolom ‘Usia’ dan ‘IPK’, khususnya pada data baris ke-4 dan 7.

Dalam praktiknya, missing data bisa disebabkan karena ada kendala pada aplikasi atau software yang digunakan untuk menyimpan data tersebut, human error, atau bisa juga disebabkan karena alat yang rusak.

Java Encapsulation dan Penerapannya

Tutorial Java kali ini akan membahas tentang encapsulation atau pengkapsulan, yang merupakan salah satu fitur di dalam pemrograman berorientasi obyek. Secara umum fitur ini bertujuan untuk mengontrol aksesibilitas properti dari sebuah obyek/class, khususnya atribut. Melalui fitur ini, kita dapat menentukan atribut mana yang bersifat read only, atau write only, atau bahkan keduanya. Selain itu, fitur ini juga dapat digunakan melakukan validitas terhadap value yang akan diassign pada sebuah atribut.

Apa dan bagaimana penerapan lebih dalam mengenai encapsulation di Java akan dipaparkan di artikel ini. Penerapan encapsulation nantinya akan diberikan melalui sebuah studi kasus.

Konsep Pewarisan (Inheritance) di Java

Salah satu kemampuan atau fitur yang menarik di dalam paradigma pemrograman beriorientasi obyek (PBO) adalah pewarisan (inheritance). Melalui fitur ini, kita dapat membuat class baru yang memiliki karakteristik mirip dengan class yang lainnya. Dikatakan mirip karena class yang baru ini nantinya dapat memiliki atribut dan method yang sama dengan class yang lain. Selain itu, pada class yang baru ini dapat kita tambahkan atribut dan method khusus yang tidak dimiliki oleh class yang lain.

Pada tutorial kali ini, saya akan memberikan sebuah studi kasus yang mengimplementasikan konsep pewarisan ini di dalam Java.

23456