Lazada Indonesia

Friday, March 8, 2013

Ultrasound

Ultrasound atau juga bisa disebut juga ultrasonik adalah berosilasinya tekanan udara yang memiliki frekuensi diatas ambang pendengaran manusia. Sebenarnya, ultrasound tidak terlepas dari gelombang suara pada umumnya, namun hanya berbeda pada beberapa nilai secara fisis. Secara umum, gelombang suara yang dapat didengar oleh manusia dewasa adalah berkisar antara 20 Hz sampai 20 kHz. Sementara itu ultrasound berada pada level frekuensi di atas 20 kHz sampai beberapa GHz.
Pembagian range frekuensi suara
Ultrasound digunakan pada banyak aplikasi, tapi pada dasarnya memiliki kesamaan tujuan yaitu mengukur jarak suatu objek dan mengetahui keberadaannya. Pada bidang kedokteran, salah satu aplikasinya adalah sonography yang berfungsi untuk imaging bagian tubuh/organ manusia yang berada didalam tubuh. Untuk aplikasi lain, bisa digunakan untuk inspeksi tanpa merusak (Non Destruktif Testing).
[baca selengkapnya]

Sunday, March 3, 2013

Simulasi Rangkaian Elektronik Dengan Altium

Sebelum membuat sebuah rangkaian elektronik, harus dilakukan sebuah simulasi dengan software untuk mendapatkan nilai yang optimal dari perhitungan/desain yang telah dilakukan sebelumnya. Sebuah simulasi rangkaian merupakan tahap yang dapat menghemat waktu dan biaya dalam sebuah project elektronik. Karena dengan melakukan simulasi terlebih dahulu, kita bisa mendapatkan nilai yang dibutuhkan tanpa mengeluarkan biaya untuk membeli komponen yang dibutuhkan. Salah satu simulator rangkaian elektronik yang dapat digunakan adalah Altium Desainer. Altium menyediakan library komponen dari berbagai vendor, sehingga akan mempermudah pekerjaan.
Dari hukum Ohm, kita bisa mendapat nilai tegangan yang berbeda dengan menentukan nilai resistansi.
Untuk mensimulasikan sebuah rangkaian pembagi tegangan, ikuti tutorial berikut ini:
1. Buka program Altium Desainer, disini digunakan Altium Desainer Release 10
awal
Tampilan Awal Althium
2. Tempatkan symbol Voltage Source melalui icon berikut:

Baca selengkapnya di

Power Supply +10V/-10V dan +12V/-12V

(Gambar rangkaian +12V dan -12V)
(Gambar rangkaian +12V dan -12V)
untuk membuat power supply +12V/-12V dapat menggunakan sebuah trafo yang memiliki output CT (Center Tap) dan menggunakan sebuah diode bridge. Untuk mendapatkan output negatif, maka dua buah capasitor dihubungkan antara kutup + dan – antara yang satu dan yang lain menjadi output ground. Sehingga dari capasitor tersebut didapatkan 3 titik output positif (+), negatif (-) dan ground.
3-titik1
(Gambar rangkaian untuk mendapatkan output positif, negatif dan ground)
baca selengkapnya di

Thursday, February 28, 2013

Scholarship in USA


Fulbright Dikti Senior Research Program, American Indonesian Exchange Foundation, USA

Applicants must serve as faculty members at any private or state higher educationinstitutions. This research grant is for Indonesian scholars who have a doctoral degree or equivalent professional qualifications. The grant affords Indonesian scholars the opportunity to conduct research in the U.S. for a period of three to six months. Even though a proof of English Proficiency is not required, applicants should also be able to demonstrate sufficient English language proficiency to conduct research in the U.S.
HOW TO APPLY
Candidates should complete the appropriate application form which can be downloaded below and send it to DIKTI address as shown on the last page of the application form. Please return your complete application package by the application deadline that includes:
  • Completed application form. This includes a three to five pages research proposal.
  • One letter of reference, either from your current employer or previous lecturer.
  • Copy of identity document (KTP or passport).

