Sharing With Passion
Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts

June 29, 2020

Posted by Sabar Santoso in , | June 29, 2020 1 comment
Saat ini penggunaan bahasa pemrograman berbasis objek sedang menjadi trend yang tak terhindarkan. Vendor perangkat lunak menawarkan bahasa dengan karakter tersebut dengan sebuah kosa kata yang cantik, yakni Visual, sehingga kita kenal Delphi milik Borland, Visual C++, Visual Basic, atau Oracle, PowerBuilder, Visual dBase, Visual Foxpro, untuk aplikasi database.

Tak terkecuali dalam aplikasi sistem kontrol industri, perangkat yang ditawarkan para vendornya juga semakin mendukung penggunaan pemrograman visual. Seperti Visual Basic, misalnya, kalangan industri sistem kontrol memberikan peluang untuk pengembangan sistem mereka dengan bahasa ini, terutama di kalangan pengguna sistem berbasis Windows. Yokogawa, ABB, Wonderware, adalah nama yang bisa disebutkan untuk hal ini.

Dalam artikel ini, kita akan mengetengahkan bagaimana Visual Basic digunakan mengakses data yang terdapat dalam memori sebuah PLC. Bahasa yang kita gunakan ialah Visual Basic 6.0 dan PLC-nya dari keluarga Omron. Komunikasi dilakukan melalui port serial. Aplikasi ini dibangun sebagai implementasi konsep dasar pertukaran data antara PLC dengan PC, dan membuka jalan bagi eksplorasi permasalahan komunikasi data lebih jauh dalam sistem kontrol industri. Pengesetan nilai setpoint parameter proses merupakan contoh utama penerapan program ini.

Rancangan Aplikasi
Pada aplikasi ini, kita mengisikan sebuah data diskret ke PLC. Masukan yang kita berikan dari antarmuka Visual Basic ini akan ditunjukkan dalam bit indicator pada card I/O PLC . Apabila data adalah bit 1, maka indicator akan menyala. Apabila data nol indicator-nya tidak menyala.



Persiapan Setting Sistem

* Pengesetan Host Link Units
Host link Unit berfungsi untuk menjembatani PC dalam memonitor status pengoperasian dan lokasi data dari PLC. Dalam hal ini kita menggunakan OMRON CQM1-CIF02. Parameter komunikasinya sudah ter-setting standar yaitu :

1. Kecepatan Transmisi.
Baud-rate = 9.600 bps

2. Format data untuk sebuah karakter.
Nomor start bits = 1
Panjang data = 7 bits
Event (vertical) parity = 1 bits
Nomor stop bits = 2

Pengesetan PC/Komputer
PC diset melalui pemrograman / penulisan kode, yaitu dengan men-set properti kontrol komunikasi. Pengesetan parameter kecepatan transmisi dan format data pada properti harus benar-benar sama dengan pengesetan pada Host link Unit.

Pemaketan Data
Agar dapat membaca ataupun menulis, satu rangkaian data harus dikirim dengan bentuk paket terstruktur yang disebut frame. Masing-masing lokasi data atau memori data mempunyai bentuk frame yang berbeda. Dalam contoh disini kita menuliskan data pada lokasi data IR (Internal Relay). Frame penulisannya:



Pemrograman Visual Basic
Berdasarkan data resource dan rancangan sistem kita, maka kita bisa memulai pembuatan program yang kita butuhkan. Dalam aplikasi ini window yang kita buat sebagai antarmuka aplikasi merupakan window sederhana dengan jumlah objek minimum yang mencukupi. Objek ini kita butuhkan sebagai bagian dari perangkat komunikasi serial dalam perangkat lunak. Untuk ini kita buat ambil sebuah objek komunikasi dengan nama default Comm1, dan tiga buah text box dan label yang sesuai.

Algoritma program meliputi pengaktifan port, pembacaan isi port, pembuatan frame data yang memenuhi syarat bisa dibaca PLC, yakni dengan frame yang telah kita sebutkan di atas, pengiriman data, dan pembacaan respon dari PLC. Pengecekan isi buffer merupakan opsional (tambahan saja).
Kode Program
Pengaktifan Port
Private Sub Form_Load()
Comm1.CommPort = 2
Comm1.Settings = "9600,E,7,2"
Comm1.PortOpen = True
End Sub
Properti CommPort bertugas men-set nomor serial port yang digunakan oleh PC. Karena kita menggunakan port COM 2 dan nama kontrol komunikasinya adalah Comm1, maka kodenya Comm1.CommPort = 2.

