Monday, 25 May 2015

CATATAN KECIL LANGKAH - LANGKAH ALGORITMA GENETIKA PADA PENERAPANNYA


Algoritma Genetika dan Contoh Aplikasinya


Algoritma genetika adalah algoritma komputasi yang diinspirasi teori evolusi yang kemudian diadopsi menjadi algoritma komputasi untuk mencari solusi suatu permasalahan dengan cara yang lebih “alamiah”. Salah satu aplikasi algoritma genetika adalah pada permasalahan optimasi kombinasi, yaitu mendapatkan suatu nilai solusi optimal terhadap suatu permasalahan yang mempunyai banyak kemungkinan solusi. Dalam tulisan ini akan dibahas teori dasar algoritma genetika beserta contoh aplikasinya dalam menyelesaikan suatu permasalahan optimasi kombinasi sederhana.
Teori Dasar Algoritma Genetika
Algoritma genetika yang dikembangkan oleh Goldberg adalah algoritma komputasi yang diinspirasi teori evolusi Darwin yang menyatakan bahwa kelangsungan hidup suatu makhluk dipengaruhi aturan “yang kuat adalah yang menang”. Darwin juga menyatakan bahwa kelangsungan hidup suatu makhluk dapat dipertahankan melalui proses reproduksi, crossover, dan mutasi. Konsep dalam teori evolusi Darwin tersebut kemudian diadopsi menjadi algoritma komputasi untuk mencari solusi suatu permasalahan dengan cara yang lebih “alamiah”.
Sebuah solusi yang dibangkitkan dalam algoritma genetika disebut sebagai chromosome, sedangkan kumpulan chromosome-chromosome tersebut disebut sebagai populasi. Sebuah chromosome dibentuk dari komponen-komponen penyusun yang disebut sebagai gen dan nilainya dapat berupa bilangan numerik, biner, simbol ataupun karakter tergantung dari permasalahan yang ingin diselesaikan.
Chromosome-chromosome tersebut akan berevolusi secara berkelanjutan yang disebut dengan generasi. Dalam tiap generasi chromosome-chromosome tersebut dievaluasi tingkat keberhasilan nilai solusinya terhadap masalah yang ingin diselesaikan (fungsi_objektif) menggunakan ukuran yang disebut dengan fitness. Untuk memilih chromosome yang tetap dipertahankan untuk generasi selanjutnya dilakukan proses yang disebut dengan seleksi. Proses seleksi chromosome menggunakan konsep aturan evolusi Darwin yang telah disebutkan sebelumnya yaitu chromosome yang mempunyai nilai fitness tinggi akan memiliki peluang lebih besar untuk terpilih lagi pada generasi selanjutnya.

