Sharing With Passion

June 24, 2019

Posted by Sabar Santoso in , | June 24, 2019 No comments

Sudah pada tahu kan PTC itu apa? Ya PTC atau Paid To Click, yaitu program yang diadakan oleh sebuah website, jika kita melakukan klik pada iklan yang mereka sediakan, maka kita akan dibayar.

Jadi pada intinya bisnis online seperti ini merupakan jembatan antara pengiklan dan konsumen. Pengiklan akan membayar untuk menampilkan sebuah link (iklan) di situs PTC, sedangkan konsumen akan dibayar untuk menge-klik suatu link (iklan).

Pada postingan terdahulu sudah saya jelaskan mengenai PTC lokal atau PTC nya dari Indoesia, yaitu IDRClickIt. Nah yang ini sama juga PTC cuma dari luar negeri dan bayarannya pun dollar, nama nya adalah Incrasebux.

Incrasebux merupakan PTC yang sudah terpercaya dan bukan scam / website penipu, dan sampai saat ini sudah memiliki jutaan member diseluruh dunia.

Bagi yang suka chatting ataupun facebookan, bisnis online ini sangat cocok untuk dikerjakan. Cara kerjanya pun sangat mudah. Terlebih dahulu kita harus memiliki account di website tersebut, dengan cara daftar di bagian register, dan ini gratis / tidak bayar, sifat keanggotaannya adalah untuk selamanya.

Kemudian setelah kita punya account maka akan disediakan beberapa iklan (antara 4 sampai 7 iklan). Tugas kita adalah meng klik iklan itu satu persatu, maka detik itu juga kita akan di bayar melalui pay pal (alat transaksi keuangan internet), kalau belum punya account paypal langsung aja daftar di sini. informasi mengenai paypal bisa klik disini.
Analisa perhitungan uang yang bisa diperoleh dari Incrasebux adalah sebagai berikut :

  • 1 kali klik iklan adalah $0.01
  • Rata-rata 1 hari iklan adalah 4 sampai 7 iklan, kita ambil tengahnya saja yaitu 5 iklan, jadi : 5 iklan x $0.01 = $0.05
  • Kemudian kita memiliki referral minimal 100 orang : 100 orang x $0.05 = $5
  • Sampai sini, jadi kita memiliki penghasilan $5 per hari, berarti dalam sebulan uang yang bisa kita peroleh adalah sebesar : 30 hari x $5 = $150
Lumayan  kan.. Nah itu baru 100 referral, kalo kita rajin promosi link Incrasebux ini, maka referral yang bisa kita dapatkan di atas 100, bisa 200, 300 atau 1000 referral, tergantung kerajinan kita mempromosikannya, karena jangkauan kita adalah internasiaonal.

February 08, 2019

Posted by Sabar Santoso in , | February 08, 2019 No comments















Java sebagai salah satu bahasa pemrograman open source menjanjikan banyak kemudahan bagi programer junior maupun senior. Tutorial ini akan membawa Anda mengenal lebih jauh bahasa ini melalui pembahasan konsep model perancangan dan petunjuk sederhana penggunaannya.

Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun 1991, yang saat ini sudah di akuisisi oleh Oracle. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dan ­platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer­­. Bahasa ini juga dirancang untuk pemrograman di Internet sehingga dirancang agar aman dan portabel.


Platform Independent

Platform independent berarti program yang ditulis dalam bahasa Java dapat dengan mudah dipindahkan antar berbagai jenis sistem operasi dan berbagai jenis arsitektur komputer. Aspek ini sangat penting untuk dapat mencapai tujuan Java sebagai bahasa pemrograman Internet di mana sebuah program akan dijalankan oleh berbagai jenis komputer dengan berbagai jenis sistem operasi. Sifat ini berlaku untuk level source code dan binary code dari program Java. Berbeda dengan bahasa C dan C++, semua tipe data dalam bahasa Java mempunyai ukuran yang konsisten di semua jenis platform. Source code program Java sendiri tidak perlu dirubah sama sekali jika Anda ingin mengkompile ulang di platform lain. Hasil dari mengkompile source code Java bukanlah kode mesin atau instruksi prosesor yang spesifik terhadap mesin tertentu, melainkan berupa bytecode yang berupa file berekstensi .class. Bytecode tersebut dapat langsung Anda eksekusi di tiap platform yang dengan menggunakan Java Virtual Machine (JVM) sebagai interpreter terhadap bytecode tersebut.

JVM sendiri adalah sebuah aplikasi yang berjalan di atas sebuah sistem operasi dan menerjemahkan bytecode program Java dan mengeksekusinya, sehingga secara konsep bisa dianggap sebagai sebuah interpreter. Proses pengeksekusian program Java dapat dilukiskan seperti di Gambar 1. Dengan cara ini, sebuah program Java yang telah dikompilasi akan dapat berjalan di platform mana saja, asalkan ada JVM di sana.

Kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK) yang diproduksi oleh Sun Microsystems. JDK ini dapat didownload gratis dari situs java.sun.com. Interpreter untuk program Java sendiri sering juga disebut Java Runtime atau Java Virtual Machine. Interpreter Java, tanpa kompilernya, disebut Java Runtime Environment (JRE) dapat didownload juga di situs yang sama. Untuk mengembangkan program Java dibutuhkan JDK, sementara jika hanya ingin menjalankan bytecode Java cukup dengan JRE saja. Namun untuk mengeksekusi applet (sebuah bytecode Java juga) Anda biasanya tidak perlu lagi mendownload JRE karena browser yang Java-enabled telah memiliki JVM sendiri.


Library

Selain kompiler dan interpreter, bahasa Java sendiri memiliki library yang cukup besar yang dapat mempermudah Anda dalam membuat sebuah aplikasi dengan cepat. Library ini sudah mencakup untuk grafik, desain user interface, kriptografi, jaringan, suara, database, dan lain-lain.


Object Oriented

Java adalah bahasa pemrograman berorientasi objek. Pemrograman berorientasi objek secara gamblang adalah teknik untuk mengorganisir program dan dapat dilakukan dengan hampir semua bahasa pemrograman. Namun Java sendiri telah mengimplementasikan berbagai fasilitas agar seorang programer dapat mengoptimalkan teknik pemrograman berorientasi objek.

Sedikit perbandingan tambahan dengan bahasa C dan C++, Java banyak mewarisi konsep orientasi objek dari C++ namun dengan menghilangkan aspek-aspek kerumitan dalam bahasa C++ tanpa mengurangi kekuatannya. Hal ini mempermudah programer pemula untuk mempelajari Java namun mengurangi keleluasaan programer berpengalaman dalam mengutak-atik sebuah program. Di balik kemudahan yang ditawarkan Java, luasnya fasilitas library Java sendiri membuat seorang programer membutuhkan waktu yang tidak singkat untuk dapat menguasai penggunaan library-library tersebut.


Memulai Pemrograman Java

Untuk membuat program Java, seperti telah disebutkan sebelumnya, Anda membutuhkan JDK. Proses instalasi JDK tersebut sangat mudah dan tidak membutuhkan pengetahuan tertentu. Namun untuk menggunakannya Anda perlu melakukan beberapa penyesuaian dengan sistem operasi Anda. Umumnya yang perlu Anda lakukan adalah memasukkan path ke direktori JDK Anda ke setting path pada sistem operasi Anda. Misalkan direktori JDK Anda adalah C:\jdk1.4SET PATH=C:\jdk1.4\bin pada file autoexec.bat Anda. Untuk Windows NT/2000/XP Anda cukup menambahkan direktori C:\jdk1.4\bin pada variabel path di System Environment. Caranya: klik kanan ikon My Computer, pilih Properties. Kemudian pilih tab Advanced. Lalu klik tombol Environment Variables, cari variabel path, kemudian tambahkan path direktori JDK Anda ke dalam variabel tersebut. Untuk Linux, tambahkan baris perintah SET CLASSPATH=(direktori jdk Anda) ke file profile Anda. Untuk mencoba JDK, ketikkan perintah java dan javac pada shell prompt (atau DOS Command Prompt). Jika perintah tersebut sudah dikenali, maka program java atau javac Visual Café dari Symantec atau JBuilder dari Borland pada Windows 98 anda cukup menambahkan baris perintah akan menampilkan sintaks penggunaan. Untuk kemudahan dan berbagai fasilitas tambahan Anda dapat menggunakan Integrated Development Environment (IDE) untuk bahasa Java seperti

Urutan langkah-langkah yang harus Anda lakukan untuk membuat sebuah program Java sederhana adalah:
  1. Membuat source code program dengan editor teks apapun. Ingat, file tersebut harus berekstensi .java dan case sensitive.
  2. Mengkompile source code dengan perintah javac. Misalnya: javac HelloWorld.java. Jika berhasil, hasilnya adalah file bytecode berakhiran .class.
  3. Mengeksekusi bytecode dengan perintah java. Parameter dari perintah ini adalah nama file hasil kompilasi tanpa ekstensi .class. Contoh: java HelloWorld.

Source Code

Berikut kode untuk HelloWorld.java:

public class HelloWorld
{
    public static void main(String[] args)
    {
        System.out.println("Hello World....");
    }
}

Dan ini sebuah contoh lain, yaitu applet sederhana untuk menampilkan teks di applet. Sebutlah file ini bernama HelloWorldApplet.java:

import java.awt.Graphics;

public class HelloWorldApplet extends java.applet.Applet
   {
      public void paint(Graphics g)
      {
         g.drawString("Apa Kabar Dunia?", 5, 25);
      }
   }

Secara gamblang dapat diperhatikan bahwa struktur kedua program sangat mirip, dan hanya berbeda dalam konteks eksekusi. Kedua program ini akan dibahas lebih lanjut setelah kita membahas cara mengkompile dan mengeksekusi program tersebut. Perlu diingat bahwa bahasa Java bersifat case sensitive, sehingga Anda harus memperhatikan penggunaan huruf besar dan kecil. Selain itu penulisan source code program tidak harus memperhatikan bentuk tertentu, sehingga Anda bisa saja menuliskan semua baris source code tersebut dalam satu baris asal Anda tidak lupa membubuhkan tanda titik koma (;), atau menuliskan tiap kata dalam satu baris tersendiri. Namun dianjurkan Anda mengikuti layout seperti pada contoh agar program Anda mudah dibaca dan dimengerti.