Properti Settings bertugas men-set baud rate, parity, data bits dan stop bits COM2. Dalam hal ini baud-rate = 9.600 bps, nilai parity = even, panjang data 7 bits dan stop bit =2.

Properti PortOpen bertugas men-set keadaan COM 2, terbuka atau tertutup. Karena kelompok kode di atas dieksekusi pada saat awal program komunikasi di run, maka isinya Comm1.PortOpen = True.

Perhitungan FCS dan Pengiriman data.

FCS (Frame Check Sequence) adalah hasil konversi 8-bit data ke 2 digit karakter ASCII. Ke 8-bit data merupakan hasil dari exclusive OR secara berurut (sequence) karakter pertama hingga karakter terakhir pada sebuah frame. Perhitungan FCS ini kita letakkan dalam event kotak perintah (command box).

Private Sub Command1_Click()
Dat$ = Text1.Text
L = Len(Dat$)
A = 0
For I = 1 Sd L
Opo$ = Mid$(Dat$, I, 1)
A = Asc(Opo$) Xor A
Next I
FCS$ = Hex$(A)
If Len(FCS$) = 1 Then
FCS$ = "0" + FCS$
End If
DatTX$ = Dat$ + FCS$ + "*" + Chr$(13)
Comm1.Output = DatTX$
End Sub

Paket data akan yang dikirim diletakan dalam variabel DatTX$.

Pengambilan Respons PLC dari Buffer

Setiap kejadian pembacaan data ataupun penulisan harus melibatkan 2 perintah, yaitu kirim data dan terima respon. Perintah terima respon bertujuan agar buffer tetap bersih/kosong pada saat awal dan akhir kejadian, sehingga data yang terbaca tidak tercampur oleh sisa data (respon) dari kejadian sebelumnya.
Private Sub Command2_Click()
Text2.Text = Comm1.Input
End Sub
Hasil pembacaan diletakkan pada Text2.

Pengecekan isi buffer
Private Sub Command3_Click()
Text3.Text = Comm1.InBufferCount
End Sub
Properti InBuffercount bertugas untuk mengetahui jumlah karakter di dalam buffer. Jadi dalam hal ini Text3 berguna untuk memonitor jumlah karakter dalam buffer.



Eksekusi Program
Sebelum program dijalankan, kita pastikan dulu bahwa semua peralatan telah dihubungkan secara benar, dan masing-masing telah di-set sesuai dengan ketentuan di atas. CPU dan I/O Card kita tempatkan pada panelnya dan koneksi kabel Host Link pada port serial dihubungkan dengan benar. Setelah dipastikan siap, barulah program kita jalankan. Dalam hal ini kita bisa melakukannya melalui lingkungan dalam Visual Basic, maupun program kompilasi .EXE.



Antarmuka aplikasi akan tampak seperti window pada gambar 2. Pada antarmuka ini, data yang kita kirim harus sudah diketik oleh pengguna dalam bentuk frame tanpa "*" dan "|" (karena keduanya sudah kita tuliskan dalam kode program). Setelah diketikkan isi datanya, baru kita tekan tombol Transmit.

Tampak bahwa isiannya ialah @00WR0110FFFF, yang berarti:
Channel : 110 atau 0110 dalam 4 digit desimal
Data: FFFF dalam heksa
Setelah kita tekan Transmit kita tekan Response, untuk mendapatkan data respon dari PLC (yang merupakan pengecekan apakah data yang kita kirim telah diterima PLC). Dengan method Input PLC akan memberi respon dengan frame @00WR0045*|, yang berarti data telah diterima PLC.

Dengan menekan tombol Buffer, isi buffer diketahui kosong, karena telah didahului proses pengambilan isinya melalui penekanan tombol Response.