Friday, January 18, 2013

Database Karyawan Dengan VB

Inti dari sebuah aplikasi Absensi Karyawan adalah bagaimana menyimpan data kehadiran/absensi semua karyawan secara lengkap. Masing-masing karyawan tentunya memiliki sebuah identitas unique/berbeda dari yang lain misalnya NIP atau yang lain. Semua data terkait kehadiran baik itu, jam masuk, jam keluar, hari masuk, durasi waktu kerja, jumlah kehadiran dan yang lain merupakan data-data yang mengacu pada masing-masing karyawan. Disinilah peran utama database, sehingga setiap karyawan dapat diketahui masing-masing datanya.
Untuk membuat sebuah database kita harus membuat pengelompokan data-data menjadi beberapa tabel yang memiliki kesamaan. Misalnya:
- tabel Karyawan: terdiri dari ID, Nama, Tanggal Lahir, Jabatan, Alamat
- tabel Jam Kerja: terdiri dari ID, bulan, Tahun, Jam, Sisa Jam Kerja
dan seterusnya.
Dari data-data di atas, kita bisa membuat database menggunakan MsAccess dengan desain seperti berikut:
Tabel Karyawan
Tabel Karyawan
Tabel Jam Kerja
Tabel Jam
untuk dapat menggunakan template yang sudah ada klik disini.
Selanjutnya bagaimanakah untuk menghubungkan database yang sudah dibuat di atas dengan Visual Basic?
1. Buatlah sebuah project standard pada Visual Basic 6.0
2. Kemudian masukkan komponen MSFlexGrid dengan menekan Ctrl+T atau melalui menu Project–> Component, seperti ditunjukkan gambar berikut:
MSFlexGrid
kemudian klik Apply.
3.  Selanjutnya buatlah tampilan berikut:
Form Absensi 1
4. Kemudian masukkan komponen DtPicker dengan menekan Ctrl+T atau melalui menu Project–> Component, seperti ditunjukkan gambar berikut:
DtPicker
5. Kemudian buat tampilan berikut, dengan menambahkan kotak isian masukan:
form input data
6. Dengan menambahkan beberapa tombol yang diperlukan, Car, Tambah, Edit, Hapus, dan Close tampilan akhir akan seperti berikut:
form database karyawan
Untuk melanjutkan latihan dengan template yang sudah ada, silakan unduh file disini.
Menambahkan Coding
1. Pada bagian paling atas sisi coding tambahkan deklarasi sebagai berikut:
Dim db As Connection
 Dim rs As Recordset
 Dim Saldo As Long, SaldoAwal As Long
 Dim SQL As String


2. Kemudian buka menu Project –> Reference, centang pada pilihan berikut:
Setting Reference
3.  Isikan coding berikut:
Private Sub Form_Load()
 Set db = New Connection

db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\dbAbsensi.mdb;Persist Security Info=False"

db.CursorLocation = adUseClient
 db.Open

dtTglLahir.Value = Format(Date, "dd/mm/yy")
 End Sub

Lengkapilah coding menjadi berikut:
Public JumlahKaryawan As Integer
Dim i As Integer
Dim db As Connection
Dim rs As Recordset

Private Sub cmdBaca_Click()
If cmdBaca.Caption = "Baca" Then
tmrBarcode.Enabled = True
cmdBaca.Caption = "Stop"
'Call KunciBacaBarcode
txtCari.SetFocus
'cmdSearch.Caption = "Baca"
ElseIf cmdBaca.Caption = "Stop" Then
tmrBarcode.Enabled = True
cmdBaca.Caption = "Baca"
End If
End Sub

Private Sub cmdCari_Click()
CariKaryawan
End Sub

Private Sub cmdCetak_Click()
FormBarcode.Show
FormBarcode.Text1 = txtInfo(0).Text