Chromosome-chromosome baru yang disebut  dengan offspring, dibentuk dengan cara melakukan perkawinan antar chromosome-chromosome dalam satu generasi yang disebut sebagai proses crossover. Jumlah chromosome dalam populasi yang mengalami crossover ditetukan oleh paramater yang disebut dengan crossover_rate. Mekanisme perubahan susunan unsur penyusun mahkluk hidup akibat adanya faktor alam yang disebut dengan mutasi direpresentasikan sebagai proses berubahnya satu atau lebih nilai gen dalam chromosome dengan suatu nilai acak. Jumlah gen dalam populasi yang mengalami mutasi ditentukan oleh parameter yang dinamakan mutation_rate. Setelah beberapa generasi akan dihasilkan chromosome-chromosome yang nilai gen-gennya konvergen ke suatu nilai tertentu yang merupakan solusi terbaik yang dihasilkan oleh algoritma genetika terhadap permasalahan yang ingin diselesaikan.
Aplikasi Algoritma Genetika
Berikut adalah contoh aplikasi algoritma genetika yang digunakan untuk menyelesaikan masalah kombinasi. Misalkan ada persamaan a+2b+3c+4d = 30, kita mencari nilai a, b, c, dan d yang memenuhi persamaan diatas. Kita mencoba menggunakan algoritma genetika untuk menyelesaikan permasalahan diatas.
Penjelasan mengenai langkah-langkah penyelesaian permasalahan diatas menggunakan algoritma genetika adalah sebagai berikut:
1. Pembentukan chromosome
Karena yang dicari adalah nilai a, b, c, d maka variabel  a, b, c, d dijadikan sebagai gen-gen pembentuk chromosome. Batasan nilai variabel a adalah bilangan integer 0 sampai 30. Sedangkan batasan nilai variabel b, c, dan d adalah bilangan integer 0 sampai 10.
2. Inisialisasi
Proses inisialisasi dilakukan dengan cara memberikan nilai awal gen-gen dengan nilai acak sesuai batasan yang telah ditentukan.
Misalkan kita tentukan jumlah populasi adalah 6, maka:
Chromosome[1] = [a;b;c;d] = [12;05;03;08]
Chromosome[2] = [a;b;c;d] = [02;01;08;03]
Chromosome[3] = [a;b;c;d] = [10;04;03;04]
Chromosome[4] = [a;b;c;d] = [20;01;10;06]
Chromosome[5] = [a;b;c;d] = [01;04;03;09]
Chromosome[6] = [a;b;c;d] = [20;05;07;01]
3. Evaluasi Chromosome
Permasalahan yang ingin diselesaikan adalah  nilai variabel a, b, c, dan d yang memenuhi persamaan a+2b+3c+4d = 30, maka fungsi_objektif yang dapat digunakan untuk mendapatkan solusi adalah  fungsi_objektif(chromosome) = | (a+2b+3c+4d) – 30 |
Kita hitung fungsi_objektif dari chromosome yang telah dibangkitkan:
fungsi_objektif(chromosome[1]) = Abs(( 12 + 2*5 + 3*3 + 4*8 ) – 30)
= Abs((12 + 10 + 9 + 32 ) – 30)
= Abs(63 – 30)
= 33
fungsi_objektif(chromosome[2]) = Abs(( 2 + 2*1 + 3*8 + 4*3 ) – 30)
= Abs(( 2 + 2 + 24 + 12 ) – 30)
= Abs(40 – 30)
= 10
fungsi_objektif(chromosome[3]) = Abs(( 10 + 2*4 + 3*3 + 4*4 ) – 30)
= Abs(( 10 + 8 + 9 + 16 ) – 30)
= Abs(43 – 30)
= 13
fungsi_objektif(chromosome[4]) = Abs(( 20 + 2*1 + 3*10 + 4*6 ) – 30)
= Abs(( 20 + 2 + 30 + 24 ) – 30)
= Abs(76 – 30)
= 46
fungsi_objektif(chromosome[5]) = Abs(( 1 + 2*4 + 3*3 + 4*9 ) – 30)
= Abs(( 1 + 8 + 9 + 36 ) – 30)
= Abs(54 – 30)
= 24
fungsi_objektif(chromosome[6]) = Abs(( 20 + 2*5 + 3*7 + 4*1 ) – 30)
= Abs(( 20 + 10 + 21 + 4) – 30)
= Abs(55 – 30)
= 25
Rata-rata dari fungsi objektif adalah:
rata-rata = (33+10+13+46+24+25)/6
= 151 / 6
= 25.167
4. Seleksi Chromosome
Proses seleksi dilakukan dengan cara membuat chromosome yang mempunyai fungsi_objektif kecil mempunyai kemungkinan terpilih yang besar atau mempunyai nilai probabilitas yang tinggi. Untuk itu dapat digunakan fungsi fitness = (1/(1+fungsi_objektif)), fungsi_objektif perlu ditambah 1 untuk menghindari kesalahan program yang diakibatkan pembagian oleh 0.
fitness[1]     = 1 / (fungsi_objektif[1]+1)
= 1 / 34
= 0.0294
fitness[2]     = 1 / (fungsi_objektif[2]+1)
= 1 / 11
= 0.0909
fitness[3]    = 1 / (fungsi_objektif[3]+1)
= 1 /  14
= 0.0714
fitness[4]    = 1 / (fungsi_objektif[4]+1)
= 1 / 47
= 0.0212
fitness[5]    = 1 / (fungsi_objektif[5]+1)
= 1 / 25
= 0.0400
fitness[6]    = 1 / (fungsi_objektif[6]+1)
= 1 / 26
= 0.0385
total_fitness     = 0.0294 + 0.0909 + 0.0714 + 0.0212 +  0.04 + 0.0385
= 0.2914
Rumus untuk mencari probabilitas: P[i] = fitness[i] / total_fitness
P[1]     = 0.0294 / 0.2914
= 0.1009
P[2]     = 0. 0909 / 0.2914
= 0.3119
P[3]     = 0. 0714 / 0.2914
= 0.2450
P[4]     = 0. 0212  / 0.2914
= 0.0728
P[5]     = 0.04  / 0.2914
= 0.1373
P[6]     = 0.0385 / 0.2914
= 0.1321
Dari probabilitas diatas dapat kita lihat kalau chromosome ke 2 yang mempunyai fitness paling besar maka chromosome tersebut mempunyai probabilitas untuk terpilih pada generasi selanjutnya lebih besar dari chromosome lainnya. Untuk proses seleksi kita gunakan roulete wheel, untuk itu kita harus mencari dahulu nilai kumulatif probabilitasnya:
C[1]     = 0.1009
C[2]    = 0.1009+ 0.3119
= 0.4128
C[3]     = 0.1009+ 0.3119 + 0.2450
= 0.6578
C[4]     = 0.1009+ 0.3119 + 0.2450 + 0.0728
= 0.7306
C[5]     = 0.1009+ 0.3119 + 0.2450 + 0.0728 + 0.1373
= 0.8679
C[6]     = 0.1009+ 0.3119 + 0.2450 + 0.0728 + 0.1373 + 0.1321
= 1
Setelah dihitung cumulative probabilitasnya maka proses seleksi menggunakan roulete-wheel dapat dilakukan. Prosesnya adalah dengan membangkitkan bilangan acak R dalam range 0-1.
Jika R[k] < C[1] maka pilih chromosome 1 sebagai induk, selain itu pilih chromosome ke-k sebagai induk dengan syarat C[k-1] < R < C[k]. Kita putar roulete wheel sebanyak jumlah populasi yaitu 6 kali (bangkitkan bilangan acak R) dan pada tiap putaran, kita pilih satu chromosome untuk populasi baru. Misal:
R[1] = 0.201
R[2] = 0.284
R[3] = 0.009
R[4] = 0.822
R[5] = 0.398
R[6] = 0.501
Angka acak pertama R[1] adalah lebih besar dari C[1] dan lebih kecil daripada C[2] maka pilih chromosome[2] sebagai chromosome pada populasi baru, dari bilangan acak yang telah dibangkitkan diatas maka populasi chromosome baru hasil proses seleksi adalah:
chromosome[1] = chromosome[2]
chromosome[2] = chromosome[2]
chromosome[3] = chromosome[1]
chromosome[4] = chromosome[5]
chromosome[5] = chromosome[2]
chromosome[6] = chromosome[3]
Chromosome baru hasil proses seleksi:
chromosome[1] = [02;01;08;03]
chromosome[2] = [02;01;08;03]
chromosome[3] = [12;05;03;08]
chromosome[4] = [01;04;03;09]
chromosome[5] = [02;01;08;03]
chromosome[6] = [10;04;03;04]
5. Crossover
Setelah proses seleksi maka proses selanjutnya adalah proses crossover. Metode yang digunakan salah satunya adalah one-cut point, yaitu memilih secara acak satu posisi dalam chromosome induk kemudian saling menukar gen. Chromosome yang dijadikan induk dipilih secara acak dan jumlah chromosome yang mengalami crossover dipengaruhi oleh parameter crossover_rate  ( ρc ).
Pseudo-code untuk proses crossover adalah sebagai berikut:
begin
k← 0;
while(k<populasi) do
R[k] ← random(0-1);
if (R[k] < ρc ) then
select Chromosome[k] as parent;
end;
k = k + 1;
end;
end;
Misal kita tentukan crossover probability adalah sebesar 25%, maka diharapkan dalam satu generasi ada 50% Chromosome (3 chromosome) dari satu generasi mengalami proses crossover. Prosesnya adalah sebagai berikut:
Pertama kita bangkitkan bilangan acak R sebanyak jumlah populasi
R[1] = 0.191
R[2] = 0.259
R[3] = 0.760
R[4] = 0.006
R[5] = 0.159
R[6] = 0.340
Maka Chromosome ke k akan dipilih sebagai induk jika R[k] < ρc, dari bilangan acak R diatas maka yang dijadikan induk adalah chromosome[1], chromosome[4] dan chromosome[5].
Setelah melakukan pemilihan induk proses selanjutnya adalah menentukan posisi crossover. Ini dilakukan dengan cara membangkitkan bilangan acak dengan batasan 1 sampai (panjang chromosome-1), dalam kasus ini bilangan acak yang dibangkitkan adalah 1 – 3. Misalkan didapatkan posisi crossover adalah 1 maka chromosome induk akan dipotong mulai gen ke 1 kemudian potongan gen tersebut saling ditukarkan antar induk.
chromosome[1] >< chromosome[4]
chromosome[4] >< chromosome[5]
chromosome[5] >< chromosome[1]
Posisi cut-point crossover dipilih menggunakan bilangan acak 1-3 sebanyak jumlah crossover yang terjadi, misal
C[1] = 1
C[2] = 1
C[3] = 2
offspring[1] = chromosome[1] >< chromosome[4]
= [02;01;08;03] ><  [01;04;03;09]
= [02;04;03;09]
offspring[4] = Chromosome[4] >< Chromosome[5]
= [01;04;03;09] >< [02;01;08;03]
= [01;01;08;03]
offspring[5] = Chromosome[5] >< Chromosome[1]
= [02;01;08;03] >< [02;01;08;03]
= [02;01;08;03]
Dengan demikian populasi Chromosome setelah mengalami proses crossover menjadi:
chromosome[1] = [02;04;03;09]
chromosome[2] = [02;01;08;03]
chromosome[3] = [12;05;03;08]
chromosome[4] = [01;01;08;03]
chromosome[5] = [02;01;08;03]
chromosome[6] = [10;04;03;04]
6. Mutasi
Jumlah chromosome yang mengalami mutasi dalam satu populasi ditentukan oleh parameter mutation_rate. Proses mutasi dilakukan dengan cara mengganti satu gen yang terpilih secara acak dengan suatu nilai baru yang didapat secara acak. Prosesnya adalah sebagai berikut. Pertama kita hitung dahulu panjang total gen yang ada dalam satu populasi. Dalam kasus ini panjang total gen adalah total_gen     = (jumlah gen dalam chromosome) * jumlah populasi
= 4 * 6
= 24
Untuk memilih posisi gen yang mengalami mutasi dilakukan dengan cara membangkitkan bilangan integer acak antara 1 sampai total_gen, yaitu 1 sampai 24. Jika bilangan acak yang kita bangkitkan lebih kecil daripada variabel mutation_rate (ρm) maka pilih posisi tersebut sebagai sub-chromosome yang mengalami mutasi. Misal ρm kita tentukan 10% maka diharapkan ada 10% dari total_gen yang mengalami populasi:
jumlah mutasi      = 0.1 * 24
= 2.4
= 2
Misalkan setelah kita bangkitkan bilangan acak terpilih posisi gen 12 dan 18 yang mengalami mutasi. Dengan demikian yang akan mengalami mutasi adalah chromosome ke-3 gen nomor 4 dan Chromosome ke-5 gen nomor 2. Maka nilai gen pada posisi tersebut kita ganti dengan bilangan acak 0-30.
Misalkan bilangan acak yang terbangkitkan adalah 2 dan 5. Maka populasi chromosome setelah mengalami proses mutasi adalah:
chromosome[1] = [02;04;03;09]
chromosome[2] = [02;01;08;03]
chromosome[3] = [12;05;03;02]
chromosome[4] = [01;01;08;03]
chromosome[5] = [02;05;08;03]
chromosome[6] = [10;04;03;04]
Setelah proses mutasi maka kita telah menyelesaikan satu iterasi dalam algoritma genetika atau disebut dengan satu generasi. Maka fungsi_objective setelah satu generasi adalah:
chromosome[1]     = [02;04;03;09]
fungsi_objektif[1]     = Abs(( 2 + 2*4 + 3*3 + 4*9 ) – 30)
= Abs(( 2 + 8 + 9 + 36 ) – 30)
= Abs( 55 – 30)
= 25
chromosome[2]     = [02;01;08;03]
fungsi_objektif[2]    = Abs(( 2 + 2*1 + 3*8 + 4*3 ) – 30)
= Abs(( 2 + 2 + 24 + 12 ) – 30)
= Abs(40 – 30)
= 10
chromosome[3]     = [12;05;03;02]
fungsi_objektif[3]    = Abs(( 12 + 2*5 + 3*3 + 4*2 ) – 30)
= Abs(( 12 + 10 + 9 + 8 ) – 30)
= Abs(39 – 30)
= 9
chromosome[4]     = [01;01;08;03]
fungsi_objektif[4]    = Abs(( 1 + 2*1 + 3*8 + 4*3 ) – 30)
= Abs(( 1 + 2 + 24 + 12 ) – 30)
= Abs(39 – 30)
= 9
chromosome[5]     = [02;05;08;03]
fungsi_objektif[5]    = Abs(( 2 + 2*5 + 3*8 + 4*3 ) – 30)
= Abs(( 2 + 10 + 24 + 12 ) – 30)
= Abs(48 – 30)
= 18
chromosome[6]     = [10;04;03;04]
fungsi_objektif[6]    = Abs(( 10 + 2*4 + 3*3 + 4*4 ) – 30)
= Abs(( 10 + 8 + 9 + 16 ) – 30)
= Abs(43 – 30)
= 13
Rata-rata fungsi objektif setelah satu generasi adalah:
rata-rata = ( 25 + 10 + 9 + 9 + 18 + 13) / 6
= 84 / 6
= 14.0
Dapat dilihat dari hasil perhitungan fungsi objektif diatas bahwa setelah satu generasi, nilai hasil rata-rata fungsi_objektif lebih menurun dibandingkan hasil fungsi_objektif pada saat sebelum mengalami seleksi, crossover dan mutasi. Hal ini menunjukkan bahwa chromosome atau solusi yang dihasilkan setelah satu generasi lebih baik dibandingkan generasi sebelumnya. Maka pada generasi selanjutnya chromosome-chromosome yang baru adalah:
chromosome[1] = [02;04;03;09]
chromosome[2] = [02;01;08;03]
chromosome[3] = [12;05;03;02]
chromosome[4] = [01;01;08;03]
chromosome[5] = [02;05;08;03]
chromosome[6] = [10;04;03;04]
Chromosome-chromosome ini akan mengalami proses yang sama seperti generasi sebelumnya yaitu proses evaluasi, seleksi, crossover dan mutasi yang kemudian akan menghasilkan chromosome-chromosome baru untuk generasi yang selanjutnya. Proses ini akan berulang sampai sejumlah generasi yang telah ditetapkan sebelumnya.
Setelah 50 generasi didapatkan chromosome yang terbaik adalah:
Chromosome = [07;05;03;01]
Jika didekode maka:
a=7 ; b=5 ; c=3 ; d=1
Jika dihitung terhadap persamaan f = a+2b+3c+4d:
7 + (2*5) + (3*3) + (4*1) = 30
Penutup
Pada contoh diatas telah diberikan contoh mengenai penerapan algoritma genetika untuk mencari solusi suatu persamaan matematis sederhana. Source code dalam bahasa Java untuk contoh diatas dapat didownload di milis sc-ina yahoogroups:
Denny Hermawanto
http://groups.yahoo.com/group/sc-ina/ atau http://soft-computing.org