Kompilasi

Setelah kedua file disave dengan nama HelloWorld.java dan HelloWorldApplet.java, kita akan mengkompile kedua program tersebut dengan perintah:
prompt> javac HelloWorld.java
prompt> javac HelloWorldApplet.java
Perlu diperhatikan bahwa direktori aktif Anda saat ini adalah direktori tempat Anda meletakkan file-file program tersebut. Anda tetap dapat mengkompile program Anda dari direktori berbeda dengan perintah:
prompt> javac (direktori program)/namafile.java
Setelah perintah ini selesai, Anda akan melihat bahwa telah tercipta dua buah file .class, yaitu bytecode hasil kompilasi source code kita.


Sintaks Program

Sekarang kita akan mencoba membahas elemen-elemen dalam kedua source code tersebut.

Pada awal Listing 2 kita menemukan perintah import. Pada tahap awal ini Anda perlu mengetahui bahwa pernyataan tersebut hanya berfungsi mempermudah penulisan metode atau dalam bahasa pemrograman lain disebut prosedur atau fungsi. Jadi Anda hanya perlu menulis Graphics sebagai pengganti java.awt.Graphics, karena kita telah mengimpor java.awt.Graphics.

Kemudian di masing-masing listing terdapat pernyataan public class. Pernyataan ini adalah pernyataan pembuka sebuah kelas. Kelas sendiri digunakan untuk menciptakan objek. Ingat bahwa Java berorientasi objek. Kata public di depannya berfungsi agar kelas tersebut dapat diakses oleh semua program lain. Untuk saat ini anggaplah objek sebagai suatu item yang dapat dimanipulasi oleh sebuah program. Dalam Listing 2 terdapat tambahan kata extends. Hal ini berarti kelas yang kita buat akan mewarisi sifat-sifat dari kelas yang kita extends. Dengan kata lain kita menjadikan kelas yang kita extends sebagai himpunan bagian dari kelas kita buat.

Kemudian kita menemukan baris pernyataan public static void main(String[] args) dan public void paint(Graphics g). Keduanya adalah pernyataan pembuka sebuah metode. Metode sendiri adalah kumpulan pernyataan untuk melakukan suatu tugas tertentu dalam kelas. Keduanya sebenarnya mempunyai fungsi yang sama namun dalam konteks yang berbeda. Dalam setiap aplikasi harus ada sebuah metode yang bernama main yang akan dieksekusi pertama kali saat program tersebut dieksekusi. Sementara dalam applet, metode yang pertama kali akan dieksekusi ketika applet diload adalah paint. Kata public di depannya mempunyai fungsi yang sama dengan kata public yang ada di depan baris permulaan kelas. Namun nantinya Anda akan menemukan juga bentuk lain seperti private dan protect yang akan kita bahas nanti.

Pada Listing 1 terdapat kata static pada pernyataan pembuka metode main. Hal ini berarti metode main tidak mengubah atau menggunakan objek yang diciptakan oleh kelas tersebut, sehingga dapat dikatakan berdiri sendiri dan tidak terikat dengan objek. Dalam metode mainString[] args, di mana args hanyalah sebuah nama dari objek array dari String. Array ini nantinya akan berisi parameter-parameter yang diberikan user sebagai argumen command line. Sementara Anda tidak perlu mengerti mengenai parameter tersebut, cukup diingat bahwa bentuk metode main harus selalu demikian. dalam aplikasi, parameternya adalah selalu

Kemudian di dalam kedua metode pada kedua listing tersebut, kita menemukan sebuah pernyataan. Anda tentu dapat saja meletakkan lebih dari satu pernyataan dalam sebuah metode. Setiap pernyataan dalam sebuah metode dipisahkan oleh titik koma dan akan dieksekusi satu persatu. Kedua pernyataan pada listing ternyata memanggil sebuah metode lain yaitu metode println dan paint. Tentunya dapat Anda perhatikan bahwa untuk memanggil sebuah metode diperlukan tiga komponen yaitu:
  1. Objek yang ingin kita pakai. Dalam hal ini objek System.out dan Graphics g.
  2. Nama metode yang ingin kita pakai. Dalam hal ini println dan paint.
  3. Sepasang tanda kurung yang berisi informasi tambahan yang diperlukan oleh metode yang dipanggil, yaitu parameter.
Dalam Listing 1, pernyataan System.out.println("Apa Kabar Dunia?"); berarti carilah objek outSystem kemudian panggil metode println dari objek out dengan parameter berupa string "Apa Kabar Dunia?". Sedang dalam Listing 2, pernyataan g.drawString("Apa Kabar Dunia?", 5, 25); berarti carilah objek g kemudian panggil metode drawString pada objek g dengan parameter "Apa Kabar Dunia?”, 5, 25);. dalam kelas


Eksekusi