Dengan proses di atas kita telah berhasil membuat sebuah antarmuka komunikasi dasar antara komputer dengan mesin PLC kita. Dengan kemudahan pemrograman visual, aplikasi ini tentu amat potensial dikembangkan agar semakin baik dan memudahkan pengguna. Fasilitas penulisan data dalam desimal (misalnya setpoin suhu pada boiler), atau pengesetan alamat secara otomatis dari database yang memuat alokasi memori PLC merupakan contoh pengembangan dalam hal ini.

June 30, 2019

Posted by Sabar Santoso in , , , | June 30, 2019 No comments
Seperti kita ketahui, laporan baik berbentuk soft file atau hard file merupakan hasil akhir dari data yang telah di olah (informasi). Oleh karena itu semakin baik suatu  program, maka program tersebut akan menyediakan banyak laporan yang  dibutuhkan oleh pengguna.

Salah satu tool yang mendukung untuk membuat laporan menggunakan VB.Net ada  Crystal Report. Crystal Report adalah tool untuk membuat laporan yang handal,  karena di dalamnya banyak sekali fitur-fitur untuk memudahkan kita dalam  membuat laporan. Dan Crystal Report akan otomatis terinstal saat kita menginstall  VS.NET. Menurut Wikipedia Crsytal Report adalah sebuah aplikasi yang digunakan untuk membuat laporan dari berbagai sumber data. Sumber data maksudnya bisa dikatakan database, jadi dengan Crystal Report kita bisa membuat laporan yang data-datanya diperoleh dari Database apapun, misalnya SQLServer, Ms. Access, Mysql, dll.

Ada beberapa model yang akan kita buat, report tanpa parameter dan report dengan parameter. Meskipun kita bisa membuat report dari wizard yang telah disediakan oleh Microsoft, kali ini kita akan membuat report secara custom.

Sebelum menampilkan data pada Crystal reports, maka kitaperlu membuat databasenya, dengan struktur table sebagai berikut :

Nama Database    : CrystalDb
Nama Table         : OrderMaster, OrderDetails, OrderProduct







Setelah database selesai dibuat, maka langkah selanjutnya adalah mulai mengerjakan mulai membuat Crystal Reports dengan Ms Visual Studio .Net

- Buka Visual Studio .Net dan pilih new Visual Basic .NET Project.


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).

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.

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.

December 11, 2013

Posted by Sabar Santoso in , , | December 11, 2013 No comments
Terdapat banyak cara untuk menampilkan beberapa field / tabel yang berbeda untuk di proses dalam sebuah halaman Vb 6.0. Bisa menggunakan listview, listbox, combo box, command button dan lain-lain. Kali ini saya akan mencoba mengambil field pada tabel dan database yang berbeda dengan menggunakan combo box. Berikut adalah salah satu contohnya :




Private Const CB_FINDSTRING = &H14C
Private Const CB_SHOWDROPDOWN = &H14F
Private Const LB_FINDSTRING = &H18F
Private Const CB_ERR = (-1)
Public KONEKSI As New ADODB.Connection

Private Declare Function SendMessage Lib _
    "user32" Alias "SendMessageA" (ByVal _
    hwnd As Long, ByVal wMsg As Long, _
    ByVal wParam As Long, lParam As Any) _
    As Long

Dim Rsbarang As New ADODB.Recordset
Dim Rskonsumen As New ADODB.Recordset

Public Sub bukakoneksi()
    Dim ConnString As String
    ConnString = "DSN=App_Toko_Eshi"
    Set KONEKSI = New ADODB.Connection
    KONEKSI.ConnectionString = ConnString
    KONEKSI.CursorLocation = adUseClient
    KONEKSI.Open
End Sub
Private Sub Form_Load()
    bukakoneksi
    Isi_Combo_konsumen
    Isi_Combo_Barang
End Sub

Private Sub CboNamaBarang_Click()
Rsbarang.Open "select id_barang, satuan, harga from tbl_barang where nama = '" & CboNamaBarang.Text & "'", KONEKSI, adOpenDynamic, adLockBatchOptimistic
   If Rsbarang.EOF = False Then  'Jika hasil query ada isinya maka..
      TxtNama.Text = "" & Rsbarang!id_barang
      TxtSatuan.Text = "" & Rsbarang!satuan
      TxtHarga.Text = "" & Rsbarang!harga
   Else
      MsgBox "Data Tidak Ada"
      kosong