dari :
http://www.firman-its.com/2007/05/17/algoritma-genetika-dan-contoh-aplikasinya/
Continue reading CATATAN KECIL LANGKAH - LANGKAH ALGORITMA GENETIKA PADA PENERAPANNYA

Sunday, 19 April 2015

CATATAN kecil Kombinasi Pencarian dengan Radio Button dan Ms. Acces

Hai,.., apa kabar Semua,q dapat pertanyaan dari temen ku nih,  tentang radio button.
Dalam pengembaraan mencari coding tentang radio button pada VB.net q menemukan sebuah pencerahan untuk menyelesaikan masalah yang sedang q hadapi, Lets go...

q tuh pengen form seperti ini :
Imports System.Data.OleDb

Public Class Form1

    Dim tabel As OleDb.OleDbDataAdapter
    Dim data As DataSet
    Dim record As New BindingSource
    Dim input As String
 
#Region "olahan"
    Sub tampilkandata()
        da = New OleDbDataAdapter("select*from DATAKU", conn)
        ds = New DataSet
        ds.Clear()
        da.Fill(ds, "DATAKU")
        DataGridView1.DataSource = (ds.Tables("DATAKU"))
        DataGridView1.ReadOnly = True
    End Sub
 
//untuk mencari  berdasarkan warkat ( Kode)
    Sub searchrecordwarkat()
        If Me.txtcari.Text = "" Then
            MsgBox("Isikan Kata Kunci Pencarian", MsgBoxStyle.Information, "Peringatan")
            Me.txtcari.Focus()
            Exit Sub
        End If
        Try
            da = New OleDbDataAdapter("Select warkat as [Warkat], nama as [Nama], no_seri as [Nomer Seri kupon], Alamat as [Alamat], no_hp as [Nomer HP], tgl_buka as [Tanggal Buka], nominal as [Nominal], jangka_waktu as [Jangka Waktu], jumlah_kupon as [Jumlah Kupon], tgl_tempo as [Tanggal Tempo] from DATAKU where warkat='" & txtcari.Text & "'", conn)
            Dim transaksi As New DataTable
            transaksi.Clear()
            da.Fill(transaksi)
            If transaksi.Rows.Count = Nothing Then
                MsgBox("Data Tidak Ditemukan, Masukkan warkat Dengan Tepat !!!", MsgBoxStyle.Information, "Peringatan")
                txtcari.Clear()
                txtcari.Focus()
                Exit Sub
            End If
            DataGridView1.DataSource = transaksi
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Information, "Peringatan")
        End Try
    End Sub
 