Setelah selesai membahas sintaks dasar Java dalam kedua listing, selanjutnya kita akan mencoba mengeksekusi kedua program ini. Untuk program pertama yang berupa aplikasi biasa, kita tinggal mengetikkan perintah java HelloWorld pada prompt dan pesan Apa Kabar Dunia? akan tampil di layar (atau mungkin di tempat lain, bergantung sistem operasi Anda). (ref - Ari Hermawan, Ilmu Komputer).

January 18, 2019

Posted by Sabar Santoso in | January 18, 2019 No comments

Untuk mendapatkan penghasilan tambahan ada empat cara yang bisa Anda lakukan. Yakni bekerja pada orang lain, bekerja sendiri dengan mengandalkan keahlian, membuka usaha sampingan, atau melakukan investasi. Dari keempat hal tersebut, membuka usaha sampingan biasanya merupakan cara yang cukup baik untuk mendapatkan peng-hasilan tambahan. Dengan membuka usaha sampingan, pertama-tama Anda mungkin harus terlibat penuh didalamnya. Tapi lama kelamaan, bila usaha itu besar, Anda bisa menyerahkan pengelolaannya pada orang lain, sehingga Anda bisa punya lebih banyak waktu. Sementara pemasukan terus berjalan. Bandingkan dengan apabila Anda bekerja pada orang lain atau bekerja sendiri dengan mengandalkan keahlian. Bekerja pada orang lain jelas Anda harus mengikuti jam kerja yang disyaratkan. Sedangkan bekerja sendiri dengan mengandalkan keahlian, biasanya Anda bisa menentukan waktu kerja Anda sendiri, tapi tetap saja Anda akan sibuk


Penghasilan Bisa Besar

Jangan salah kira, usaha sampingan, apabila Anda jalankan dengan sungguh-sungguh bisa memberikan hasil yang sama ú bahkan lebih besar ú dibanding bila Anda bekerja dan mendapatkan gaji. Saya pernah memperhatikan tukang sate yang berjualan di dekat rumah saya. Setiap hari, dari jam 17.00 - 24.00 (7 jam kerja), ia bisa menjual sekitar 250 tusuk sate ayam. Kalau satu tusuk dihargai Rp 400, maka ini berarti ia mendapatkan Rp 100 ribu sehari. Dalam sebulan, ia bisa bekerja sekitar 25 hari. Ini berarti pemasukannya sebulan mencapai Rp 2,5 juta. Saya pernah tanya berapa sih keuntungannya dari Rp 2,5 juta itu? Dia bilang sekitar 60 persen. Ini berarti keuntungannya adalah Rp 1,5 juta setiap bulan. Itu belum termasuk keuntungan dari penjualan lontongnya. Tentu saja Anda tidak harus jadi penjual sate bila Anda memang tidak mau. Anda bisa membuka usaha lain yang mungkin lebih Anda kuasai seluk-beluknya. Prinsipnya di sini adalah apa pun usahanya, kalau Anda jalankan dengan serius, hasilnya bisa besar.

Pada awalnya yang namanya usaha mungkin tidak akan selalu berjalan lancar. Penghasilannya mungkin belum seberapa. Tapi itu karena usaha Anda mungkin belum dikenal orang banyak. Namanya juga masih baru. Lama kelamaan, seiring dengan makin dikenalnya usaha Anda, usaha Anda pasti akan mulai berkembang, sehingga hasil yang Anda dapatkan makin besar pula.

Tukang sate tadi misalnya. Saya yakin, pertama kali ia membawa dagangannya, orang mungkin masih ragu-ragu untuk mencoba satenya, karena orang baru pertama kali melihat tukang sate ini. Tapi lama kelamaan, orang mulai memesan satenya, dan akhirnya orang ini identik dengan sate. Setiap kali ia lewat di depan rumah saya, saya langsung teringat akan satenya. Itu bukti bahwa usaha apa pun membutuhkan pengenalan. Orang harus kenal lebih dulu dengan usaha Anda, apa pun usaha itu. Entah toko, entah restoran kecil, entah usaha jahitan. Mungkin pengenalannya makan waktu satu tahun, dua tahun, atau mungkin hanya beberapa bulan, tergantung bagaimana promosi Anda. Setelah kenal, barulah selebihnya tergantung pada kualitas produk Anda. Bila sekali saja konsumen tak suka, seterusnya mereka kapok membeli produk Anda. Apa pun jenisnya. Karena itu, Anda juga harus menjaga kualitas produk agar sesuai keinginan konsumen.


Tidak Harus Meninggalkan Pekerjaan Rumah