End Sub

Private Sub cmdClose_Click()
Unload Me
End Sub
Function LihatNoKaryawanAkhir() As Integer
Dim NoAkhir As Integer
Set rs = New Recordset
Dim SQL As String
Dim gi As Integer
NoAkhir = 0

SQL = "Select * from tblKaryawan"
Set rs = New Recordset
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
If rs.RecordCount > 0 Then
Do While Not rs.EOF
If NoAkhir < rs.Fields(0) Then
NoAkhir = rs.Fields(0)
End If
gi = gi + 1
rs.MoveNext
Loop
End If
rs.Close
Set rs = Nothing
LihatNoKaryawanAkhir = NoAkhir

End Function
Sub Buka()
For i = 0 To 4
txtInfo(i).Enabled = True
Next
dtTglLahir.Enabled = True
End Sub
Sub Kunci()
For i = 0 To 4
txtInfo(i).Enabled = False
Next
dtTglLahir.Enabled = False
End Sub
Private Sub TampilKaryawan()
Dim gi As Integer
Dim SQL As String

Grid.Rows = 2
Grid.Width = 11535
Grid.ColWidth(0) = 500
Grid.ColWidth(1) = 1500
Grid.ColWidth(2) = 2000
Grid.ColWidth(3) = 2000
Grid.ColWidth(4) = 2000
Grid.ColWidth(5) = 1200
Grid.ColWidth(6) = 1200
Grid.ColWidth(6) = 2200
Grid.Clear
gi = 1
Grid.TextMatrix(0, 0) = "No"
Grid.TextMatrix(0, 1) = "Kode ID"
Grid.TextMatrix(0, 2) = "Nama"
Grid.TextMatrix(0, 3) = "Jabatan"
Grid.TextMatrix(0, 4) = "Tempat Lahir"
Grid.TextMatrix(0, 5) = "Tgl Lahir"
Grid.TextMatrix(0, 6) = "Alamat"
Grid.TextMatrix(0, 7) = "Jam Kerja"

SQL = "Select * from tblKaryawan"
Set rs = New Recordset
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
If rs.RecordCount > 0 Then
Do While Not rs.EOF
Grid.TextMatrix(gi, 0) = gi
Grid.TextMatrix(gi, 1) = rs.Fields(0)
Grid.TextMatrix(gi, 2) = rs.Fields(1)
Grid.TextMatrix(gi, 3) = rs.Fields(2)
Grid.TextMatrix(gi, 4) = rs.Fields(3)
Grid.TextMatrix(gi, 5) = rs.Fields(6)
Grid.TextMatrix(gi, 6) = rs.Fields(4)
gi = gi + 1
Grid.Rows = Grid.Rows + 1
rs.MoveNext
Loop
End If
JumlahKaryawan = gi - 1
rs.Close
Set rs = Nothing

End Sub
Sub Simpan()
Set rs = New Recordset
Dim SQL As String
SQL = "Select * from  tblKaryawan where NoKartu='" & txtInfo(0).Text & "'"
rs.Open SQL, db, adOpenDynamic, adLockOptimistic

With rs
.AddNew
!NoKartu = txtInfo(0)
!Nama = txtInfo(1)
!Jabatan = txtInfo(2)
!TempatLahir = txtInfo(3)
!Alamat = txtInfo(6)
!TanggalLahir = dtTglLahir.Value
.UpDate
End With
rs.Close
Set rs = Nothing
MsgBox " Record order telah ditambahkan", vbInformation, "Sukses"

Call TampilKaryawan
End Sub