//Untuk mencari berdasarkan Nama
    Sub searchrecordnama()
        If Me.txtcari.Text = "" Then
            MsgBox("Isikan Kata Kunci Pencarian", MsgBoxStyle.Information, "Peringatan")
            Me.txtcari.Focus()
            Exit Sub
        End If
        Try
            da = New OleDbDataAdapter("Select warkat as [Warkat], nama as [Nama], no_seri as [Nomer Seri kupon], Alamat as [Alamat], no_hp as [Nomer HP], tgl_buka as [Tanggal Buka], nominal as [Nominal], jangka_waktu as [Jangka Waktu], jumlah_kupon as [Jumlah Kupon], tgl_tempo as [Tanggal Tempo] from DATAKU where nama like'%" & txtcari.Text & "%'", conn)
            Dim transaksi As New DataTable
            transaksi.Clear()
            da.Fill(transaksi)
            If transaksi.Rows.Count = Nothing Then
                MsgBox("Data Tidak Ditemukan, Masukkan warkat Dengan Tepat !!!", MsgBoxStyle.Information, "Peringatan")
                txtcari.Clear()
                txtcari.Focus()
                Exit Sub
            End If
            DataGridView1.DataSource = transaksi
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Information, "Peringatan")
        End Try
    End Sub

#End Region
//MULAI UNTUK BEKERJA MENAMPILKAN PADA FORM
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If RadioButton1.Checked = True Then //JIKa RB1 di pilih Maka
            searchrecordwarkat() //akan mensearchrecordwarkat()
            DataGridView1.Refresh()
            txtcari.Clear()

        ElseIf RadioButton2.Checked = True Then //Jika salah dan RB2 di pilih Maka
            searchrecordnama() //akan mensearchrecordnama()
            DataGridView1.Refresh()
            txtcari.Clear()

        End If
    End Sub