End If
   Rsbarang.Close
   txtBeli.Enabled = True
End Sub

Private Sub CboNamaKonsumen_KeyPress(KeyAscii As Integer)
    Dim CB As Long
    Dim FindString As String  
    If KeyAscii < 32 Or KeyAscii > 127 Then Exit Sub
    If CboNamaKonsumen.SelLength = 0 Then
        FindString = CboNamaKonsumen.Text & Chr$(KeyAscii)
    Else
        FindString = Left$(CboNamaKonsumen.Text, CboNamaKonsumen.SelStart) & Chr$(KeyAscii)
    End If

    SendMessage CboNamaKonsumen.hwnd, CB_SHOWDROPDOWN, 1, ByVal 0&
    CB = SendMessage(CboNamaKonsumen.hwnd, CB_FINDSTRING, -1, ByVal FindString)
   
    If CB <> CB_ERR Then
        CboNamaKonsumen.ListIndex = CB
        CboNamaKonsumen.SelStart = Len(FindString)
        CboNamaKonsumen.SelLength = Len(CboNamaKonsumen.Text) - CboNamaKonsumen.SelStart
    End If
   
    KeyAscii = 0
    CboNamaBarang.Enabled = True
End Sub

Private Sub CboNamaKonsumen_GotFocus()
    SendMessage CboNamaKonsumen.hwnd, CB_SHOWDROPDOWN, 1, ByVal 0&
    CboNamaBarang.Enabled = True
End Sub

Private Sub CboNamaBarang_KeyPress(KeyAscii As Integer)
    Dim CB As Long
    Dim FindString As String
    If KeyAscii < 32 Or KeyAscii > 127 Then Exit Sub  
    If CboNamaBarang.SelLength = 0 Then
        FindString = CboNamaBarang.Text & Chr$(KeyAscii)
    Else
        FindString = Left$(CboNamaBarang.Text, CboNamaBarang.SelStart) & Chr$(KeyAscii)
    End If
    SendMessage CboNamaBarang.hwnd, CB_SHOWDROPDOWN, 1, ByVal 0&
    CB = SendMessage(CboNamaBarang.hwnd, CB_FINDSTRING, -1, ByVal FindString)
   
    If CB <> CB_ERR Then
        CboNamaBarang.ListIndex = CB
        CboNamaBarang.SelStart = Len(FindString)
        CboNamaBarang.SelLength = Len(CboNamaBarang.Text) - CboNamaBarang.SelStart
    End If   
    KeyAscii = 0
End Sub

Private Sub CboNamaBarang_GotFocus()
    SendMessage CboNamaBarang.hwnd, CB_SHOWDROPDOWN, 1, ByVal 0&
End Sub

Sub Isi_Combo_konsumen()
Rskonsumen.Open "select nama from tbl_konsumen", KONEKSI, adOpenDynamic, adLockBatchOptimistic
CboNamaKonsumen.Clear
While Not Rskonsumen.EOF
  CboNamaKonsumen.AddItem Rskonsumen!Nama
Rskonsumen.MoveNext
Wend
End Sub

Sub Isi_Combo_Barang()
      Dim Rsbarang As New ADODB.Recordset
      Rsbarang.Open "select nama from tbl_barang", KONEKSI, adOpenDynamic, adLockBatchOptimistic
      CboNamaBarang.Clear
            While Not Rsbarang.EOF
                    CboNamaBarang.AddItem Rsbarang!Nama
                    Rsbarang.MoveNext
            Wend
End Sub

March 02, 2013

Posted by Sabar Santoso in , , , | March 02, 2013 No comments











Sebuah program di buat dengan menggunakan bahasa komputer, salah satunya adalah bahasa C. Bahasa pemrograman yang sudah di buat akan dibaca oleh kode mesin kemudian bahasa tersebut akan di kompile atau di eksekusi oleh komputer. Bagaimanapun berdasarkan dari ide untuk membuat sebuah program yang bagus, maka dibutuhkan banyak waktu dan usaha. 

Dalam membuat sebuah program, kita bisa saja mengambil beberapa script atau prosedur dari program yang sudah ada, kemudian digabungkan dengan script dari program yang kita buat secara keseluruhan. Sehingga untuk menyelesaikan program maka kita harus mempelajari cara perancangan sebuah program serta teknik penanganan error pada saat program di eksekusi, para programmer menamakan ini sebagai debugging program

