Instal Netbeans di Ubuntu

Netbeans merupakan salah satu Integrated Development Environment (IDE) terkenal untuk pemrograman. Bahasa yang digunakan adalah Java, walaupun di dalamnya bisa juga PHP dan C++. Netbeans merupakan opensource dan dengan gratis dapat diinstal baik lewat platform Windows maupun Linux. Jika ingin murni opensource, instalasi pada Linux merupakan pilihan utama. Postingan ini sedikit men-share instalasi Netbeans pada Linux, khususnya Ubuntu.

Download Netbeans

Jika Netbeans diunduh dengan browser Mozilla pada Ubuntu di link ini, maka otomatis situs tersebut memberikan pilihan platform Linux. Simpan file unduhan tersebut di Ubuntu. Untuk mudahnya pilih All yang artinya seluruh fasilitas yang ada dipilih. Jangan khawatir, ukuran file hanya sekitar 200-an Mb.

Instal JDK

JDK yang sebaiknya versi 8 harus telah terinstal sebelum Netbeans hasil unduhan dipasang. Salah satu situs yang cukup jelas menginstal JDK adalah di sini. Di situs tersebut juga diajari cara menginstal Netbeans lewat terminal, tetapi di Ubuntu saya entah mengapa tidak berhasil meng-create new project. Tapi untuk menginstal JDK bisa berjalan. Dan pastikan JDK terpasang dengan menulis instruksi berikut pada terminal:

javc -version

Instal Netbeans

Akhirnya kita sampai tahap terakhir yaitu instalasi Netbeans yang kode sumbernya telah diunduh. Perhatikan nama file-nya, misalnya yang saya unduh bernama: netbeans-8.0-linux.sh. Juga lokasinya, biasanya pada folder Downloads. Pindahkan saja ke Documents atau folder lain. Ketik dua script berikut ini yang berturut-turut memberikan akses ke file hasil unduhan dan menjalankannya:

chmod +x netbeans-8.0-linux.sh
sudo ./netbeans-8.0-linux.sh

Ketika tulisan ini dibuat, Netbeans masuk versi 10 yang namanya berganti Apache Netbeans. Ada juga versi 8.2, tetapi di sini saya unduh yang di bawahnya sedikit (versi 8.0). Berikutnya tidak perlu dijelaskan di sini karena ketika jendela instalasi Netbeans muncul maka tinggal tekan Next saja hingga selesai. Uji dengan membuat project baru, jika berhasil muncul maka Netbeans telah diinstal dengan benar. Selamt ber-opensource.

Membuat Database Objek (file *.yap) dengan DB4O

[PBO|TK&TI|PERT3]

Database objek memiliki keunikan tersendiri jika dibandingkan dengan database relasional. Database ini memasukan sebuah operasi ke dalam data objek, sementara database relasional hanya memasukan atribut saja. DBMS yang kebanyakan beredar saat ini menggunakan jenis relasional walaupun beberapa sudah mulai mengombinasikan dengan database objek dalam bentuk Object Relational Database Management System (ORDBMS). Namun beberapa pengembang objek merasa tidak puas dengan kinerjanya karena ketika menggunakan harus merakit menjadi sebuah objek sementara ketika selesai digunakan dibongkar lagi untuk dimasukan ke dalam sistem basis data relasional.

Salah satu alternatif DBMS jika akan menggunakan murni sistem berorientasi objek adalah DB4O. Postingan ini sedikit membahas apa saja yang dibutuhkan untuk mempraktekan program berorientasi objek.

Bahasa Pemrograman

Ada dua kubu yang mempraktekan bahasa pemrograman berbasis objek, antara lain: dotnet dan java. Dotnet di sini biasanya menggunakan bahasa C# dalam suatu IDE terkenal visual studio. Sementara untuk yang opensource dipelopori oleh Java dengan IDE yang terkenal netbeans dan eclipse.

Sistem Basis Data

Silahkan unduh DB4O, yang merupakan singkatan dari Database For Object. Bentuk DB4O adalah Jar file yang ketika tulisan ini dibuat sudah masuk versi 8. Searching saja di Google maka kita dapat dengan mudah mengunduh db4o tersebut.

File Database

Berbeda dengan basis data relasional yang ketika membuat basis data harus menggunakan Data Definition Language (DDL), pada db4o mudah saja, siapkan saja satu file dengan nama ekstensi standar *.yap. Walaupun bisa dengan nama lain, alangkah baiknya menggunakan nama standar *.yap karena agar terhindar dari konflik dengan nama database lain seperti MySQL, SQL Server,Oracle, dll.

Praktek dengan Netbeans

