Selasa, 21 April 2015

Pemrograman USB untuk mengendalikan lampu LED dengan VB

Pemrograman USB untuk mengendalikan lampu LED dengan VB

Jumat, 17 April 2015
Assalammualaikum… bagaimana kabar rekan2 semua? Semoga kesejahteraan selalu di limpahkan Tuhan kepada kita semua ^^ Nulis apa lagi ya sebagai pembukaannya ..hhmmm…ya udah langsung saja kalo gitu hehe
Pada kesempatan ini kita akan mencoba membuat program sederhana untuk mengendalikan (ON/OFF) lampu LED melalui port USB. Sebagai mana komputer/laptop sekarang banyak yang sudah menghilangkan port paralel dan port serialnya, sebagai gantinya terpasang beberapa port USB.
Lupakan dahulu tentang specifikasi, protokol dan driver USB, kita langsung saja semudah mungkin bisa menghidupkan dan mematikan lampu LED melalui port USB. Biasanya setelah praktek bisa menghidupkan LED akan lebih mudah untuk mempelajari lebih lanjut. Ini merupakan contoh yang sangat sederhana sehingga mudah untuk diterapkan bagi pemula sekalipun.
Untuk mengotrol LED melalui port USB kita membutuhkan konverter yang bisa menerjemahkan protokol serial USB menjadi logika high low seperti yang kita inginkan. Kita tidak bisa menggunakan port USB ini langsung berlogika high atau low seperti port paralel, kita membutuhkan konverter yang menerjemahkan protokol USB ke logika high-low.
Di internet di jual bermacam-macam konverter ini, misal konverter USB ke serial yang cukup terkenal dari FTDI. Untuk pemograman LED ini kita akan mengunakan USB I/O Converter dari http://www.satu-microelectronics.com yaitu USB HID IO Converter yang berupakan USB HID yang tidak memerlukan driver tersendiri, ini seperti Mouse dan Keyboard USB yang tinggal colok dan langsung bisa digunakan.
USB HID IO Converter merupakan konverter USB ke 8 bit IO, I2C, SPI dan ADC. USB konverter ini adalah USB kelas HID (Human Interface Device) sehingga tidak memerlukan instalasi driver USB baik di sistem operasi Windows XP maupun Windows 7. Sistem operasi tersebut sudah menyediakan drivernya yang tentunya memudahkan kita dalam menggunakannya. Sistem operasi lain seperti MAC, Android dan LINUX pun juga sudah menyediakan driver untuk USB kelas HID sehingga USB HID IO Converterini juga bisa di gunakan pada sistim operasi tersebut.
Berikut penampakannya;
USB HID IO Converter
USB HID IO ConverterUSB ini bisa kita dapatkan di :  http://www.satu-microelectronics.com/?p=22
Dan berikut fungsi2 yang didukungnya;

Berikut adalah tool dan alat yang harus kita persiapkan untuk praktek ini;
  1. Komputer/Laptop yang ada port USB nya.
  2. Visual Basic NET (pada contoh ini digunakan Visual basic Express Ediotion 2005 dengan OS Windows 7)
  3. USB HID IO Converter
  4. Lampu LED , resistor 1K Ohm (jika tidak ada maka bisa dilangsungkan saja)  dan kabel untuk menyambungkan kaki LED ke terminal USB HID IO Converter.
Langkah-langkah pemograman:
1.  Sambungkan LED ke kaki2 USB HID IO Converter seperti gambar berikut;

Setelah  rangkaian LED telah dibuat, maka sekarang adalah pembuatan program yang  digunakan untuk mengontrol LED tersebut. File source code-nya dapat di download disini : http://www.satu-microelectronics.com/attach_file/VB.NET%20LED%20Driver.zip
  1. Buka VB. Pada menu File, klik perintah New Project, lalu klik OK untuk membuat sebuah file executable standar. Simpanlah project dengan nama LED_Driver.
  2. Klik kontrol Label untuk membuat sebuah label yaitu untuk  Label1yang akan kita gunakan untuk menampilkan pesan.
  3. Buat delapan buah kotak check box. Lihat gambar diatas untuk lokasi penempatan objek. Kotak  -kotak check box tersebut  nantinya akan menjadi status dari LED yang akan kita kontrol.
  4. Ubah property danukuran form agar seukuran kotak dialog sedang, seperti Gambar dibawah;