Siapa bilang bahwa Anda harus meninggalkan pekerjaan tetap Anda sekarang bila Anda menjalankan usaha Anda? Anda tidak harus meninggalkan pekerjaan tetap Anda. Anda bisa menjalankan usaha Anda sambil Anda tetap bekerja di pekerjaan Anda sekarang. Hitung-hitung, Anda nantinya akan punya pendapatan yang dobel kan? Pertama-tama, mungkin pendapatan usaha Anda masih jauh lebih kecil dibanding gaji dari pekerjaan Anda. Tetapi lama-lama, seiring dengan makin dikenalnya usaha Anda, usaha Anda akan makin maju, dan pendapatan usaha Anda siapa tahu akan meningkat dan bisa menyamai gaji Anda? Kemudian, siapa tahu juga pendapatan usaha Anda bisa meningkat lagi dan melebihi gaji Anda? Saya banyak melihat contoh orang yang merintis usaha sambil tetap mempertahankan pekerjaannya. Lamalama ketika usahanya makin sukses, pendapatan dari usahanya meningkat, dan jumlahnya jauh melebihi gajinya. Sehingga ia memiliki pilihan apakah ia akan mempertahankan kedua pendapatannya, atau meninggalkan pekerjaannya dan terjun total 100 persen ke dalam usahanya dengan harapan agar penghasilan dari usahanya bisa makin besar. Bagi Anda yang menjadi ibu rumah tangga dan hanya suami yang bekerja, mungkin bisa lebih enak lagi. Anda merintis usaha Anda, sementara suami Anda tetap mendapatkan gaji dari pekerjaannya. Masing- masing dari Anda sekarang menghasilkan pendapatan bagi keluarga. Bukan begitu?


Siap Meluangkan Waktu

Kalau Anda menjalankan usaha Anda sambil masih tetap bekerja, maka Anda harus siap meluangkan waktu. Bagi Anda yang menjalankan tugas sebagai ibu rumah tangga, Anda harus siap menyisihkan sekitar mungkin 4 jam setiap hari untuk mengurus usaha baru Anda. Bagi Anda yang juga bekerja di kantor, mungkin Anda harus siap menjalankan usaha Anda pada malam hari. Terserah Anda. Yang jelas, Anda harus memiliki komitmen untuk mau menjalankan usaha Anda, dan jangan kaget kalau nanti Anda akan lebih capek dari biasanya. Ini wajar, karena Anda menjalankan dua pekerjaan sekaligus kan? Tapi apa yang membuat Anda mau lebih capek dari biasanya? Apa yang membuat Anda mau repot-repot menjalankan usaha Anda? Ini karena Anda ingin agar usaha Anda bisa berkembang kelak dan pengelolaannya bisa Anda serahkan ke anak buah Anda sehingga Anda bisa punya lebih banyak waktu untuk keluarga Anda kelak sementara tetap men-dapatkan penghasilan. Jadi, Anda investasi waktu (mau lebih sibuk) sekarang, dengan harapan agar Anda mendapatkan waktu yang lebih banyak kelak. Jadi, sesibuk apa pun sekarang, kenapa Anda tidak luangkan waktu untuk merintis sebuah usaha?


Perlu Dukungan Keluarga

Minta dukungan dari keluarga Anda. Kalau perlu, ajak suami Anda untuk ikut membantu Anda. Libatkan suami Anda dari awal. Dengan demikian, suami Anda bisa ikut berperan dalam usaha Anda. Dukungan suami itu penting lo. Banyak usaha rumahan yang gagal karena tidak adanya dukungan suami. Bukan berarti Anda tidak akan berhasil dalam usaha Anda bila tidak didukung suami, tapi memang akan sangat membantu kalau suami Anda ikut mendukung usaha Anda kan? Kalau perlu, jangan katakana pada suami bahwa ini adalah usaha Anda. Katakan padanya bahwa ini adalah usaha keluarga, bukan usaha Anda. Kelak kalau usaha ini besar, suami Anda bisa ikut terlibat di dalamnya. Bukankah akan mengasyikkan bila suami-istri bekerja bersama membangun usaha keluarga?


Tidak Harus Sekolah Tinggi

Apakah Anda adalah salah satu dari mereka yang tidak mengenyam sekolah tinggi? Apakah Anda Cuma lulusan SMP? Apakah Anda cuma lulusan SMEA? Atau apakah Anda sama sekali tidak pernah sekolah dan hanya punya pengalaman? Baca ini: Anda tidak harus mengenyam sekolah tinggi lebih dulu untuk bisa membuka usaha dan berhasil dalam usaha Anda. Kita sudah sering mendengar dan melihat dengan mata kepala sendiri bahwa ada banyak orang berhasil dalam membangun usahanya dari nol, meski tidak memiliki pendidikan tinggi. Apa resepnya sehingga mereka bisa berhasil? Ketekunan dan motivasi untuk bisa berhasil. Yang lebih penting, ia ú walaupun tidak sekolah tinggi úmau belajar. Belajar tidak harus ditempuh dengan sekolah. Anda bisa belajar dari pengalaman Anda, dari buku, dan dari pengalaman orang lain (baik keberhasilan maupun kegagalannya). Satu lagi, mereka mau memulai usahanya dari kecil lebih dulu, sebelum lamalama usaha itu menjadi besar. Percayalah, Anda punya kesempatan yang sama dengan saya, dan dengan orang yang lain untuk bisa berhasil, walaupun Anda tidak memiliki pendidikan tinggi sekalipun. Jadi tunggu apa lagi? Tetapkan tekad untuk membuka usaha sampingan. Sekarang juga. (ref -safir sinduk)

February 05, 2018