Salah satu IDE Java yang mudah digunakan adalah Netbeans walaupun sepertinya berat ketika dibuka. IDE ini bisa berjalan dengan baik di sistem operasi Windows maupun linux, misalnya Ubuntu. Untuk praktek, siapkan terlebih dahulu Netbeans dan DB4O. Berikut hasil uji coba untuk meng-insert sebuah objek baru dari sebuah kelas yang ada pada db4o. Langkah-langkahnya antara lain:

  • Import jar basis data db4o
  • Masukan nama basis data [1]
  • Buat objek baru [2]
  • Jalankan (RUN) [3]
  • Lihat hasilnya [4]

Sekian, semoga postingan ini bisa menarik minat untuk mempelajari basis data objek lebih lanjut.

Konsep Inheritance pada Objek – bag 2

[pbo|t.inf&t.komputer|pert.2]

Postingan ini kelanjutan dari postingan yang lalu tentang pewarisan. Sedikit diulang, inheritance artinya sebuah kelas mewarisi kelas lain yang merupakan induknya. Karakter ini merupakan kekhasan pemrograman berorientasi objek. Langsung saja praktek, sebagai ilustrasi adalah kelas Person yang akan mewarisi kelas Teacher. Ada ungkapan “dosen juga manusia”, nah untuk inheritance juga sama, Teacher juga Person yang mewarisi ciri-ciri seorang manusia tetapi memiliki ciri-ciri lain yang tidak dimiliki oleh manusia lainnya.

class with visio

Di sini diambil contoh kelas Person memiliki atribut: nama, umur, dan hobi dengan operasi: bio() dan greeting() yang masing-masing jika dipanggil berturut-turut memunculkan alert biografi dan kata sambutan dari objek yang bersangkutan. Buka mozilla dan masuk developer dengan menekan ctrl-shift-k agar muncul jendela developer. Buat sebuah kelas person:

function Person(first, last, age, gender, interests) {
this.name = {
‘first’: first,
‘last’ : last
};
this.age = age;
this.gender = gender;
this.interests = interests;
this.bio = function() {
alert(this.name.first + ‘ ‘ + this.name.last + ‘ is ‘ + this.age + ‘ years old. He likes ‘ + this.interests[0] + ‘ and ‘ + this.interests[1] + ‘.’);
};
this.greeting = function() {
alert(‘Hi! I\’m ‘ + this.name.first + ‘.’);
};
}

Tambahkan sebuah objek baru dengan nama variable person1.

var person1 = new Person(‘Bob’, ‘Smith’, 32, ‘male’, [‘music’, ‘skiing’]);

Berikutnya buat kelas Teacher dengan karakteristik yang sama dengan Person hanya memiliki satu tambahan atribut yaitu subject dan satu operasi yaitu farewell().

function Teacher(first, last, age, gender, interests, subject) {
Person.call(this, first, last, age, gender, interests);
this.subject = subject;
}

Perhatikan kata kunci call yang memanggil atribut yang dimiliki kelas Person dan menandakan kelas Teacher tersebut mewarisinya. Hanya saja ada tambahan baru yaitu subject.

Teacher.prototype.farewell = function() {
alert(this.name.first + ‘ has left the building. Bye for now!’);
};

Perhatikan teknik menambah operasi di sebuah kelas, dengan kata kunci prototype. Biasanya bermanfaat ketika akan menambah operasi tidak sekalian membuat kelas (tambahan). Ok, berikutnya menguji kelas Teacher apakah mewarisi Person? Buat satu objek.

var teacher1 = new Teacher(‘Dave’, ‘Griffiths’, 31, ‘male’, [‘football’, ‘cookery’], ‘mathematics’);
Jalankan operasi:
teacher1.bio()
teacher1.farewell()

Uji dengan person1, apakah bisa menjalankan operasi person1.farewell? Seharusnya tidak karena hanya milik kelas Teacher, sementara Teacher bisa menjalankan operasi bio() milik induknya.

Pastikan alert muncul. Selamat mencoba, semoga bermanfaat.

Problem – Windows Can’t Find Target Pada Netbeans

Lama juga tidak menggunakan Netbeans, ternyata sudah versi 10, padahal dulu pakai yang versi 6. Kini menggunakan versi 8, itu pun sebagai pendukung perkuliahan “pemrograman berbasis objek”, terutama untuk bagian prakteknya. Saat mengimpor file Jar sistem basis data objek db4o ada pesan yang sedikit mengganggu berikut:

Terus terang agak membingungkan mengingat versi-versi sebelumnya tidak ada masalah. Tetapi ketika ditekan OK kira-kira beberapa kali, netbeans tetap berjalan sesuai dengan yang diinginkan. Mungkin ada sedikit “block” dari Windows, terutama windows 10 dengan platform 64 bit. Terbukti db4o berhasil ditarik ke paket yang akan digunakan (pada folder library).