5.  Klik menu  ProjectAdd Referencedan tambahkan  HID_IOConverter_NET.dllseperti gambar dibawah. (Copykan file   HID_IOConverter_NET.dll pada folder  project terlebih dahulu)

6.  Buka ViewCode dan tambahkan code jika ada yang kurang sebagai berikut;
Option Explicit On
Imports Microsoft.Win32.SafeHandles
Imports System.Runtime.InteropServices
Imports HID_IOConverter_NET
7. Tambahkan object class HID_IOConverter_Function dan tambahkan code untuk event Form1_Load  berikut;
   Dim iHandle As SafeFileHandle
   Dim HIDi As New HID_IOConverter_NET.HID_IOConverter_Function
    Dim Returns As Long 
    Private Sub Form1_Load(ByVal sender As System.Object,   ByVal e As System.EventArgs) Handles MyBase.Load
         iHandle = HIDi.Hid_OpenDevice
        If Not iHandle.IsInvalid Then
            Returns = HIDi.GPIO_DDR_Out(iHandle, &HFF)
            Returns = HIDi.GPIO_Port_Out(iHandle, &H0)
        Else
            Label1.Text = “USB HIDClass<->IOConverter tidak terkoneksi… ” _
                        & “Koneksikan USB HIDClass<->IOConverter trlebih dahulu,” _
                        & “kemudian buka kembali program ini….”
        End If
End Sub
Berikut print screen-nya;
menambahkan objec hid

menambahkan objec hid-2
Prosedur ini akan berjalan pertama kali ketika program dijalankan. Program akan mencoba mencari USB HIDClass<->IOConverter melalui fungsi Hid_OpenDevice dan handle dari USB ini akan kita simpan pada iHandle, jika berhasil maka akan di kirim perintah GPIO_DDR_Out(iHandle, &HFF) ke USB HIDClass<->IOConverter untuk memnuat 8 bit port IO-nya sebagai output semua, kemudian  mengirim perintah GPIO_Port_Out(iHandle, 0) yang akan membuat ouput GPIO berlogika low (LED mati semua) saat awal program.
Jika USB HIDClass<->IOConverter tidak ditemukan maka akan di tampilan pesan pada Label1 bahwa USB HIDClass<->IOConverter tidak terkoneksi.
8.  Ketikkan kode program berikut ini pada even CheckBox1_CheckedChanged sampai CheckBox8_CheckedChanged
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
        If CheckBox1.Checked Then
            HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port0)
        Else
            HIDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port0)
        End If
        End Sub 
Setiap kali terjadi peng-klik-an pada CheckBox1 maka  LED pada port IO USB HIDClass<->IOConverter akan ON dan OFF.
9. Selesai sudah pembuatan program LED Driver. :)
Menjalankan Program USB HID – LED Driver
Sekarang kita siap menjalankan program LED Driver. Tancapkan USB HIDClass<->IOConverter pada komputer, kemudian klik tombol Start pada Toolbar, maka jika tidak ada kesalahan akan muncul seperti Gambar berikut;
menjalankan-1Pada awal program, LED akan OFF semua. Peng-klik-an pada CheckBox LED0 – LED7 akan menyalakan LED, peng-klik-an selanjutnya akan mematikan kembali  LED.
Berikut penampakan alatnya;
menjalankan-2

Minggu, 19 April 2015

Sistem Operasi

SISTEM OPERASI

Jumat, 20 Maret 2015
1. Sebutkan dua fungsi utama sistem operasi?
Jawab : 
                  Sebagai Resource Manager