Posted by Sabar Santoso in , , , , , | February 05, 2018 No comments
The C++ programming language was introduced by Bjarne Stroustrup of the AT&T laboratories in 1985 as an extension of C, with additional features borrowed from the esoteric language Simula. Since then, C++ has grown rapidly in response to the practical need for a programming language that is able to efficiently handle composite and diverse data types. The language implementation is pivoted on the ingenious concept of object oriented programming (OOP). Today, C++ dominates the commercial market and is favored among system programmers and application developers.


Object oriented programming

To illustrate the advantages of an object oriented programming language compared to a structured language such as Matlab, Fortran 77, or C, we assume that an international sports competition has been entered by runners from many countries around the globe. The record of each runner consists of several fields including name, country of origin, city of birth, date of birth, and best performance time.

In a structured language, each one of these fields is normally registered in a separate data vector. In an OOP language, each runner becomes an object defined as a member of the class of runners, and each member is described by the collection of these fields. This formalism allows us to record, recall, and manipulate in any desired way the personal data of each runner using simple symbolic operators. Sub-classes consisting, for example, of runners of a particular nationality can be readily defined to facilitate more detailed manipulations.

An OOP language allows us to introduce a data type of our choice viewed as an object in a defined class, and then use the class as a building block for  further development. This flexibility essentially allows us to build a language without building a compiler. In this sense, an OOP language is an ultimate language.

C++ is a generalization of C, but accomplishes much more than C, to the extent that it should be regarded, studied, and taught as a separate language. It is neither necessary nor recommended to study C as a prerequisite of C++, though knowledge of C can be helpful.

November 14, 2015

Posted by Sabar Santoso in | November 14, 2015 No comments
Agen adalah segala sesuatu yang dapat dilihat sebagai hal yang dapat memahami lingkungannya melalui sensor dan bertindak atas lingkungan itu sendiri melalui efektor. Seorang agen manusia memiliki mata, telinga, dan organ lain sebagai sensor, sedangkan tangan, kaki, mulut, dan bagian tubuh lainnya sebagai efektor. Agen robot dapat menggantikan kamera dan pencari jangkauan inframerah sebagai sensor sedangkan bagian motor pada robot berfungsi sebagai efektor. Agen rasional adalah agen yang melakukan sesuatu hal yang benar. Hal ini jelas lebih baik daripada melakukan sesuatu hal yang salah, tetapi apa artinya ini semua? Sebagai perkiraan pertama, kita katakan bahwa tindakan yang benar dapat menjadikan agen berfungsi dengan sukses. Dengan demikian maka ketika terdapat suatu masalah, agen tersebut dapat memutuskan bagaimana dan kapan mengevaluasi masalah tersebut agar keberhasilan agen dapat tercapai.


Agen yang berinteraksi dengan lingkungannya melalui sensor dan afektor.


Kita menggunakan istilah ukuran kinerja untuk menentukan bagaimana seberapa sukses suatu agen menyelesaikan tugasnya. Ini jelas, tidak ada satu ukuran tetap yang cocok untuk semua agen. Oleh karena itu, maka kita harus menentukan ukuran kinerja objektif yang diberlakukan oleh beberapa otoritas. Dengan kata lain, kita sebagai pengamat luar menetapkan standar arti menjadi sukses pada sebuah lingkungan dan menggunakannya untuk mengukur kinerja agen.

Sebagai contoh, perhatikan kasus agen yang seharusnya bertugas menyedot lantai yang kotor. Ukuran kinerja yang masuk akal adalah jumlah kotoran yang dibersihkan dalam berada pada satu shift kerja selama delapan jam. Ukuran kinerja yang lebih canggih akan mempertimbangkan jumlah listrik yang dikonsumsi dan jumlah kebisingan yang dihasilkan. Contoh ukuran kinerja lainnya adalah dengan memberikan nilai tertinggi bagi agen yang tidak hanya membersihkan lantai dengan efisien, tetapi juga dapat memangkas waktu lebih cepat.

Waktu untuk melakukan evaluasi kinerja juga sama pentingnya. Jika kita mengukur berapa banyak kotoran yang telah dibersihkan agen pada shift pertama dihari itu, maka kita harus memberikan penghargaan kepada agen-agen yang menyelesaikannya dengan lebih cepat, dan kita memberikan peringatan bagi agen yang bekerja dengan hasil yang tidak diharapkan. Oleh karena itu, maka diperlukan juga pengukuran kinerja dengan perhitungan jangka panjang, baik itu di shift pertama, shift kedua atau kedua-duanya.