Tampak db4o versi 7 yang baru saja diunduh dari sini berhasil ditarik ke Libraries walaupun beberapa kali muncul pesan mengganggu di atas. Yah, selama masih berjalan tidak apa-apa yang penting praktek tetap berjalan. Untuk membuktikannya ketika diketik instruksi import di bawah paket, bantuan muncul, menandakan library berjalan dengan baik.

Selain dengan Java (Netbeans, Eclipse, dll), db4o dapat berjalan juga di lingkungan .NET buatan Windows. Sepertinya ada sedikit persaingan dua platform itu. Semoga postingan ini bisa mengurai masalah ini minimal ada kasus seperti tersebut di atas yang mungkin saja terjadi kepada pembaca sekalian. Komentar berisi penyelesaian hal mengganggu ini tentu saja saya butuhkan, walaupun untuk sementara masih bisa berjalan.

Skripsi – Apa & Untuk Apa

[riset.ti|r.408|pert.1]

Skripsi dikenal juga dengan nama Final Project untuk jenjang Strata 1 (S1). Untuk jenjang diploma diberi nama tugas akhir. Skripsi terkadang menjadi momok yang menakutkan bagi para mahasiswa yang terkadang pula menyebabkan tidak selesainya perkuliahan seorang mahasiswa. Hal ini terjadi karena memang skripsi seperti layaknya sebuah proyek membutuhkan perencanaan yang matang, dengan tujuan tertentu dengan waktu yang jelas dan realistis dengan sumber daya yang terbatas (keuangan dan peralatan).

Manfaat Skripsi/Final Project

Terlepas dari penting atau tidaknya skripsi, ada manfaat yang bisa dipetik dari pelaksanaan skripsi:

  • Belajar lebih dalam. Ada peluang dengan skripsi seorang mahasiswa terpaksa belajar lebih dalam dibanding materi perkuliahan.
  • Langkah awal sebelum bekerja. Skripsi mempersiapkan mahasiswa untuk terjun dalam kehidupan/problem nyata dengan mempraktekan keahlian/skill yang diterima selama perkuliahan.
  • Mempersiapkan kelanjutan studi. Skripsi juga sebagai persiapan seorang mahasiswa jika ingin lanjut ke jenjang yang lebih tinggi dengan lebih mengeksplor permasalahan serta belajar melakukan proses-proses penelitian.

Atau dengan bahasa yang sederhana, skripsi memiliki dua tujuan utama yaitu dari sisi edukasi (critical thinking, kemampuan bekerja independen, kemampuan menerapkan metode ilmiah, dan kemampuan mengungkapkan ide baik lisan maupun tulisan) dan aspek penelitian dimana mahasiswa turut berkontribusi mengembangkan IPTEK dengan mengisi gap penelitian (research gap) yang ada. Poin penting adalah pada critical thinking yang mengharuskan mahasiswa tetap berfikir logis dan sistematis.

Aktor yg Terlibat

Pemain utama skripsi adalah mahasiswa yang bersangkutan. Berikutnya adalah dosen pembimbing (supervisor) dan dewan penguji (examiner). Interaksi yang positif diantara ketiganya dapat meningkatkan kualitas dari skripsi yang dilaksanakan. Tentu saja ada aktor-aktor tambahan lain yang mendukung seperti laboran, research collaborator, research participants, dll.

Proses Penelitian

Ada banyak variasi proses pengerjaan skripsi. Biasanya langkah awal adalah masalah administratif yang merupakan otonomi kampus masing-masing. Namun secara garis besar tahapan-tahapan yang selalu dilalui antara lain:

  • Menyusun proposal
  • Mendeskripsikan permasalahan
  • Mengikuti tujuan/objektif skripsi
  • Mengumpulkan dan menganalisa data
  • Membuat kesimpulan dan merancang/mengidentifikasikan riset ke depan
  • Mempresentasikan hasil penelitian dan mempertahankan ide di sidang secara lisan
  • Menyusun dan merevisi laporan akhir/final

Kriteria Keberhasilan

Keberhasilan sebuah final project sangat tergantung dari standar kampus masing-masing. Namun ada kriteria-kriteria standar yang biasanya selalu ada pada tiap-tiap institusi. Yang pertama adalah secara umum, hasil penelitian suatu mahasiswa:

  • Memiliki topik riset yang relevan
  • Topik yang orisinil
  • Temuan yang signifikan
  • Hasil pekerjaan si mahasiswa adalah yang utama

Hasil laporan juga merupakan kriteria penting baik atau buruknya sebuah skripsi:

  • Presentasi hasil yang jelas dan dapat diklarifikasi
  • Tiap bagian report konsisten
  • Argumentasi yang dipilih tepat
  • Mampu secara jelas memisahkan ide sendiri dengan ide orang lain (sitasi)
  • Mampu meramu pustaka dan sitasi
  • Gaya penulisan yang menarik