Sub UpDate()
Set rs = New Recordset
Dim SQL As String
'sql = "select * from tblCostumer"
SQL = "Select * from  tblKaryawan where NoKartu='" & txtInfo(0).Text & "'"
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
With rs
.UpDate
!NoKartu = txtInfo(0)
!Nama = txtInfo(1)
!Jabatan = txtInfo(2)
!TempatLahir = txtInfo(3)
!Alamat = txtInfo(4)
!TglLahir = dtTglLahir
.UpDate
End With
rs.Close
Set rs = Nothing
MsgBox "Record telah diEdit", vbInformation, "Sukses"
txtInfo(0) = ""
txtInfo(1) = ""
txtInfo(2) = ""
txtInfo(3) = ""
txtInfo(4) = ""
Call TampilKaryawan
End Sub
Private Sub cmdEdit_Click()
Set rs = New Recordset
Dim SQL As String

If txtInfo(0).Enabled = False Or txtInfo(1).Enabled = False Or txtInfo(2).Enabled = False Or txtInfo(3).Enabled = False Then

txtInfo(1).Enabled = True
txtInfo(2).Enabled = True
txtInfo(3).Enabled = True
txtInfo(4).Enabled = True
dtTglLahir.Enabled = True
End If
If cmdEdit.Caption = "&" + "Edit" Then
cmdEdit.Caption = "&" + "Update"
txtInfo(1).SetFocus
Exit Sub
ElseIf cmdEdit.Caption = "&" + "Update" Then
cmdEdit.Caption = "&" + "Edit"
Call UpDate
cmdTambah.Enabled = True
cmdEdit.Enabled = False
cmdHapus.Enabled = False
Call Kunci
End If

If cmdEdit.Caption = "&" + "Batal" Then
cmdEdit.Caption = "&" + "Edit"
cmdEdit.Enabled = False
cmdTambah.Enabled = True
cmdTambah.Caption = "&" + "Tambah"
For i = 1 To 3
txtInfo(i).Text = ""
Next
Call Kunci
Exit Sub
End If
End Sub
Sub Hapus()
Set rs = New Recordset
Dim SQL As String
SQL = "select * from tblKaryawan where NoKartu='" + txtInfo(0).Text + "'"
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
If rs.RecordCount > 0 Then
rs.Delete
MsgBox "Record karyawan(" & txtInfo(0).Text & ")", vbInformation, "Karyawan"
End If
rs.Close
Set rs = Nothing
End Sub
Private Sub cmdHapus_Click()

Dim NV As Integer

NV = MsgBox("Apakah record karyawan '" & txtInfo(0).Text & "' akan dihapus? ", vbYesNoCancel, "Konfirmasi")
If NV = vbYes Then
Call Hapus
End If
If NV = vbCancel Then
Exit Sub
End If
If NV = vbNo Then
Exit Sub
End If
txtInfo(0).Text = ""
txtInfo(1).Text = ""
txtInfo(2).Text = ""
txtInfo(3).Text = ""
txtInfo(4).Text = ""
dtTglLahir.Value = Format(Date, "dd/mm/yy")
Call TampilKaryawan
cmdHapus.Enabled = False
End Sub

Sub KunciBacaBarcode()
Call Kunci
txtInfo(0).Enabled = True
End Sub
Private Sub cmdTambah_Click()
Dim KodeTemp As String
Set rs = New Recordset
Dim SQL As String

If cmdTambah.Caption = "&" + "Batal" Then
cmdTambah.Caption = "&" + "Tambah"
cmdTambah.Enabled = True
cmdEdit.Enabled = False
cmdHapus.Enabled = False
For i = 1 To 4
txtInfo(i).Text = ""
Next
If cmdEdit.Caption = "&" + "Update" Then
cmdEdit.Caption = "&" + "Edit"
End If
dtTglLahir.Value = Format(Date, "dd/mm/yy")
Exit Sub
End If