//Yang akan tampil saat Pertama FORM Dijalankan

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call koneksi() //berkoneksi dengan database
        Call tampilkandata() //kemudian menampilkandata yang telah di panggil di "sub tampilkandata()"
    End Sub

'    Private Sub RadioButton1_CheckedChanged(ByVal sender As Object, ByVal e As 'System.EventArgs) Handles RadioButton1.CheckedChanged
 '       txtcari.Focus()
  '  End Sub
End Class

CATATAN : JANGAN LUPA membuat koneksinya y..., dan panggil .
Saat mencari dengan Option Warkat / Kode yang di pilih




Saat mencari dengan Option Nama yang di pilih :



Continue reading CATATAN kecil Kombinasi Pencarian dengan Radio Button dan Ms. Acces

Friday, 20 March 2015

Manfaat Dan Keuntungan Internet Banking


e-bankingManfaat dan keuntungan internet banking. Akhir-akhir ini penggunaan internet seakan-akan tidak bisa dipisahkan dalam menunjang aktivitas dan kegiatan kita sehari-hari.  Banyak aktivitas kita saat ini yang memerlukan koneksi internet sebagai penunjangnya. Penggunaan koneksi internet paling banyak digunakan dalam kegiatan bisnis. Dengan bantuan koneksi internet, pasal global pun terbuka bagi siapa saja tanpa harus mempermasalahkan jarak dan waktu. Sistem pembayaran barang dan jasa pun semakin mudah dengan adanya transaksi secara online. Sehubungan dengan hal tersebut maka pengelola bank pun baik pemerintah maupun swasta sebagai pengelola dana masyarakat berlomba-lomba menciptakan sistem transaksi yang memungkinkan seseorang melakukan pembayaran ataupun transaki perbankan lainnya tanpa harus datang ke bank secara langsung. Sistem tersebut kini popular dengan sebutan e-Banking atau internet banking. Sebenarnya apa yang dimaksud dengan internet banking? Dan apa saja yang bisa kita lakukan dengan memanfaatkan layanan internet banking? Sebelum mengetahui tentang berbagai layanan yang terdapat dalam internet banking, mari kita bahas sedikit tentang pengertian internet banking itu sendiri.
E-Banking atau electronic banking atau yang sering disebut internet banking merupakan suatu layanan yang diciptakan oleh bank (swasta maupun pemerintah) dengan memanfaatkan teknologi internet, sebagai media untuk melakukan berbagai macam transaksi yang berhubungan dengan transaksi perbankan. Layanan internet banking ini menggunakan jaringan internet sebagai perantara atau penghubung antara nasabah dan pihak bank. Selain itu, bentuk trasaksi yang dilakukan pun bersifat maya, atau tanpa memerlukan proses tatap muka antara nasabah dan petugas bank yang bersangkutan. Dengan kata lain internet banking merupakan kebalikan dari proses transaksi perbankan konvensional, dimana pada proses transaksi konvensional diperlukan tatap muka antara langsung antara pihak bank dan juga nasabah, maka hal itu tidak diperlukan jika kita menggunakan layanan internet banking ketika melakukan transaksi perbankan. Transaksi yang dilakukan pun bersifat maya, artinya semua transaksi dilakukan dengan dukungan koneksi internet dan tanpa tatap muka langsung dengan pihak bank. Dengan bermodalkan koneksi internet yang kita miliki, baik itu melalui PC, telefon genggam, maupun tablet, transaksi internet banking pun dapat kita lakukan dimanapun.
Saat ini hampir semua bank di Indonesia telah memiliki layanan internet banking. Berbagai macam transaksi pun dapat dilakukan secara online. Namun transaksi apa saja yang dapat kita lakukan melalui internet banking? Memang tidak semua bank memiliki jenis layanan internet banking yang sama, tetapi pada umumnya mereka memiliki layanan seperti di bawah ini. Berikut beberapa manfaat dan keuntungan internet banking :
Cek saldo
Ingin melihat jumlah saldo yang kita miliki? Tidak perlu jauh-jauh datang ke bank atau ATM, cukup dengan memanfaatkan fasilitas internet banking maka kita sudah bisa mengetahui jumlah saldo yang ada di rekening kita dimana saja kita berada.
Pembayaran tagihan
Saat ini kita cukup mengakses akun kita melalui komputer ataupun telefon genggam untuk membayar tagihan kita sehari-hari seperti listrik, air,  telefon, pulsa, tagihan sekolah anak dan lainnya yang tentu saja sudah terintegrasi dengan pihak bank. Dengan proses yang cepat, maka pembayaran tagihan pun sudah bisa dilaksanakan tanpa harus datang langsung ke tempat pembayaran seperti biasa.
Transfer uang non tunai
Jika biasanya kita mendatangi ATM terdekat untuk melakukan transfer, maka dengan layanan internet banking kita cukup mengakses rekening kita melalui komputer maupun telefon, cukup dengan menuliskan nominal yang ingin kita transfer dari rekening kita ke rekening yang dituju, maka uang pun sudah berpindah secara cepat.
Pemesanan tiket
Bila kita berniat melakukan perjalanan menggunakan pesawat ataupun kereta api dan malas mengantri untuk membeli tiket, saat ini hal tersebut bisa dilakukan sambil asyik menonton televisi atau sambil membaca koran. Dengan memanfaatkan layanan internet banking, pemesanan tiket baik itu pesawat maupun kereta api bisa dilakukan tanpa harus datang ke bandara ataupun stasiun terdekat.
Memang tidak semua transaksi perbankan dapat dilakukan melaui layanan internet banking. Sebagai contoh, jika kita ingin membuka rekening baru di suatu bank, maka mau tidak mau kita harus datang langsung ke bank yang bersangkutan untuk mengisi formulir data diri dan melengkapi persyaratan lainnya. Selain itu beberapa bank juga memiliki layanan yang berbeda untuk internet banking mereka, namun contoh diatas secara umum telah dimiliki semua bank yang memiliki layanan internet banking dalam sistem mereka. Demikian ulasan mengenai manfaat dan keuntungan internet banking. Semoga ulasan ini bisa menjadi gambaran bahwa saat ini transaksi perbankan di Indonesia telah cukup modern dan diharapkan kualitas pelayanan perbankan bisa lebih ditingkatkan demi kepuasan nasabah dan yang lebih penting dapat membantu meningkatkan perekonomian negara kita tercinta ini. Semoga!!
Continue reading Manfaat Dan Keuntungan Internet Banking