Pada saat program error, maka program akan berhenti dan kita mengetahui debug / kesalahan program pada bagian yang mana. Beberapa debug memberitahu kita berdasarkan perintah program baris script, akan tetapi debugger yang terbaru akan di  tampilkan dalam bentuk user interface secara GUI, yang mana akan membatu kita dalam memenukan kesalahan-kesalahan pada saat script program di eksekusi. Debug yang ditampilkan secara GUI merupakan bagian dari Integrated Development Environment (IDE), yaitu lingkungan pengembangan terpadu bagi programmer dalam mengembangkan aplikasinya. Dengan IDE programmer dapat membuat user interface, melakukan coding, melakukan testing dan debugging serta mengkompilasi program. Salah satu IDE berbasis open source untuk pembuatan program menggunakan bahasa C adalah Code Blocks.

February 24, 2013

Posted by Sabar Santoso in , | February 24, 2013 No comments














Sering kita temui website yang tipikal: “Welcome to my homepage,” animasi e-mail, background dengan tulisan miring (diagonal), animasi garis pembatas, tabel dengan border tiga-dimesi dan lain-lain. Hal ini terjadi akibat dari fasilitas Template yang disediakan oleh software pembuat web seperti: FrontpageT, Corel WebDesignerT, dan sebagainya yang ditujukan untuk mempermudah penggunanya dalam membangun website.


Jika anda puas dengan hasil kerja anda membangun website dengan fasilitas template, sudahlah cukup sampai disini. Tetapi jika anda tidak puas dengan apa yang anda buat, dan anda merasa ingin lebih baik, maka anda perlu mengetahui bagaimana Web Designer membangun suatu Website, terlepas anda punya bakat seni atau tidak.

1. Unik : Dalam membuat karya apapun seorang designer mempunyai kesadaran untuk tidak meniru atau menggunakan karya orang lain. Begitu pula seorang Web Designer harus mempunyai budaya malu untuk menggunakan icon, animasi, button, dll, yang telah digunakan atau dibuat oleh orang lain.

2. Komposisi : Seorang Web Designer selalu memperhatikan komposisi warna yang akan digunakan dalam website yang dibuatnya. Pergunakan selalu Palette 216 WebColor, yang dapat diperoleh dari Adobe.com, hal ini untuk mencegah terjadinya dither pada image yang berformat GIF. Dalam membangun website suatu perusahaan, Web Designer selalu menyesuaikan warna yang digunakan dengan Corporate Color perusahaan tersebut. Sebagai contoh: Telkom Corporate Color-nya adalah biru, Coca-Cola : merah dan putih, Standard-Chartered : hijau dan biru, dsb. Untuk kemudian warna-warna tadi digunakan sebagai warna dominan atau sebagai elemen pendukung (garis, background, button, dsb).

3. Simple : Web Designer banyak yang menggunakan prinsip “Keep it Simple”, hal ini ditujukan agar tampilan website tersebut terlihat rapi, bersih dan juga informatif.

4. Semiotik : Semiotika adalah ilmu yang mempelajari tentang tanda-tanda. Dalam hal ini diharapkan dengan melihat tanda atau gambar, user/ audience dapat dengan mudah dan cepat mengerti. Sebagai contoh: Jangan membuat gambar/image yang berkesan tombol, padahal itu bukan tombol/ link.

5. Ergonomis : Web Designer selalu memperhatikan aspek ergonomi. Ergonomi disini adalah dalam hal kenyamanan user dalam membaca dan kecepatan user dalam menelusuri website tersebut. Web Designer memilih ukuran Fonts yang tepat sehingga mudah dibaca, Web Designer menempatkan link sedemikian rupa sehingga mudah dan cepat untuk di akses dan lebih penting lagi adalah Informatif.

6. Fokus : Tentukan hirarki prioritas dari pesan yang akan disampaikan, misalnya: Judul harus besar, tetapi jangan sampai akhirnya akan konflik dengan subjudul yang berukuran hampir sama. Hal ini akan membingungkan user/audience untuk menentukan pesan mana yang harus lebih dahulu dibaca/ dilihat.