If cmdTambah.Caption = "&" + "Tambah" Then
cmdTambah.Caption = "&" + "Simpan"
cmdEdit.Caption = "&" + "Batal"
cmdTambah.Enabled = False
cmdEdit.Enabled = True
If txtInfo(0).Enabled = False Then
txtInfo(0).Enabled = True
End If
txtInfo(0).SetFocus
Exit Sub
ElseIf cmdTambah.Caption = "&" + "Simpan" Then
If txtInfo(0).Text = "" Then
MsgBox "Isikan nomer ID Karyawan", vbInformation, "ID kurang"
If txtInfo(0).Enabled = False Then
txtInfo(0).Enabled = True
End If
txtInfo(0).SetFocus
Exit Sub
End If
If txtInfo(1).Text = "" Then
MsgBox "Isikan nama Karyawan", vbInformation, "nama kurang"
If txtInfo(1).Enabled = False Then
txtInfo(1).Enabled = True
End If
txtInfo(1).SetFocus
Exit Sub
End If
If txtInfo(2).Text = "" Then
MsgBox "Isikan jabatan", vbInformation, "Jabatan Kurang"
If txtInfo(2).Enabled = False Then
txtInfo(2).Enabled = True
End If
txtInfo(2).SetFocus
Exit Sub
End If
If txtInfo(3).Text = "" Then
MsgBox "Isikan tempat lahir", vbInformation, "Tempat lahir Kurang"
If txtInfo(3).Enabled = False Then
txtInfo(3).Enabled = True
End If
txtInfo(3).SetFocus
Exit Sub
End If
If txtInfo(4).Text = "" Then
MsgBox "Isikan Alamat", vbInformation, "Alamat Kurang"
If txtInfo(4).Enabled = False Then
txtInfo(4).Enabled = True
End If
txtInfo(4).SetFocus
Exit Sub
End If
End If

SQL = "Select * from  tblKaryawan where NoKartu='" & txtInfo(0).Text & "'"
rs.Open SQL, db, adOpenDynamic, adLockOptimistic

'mencari kode SPBU
If rs.RecordCount > 0 Then
MsgBox "Record Kode telah ada", vbInformation, "Duplikasi"
If txtInfo(0).Enabled = False Then
txtInfo(0).Enabled = True
With txtInfo(0)
.Enabled = True
.SelStart = 0
.SelLength = Len(txtInfo(0))
.SetFocus
End With
End If
Exit Sub
End If

With rs
.AddNew
!NoKartu = txtInfo(0)
!Nama = txtInfo(1)
!Jabatan = txtInfo(2)
!TempatLahir = txtInfo(3)
!Alamat = txtInfo(4)
!JamKerja = 0
!TglLahir = dtTglLahir.Value
.UpDate
End With
rs.Close
Set rs = Nothing
MsgBox " Record karyawan telah ditambahkan", vbInformation, "Sukses"
For i = 0 To 4
txtInfo(i).Text = ""
Next
cmdTambah.Caption = "&" + "Tambah"
cmdEdit.Enabled = False
'cmdSearch.Enabled = False
Call TampilKaryawan
End Sub

Private Sub Form_Load()
Set db = New Connection

db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\dbAbsensi.mdb;Persist Security Info=False"

db.CursorLocation = adUseClient
db.Open
TampilKaryawan
dtTglLahir.Value = Format(Date, "dd/mm/yy")
End Sub

Private Sub Grid_Click()
txtInfo(0).Text = ""
txtInfo(1).Text = ""
txtInfo(2).Text = ""
txtInfo(3).Text = ""
txtInfo(4).Text = ""
txtInfo(0).Text = Grid.TextMatrix(Grid.RowSel, 1)
If txtInfo(0).Text = "" Then
Exit Sub
Else
txtInfo(0).Text = Grid.TextMatrix(Grid.RowSel, 1)
txtInfo(1).Text = Grid.TextMatrix(Grid.RowSel, 2)
txtInfo(2).Text = Grid.TextMatrix(Grid.RowSel, 3)
txtInfo(3).Text = Grid.TextMatrix(Grid.RowSel, 4)
txtInfo(4).Text = Grid.TextMatrix(Grid.RowSel, 6)
dtTglLahir = Grid.TextMatrix(Grid.RowSel, 5)
cmdHapus.Enabled = True
cmdEdit.Enabled = True
cmdTambah.Enabled = False
End If
End Sub