Macam Macam Layanan Di Internet


Layanan ini menyediakan informasi yang dapat diakses dan ditampilkan secara langsung di computer client dengan menggunakan protocol HTTP (HyperText Transfer Protocol) dan program aplikasi browser internet.



FTP (File Transfer Protocol)


Layanan ini digunakan untuk memnidahkan file dari satu computer ke computer lain di internet dengan konsep client server. Sebagai pengguna client, kamu bisa mengkopi file yang tersedia pada computer server di internet menggunakan layanan FTP.


e-mail (electronic mail)


Fasilitas ini digunakan untuk komunikasi pengguna internet melalui surat elektronik, yaitu surat dalam bentuk file yang bisa dibuka/dibaca di computer. Pengguna ingin memanfaatkan layanan ini harus mendaftar pada computer server yang menyediakan layanan e-mail.



Milist (Mailing List)
Mailing List merupakan sebuah alamat e-mail yang didalamnya berisi kumpulan alamat e-mail anggotanya. Dengan mengirim pesan ke sebuah milist, pesan akan mengirim ke semua anggota milist tersebut. Milist dapat digunakan sebagai sarana diskusi di internet. Sebuah milist dapat diproteksi sehingga anggota-anggotanya saja yang bisa mengirim pesan ke milist tersebut.



Newsgroups.
Newsgroups adalah juga salah satu discussion groups yang ada di internet. Tidak seperti milis, newsgroups menggunakan komputer jaringan khusus yang disebut sebagai UseNet. Setiap komputer terdapat beberapa newsgroup. Setiap newsgroups diatur berdasarkan satu topik general yang kemudian dibagi menjai beberapa subtopik dibawahnya.
Telnet
Beberapa server di internet memperbolehkan kita untuk mengaksesnya dan menjalankan beberapa program yang diinstal pada komputer itu. Layanan ini disebut sebagai telnet. Penggunaan server ini sama seperti kalau kita melakukannya pada komputer di jaringan lokal.
Gopher
Gopher adalah aplikasi perangkat lunak yang tesusun atas untaian menu sistem pencarian dan penemuan kembali. Situs Gopher adalah komputer yang menampilkan menu-menu yang mewakili data dan informasi yang tersedia. Secara mendasar, menu-menu ini adalah daftar isi untuk mengolah dan menunjuk ke sebuah informasi tertentu. Layanan ini menggunakan FTP untuk pertukaran file dan Telnet untuk koneksi dengan server tertentu.
IRC (Internet Relay Chat)
Layanan ini hampir sama dengan newsgroup, tetapi tidak dikhususkan pada topic tertentu. Untuk menggunakan layanan ini (chatting), pengguna biasanya cukup mendaftar ke server IRC yang diinginkan.
VoIP (Voice over Internet Protocol)


VoIP merupakan layanan untuk menelpon melalui internet. Cara ini dapat menghemat pulsa interlokal/internasional karena akses internet hanya menggunakan pulsa telepon local.
Continue reading Macam Macam Layanan Di Internet

SEJARAHNYA INTERNET DI DUNIA


Di tahun 1957 Rusia meluncurkan Sputnik, satelit buatan pertama. Amerika merespon dengan mendirikan ARPA (Advanced Research Projects Agency) Kenapa penting? Karena Sputnik mengawali era informasi global (melalui pengiriman data lewat satelit). Saat itu Amerika sedang giat2nya bersaing dengan Uni Sovyet dalam bidang teknologi militer dan ruang angkasa.