Kita perlu berhati-hati dalam membedakan antara rasionalitas dan pengetahuan. Agen yang mengetahui dapat menyelesaikan tugasnya dengan hasil aktual dari tindakannya dapat bertindak sesuai langkah-langkah sesuai prosedur; namun hal tersebut tidak berlaku dalam dunia nyata. Pertimbangkan contoh berikut ini: Suatu hari saya sedang berjalan dibahu jalan sepanjang Jalan Jendral Sudirman kemudian saya melihat seorang teman di seberang jalan. Pada saat itu tidak ada lalu lintas kendaraan dijalan raya, maka secara rasional, saya mulai menyeberang jalan. Sementara itu, pada ketinggian 33.000 kaki, terdapat benda kargo yang jatuh dari sebuah pesawat yang melintas, maka sebelum saya tiba di seberang jalan, saya saya sudah tertimpa benda kargo tersebut. Dalam hal ini apakah saya tidak rasional dalam menyeberang jalan? Ini menunjukkan bahwa rasionalitas berkaitan dengan keberhasilan yang diharapkan mengingat apa yang telah dirasakan. Menyeberang jalan itu rasional karena sebagian besar waktu penyeberangan akan berhasil, namun tidak dapat mengetahui bahwa akan ada sebuah benda yang jatuh dari atas menimpa saya. Kemudian terdapat agen lain yang dilengkapi dengan radar untuk mendeteksi benda yang jatuh dari atas maka akan berusaha menghindar benda tersebut agar misi menyebrang jalan berhasil, namun ini tidak dianggap rasional bagi agen lainnya.

Dengan kata lain, kita tidak dapat menyalahkan agen karena gagal memperhitungkan sesuatu yang tidak dapat dirasakannya, atau karena gagal dalam mengambil tindakan. Tapi syarat keberhasilan agen bukan dilihat dari masalah yang sesuai untuk agen tersebut. Intinya adalah bahwa jika kita menetapkan bahwa agen cerdas harus selalu melakukan apa yang sebenarnya adalah hal yang benar, namun tidak mungkin merancang agen untuk memenuhi spesifikasi lengkap sempurna.

Singkatnya, rasional terhadap waktu tertentu tergantung pada empat hal:

  • Ukuran kinerja yang menentukan tingkat kesuksesan.
  • Segala sesuatu yang dirasakan agen sejauh ini. kita sebut sebagap pengalaman perseptual.
  • Apa yang agen ketahui tentang lingkungannya.
  • Tindakan yang dapat dilakukan oleh agen.

Kita perlu hati-hati dalam mendefinisikan hal ini. Untuk awal, mungkin terlihat memungkinkan bahwa agen dapat melakukan beberapa kegiatan yang jelas-jelas kurang cerdas. Sebagai contoh, jika seorang agen tidak melihat pada kedua arah jalan sebelum menyeberang pada jalan yang padat, maka urutan persepsinya tidak akan memberikan informasi bahwa terdapat sebuah truk besar yang mendekat dengan kecepatan tinggi. Definisi tadi tampaknya mengatakan bahwa akan baik-baik saja menyeberang jalan. Namun sebenarnya, penafsiran ini salah dalam dua hal. Pertama, tidak masuk akal untuk menyeberang jalan karena risiko tanpa melihat area jalan dikedua arah. Kedua, agen rasional yang ideal akan memilih tindakan "mencari" sebelum melangkah ke jalan, karena dengan melihat dan mengamati lingkungan membantu memaksimalkan kinerja yang diharapkan.

Gagasan tentang agen dimaksudkan untuk menjadi alat dalam menganalisis sistem, bukan karakterisasi absolut yang membagi domain menjadi agen dan non-agen. Contoh sebuah jam. benda ini dapat dianggap sebagai benda mati, atau dapat pula dianggap sebagai agen sederhana. Dikatakan sebagai agen, karena sebagian besar tindakan jam selalu melakukan tindakan yang benar: seperti menggerakkan jarum (atau menampilkan angka) dengan cara yang tepat. Tidak peduli apa yang terjadi di luar, maka tindakan jam tidak akan terpengaruh oleh dunia luar. Jika jam dan pemiliknya melakukan perjalanan dari kota A ke kota B yang memiliki perbedaan waktu dunia  maka hal tepat yang dapat dilakukan adalah dengan mengembalikan waktu tersebut menyesuaikan dengan lokasi saat ini. 

September 28, 2015

Posted by Sabar Santoso in , | September 28, 2015 No comments


Machine Learning merupakan sistem yang secara otomatis akan mempelajari dirinya sendiri melalui data yang telah diperoleh. Machine Learning dapat aplikasikan pada mesin pencari website, spam filter, recommender system, credit scoring, fraud detection, stock trading, drug design, dan banyak lagi aplikasi yang lainnya. Menurut penelitian yang dilakukan oleh the McKinsey Global Institute Asserts bahwa machine learning pada era yang akan datang akan menjadi sebuah teknologi inovatif yang berkembang pesat. Pada saat ini sudah banyak tersedia referensi mengenai machine learning baik berupa textbook atau paper yang telah di publish oleh sumber yang dapat dipercaya.
Misalkan, jika anda akan membuat sebuah aplikasi yang dapat menyelesaikan masalahnya sendiri, maka hal pertama yang harus dilakukan adalah bagaimana membuat algoritma yang akan di simpan pada aplikasi tersebut, sedangkan metode algoritma untuk machine learning itu banyak sekali, sehingga kita harus dapat menentukan algoritma mana yang paling efektif dan efisien? Tapi pada intinya algoritma manapun yang akan anda gunakan, harus memiliki beberapa sifat dasar dari ketiga komponen di bawah ini :