Private Sub tmrBarcode_Timer()

End Sub

Private Sub Timer1_Timer()
With txtInfo(0)
.Enabled = True
.SelStart = 0
.SelLength = Len(txtInfo(0))
.SetFocus
End With
Timer1.Enabled = False
End Sub

Private Sub Timer2_Timer()
With txtCari
.Enabled = True
.SelStart = 0
.SelLength = Len(txtCari)
.SetFocus
End With
Timer2.Enabled = False
End Sub

Private Sub txtCari_Change()

If Len(txtCari) = 13 Then
Dim Temp As String
Temp = Fix(txtCari)
txtCari = Left(Temp, Len(Temp) - 1)
CariKaryawan
End If
End Sub

Private Sub txtCari_GotFocus()
txtCari.BackColor = &HC0FFFF
cmdCari.Enabled = True
End Sub
Private Sub CariKaryawan()
Dim gi As Integer
Dim SQL As String

'Grid.Clear
gi = 1
SQL = "Select * from  tblKaryawan where NoKartu='" & txtCari.Text & "'"
Set rs = New Recordset
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
If rs.RecordCount > 0 Then
Do While Not rs.EOF
txtInfo(0).Text = rs.Fields(0)
txtInfo(1).Text = rs.Fields(1)
dtTglLahir.Value = rs.Fields(6)
txtInfo(2).Text = rs.Fields(2)
txtInfo(3).Text = rs.Fields(3)
txtInfo(4).Text = rs.Fields(4)
gi = gi + 1
Exit Sub
rs.MoveNext
Loop
End If

JumlahOrder = gi - 1
rs.Close
Set rs = Nothing
End Sub

Private Sub txtCari_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
With txtCari
.Enabled = True
.SelStart = 0
.SelLength = Len(txtCari)
.SetFocus
End With
cmdCari_Click
End If
End Sub

Private Sub txtInfo_Change(Index As Integer)
'Timer1.Enabled = True
End Sub

Private Sub txtInfo_GotFocus(Index As Integer)
txtInfo(Index).BackColor = &HC0FFFF
If txtInfo(0).Text <> "" And txtInfo(1).Text <> "" And txtInfo(2).Text <> "" And txtInfo(3).Text <> "" And txtInfo(4).Text <> "" Then
If cmdTambah.Enabled = False Then
cmdTambah.Enabled = True
End If
End If

End Sub

Private Sub txtInfo_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = 13 Then
If Index = 0 Then
With txtInfo(1)
.Enabled = True
.SelStart = 0
.SelLength = Len(txtInfo(1))
.SetFocus
End With
txtInfo(0).Enabled = False
End If
If Index = 1 Then
With txtInfo(2)
.Enabled = True
.SelStart = 0
.SelLength = Len(txtInfo(2))
.SetFocus
End With
txtInfo(1).Enabled = False
End If
If Index = 2 Then
With txtInfo(3)
.Enabled = True
.SelStart = 0
.SelLength = Len(txtInfo(3))
.SetFocus
End With
txtInfo(2).Enabled = False
End If
If Index = 3 Then
dtTglLahir.Enabled = True
With txtInfo(4)
.Enabled = True
.SelStart = 0
.SelLength = Len(txtInfo(4))
.SetFocus
End With
txtInfo(3).Enabled = False
End If
If Index = 4 Then
If cmdTambah.Enabled = False Then
cmdTambah.Enabled = True
cmdTambah.SetFocus
End If
txtInfo(4).Enabled = False
dtTglLahir.Enabled = False
End If
End If
End Sub

Private Sub txtInfo_LostFocus(Index As Integer)
txtInfo(Index).BackColor = &HE0E0E0
End Sub

Dan akhirnya silakan membandingkan dengan source code berikut.
Semoga bermanfaat.

Friday, October 14, 2011