-         Sebagai pengatur sumber daya komputer, baik hardware maupun software agar dapat menjalankan   perintah-perintah yang diberikan oleh pengguna.
-               Tugas utama Sistem Operasi sebagai resource manager adalah memantau penggunaan semua resources serta menerapkan aturan (policy) tertentu untuk menjalankan kerja komputer. Selain itu juga mengalokasikan resources yang diminta dan mengambil kembali (dealokasi) resource.
·                Sebagai Extended Machine (Virtual Machine)
-               Menyembunyikan kompleksitas pemrograman hardware dari programmer atau user. Sehingga pengguna dapat melakukan kegiatan atau kerja dengan lebih mudah melalui tampilan user interface. Dan pengguna juga tidak direpotkan berkaitan dengan kegiatan-kegiatan yang mengatur resource sebuah komputer.
        - menyajikan fasilitas yang lebih mudah dan sederhana untuk menggunakan hardware.
2. Apa yang dimaksud dengan multiprogrammin? Berikan dua alasan diadakannya multiprogramming!
Jawab :
Multi programming adalah suatu kemampuan dari sebuah sistem untuk melayani lebih dari satu program yang dijalankan sekaligus dalam satu komputer yang sama.
Alasan diadakannya multiprogramming yaitu :
· Saat ini banyak aplikasi yang dalam proses penjalanannya mengakses lebih dari satu program. Sehingga agar program tersebut dapat berjalan lebih optimal perlu sistem multiprogramming.
· Memberikan efisiensi pekerjaan yang cukup tinggi, dengan mampu untuk menjalankan beberapa aplikasi secara bersamaan.
· Kebutuhan user yang semakin tinggi dan kompleks maka memerlukan sistem multiprogramming. Contohnya, ketika seorang user melakukan pekerjaannya sekaligus mendengarkan musik untuk refreshing.
3. Apa yang dimaksud dengan spooling? Apakah anda menganggap personal komputer harus memiliki spooling sebagai standar dasar di masa yang akan datang?
Jawab :
Spooling adalah membuat peripheral seolah-olah dapat digunakan bersama-sama sekaligus, dapat diakses secara simultan, yaitu dengan cara menyediakan beberapa partisi memori. Saat terdapat permintaan layanan peripheral, langsung diterima dan data disimpan dulu di memori yang disediakan (berupa antrian), kemudian dijadwalkan agar secara nyata dilayani oleh peripheral.
Karena pada saat ini kebutuhan akan kecepatan kinerja komputer semkin besar, maka teknologi spooling mutlak untuk dikembangkan dan diaplikasikan di komputer. Dengan teknologi itu maka proses komputasi sebuah program akan lebih cepat ditangani dan dikerjakan.
4. Pada awal perkembangan komputer, setiap byte data yang dibaca atau yang ditulis ditangani oleh CPU (tidak ada DMA-Direct Memory Access). Apa implikasinya struktur seperti ini terhadap konsep multiprogramming.
Jawab :
Bila sistem tersebut digunakan untuk melayani konsep multiprogramming, maka akan membutuhkan waktu yang lama dalam pemrosesannya. Dengan tidak ada memory pembantu proses maka proses pengaksesan data untuk diproses akan lama. Apalagi untuk kegiatan multiprogramming maka proses tersebut akan semakin lebih lama lagi. Oleh karena itu komputer pada awal perkembangannya tidak mampu untuk mengakomodasi konsep multiprogramming.
Jadi implikasi dari tidak adanya DMA dalam pemrosesan komputer adalah pada waktu untuk pengerjaan (pemrosesan) informasi. Bahkan mungkin konsep multiprogramming tidak bisa diaplikasikan oleh sistem prosesor non DMA.
5. Mengapa timesharing tidak tersebar luas pada generasi ke-2 komputer?
Jawab :
Karena varian dari multiprogramming, dimana tiap pemakai mempunyai satu terminal on-line dengan pemroses hanya memberi layanan pada pemakai yang aktif secara bergantian dengan cepat. Pemakai akan merasa dilayani terus menerus, padahal sebenarnya digilir persatuan waktu yang cukup singkat.
6. Instruksi-instruksi manakah yang diperbolehkan dalam Mode Kernel :
a. Disable all interupts.
b. Read the time-of-day clock.
c. Set the time-of-day clock.
d. Change the memory map.
Jawab :
Instruksi yang diperbolehkan dalam mode kernel adalah A (Disable all interupts) dan D(Change the memory map).
7. Sebutkan beberapa perbedaan sistem operasi pada personal komputer dengan sistem operasi pada mainframe!
Jawab :
Perbedaan sistem operasi pada PC dengan Sistem Operasi Mainframe :
1. Dalam sistem operasi PC hanya mampu melayani satu user saja, sedangkan sistem operasi mainframe mampu untuk melayani banyak user.
2. Pada sistem operasi PC biasanya memiliki user interfeace yang lebih menarik karena tujuan utamanya adalah member kemudahan kepada pengguna. Sedangkan sistem operasi mainframe biasanya hanya berupa barisan-barisan program saja tanpa adanya GUI yang memadai.
3. Sistem operasi mainframe memiliki tingkat sekuritas yang jauh lebih baik daripada sistem operasi untuk komputer desktop.
4. Sistem operasi mainframe memiliki kecepatan dan realibilitas kerja yang jauh lebih tinggi daripada sistem operasi personal komputer. Hal ini dikarenakan sistem operasi mainframe diharuskan untuk mampu menangani ratusan program aplikasi secara bersamaan. Serta sistem operasi mainframe harus mampu mengatur sejumlah pengaksesan dan penyimpanan ke basis data secara simultan. Sedangkan sistem operasi personal komputer biasanya hanya mampu menangani beberapa program saja untuk dijalankan secara bersamaan.
8. Bagaimana secara umum sistem operasi memberitahukan kepada direktori kerja apakah path name untuk sebuah file adalah absolute atau relative?
Jawab :
Direktori adalah file, dimiliki sistem operasi dan dapat diakses dengan rutin-rutin di sistem operasi. Kebanyakan informasi berkaitan dengan penyimpan. Meski beberapa informasi direktori tersedia bagi pemakai atau aplikasi, informasi itu umumnya disediakan secara tidak langsung. Pemakai tidak dapat mengakses direktori secara langsung meski dalam mode read-only.
Direktori juga menyediakan pemetaan nama file ke file. Informasi terpenting direktori adalah yang berkaitan dengan penyimpanan, termasuk lokasi penyimpanan dan ukuran file yang disimpan. Pada sistem bersama (shared system), informasi yang terpenting adalah informasi mengenai pengendalian akses file. Satu pemakai adalah pemilik file yang dapat memberi wewenang pengaksesan ke pemakai-pemakai lain.
Aturan penamaan direktori mengikuti aturan penamaan file karena direktori merupakan file yang khusus.
Jalur pengaksesan (path name).
Bila sistem file diorganisasikan dengan pohon direktori,maka diperlukan cara menspesifikasikan nama file. Masalah penamaan file diselesaikan dengan penamaan absolut dan penamaan file relatif. Terdapat dua jalur, yaitu :
a) Nama jalur absolut (absolute pathname).
Nama jalur dari direktori root ke file, selalu dimulai dari
direktori root da nakan bernilai unik.
b) Nama jalur relatif (relative pathname).
Jalur relatif terhadap direktori kerja/saat itu (working atau current director). Pemakai dapat menyatakan satu direktori sebagai current directory. Nama jalur yang tidak dimulai direktori root berarti relatif terhadap current directory.
9. Mengapa shell bukan bagian dari sistem operasi?
Jawab :
Shell delete command interpreter yaitu Program yang menerima masukan berupa perintah ke sistem, dan menterjemahkan menjadi aktivitas sistem komputer. Tidak termasuk sistem operasi karena,shell di dalam kegiatannya tidak menjembantani antara user dengan hardware. Program ini di dalam menjalankan perintah mengakses informasi yang tercantum di sistem operasi.
10. Berikan sebuah contoh bagaimana mekanisme dan kebijaksanaan bisa terpisah dengan baik dari pejadwalan. Buat sebuah mekanisme yang bisa mengijinkan sebuah parent process untuk mengontrol kebijaksanaan penjadwalan children.
Jawab :
Mekanisme merupakan penjelasan bagaimana melakukan sesuatu. Sedangkan kebijakan menentukan apa yang akan dilakukan. Dalam melakukan sebuah pemrosesan mekanisme tidak bisa diubah sedangkan kebijakan dapat diubah agar bila terjadi sesuatu hal dapat diantisipasi. Kebijakan penting untuk mengatur semua alokasi sumberdaya dan menjadwalkan masalah serta menentukan perlu atau tidaknya mengakolasikan sumber daya. Oleh karena itu antara mekanisme, kebijakan dan penjadwalan harus dipisahkan.
Contoh sebuah mekanisme yang bisa mengijinkan sebuah parent process untuk mengontrol kebijaksanaan penjadwalan children adalah pada sistem operasi UNIX. Sistem operasi ini mempunyai system call fork yang berfungsi untuk membuat proses baru. Proses yang memanggil sistem call fork ini akan dibagi menjadi dua, yakni proses induk dan proses turunan yang identik. Fork ini berfungsi sebagai manajemen proses. Proses ini independen satu sama lain namun memiliki instruksi yang berbeda sama sekali. Jadi pengeksekusian program bisa dilaksanakan terus menerus tanpa harus menunggu sistem child selesai memproses. Dan bisa juga instruksi program induk mengatur pengeksekusian program anak atau turunan.
11. Model Client-Server tekenal didalam distributed systems. Dapatkah juga digunakan dalam sistem komputer tunggal?
Jawab :
Dapat, karena sistem terdistribusi adalah sistem yang proses kerjanya membagi tugas proses untuk dijalankan oleh beberapa prosesor yang menjalankan fungsi masing-masing. Dan hal ini dapat dijalankan dalam sistem komputer tunggal. Contohnya dengan adanya prosesor dual core yang masing-masing prosesor melakukan fungsi tertentu serte keduanya terhubung oleh jaringan komunikasi data. Dengan menerapkan sistem terdistribusi ini maka akan meningkatkan kecepatan proses, penyediaan data dan peningkatan kehandalan kerja komputer.
12. Mengapa proses tabel membutuhkan sistem timesharing? Apakah hal ini juga dibutuhkan dalam system personal computer yang pada suatu saat hanya terdapat satu proses yang sedang bekerja dan mengambil alih mesin sampai proses tersebut selesai?
Jawab :
Karena sistem timesharing dapat mengatur penjadwalan pemrosesan data maka kecepatan proses akan menjadi lebih cepat.
Ya, teknologi sistem timesharing mutlak diperlukan untuk menjadwal pemrosesan data oleh prosesor. Walaupun hanya melakukan satu proses saja untuk dapat mempercepat kinerja pemrosan maka timesharing diperlukan. Bila prosesor harus langsung mengakses data dari memory permanent maka akan membutuhkan waktu yang lama untuk pemrosesan. Bahkan jika pengguna hanya menggunakan satu program saja pada satu waktu. Sistem operasi perlu mendukung program internalnya sendiri, seperti manajemen memori. Dengan kata lain, semua aktivitas tersebut adalah harus dilaksanakan dengan sistem timesharing.
13. Apa perbedaan mendasar diantara blok special file dan character special file?
Jawab :
Perbedaan mendasar dari block special file dan character special file adalah proses pengiriman atau pentransferan datanya. Bila block special file transfer data dilakukan perblock perintah, sedangkan untuk character special file pentransferan datanya dilakukan perkarakter.
Contoh block special file adalah proses pentransferan data pada media penyimpanan. Seperti Harddisk, CD-R, Floppy disk, Flash disk. Dan contoh penggunaan character special file adalah pada mouse dan keyboard.