Di tahun 1960 ARPANET (Advanced Research Projects Agency Network) mulai dirancang dan dibangun . ARPANET  adalah jaringan komunikasi antar komputer pertama, berbasis packet switching & merupakan cikal bakal internet.Terbaca bahwa UCLA (Los Angeles) sedang berusaha berhubungan dengan SRI (Stanford Research Institute).Jaringan macet saat login pada saat memproses huruf G   ;-).Jaringan ARPANET pertama memiliki 4 node: UCLA, SRI, UCSB (Santa Barbara) dan Universty of Utah. ketika itu Departemen Pertahanan Amerika, U.S. Defense Advanced Research Projects Agency(DARPA) memutuskan untuk mengadakan riset tentang bagaimana cara menghubungkan sejumlah komputer sehingga membentuk jaringan organik.
Program riset ini dikenal dengan nama ARPANET. Pada 1970, sudah lebih dari 10 komputer yang berhasil dihubungkan satu sama lain sehingga mereka bisa saling berkomunikasi dan membentuk sebuah jaringan.
Di tahun 1971 ARPANET memiliki 14 node dan E-mail pertama diciptakan. Email digunakan sampai saat ini. Pada 1971 ada yang penting di dunia komputer: Intel 4004 lahir, merupakan komputer pertama yang menggunakan chip (menggantikan transistor). Gutenberg Project dimulai. Project ini membuat digital library dari buku2 yang bebas royalti. Saat ini ada 16,000 judul  (www.gutenberg.org).
Di tahun 1972 konvensi alamat email diciptakan oleh Ray Tomlinson.(name@host). Program e-mail ini begitu mudah sehingga langsung menjadi populer. Pada tahun yang sama, icon @juga diperkenalkan sebagai lambang penting yang menunjukkan “at” atau “pada”. Tahun 1973, jaringan komputer ARPANET mulai dikembangkan ke luar Amerika Serikat. Komputer University College di London merupakan komputer pertama yang ada di luar Amerika yang menjadi anggota jaringan Arpanet. Pada tahun yang sama, dua orang ahli komputer yakni Vinton Cerf dan Bob Kahn mempresentasikan sebuah gagasan yang lebih besar, yang menjadi cikal bakal pemikiran internet. Ide ini dipresentasikan untuk pertama kalinya di Universitas Sussex.
Di tahun 1973 Koneksi internasional pertama dari ARPANET, antara Inggris dan Norwegia,Konsep ethernet muncul dalam thesis Bob Metcalfe.Email menghabiskan 75% traffic ARPANET.
Di tahun 1975 Mailing List pertama dibentuk di Arpanet.
Di tahun 1976 (Ratu Elizabeth mengirim email) ketika Ratu Inggris berhasil mengirimkan e-mail dari Royal Signals and Radar Establishment di Malvern. Setahun kemudian, sudah lebih dari 100 komputer yang bergabung di ARPANET membentuk sebuah jaringan atau network. Pada 1979, Tom Truscott, Jim Ellis dan Steve Bellovin, menciptakan newsgroups pertama yang diberi nama USENET. Tahun 1981 France Telecom menciptakan gebrakan dengan meluncurkan telpon televisi pertama, dimana orang bisa saling menelpon sambil berhubungan dengan video link. Karena komputer yang membentuk jaringan semakin hari semakin banyak, maka dibutuhkan sebuah protokol resmi yang diakui oleh semua jaringan. Pada tahun 1982 dibentuk Transmission Control Protocol atau TCP dan Internet Protokol atau IP yang kita kenal semua. Sementara itu di Eropa muncul jaringan komputer tandingan yang dikenal dengan Eunet, yang menyediakan jasa jaringan komputer di negara-negara Belanda, Inggris, Denmark dan Swedia. Jaringan Eunet menyediakan jasa e-mail dan newsgroup USENET. Untuk menyeragamkan alamat di jaringan komputer yang ada, maka pada tahun 1984 diperkenalkan sistem nama domain, yang kini kita kenal dengan DNS atau Domain Name System. Komputer yang tersambung dengan jaringan yang ada sudah melebihi 1000 komputer lebih. Pada 1987 jumlah komputer yang tersambung ke jaringan melonjak 10 kali lipat manjadi 10.000 lebih.
Di tahun 1978 TCP menjadi TCP dan IP.
Di tahun 1979 News Group lahir dan MUD(multiuser dungeon)pertama lahir. News Group adalah repository dari diskusi lewat internet, menggunakan Usenet (distributed internet discussion system).
Usenet menggunakan UUCP (Unix to Unix Copy Protocol).Usenet masih banyak digunakan saat ini.Hampir setiap topik punya news group tersendiri,tapi tentu saja saat ini semua telah digeser fungsinya oleh mailing list. MUD adalah game multiuser online pertama.Game petualangan / role playing game (RPG).Jangan membayangkan seperti game online saat ini.
MUD berbasis teks, mainnya lewat email, atau mirip chatting gitu.
Di tahun 1980 ARPANET macet total gara-gara virus pada tanggal 27 Oktober 1980.
Di tahun 1982 TCP/IP digunakan pada jaringan ARPANET dan diciptakannya Game action multiplayer pertama(Snipes).
Di tahun 1983/1984 TCP/IP distandarkan ARPANET ,Internet semakin besar, jumlah node semakin banyak dan Domain Name Server (DNS) dikembangkan  serta alamat email name@host.domain disarankan .
Di tahun 1988 Internet worm (Morris WORM) menggerogoti jaringan internet, mengacaukan 6000 host (dari 60000 host yang ada saat itu) dan Internet Relay Chat (IRC) dikembangkan oleh Jarkko Oikarinen.
Di tahun 1989 Tim Berners-Lee mengusulkan hypertext system yang bisa digunakan secara cross-platform di jaringan internet. Itulah WWW.
Di tahun 1990 Ada 300,000 host saat ini ,ada 1,000 news groups,ARPANET lenyap , File sudah bisa dikirim/diambil lewat FTP,ISP komersial pertama: The World (world.std.com).
Di tahun 1991 WAIS (Wide Area Information Servers) cikal bakal indexing dan search engine,Gopher muncul ,World Wide Web (WWW) dirilis oleh CERN,Web server pertama: nxoc01.cern.ch(telah dilaunch November 1990),PGP (Pretty Good Privacy) muncul .
Di tahun 1992,komputer yang saling tersambung membentuk jaringan sudah melampaui sejuta komputer, dan di tahun yang sama muncul istilah surfing the internet. Tahun 1994, situs internet telah tumbuh menjadi 3000 alamat halaman, dan untuk pertama kalinya virtual-shopping atau e-retail muncul di internet. Dunia langsung berubah. Di tahun yang sama Yahoo! didirikan, yang juga sekaligus kelahiran Netscape Navigator 1.0.
Di tahun 1993 InterNIC dibentuk ,Bisnis dan media mulai merambah internet,Indonesia mendapat nama untuk domain: ID.Browser yang  graphical based muncul: Mosaic.
Di tahun 1994 Point penting dalam e-commerce, pada  tahun ini Pizza Hut melayani pemesanan pizza lewat internet .
Di tahun 1995(23 Mei) Sun meluncurkan JAVA,RealAudio,(audio streaming yang hampir realtime muncul )Trafik WWW melebihi FTP,Perusahaan internet berjaya. VRML muncul (aplikasi 3 dimensi lewat browser).
Di tahun 1996-2004
1996 Microsoft dan Netscape memulai kancah peperangan web browser.
1998 XML muncul ,2000 Wireless device muncul ,2000 ASP berjaya .
Tahun 2000 Napster (program P2P untuk sharing musik) berjaya.
Tapi akhirnya mendapat kesulitan di tahun2 berikutnya karena masalah hak cipta.
2001 Teknologi P2P marak.
2002 Blogger mulai marak.
Continue reading SEJARAHNYA INTERNET DI DUNIA