Komunikasi Serial Antara ATMega8 dengan Simulink Matlab

Simulink merupakan salah satu toolbox bawaan Matlab sebagai pelengkap yang dapat digunakan untuk berbagai macam keperluan. Salah satunya adalah berkomunikasi dengan peralatan eksternal. Komunikasi dapat dilakukan dengan berbagai macam cara, diantara salah satunya adalah dengan port serial. Dengan menggunakan toolbox simulink, kita dapat mengakuisisi data tanpa perlu berurusan dengan rumitnya coding. Jika pada tulisan sebelumnya telah diberikan contoh mengakuisisi data dengan script Matlab, maka pada kesempatan kali ini akan diberikan sedikit contoh komunikasi serial antara ATmega8 dengan Simulink Matlab.
Untuk dapat membuat komunikasi serial antara ATmega8 dengan Simulink, maka kita harus membuat model simulink. Hanya 2 buah library model saja untuk dapat mengakuisisi dan menampilkannya. Library yang dibutuhkan adalah Query Instrument dan Display.

Untuk membuatnya, ikuti langkah-langkah berikut:
1. Buka Maltab, kemudian buka Simulink dengan cara
   a. Mengetik simulink pada Command Window, atau dengan
   b. Klik Start pada Matlab --> Simulink --> Library Browser,
  kemudian buat sebuah file model baru dengan cara klik File --> New --> Model
2. Pada Simulink Library Browser, cara library dengan mengikuti langkah berikut
   1) Ketika Instrument
   2) klik icon search
   3) drag Query Instrument ke berkas Model

3. Tampilan setelah mengambil Query Instrumenti adalah sebegai berikut

4. Dengan langkah yang sama pada poin 2 & 3, cari library Display

5. Setelah ditemukan, drag pada media model seperti berikut

6. Kemudian tambahkan koneksi antara Query Instrument dan Display

7. Kemudian double klik pada Query Instrument untuk mengatur setting serial baud rate 115200. Samakan setting seperti tampilan berikut

8.  Kemudian langkah selanjutnya adalah membuat project pada ATmega8. Dengan menggunakan Code Vision Wizard, kita bisa dengan mudah membuat program serial. Pertama, atur Chip sesuai dengan tipe ATmega8 yang dipakai, kemudian clock yang digunakan adalah 11.059200 M

9. Kemudian klik Tab USART. Beri tanda cek pada Transmintter, kemudian pilih baud rate dengan nilai 115200
Kemudian klik File --> Save dan Generate
10. Kemudian pada coding, tambahkan
      #include <delay.h>

11. Tambahkan code berikut
      int i;
      for(i=1; i<100; i++)
       {
        printf("%d",i*50);
        putchar(0x0A);
        delay_ms(250);
       }
Kemudian compile dan flash ke ATmega8, dan verify sehingga sukses.
12. Kemudian pindah pada window model simulink. isikan nilai time simulation dengan nilai 100. Kemudian klik icon Start Simulation.

13. Hasil simulasi pada t=12, tampil nilai pada display

14. Hasil simulasi pada t=59, tampil nilai pada display

Demikian semoga bermanfaat.

Saturday, October 8, 2011

Menampilkan Image Pada Visual Basic 6

Pengantar

Tentunya Anda tidak akan asing dengan image Lenna disamping, dimana image tersebut telah digunakan secara luas sebagai image standar untuk operasi image processing atau pengolahan citra digital.
Menurut beberapa sumber, ternyata Lena wanita yang ada pada image tersebut adalah salah satu model yang ada pada majalah Play Boy. Citra/image tersebut telah dijadikan sebagai standar bagi pemroresan citra dan kompresi citra. Wanita tersebut telah dinobatkan sebagai The First Lady Of The Internet.

