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.

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.

Membuat Kelas & Objek dengan JavaScript

JavaScript merupakan Script yang berjalan di browser yang memanfaatkan teknologi dari Java. Salah satunya adalah pemrograman berbasis objek (PBO). Objek berisi atribut seperti layaknya data atau record tabel, tetapi memiliki proses yang menyertai atribut-atributnya. Untuk memudahkan praktek membuat objek pada JavaScript sebaiknya menggunakan browser Mozilla karena memiliki fasilitas “developer”.

Jendela Developer

Untuk mengakses jendela developer pada mozilla dapat dilakukan dengan menekan Ctr-shif-K dan perhatikan akan muncul jendela di bagian bawah mozilla. JavaScript akan langsung dieksekusi Mozilla ketika sebuah script ditulis di jendela developer tersebut tanpa membutuhkan bantuan file HTML.

Membuat Kelas Objek

Objek-objek dengan karakteristik sejenis dapat dikumpulkan dalam satu kelas yang sama misalnya kelas dosen, kelas mahasiswa, kelas mata kuliah, dan lain-lain. Berikut ini kita coba membuat satu kelas dengan nama Person yang berisi atribut-atribut: first, last, age, gender, dan intersets dengan satu operasi menampilkan salam/greetings. Masukan script berikut di jendela developer pada mozilla. Lihat tutorial resminya.

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 + ‘.’);
};
}

Note: Sepertinya kalau copas kode di atas, tanda petik single harus diketik ulang. Parameter “this” mengartikan suatu variabel milik pemilik objek yang bersangkutan, misalnya this.age berarti variabel “age” yang dimaksud berasal dari objek Person yang bersangkutan. Misal kita memasukan satu objek baru dari kelas Person tersebut.

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

Kode di atas memasukan satu objek person1 dari kelas Person. Tampak nama depan, belakang, usia, jenis kelamin, dan hobinya. Bagaimana untuk melihat isi data beserta operasi yang mengiringi kelas Person? Ketik kode berikut ini di jendela developer mozilla.

person1[‘age’]
person1.interests[1]
person1.bio()

Instruksi di atas memunculkan “age”, “intersets” dan “bio”. Hasilnya akan memunculkan jendela berikut ini di mozilla.

Satu hal yang unik dari data objek di atas adalah operation yang muncul, dalam hal ini menambilkan jendela greeting di atas. Satu hal lain yang tidak dimiliki oleh data jenis relational adalah multivalue dalam hal ini contoh di atas memberikan hobi yang terdiri dari “music” dan “skiing” yang tentu saja dilarang dalam jenis data relational (jika ingin ditampilkan lebih dari dua hobi maka kode ada sedikit modifikasi di fungsi bio()). Sekian semoga bermanfaat.

Database Objek

Ketika pertama kali database diperkenalkan di tahun 70-an, bentuknya adalah relasional dan dikenal dengan istilah Relational Database Management System (RDBMS). Bentuk ini adalah bentuk terkenal yang sampai sekarang menjadi andalan aplikasi-aplikasi terkini. Basis data ini menyimpan atribut-atribut suatu data yang statis misalnya nomor ID, nama, alamat, dan lain-lain. Sementara proses yang terjadi, yang biasanya berupa Create, Read, Update dan Delete (CRUD) dilakukan oleh aplikasi (program) yang mengakses basis data tersebut (di luar basis data).

Object Oriented

Perkembangan perangkat keras yang pesat membuat aplikasi pada bidang-bidang lain seperti rekayasa, multimedia, sistem informasi geografis, dan sejenisnya, berkembang pula. Beberapa aplikasi membutuhkan secara independen suatu data berubah ketika diberikan instruksi ke data tersebut. Dengan kata lain suatu data memiliki kemampuan memproses. Data dengan proses tersebut dikenal dengan istilah objek. Ketika ingin mengedit data suatu objek, maka program tinggal mengirim pesan ke objek tersebut agar salah satu datanya dirubah dengan mengaktifkan proses update pada objek tersebut. Masalahnya adalah vendor-vendor basis data sudah terlanjur mengembangkan RDBMS dengan sangat baik.

Object Relational Database Management System

Dengan memanfaatkan canggihnya sistem RDBMS, beberapa pengembang menawarkan konsep Object Relational Database Management System (ORDBMS), khususnya untuk penerapannya dalam basis data. Karena kelemahan RDBMS tidak memiliki penyimpanan berupa proses/method maka basis data tetap tersimpan dalam bentuk relasional tetapi menambahkan satu object yang berfungsi menangani proses-proses tertentu pada objek yang tersimpan dalam RDBMS. Ketika ingin mengedit suatu objek, maka satu objek yang bertugas meng-update diperintahkan mengedit objek tersebut di dalam sistem basis data.

Object Definition Language (ODL)

Dalam literatur RDBMS, sudah ada standar pengolahan basis data yang dikenal dengan nama Structure Query Language (SQL). Sementara itu komunitas Object Data Management Group (ODMB) mencoba membuat standar yang mirip SQL dengan nama Object Definition Language (ODL). Salah satu hasil dari ODL ini adalah suatu bahasa deklarasi mirip SQL untuk objek yaitu Language Integrated Query (LINQ). Silahkan baca-baca buku referensi berikut yang lumayan OK untuk penjelasan awal ODL.

Untuk mempraktekan basis data objek ada baiknya mencoba langsung dengan basis data yang memang dikhususkan untuk basis data objek, yaitu db4o dengan dua pilihan (java dan c#). Silahkan unduh manual-nya di sini. Ada hal-hal unik yang tidak dimiliki dalam literatur RDBMS yang menarik untuk dicoba, dan menarik juga untuk dibuatkan bukunya.