1.   Representation.
Pengelompokan harus dapat digambarkan oleh beberapa bahasa pemrograman yang sudah familiar. Pada bagian ini kita dapat menyebutnya sebagai pembelajaran hypothesis space. Jika pengelompokan yang kita lakukan tidak berdasarkan pada hypothesis space, maka sudah dapat dipastikan bahwa machine learning yang akan di bangun tidak sesuai dengan apa yang diharapkan.

2.   Evaluation.
Pada bagian ini lebih menitik beratkan pada kualitas salah satu isi dari pengelompokan itu sendiri, kita dapat menamakannya sebagai objective function atau scoring  function. Fungsi evaluation dilakukan secara internal yang memungkinkan sebuah algoritma dapat melakukan hal yang berbeda dari kelompok itu sendiri untuk hasil yang lebih optimal.

3.   Optimization.
Untuk membangun sebuah machine learning yang baik, kita memerlukan suatu metode tertentu untuk mencari salah satu metode yang paling unggul dalam suatu kelompok. Teknik Optimization merupakan bagian yang paling penting dalam efisiensi pembelajaran, dan ini dapat menentukan kelompok yang dihasilkan jika objective function pada Evaluation  memiliki lebih dari satu metode yang optimum. Dengan Optimization maka akan menghasilkan suatu keadaan pembelajaran baru dan akan mengganti salah satu metode pembelajaran yang sekiranya sudah tidak dapat digunakan.

September 13, 2015

Posted by Sabar Santoso in | September 13, 2015 No comments
Dalam bidang ilmiah cara terbaik untuk mendefinisikan suatu hal adalah dengan cara memberikan satu pertanyaan inti. Bidang Machine Learning berusaha untuk menjawab pertanyaan tersebut.

"Bagaimana kita dapat membangun sebuah sistem komputer yang secara otomatis akan meningkatkan kemampuannya melalui beberapa tahapan pembelajaran yang telah dilalui, dan apa hukum dasar yang dapat mengatur semua proses pembelajaran itu?"

Pertanyaan ini mencakup berbagai berbagai teori pembelajaran, seperti bagaimana merancang sebuah robot mobile yang dapat melakukan navigasi melalui serangkaian proses pembelajaran yang telah dilalui? bagaimana sebuah data medis akan mempelajari histori pasien pada masa yang akan datang melalui beberapa perawatan yang sedang berjalan? dan bagaimana membangun sebuah mesin pencari yang secara otomatis akan menyesuaikan dengan apa yang diinginkan oleh pengguna?
















Machine Learning adalah hasil alami irisan antara Computer Science dan Statistik. Kita dapat mendefinisikan Computer Science melalui sebuah pertanyaan : "Bagaimana kita dapat membangun sebuah mesin yang dapat menyelesaikan masalahnya sendiri, dan mana saja masalah-masalah yang dapat diselesaikan?".  Sedangkan untuk Statistik itu sendiri kita dapat buat sebuah pertanyaan "Apa yang dapat disimpulkan dari sebuah data dengan asumsi menggunakan pemodelan? 

Pendefinisian Machine Learning dapat diperoleh atas kedua unsur diatas, walaupun keduanya memiliki pengertian yang berbeda. Computer Science lebih difokuskan pada cara kerja secara manual dari program komputer, sedangkan Machine Learning lebih focus pada pertanyaan bagaimana komputer dapat bekerja dan menyelesaikan masalah dengan programnya sendiri? Pada bidang statistik lebih difokuskan terutama pada apa yang dapat disimpulkan dari sebuah data, sedangkan pada Machine Learning dapat ditambahkan melalui pertanyaan tentang arsitektur komputasi dan algoritma apa yang dapat digunakan sehingga dapat bekerja secara efektif dalam menyimpan, mengindeks, mengambil serta menggabungkan data-data tersebut?

Pertanyaan yang mendefinisikan Machine Learning akan berkaitan erat dengan Human Learning. Walau bagaimanapun untuk saat ini wawasan mengenai Machine Learning diperoleh dari study Human Learning yang isinya jauh lebih rendah dari Statistik dan Computer Science, terutama karena lemahnya pemahaman kita tentang Human Learning. Namun demikian, sinergi antara Machine Learning dan Human Learning terus berkembang, contoh penggunaan algoritma Machine Learning seperti untuk membedakan sinyal syaraf yang ada pada manusia dengan hewan. 

Pada bidang lain, Machine Learning, digunakan pula untuk menyelesaikan masalah-masalah perekonomian hingga teori kontrol. Dalam hal bidang ekonomi, Machine Learning  dapat memprediksi suatu harga yang ada di pasaran sehingga didapatkan harga yang paling optimal bagi masyarakat umum. Dalam penggunaan teori kontrol, Machine Learning dapat meningkatkan strategi kontrol melalui beberapa pembelajaran. 

Beberapa contoh aplikasi yang didalamnya menggunakan teknologi Machine Learning adalah sebagai berikut :
  • Speech recognition.
  • Computer vision
  • Bio-surveillance.
  • Robot control.
  • Accelerating empirical sciences. 

Search

Bookmark Us

Delicious Digg Facebook Favorites More Stumbleupon Twitter