Jika Anda menunjukkan Gambar di atas dan bertanya kepada seseorang yang bergerak di bidang pengolahan citra, dia pasti akan tahu bahwa itu adalah “Gambar Lena”, tapi mungkin dia tidak tahu siapa Lena. Lena adalah seorang gadis playmate majalah Playboy tahun 1972.
Pada tahun 70-an, seorang periset dari University of Southern Carolina sedang mengerjakan sebuah algoritma kompresi dan memindai gambar Lena, yang ada di lembaran tengah (centerspread) majalah Playboy. Sejak saat itu Gambar Lena telah menjadi standar industri sebagai bahan untuk menguji algoritma manipulasi dan transmisi citra elektronik. Selama lebih dari 25 tahun sejak Lena diperkenalkan, tidak ada gambar yang lebih penting daripada Lena dalam bidang manipulasi dan komunikasi citra digital. Lena telah dianggap sebagai Ibu Negara Internet.

Mengapa Lena?

Ada banyak gambar lain di dunia ini yang dapat digunakan untuk menguji teknologi kompresi dan teknologi manipulasi citra yang lain, namun Lena dipilih karena dua alasan. Alasan pertama adalah alasan teknis. Gambar Lena memiliki gabungan detail, pencahayaan, dan tekstur yang cocok untuk menguji berbagai algoritma. Jika suatu algoritma diaplikasikan terhadap gambar Lena maka dapat dilihat bagaimana algoritma itu berpengaruh terhadap keseluruhan gambar—misalnya apakah satu bagian menjadi lebih baik atau lebih jelek dari bagian yang lain. Alasan yang kedua sama sekali tidak teknis. Kebanyakan periset citra adalah laki-laki yang cenderung tertarik pada wanita cantik, sehingga gambar Lena lebih dipilih dibanding gambar yang lain.
Tidak semua pihak setuju penggunaan gambar Lena pada publikasi ilmiah. Ketidaksetujuan ini disebabkan karena asal gambar itu, yaitu dari Playboy. Gambar itu diambil dari majalah yang oleh sebagian orang dianggap merendahkan wanita sehingga sebaiknya tidak digunakan. Sebagian yang lain menganggap sebaiknya gambar yang memiliki hak cipta tidak digunakan di publikasi ilmiah.
Majalah Playboy sendiri tadinya hendak menuntut penggunaan Gambar Lena, namun kini hal itu tidak dilakukan lagi. Justru majalah tersebut membantu melacak kembali informasi mengenai gambar Lena, misalnya kamera dan film apa yang digunakan, serta bagaimana pemrosesan gambar dilakukan. Hal ini dilakukan oleh majalah Playboy karena menganggap Lena sebagai suatu fenomena yang patut dieksploitasi—demi keuntungan mereka tentunya.

Menampilkan Citra Pada Visual Basic

 Untuk menampilkan citra pada visual basic, kita dapat menggunakan komponen PictureBox. Dengan PictureBox, sebuah citra dapat di analisa komposisi warna pembentuk citra tersebut. Komponen warna yang dimaksud adalah RGB (Red, Green, Blue) yang merupakan warna primer pada sebuah citra. Sementara warna-warna lain adalah turunan kombinasi dari dua atau tiga warna tersebut.



Pada contoh code tersebut kita juga menggunakan komponen CommonDialog. Komponen ini berfungsi untuk menampilkan interface membuka sebuah file citra layaknya pada sebuah program aplikasi windows umumnya.
Code untuk membuka sebua citra kedalam sebuah PictureBox adalah:
CD.ShowOpen
Me.Caption = CD.FileName
Picture1.Picture = LoadPicture(CD.FileName)

Setelah sebuah citra dapat ditampilkan pada PictureBox, citra dapat digunakan untuk pemroresan citra selanjutnya.


Demikian, semoga bermanfaat.


Machine Learning: Membuat Prediksi Dengan Linear Regression

Membuat prediksi berdasarkan data-data yang sudah dimiliki diawal biasanya dalam bahasa inggris disebut  forecast . Misalnya berdasarkan dat...