7. Konsisten : Tentukan font apa yang akan digunakan sebagai Body-text, Judul, Sub Judul dan sebagainya, sehingga website tersebut akan terlihat disiplin dan rapi. Sesuaikan jenis huruf yang digunakan dengan misi dan visi website tersebut, misalnya: hindari menggunakan font Comic dalam membangun website suatu perusahaan resmi.


Demikian beberapa aspek dan prinsip yang digunakan Web Designer dalam membuat website, selebihnya merupakan ekspresi dari pembuat website itu sendiri yang terwujud dalam penggayaan penyusunan website.

Software-software pembuat suatu website
Desain : Untuk membuat desain suatu homepage biasanya para web designer dimulai dengan software ini sebagai tampilan sementara atau dalam membuat layout homepage

    * Adobe Photoshop : Desain berbasis titik ( bitmap )
    * Adobe Image Ready : Memotong gambar-gambar ke dalam format html
    * Adobe Illustrator : Desain berbasis vector
    * CorelDraw : Desain berbasis vector
    * Macromedia Freehand : Desain berbasis vector

Efek Desain : Hal ini dilakukan untuk menghidupkan desain yang telah kita rancang. Seperti menambah efek cahaya, textur dan manipulasi teks.


  • Macromedia Firework : Efek teks
  • Painter : Memberikan efek lukisan
  • Ulead Photo Impact : Efek frame dan merancangan icon yang cantik.
  • Plugins Photoshop : Seperti Andromeda, Alien Skin, Eye Candy, Kai’s Power Tool dan  Xenofex juga sangat mendukung untuk memberi efek desain sewaktu anda mendesain layout homepage di Photoshop.
Animasi : Penambahan animasi perlu untuk membuat homepage agar kelihatan menarik dan hidup.

    * 3D Studio Max : Untuk membuat objek dan animasi 3D.
    * Gif Construction Set : Membuat animasi file gif
    * Macromedia Flash : Menampilkan animasi berbasis vector yang berukuran kecil.
    * Microsoft Gif Animator : Membuat animasi file gif
    * Swift 3D : Merancang animasi 3D dengan format file FLASH.
    * Swish : Membuat berbagai macam efek text dengan format file FLASH.
    * Ulead Cool 3D : Membuat animasi efek text 3D.

Web Editor : Menyatukan keseluruhan gambar dan tata letak desain, animasi, mengisi halaman web dengan teks dan sedikit bahasa script.

    * Alaire Homesite
    * Cold Fusion
    * Microsoft Frontpage
    * Macromedia Dreamweaver
    * Net Object Fusion

Programming : Hal ini dilakukan setelah sebagian besar desain homepage telah rampung. Programming bertugas sebagai akses database, form isian dan membuat web lebih interaktif. Contoh : Membuat guestbook, Form isian, Forum, Chatting, Portal, Lelang dan Iklanbaris.

    * ASP ( Active Server Page )
    * Borland Delphy
    * CGI ( Common Gateway Interface )
    * PHP
    * Perl

Upload : File html kita perlu di letakkan ( upload ) di suatu tempat ( hosting ) agar orang di seluruh dunia dapat melihat homepage kita.

    * Bullet FTP
    * Cute FTP
    * WS-FTP
    * Macromedia Dreamweaver : dengan fasilitas Site FTP
    * Microsoft Frontpage : dengan fasilitas Publish

Sound Editor : Homepage kita belum hidup tanpa musik. Untuk mengedit file midi atau wav, perlu alat khusus untuk itu.

    * Sound Forge : Mengedit dan menambah efek file yang berformat mp3 dan wav.
    * Cakewalk : Mengedit dan menambah efek untuk file yang berformat midi

Banyak sekali memang software untuk membuat suatu homepage dan kita tidak perlumempelajari semua software tersebut di atas. Tapi untuk mempermudah, bagi pemula lebihbaik dimulai terlebih dulu dengan mempelajari software Microsoft Frontpage atau MacromediaDreamweaver agar lebih mengenal aturan-aturan membuat homepage dan mengenal bahasaSetelah itu baru Adobe Photoshop yang dipakai kebanyakan para desainer.

Search

Bookmark Us

Delicious Digg Facebook Favorites More Stumbleupon Twitter