Selain itu mempertahankan sebuah ide/gagasan merupakan salah satu kriteria keberhasilan pula.

  • Ketepatan berargumentasi
  • Mampu mendiskusikan hasil sebagai respon terhadap permasalahan yang diangkat

Juga hal-hal lain yang tak kalah pentingnya bisa menjadi kriteria sukses atau tidaknya final project¸ seperti:

  • Bagaimana bersikap terhadap pihak yang tidak sependapat
  • Memenuhi tenggak waktu (deadline) dan persyaratan-persyaratan lain yang harus dipenuhi

Demikian pengantar bagi adik-adik yang sedang berjuang dalam kegalauan, siapa tahu bisa membantu untuk segera mempersiapkan diri.

Konsep Inheritance pada Objek – JavaScript

Salah satu kharakter khas dari pemrograman berorientasi objek selain konsep objek adalah konsep inheritance. Konsep ini seperti arti katanya, pewarisan, mirip dengan seorang anak yang mewarisi kharakter orang tuanya, tetapi juga memiliki karakter khas yang tidak dimiliki oleh orang tuanya itu.

Untuk mempraktekannya silahkan buka mozilla firefox lalu tekan ctr-shift-k untuk mengaktifkan jendela developer. Untuk membuat kelas objek, silahkan lihat postingan yang lalu.

function Person(first, last, age, gender, interests) {
// property and method definitions
this.first = first;
this.last = last;
this.age=age;
}

Perlu diketahui, fungsi dalam JavaScript merupakan salah satu tipe objek (silahkan lihat penjelasannya di link resminya). Berikutnya bangkitkan sebuah objek instan dengan nama person1.

var person1 = new Person(‘Bob’, ‘Smith’, 32, ‘male’, [‘music’, ‘skiing’]);

Ketika sebuah objek instan dipanggil maka JavaScript akan menyimpannya. Coba saja ketik person1 maka ketika ditekan titik (“.”) maka akan muncul bantuan seperti tampak pada gambar di bawah ini.

Tampak di atas “age”, “first”, dan “last” yang merupakan atribut yang pada definisi kelas Person diawali kata kunci this. Pilih valueOf() maka akan muncul:

person1.valueOf()
Object { first: “Bob”, last: “Smith”, age: 32 }

Object Constructor

JavaScript menggunakan kata kunci constructor untuk menjabarkan inheritance. Misalnya kita telah memiliki objek person1 dan akan membuat person3 yang mewarisi karakteristik dari person1 yang sudah dibuat sebelumnya.

var person3 = new person1.constructor(‘Karen’, ‘Stephenson’, 26, ‘female’, [‘playing drums’, ‘mountain climbing’]);

Di sini person3 memiliki atribut seperti di atas dengan mewarisi kelas Person. Silahkan ketik: person3.age, maka akan menampilkan 26 yang merupakan umur dari objek person3. Gambaran inheritance dapat dilihat di bawah ini.

Metaheuristic Optimization – Advanced

Metaheuristic pengertiannya telah sedikit diulas pada postingan yang lalu. Di sini sedikit diulas metode-metode yang dapat dikatakan advanced. Namun di sini advanced tidak serta-merta untuk tingkat lanjut melainkan sekedar memberitahukan metode-metode terbaru berdasarkan artikel-artikel jurnal yang sudah diterbitkan.

Metode heuristik terkini dapat diklasifikasikan berdasarkan aliran algoritma pencariannya, antara lain:

  • Mengambil inspirasi dari sifat-sifat alami (nature)
  • Mengambil inspirasi dari sifat-sifat fisika

Sifat-sifat yang diambil dari hukum alam telah banyak diteliti di metaheuristik, tetapi yang terkini dapat dirinci sebagai berikut:

  • PSO, bersasarkan sekolompok binatang dalam mencari makan
  • Dolphin     Echolocation (DE), berdasarkan teknik sonar yang dimiliki oleh lumba-lumba
  • Big Bang-Big Crunch (BB-BC), berdasarkan teori evolusi alam
  • Cuckoo Search (CS), berdasarkan sifat burung
  • Imperialist Competitive Algorithm (ICA)

Sementara itu ada algoritma-algoritma yang diambil dari sifat fisika, antara lain:

  • Charged System Search (CSS) dan Magnetic Charged System Search (MCSS), berdasarkan hukum Coulomb dan Newton
  • Colliding Bodies Optimization (CBO), berdasarkan tumbukan satu dimensi partikel
  • Ray Optimization (RO), berdasarkan hukum refraksi cahaya (snell)

Demikian kira-kira metode advanced metaheuristic yang bisa dibaca dari literatur-literatur baik jurnal maupun buku. Sekian informasinya, mudah-mudahan bisa dijelaskan lebih detil pada postingan berikutnya.