Sejarah dan Pengetahuan Umum TIK

Ray Tomlinson, Sang Ilmuwan AS “Penemu” Format Email Modern


Email sudah menjadi bagian dari kehidupan sehari-hari khususnya bagi masyarakat modern di seluruh penjuru dunia. Namun tahukah anda siapa yang menciptakan format “@” di email yang sekarang anda gunakan? Orang yang berjasa membuat standard format email seperti yang anda gunakan sekarang adalah Ray Tomlinson.
Ray adalah seorang ilmuwan lulusan MIT asal AS yang pada tahun 1971 menciptakan sistem pesan elektronik seminal pertama di dunia.
Pada tahun 60-an, Ray bekerja untuk sebuah perusahaan bernama Bolt Beranek & Newman (BBN), yang merupakan kontraktor dari pihak militer AS. BBN sendiri memiliki peranan yang luar biasa penting dalam pembangunan sistem infrastruktur internet awal yang dinamakan ARPANet, sebuah jaringan interkoneksi antar organisasi riset di seluruh penjuru AS.
Ilmuwan komputer pada saat itu sudah bertukar pesan menggunakan komputer mereka melalui jaringan ARPANet, bahkan pada tahun 60-an ilmuwan sudah mulai menggunakan format email awal yang dinamakan “mail” dikembangkan oleh Tom Van Vleck. Ray Tomlinson kemudian mendalami sistem email awal tersebut dan mengembangkan program “SNDMSG” kependekan dari “Send Message” untuk menggantikan “mail”. Program buatan Ray inilah yang pertama kali menggunakan “@” untuk mendeskripsikan nama komputer (server) yang dituju untuk pertama kalinya.
Ketika ditanya kenapa memutuskan untuk menggunakan tombol “@”, Ray mengatakan bahwa semua tombol yang lain yang ada di keyboard sudah digunakan sebagai username oleh pengguna, tidak banyak pilihan yang ada. Simbol “@” sangat masuk akal untuk diartikan sebagai “at” yang menunjukkan dimana (server) tempat user berada.
Pada tahun 1972, Ray dan BBN akhirnya mengimplementasikan “SNDMSG” buatannya ke beberapa mesin milik ARPANet dan akhir format “@” yang dikembangkan Ray kemudian digunakan sebagai standard untuk format email sampai sekarang meskipun Ray mengaku tidak pernah menyebut sistem yang dia miliki sebagai “e-mail” atau “electronicmaila".

sumber : http://www.trenologi.com/20120731950/berkenalan-dengan-ray-tomlinson-sang-ilmuwan-penemu-format-email-modern/
Continue reading Sejarah dan Pengetahuan Umum TIK

Monday, 9 March 2015

BOOTSTRAP

Bootstrap adalah Front-end framework untuk membuat sebuah website yang responsive atau dapat dijalankan disemua ukuran layar, contohnya sseperti di handphone, tab, dekstop, dan lain - lainnya.
Sekarang saya sedang belajar Bagaimana membuat sebuah table responsive menggunakan Bootstrap.
pertama saya buat struktur HTML kemudian menambahkan struktur <table> kemudian menambahkan class.table didalam elemen <table> untuk mendapatkan tampilan table sedehana di dalam bootstrap. seperti di bawah ini saya mendapatkan artikel dari : https://www.kodingweb.com/bootstrap3/tutorial-bootstrap-tabel-pada-bootstrap/

Tabel Standar pada Bootstrap

Kelas tabel standar (.table) pada Bootstrap memiliki padding yang tipis dan hanya dipisahkan oleh garis horizontal.
tutorial bootstrap - basic table

Baris dengan Warna Selang Seling

Kelas .table-striped menambahkan strip selang seling pada tabel :
tutorial bootstrap - basic table striped

Table-Bordered

Menambahkan batas pada sisi-sisi tabel dan sel.
tutorial bootstrap - basic table bordered

Table-Hover

.table-hover akan menyebabkan baris pada tabel berubah warna saat mouse berada di atasnya.
tutorial bootstrap - basic table hover

Table-Condensed

.table-condensed membuat tabel menjadi lebih rapat dengan mengurangi ukuran cell padding menjadi setengahnya.
tutorial bootstrap - basic table condensed

Class Contextual

Class Contextual dapat digunakan untuk memodifikasi warna pada baris (<tr>) atau sell (<td>).
tutorial bootstrap - basic table kontekstual
Class Contextual yang dapat digunakan :
tutorial bootstrap - class contextual

ada juga saya temukan artikel dari : http://www.dumetschool.com/blog/Membuat-Table-Dengan-Bootstrap
dan ini yang membahas tentang form pada bootstrap : http://www.dumetschool.com/blog/Membuat-Form-Menggunakan-Bootstra
sayangnya tidak dapat di copy. hiks hiks.., tapi  tak apalah , ini buat catatan saya. Semoga bermanfaat. ya... :)
Continue reading BOOTSTRAP