Jumat, 26 Juni 2015

Perancangan Pengendali Lampu Melalui Laptop

Perancangan  Pengendali  Lampu Melalui Laptop
Berbasis Mikrokontroler




Disusun oleh:






Nama                                    : Alvin pratama putra
Kelas                                     :2 CB
NIM                                      : 061430700528
Dosen Pembimbing              : Ali Firdaus S.kom M.kom,-











POLITEKNIK NEGERI SRIWIJAYA JURUSAN TEKNIK KOMPUTER
TAHUN AKADEMIK 2014/201





















A.      PENDAHULUAN
            Perkembangan teknologi informasi yang sangat cepat telah memberikan dampak pada globalisasi, persaingan bisnis, tuntutan pekerjaan, dan tuntutan gaya hidup menjadi semakin meningkat. Oleh karena itu, untuk mengimbanginya maka manusia menciptakan alat-alat yang dapat bekerja secara otomatis serta memiliki ketelitian tinggi bahkan dapat melampaui ketelitian manusia agar pekerjaan mereka menjadi lebih mudah. Alat–alat ini bekerja secara otomatis dengan menggunakan perangkat kontroler.
            Sistem pengendalian merupakan hal yang penting di bidang teknologi dan industri. Banyaknya peralatan, terutama peralatan elektronik yang harus dikendalikan atau luasnya suatu wilayah (misalnya gedung atau pabrik) yang peralatan–peralatan elektroniknya harus dikendalikan, sehingga dibutuhkan suatu alat pengendali yang dapat mengendalikan peralatan-peralatan elektronik tersebut.
            Penggunaan mikrokontroller sebagai unit-unit kendali sudahlah sangat luas. Hal ini dikarenakan peralatan-peralatan yang dikontrol secara elektronik dinilai lebih banyak memberi kemudahan-kemudahan dalam penggunaanya. Beberapa peralatan yang sudah memakai sistem remote control misalnya adalah televisi, air conditioner (AC), bahkan pada saat ini banyak mobil–mobil yang memakai remote control untuk membuka dan mengunci pintunya secara otomatis.
B.      LANDASAN TEORI
a.       MIKROKONTROLER
      Mikrokontroler adalah mikroprosesor yang dikhususkan untuk instrumentasi dan kendali. Mikrokontroler merupakan suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus.
      Mikrokontroller merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiah disebut “pengendali kecil” dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini.3
      Dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler sudah mengandung beberapa periferal yang langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital keanalog (DAC), konversi analog ke digital dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau kompleks.
b.      MIKROKONTROLER AVR ATMEGA8
      Mikrokontroler AVR ATmega8 merupakan CMOS dengan konsumsi daya rendah, mempunyai 8-bit proses data (CPU) berdasarkan arsitektur AVR RISC. Dengan mengeksekusi instruksi dalam satu (siklus) clock tunggal, ATmega8 memiliki kecepatan data rata-rata (throughputs) mendekati 1 MIPS per MHz, yang memungkinkan perancang sistem dapat mengoptimalkan konsumsi daya dan kecepatan pemrosesan
c.       MIKROKONTROLER ATMEGA8535
      Mikrokontroler ATmega8535 merupakan mikrokontroler 8-bit teknologi CMOS dengan konsumsi daya rendah yang berbasis arsitektur enhanced RISC AVR. Mikrokontroler AVR ATmega8535 memiliki fitur yang cukup lengkap. Mikrokontroler AVR ATmega8535 telah dilengkapi dengan ADC internal, EEPROM internal, Timer/Counter, PWM, analog comparator, dll.
                        Arsitektur ATMEGA8535
1.      Arsitektur RISC (Reduced Instruction Set Computer).
2.      CPU yang terdiri atas 32 buah register.
3.      16 MIPS (Mega Instruction per Second) pada 16 MHZ.
4.      8 Kbytes In-System Progammable Flash (10000 siklus hapus/tulis).
5.      512 bytes SRAM.
6.      512 bytes in-System Progammable EEPROM (100.000 siklus hapus/tulis).
7.      Dua 8 bit timer/counter dengan Prescaler terpisah.
8.      Satu 16 bit timer/counter dengan Prescaler terpisah yang dapat digunakan untuk modecompare, dan mode capture.
9.      4 saluran PWM.8 terminal, 10 bit ADC.
10.  Analog comparator dalam chip.
11.  Serial UART terprogram.
12.  Antarmuka serial SPI master/slave.
13.  Mode Power down dan catu rendah senggang.
14.  Sumber interupsi internal dan eksternal.
15.  Saluran I/O sebanyak 32 buah yaitu PORT A, PORT B, PORT C dan PORT D.
d.      Relay
      Relay merupakan suatu komponen elektronika yang bersifat elektronis dan sederhana serta tersusun oleh saklar, lilitan, dan poros besi. Cara kerja komponen ini dimulai pada saat mengalirnya arus listrik melalui koil, lalu membuat medan magnet sekitarnya sehingga dapat merubah posisi saklar yang ada di dalam relay tersebut, sehingga menghasilkan arus listrik yang besar.
e.       Bahasa Pemrograman C
      C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa tingkat rendah (bahasa yang berorientasi pada mesin) dan bahasa tingkat tinggi (bahasa yang berorientasi pada manusia). Seperti yang diketahui, bahasa tingkat tinggi mempunyai kompatibilitas antara platform. Karena itu, amat mudah untuk membuat program pada berbagai mesin. Berbeda halnya dengan menggunakan bahasa mesin, sebab setiap perintahnya sangat bergantung pada jenis mesin.
f.        Code Vision AVR Compiler
      Sebuah mikrokontroler hanya dapat mengeksekusi sebuah program dalam bahasa mesin. Oleh karena itu, jika sebuah program ditulis dalam bentuk bahasa tingkat tinggi maka program itu harus diproses dahulu sebelum dimasukkan ke dalam mikrokontroler. Hal ini merupakan salah satu kekurangan dari bahasa tingkat tinggi, yaitu perlu waktu untuk memproses program sebelum program tersebut dijalankan.
      Code Vision AVR Compiler (CVAVR) merupakan kompiler bahasa C untuk AVR. Kompiler ini cukup memadai karena mudah penggunaannya serta didukung berbagai fitur yang sangat membantu dalam pembuatan software dalam pemrograman AVR.
g.       Proteus
Proteus adalah sebuah software untuk mendesain PCB yang juga dilengkapi dengan simulasi pspice pada level skematik sebelum rangkaian skematik diupgrade ke PCB shingga sebelum PCBnya di cetak  kita  akan tahu apakah PCB yang akan kita cetak sudah benar atau tidak. Proteus mengkombinasikan program ISIS untuk membuat skematik desain rangkaian dengan program ARES untuk membuat layout PCB dari skematik yang kita buat. Software ini  bagus digunakan untuk desain rangkaian mikrokontroller. Proteus juga bagus untuk belajar elektronika seperti dasar2 elektronika sampai pada aplikasi mikrokontroller.
h.      EAGLE Layout Editor
EAGLE adalah singkatan dari Easily Applicable Graphical Layout Editor yang diproduksi oleh Cadsoft. Software ini berfungsi untuk mendesign schematic rangkaian elektronika, PCB, danautorouter.
i.         Komponen Pendukung
1.      Resistor : Berfungsi untuk menghambat atau membagi arus listrik yang melewatinya.
2.      Regulator LM7805 : Fungsi 7805 ini juga untuk menyaring tegangan yang besarnya lebih dari 5v dan diubah ke tegangan 5v.
3.      LED : Dioda LED digunakan sebagai lampu indikator dan sebagai display.
4.      Transistor  : Transistor jenis  digunakan sebagai saklar atau switch yang dapat menggerakan relay bila teraliri arus listrik.
5.      Dioda : Dioda semi konduktor yang dipakai pada teknik elektronika pada umumnya digunakan untuk menyearahkan arus listrik AC menjadi DC.
6.      Electrolytic Capacitor (ELCO) : Elco biasanya berfungsi untuk menerima aliran listrik dan menyimpannya dalam waktu tertentu.
7.      Kapasitor Keramik : Biasanya digunakan untuk melewatkan sinyal frekuensi tinggi menuju ke ground.
C.      Analisis Dan Perancangan sistem
a.       Analisis Alat
      Tujuan dari fase analisis adalah memahami dengan sebenar-benarnya kebutuhan dari sistem baru dan mengembangkan sebuah sistem yang mewadahi kebutuhan tersebut, atau memutuskan bahwa sebenarnya pengembangan sistem baru tidak dibutuhkan.
      Setiap alat-alat yang baru-baru di temukan biasanya lebih efisien dan lebih memudahkan pemakainya di bandingkan dengan alat-alat yang lama, akan tetapi alat yang saya rancang ini sedikit rumit untuk di gunakan karena kita harus menghidupkam lampu dari laptop. Tapi jika alat ini di kembang kan bisa memudahkan pemakai/penguna contoh nya kita mengunakan sensor danmenghidup kanya dari remot.
b.      Perancangan sistem
      Sistem pengendali lampu melalui laptop dibagi menjadi dua bagian yaitu bagian pengirim (transmitter) dan bagian penerima (receiver).
Secara sederhananya data atau perintah yg dikirim oleh laptop kemudian data tersebut akan masuk kedalam mikrokontroler atmega 8535. Atmega 8535 akan mengolah data tersebut dan ditentukan akan melalui port yang mana data tersebut keluar sesuai perintah dari laptop. Data tersebut kemudian akan menuju relay dan menggerakkan relay sehingga relay akan berfungsi sebagai saklar yang akan menyambung arus listrik yang melaluinya sehingga mengakibatkan lampu atau alat listrik yang dikendalikan akan hidup/berfungsi.
      Diagram blok sistem pengendali lampu melalui berbasis Mikrokontroler ATMEGA 8535 dapat dilihat dalam Gambar
 
D.     Perancangan Atau Pembuataan Alat
Setelah sistem manual sudah selesai dibuat maka hal selanjutnya adalah membuat rangkaian perangkat ini. Perangkat ini dibagi menjadi 4 bagian yaitu :
·         Membuat Rangkaian Downloader Mikrokontroler AVR USBasp
      Fungsi dari rangkain ini adalah sebagai jembatan penghubung antara rangkaian sistem minimum dengan laptop. Dan downloader juga berfungsi untuk menerima prongram dari laptop untuk di masukan ke rangkaian sistem minimum atau atmega8535.
·         Bagian Pengendali
     Bagian Pengendali merupakan bagian paling penting karena bagian ini     mengolah segala data yang masuk dan mengeksekusinya sesuai perintah yang masuk kedalam mikrokontroler ini. Bagian ini terdiri dari mikrokontroler atmega 8535 dan rangkaian sistem minimalnya yang sudah dijelaskan diatas.
·         Bagian Saklar/Penyambung dan Pemutus Arus
            Bagian ini merupakan bagian yang paling dekat dengan lampu atau alat elektronik lainnya. Bagian ini berfungsi sebagai saklar yang dapat menyambungkan atau memutuskan arus.
·         Bagian Indikator
            Bagian indikator tidak kalah pentingnya dari bagian-bagian lainnya. Bagian ini berfungsi sebagai penanda apakah lampu atau alat elektronik yang dikendali sedang berada pada keadaan hidup atau mati.
1.      Membuat Rangkaian Downloader Mikrokontroler AVR USBasp
      Berikut ini merupakan skematik rangkaian downloader yang telah di buat.
 
                        Komponen elektronik yang kita butuh kan di sini adalah:
1.      AVR atmega8
2.      kristal 12 MHz
3.      kapasitor 22pF
4.      konektor USB dan kabel USB
5.      soket IC 14pin 2 buah
6.      resistor 10k, 68ohm atau 100 ohm, 2k2, 1K
7.      elko 10 uF/16 V dan kapasitor 100nF
8.      LED 3 buah
9.      housing 5 pin dan 4 pin
10.  Dioda zener 3.6 volt 2 buah
a.       Membuat Rangkaian Sistem Minimum  Mikrokontroler Atmega8535
      Berikut ini merupakan skematik rangkaian Sistem Minimum yang telah di buat.
 
Komponen elektronik yang kita butuh kan di sini adalah:
1.      Ic atmega 8535
2.      Crystal 12.0000 mhz
3.      Capasitor
4.      Soctket 40 pin
5.      Tulang ikan
6.      Pin header
7.      Push button
8.      Resistor
9.      Led
10.  Pcb kosong
b.      Membuat Rangkaian Relay
      Berikut ini merupakan skematik rangkaian Relay yang telah di buat.
 
Komponen elektronik yang kita butuh kan di sini adalah:
1.      Relay
2.      Dioda
3.      Transistor
4.      Capasitor
5.      Resistor
6.      Led
7.      Pcb kosong
E.      Perancangan Alat
         Jika semua komponen telah lengkap dan rangkaian relay sudah jadi hal yang    harus dilakukan selanjutnya ialah merancang letak lampunya sebagai berikut ini:
1.      Pasanglah stop kontak pada tiap lampu dan juga trafo.
2.      Buatlah pengkabelan pada lampu kemudian putuskan salah satu kabel sambungkan ke kaki output relay.Kemudian sambunglah ke stop kontak.
3.      Sambungkan 2 kabel rangkaian relay ke trafo sebesar 9 volt. Trafo ini berfungsi untuk menghidupkan indicator LED dan rangkaian Relay.
4.      Kemudian sambungkan stop kontak lampu ke terminal listrik ke 22o volt. Hal ini dilakukan bertujuan untuk mendapatkan arus listrik sehingga dapat menghidupkan arus listrik.
      Untuk mengontrol lampu dengan relay kta bisa menggunakan PORT A dan Port B dari system minimum.Program Codevision AVR ini adalah program yang berfungsi untuk memicu arus ke pin2 PORT sismin untuk menghidupkan lampu dengan bilangan Biner.
Logika dari program ini adalah jika diberi bilangan Biner 1 maka arus akan mengalir di Port tersebut dan Apabilan bilangan Biner 0 maka arus tidak akan mengair di Port Tersebut. Maka untuk membuat program menghidupkan lampu kita hanya perlu memodifikasi logika biner tersebut pada PORT-PORT yang tersedia di sismin.
F.      Langkah- Langkah Mengisi Program menggunakan codevision AVR dan ProgISP :
1.      Bukalah program CodeVision AVR
2.      Klik file lalu pilih New kemudian pilih projecta lalu klik ok kemudian klik yes
3.      Kemudian akan mucul dialog di layar anda seperti apada gambar dibawah ini lalu pilih AT90,Atiny,Atmega
 4.      Kemudian edit chip dan clock sesuai dengan nilai Crystal dipakai pada rangkaian downloader seperti pada gambar dibawah ini :
 
5.       Lalu klik ports.kemudian setting Ports mana yang mau kita pakai..untuk menghidupkannya klik pada tombol In dan akan berubah menjadi Out seperti pada gambar dibawah ini:
  
6.      Kemudian simpan dengan nama file yang kita inginkan.maka hal yang selanjutnya akan terjadi dan muncul lembar kerja pada layar anda seperti pada gambar dibawah ini:
 

7.      Kemudian klik menu Build lalu pilih Build All, tunggulah proses compling hingga selesai.jika selesai maka akan tampil dilayar anda seperti pada gambar dibawah ini
 
8.      Lalu bukalah program ProgISP seperti pada gambar dibawah ini  :
9.      Selanjutnya Memasukkan Program Ke Rangkaian Sismin:
Sambungkan rangkaian downloader menggunakan kabel printer dan hubungkan rangkaian downloader ke rangkaian  sismin menggunakan kabel jumper.Lalu hubungkan pin PORT A ke pin Lampu A dan pin Lampu B ke Lampu beh.dan jangan lupa member jumper ke VCC dan Ground.
Jika telah selesai tersambung dan terdeteksi di laptop bukalah Program Progisp..kemudian pilih chip ATMEGA8535-16PU. Kemudian klik Load Flash carilah file yang disimpan dengan extension .hex setelah ketemu kemudian klik Auto .
Tunggu hingga proses selesai..setelah selesai maka program sudah terisi ke chip rangkaian sismin dan menggerakkan relay untuk menghidupkan lampu.
Untuk menghapus programmnya dan mematikan lampunya klik erase.
G.      Penutup
a.       Kesimpulan
1.      Mahasiswa sudah dapat mengendalikan sebuah alat menggunakan relay dan relay dapat mengontrol output sirkuit untuk daya tahan yang lebih tinggi
2.      Relay berfungsi sebagai proteksi/perlindung yang sangat penting untuk menjaga kesalahan dalam system diisolasi dan menjaga agar peralatan agar tidak rusak.
3.      Perangkat ini dapat mengendalikan empat buah lampu atau peralatan rumah tangga
lainya
4.      Perangkat ini juga belum banyak dijual dipasaran sehingga dapat menjadi peluang dipasaran jika lebih di kembangkan lagi.
b.      Saran
      Beberapa tambahan yang diperlukan dalam meningkatkan kemampuan perangkat ini adalah
1.      Sekarang perangkat ini mengunakan laptop sebagai pegendalinya untuk pengembanganya kita bisa menganti pengendalinya dengan remot atau alat-alat lain.
2.      Sekarang alat ini downloader sebagai penghubung antara laptop dengan mikrokontroler kita bisa menganti nya dengan sensor seperti sensor cayaha,suara dan lainnya.

Kamis, 07 Mei 2015

Sistem Operasi Talk show

Sistem Operasi Talk show

Nama  :ALVIN PRATAMA PUTRA
kelas : 2cb
Nim : 061430700528
mata kuliah : sistem operasi











Highest Penalti Ratio Next (HPRN)
Penjadwalan dengan prioritas tanpa preempsi. Yang menjadi prioritas adalah besarnya rasio pinalti. Tetap mendahulukan proses pendek ditambah dengan mempertimbangkan rasio penaltinya, yang ditentukan berdasarkan lama waktu antriannya. Sehingga prioritas proses panjang akan turut meningkat melalui peningkatan rasio pinalti, sehingga pada suatu saat proses panjang pada antrian yang telah lama menunggu akan menyusul proses pendek.   S = (T-t) ; Rp = T/t = (s+t)/t
Nama Proses
Saat
Tiba
Lama Proses
Saat Mulai
Saat Rampung
Lama Tanggap
A
0
4



B
1
2



C
2
5



D
3
8



E
4
4



Nama Proses

Waktu sia-sia
Rasio Penalti

B
4 – 1 = 3
(3 + 2) / 2 = 2,5
Rp>>
C
4 – 2 = 2
(2 + 5) / 5 = 1,4

D
4 – 3 = 1
(1 + 8) / 8 = 1,125

E
4 – 4 = 0
(0 + 4) / 4 = 1

Nama Proses

Waktu sia-sia
Rasio Penalti

C
6 – 2 = 4
(4 + 5) / 5 = 1,8
Rp>>
D
6 – 3 = 3
(3 + 8) / 8 = 1,375

E
6 – 4 = 2
(2 + 4) / 4 = 1,5

Nama Proses

Waktu sia-sia
Rasio Penalti

D
11 – 3 = 8
(8 + 8) / 8 = 2

E
11 – 4 = 7
(7 + 4) / 4 = 2,75
Rp>>

A
B
C
D
E




















¯
¯
¯
¯
¯



















Saat
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Proses
A
A
A
A
B
B
C
C
C
C
C
E
E
E
E
D
D
D
D
D
D
D
D













































Nama Proses
Saat
Tiba
Lama Proses
Saat Mulai
Saat Rampung
Lama Tanggap
A
0
4
0
4
4
B
1
2
4
6
5
C
2
5
6
11
9
D
3
8
15
23
20
E
4
4
11
15
11


S=23

S Ti
49




Tr
9.8









TUGAS SISTEM OPERASI

1. Ada berapa teknik penjadwalan prosessor?
Jawab :
– FIFO (First In First Out)
– SJF (Shortest Job First)
– SRTF (Shortest Remaining Time First)
atau PSPN (Preemtive Shortest Process Next)
– HPRN (Highest Penalty Ratio Next)
– Round Robin
2. apa yang dimaksud dengan teknik SJF?
Jawab :
teknik SJF adalah penjadwalan dengan prioritas, tetapi tanpa preempsi
3. Berpa tahap yang dilakukan Pada teknik SJF ?
Jawab :
Penentuan urutan prioritas berdasarkan pendeknya proses yang dilayani.
Penentuan pada waktu tertentu, proses mana yang perlu dilayani oleh prosessor.
4. Apa yang dimaksud dengan SRTF ?
Jawab :
SRTF adalah penjadwalan dengan prioritas, dan dengan preempsi
Semakin pendek sisa proses semakin tinggi prioritas dan preempsinya .
5. Brapa tahap yang dilakukan Pada teknik SRTF ?
Jawab :
Perhatikan selalu waktu tiba dan waktu rampung pada suatu saat .
Hitung waktu sisa proses untuk setiap proses yang ada pada saat itu .
6. Apa yang dimaksud dengan FIFO
Jawab : FIFO adalah Proses yang tiba lebih dahulu akan dilayani lebih dahulu.
7. Apa yang harus dilakukan dalam teknik SJF?
Jawab :
Yang harus dilakukan:
-Tentukan urutan prioritas berdasarkan
pendeknya proses yang dilayani
-Penentuan pada waktu tertentu, proses
mana yang perlu dilayani oleh prosessor.
8. Apa yang harusndilakukan dalam teknik SRTF?
Jawab:
Yang harus dilakukan:
-Tentukan urutan prioritas dan preempsi
berdasarkan pendeknya sisa proses yang
dilayani
-Penentuan pada waktu tertentu, proses
mana yang perlu dilayani oleh prosessor.
9. Apa yang dimaksud dengan teknik HPRN?
Jawab:
Pada teknik HPRN (Highest Penalty Ratio Next) semakin tinggi rasio penalty suatu proses, semakin tinggi prioritasnya.
HPRN adalah penjadwalan dengan prioritas, tetapi tanpa preempsi
10. Sebutkan tahap-tahap yang dilakukan pada teknik HPRN?
Jawab:
Pada HPRN dilakukan dua langkah sebagai berikut :
Pada teknik HPRN jika waktu tiba proses sama, maka untuk langkah awal proses yang memiliki lama proses terpendek yang dilayani.
Jika waktu tiba proses berbeda, maka untuk langkah awal proses yang tiba duluan yang dilayani.
Penentuan pada waktu tertentu, proses mana yang perlu dilayani oleh prosessor dengan melihat proses yang memiliki rasio penalty tertinggi.
11. Tentukan rumus rasio penalty pada teknik HPRN?
Jawab:
Perhitungan rasio penalti (Rp)
Rp = T/t.
T = jumlah lama tunggu
t = lama proses
T = s + t = waktu sia – sia + lama proses
Maka:
Rp = T / t
Rp = (s + t) / t
12. Singkatan dari apakah FIFO,SJF,SRTF,HPRN?
Jawab :
FIFO (First In First Out)
SJF (Shortest Job First)
SRTF (Shortest Remaining Time First)
atau
PSPN (Preemtive Shortest Process Next)
HPRN (Highest Penalty Ratio Next)
13. Sebutkan perbedaan teknik SJF dengan teknik SRTF?
Jawab:
Pada teknik SJF (Shortest Job First) semakin pendek suatu proses, semakin tinggi prioritasnya .
Sedangkan pada teknik SRTF
Semakin pendek sisa proses semakin tinggi prioritas dan preempsinya .
14. Jelaskan langkah ke 2 (dua) dari teknik HPRN?
Jawab :
Penentuan pada waktu tertentu, proses mana yang perlu dilayani oleh prosessor dengan melihat proses yang memiliki rasio penalty tertinggi.
15. Sebutkan langkah pertama pada teknik SJF?
Jawab:
Penentuan urutan prioritas berdasarkan pendeknya proses yang dilayani.

Minggu, 19 April 2015

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

Pengendali Lampu Melalui Antarmuka USB Berbasis Mikrokontroler AVR AT90S2313

Pengendali Lampu Melalui Antarmuka USB Berbasis Mikrokontroler AVR AT90S2313

Oleh alvin, 20 april 2015.
lampu
Kelap kelip lampu di kota

Rabu, 15 April 2015

Tugas Sistem Operasi

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

Pengontrolan LED Via Port USB Tanpa Konverter USB/RS232

Perlahan tapi pasti, port USB telah "mengalahkan" popularitas port serial (COM) dan port paralel (LPT). Kini, komputer-komputer dan laptop terbaru tidak menyertakan lagi port serial, apalagi port paralel. Beberapa tipe motherboard masih menyertakakan sebuah port serial (COM1).Namun demikian, kini hampir semua peralatan elektronik memiliki port USB untuk berkomunikasi dengan piranti elektronik lainnya.

Port USB memang memiliki banyak kelebihan dibandingkan dengan port serial dan port paralel. Terlepas dari sudut pandang aplikasi, port USB lebih cepat dan lebih ringkas dibandingkan port serial maupun port paralel. Port USB juga menyediakan catu daya 5V DC dengan kemampuan arus maksimum 500mA untuk menyuplai perangkat elektronik berbasis USB.

V-USB adalah sebuah software implementasi protokol USB berkecepatan rendah untuk mikrokontroller ATMEL AVR sehingga memungkinkan untuk membuat piranti USB dengan sebagian besar mikrokontroller AVR tanpa tambahan chip lain. V-USB dapat di download di www.obdev.at.

libusb-win32 adalah library Win32 yang memberikan akses kepada user (bukan admin) untuk mengakses piranti-piranti USB secara generik tanpa perlu membuat kode-kode program kernel. Dengan libusb, kita dapat menggunakan fungsi-fungsi API untuk transfer data Bulk, Control, Interrupt, dan Isochronous. Library dan driver libusb dapat di download di http://sourceforge.net/apps/trac/libusb-win32/wiki.

Skematik 

Pada eksperimen ini mengunakan mikrokontroller ATtiny2313V dengan kristal 12MHz dengan sebuah LED aktif high yang terhubung ke pin PD6. Berikut adalah skematik rangkaian eksperimen USB LED.





  

Berikut adalah program mikrokontroller ATtiny2313 untuk pengontrolan LED dari port USB


#define ON 1
#define OFF 0
#define LED(n) ((n)==(OFF) ? (PORTD&=~_BV(PD6)) : (PORTD|=_BV(PD6)))
uchar   usbFunctionSetup(uchar data[8])
{
  usbRequest_t    *rq = (void *) data;
  if (rq->bRequest==4)
      LED(ON);
  else if (rq->bRequest==5)
      LED(OFF);
}
/***  P R O G R A M  U T A M A  ***/
int main(void)
{
    //Inisialisasi PORT D
    PORTD = 0;         
    DDRD = ~(1 << 2);
    //Inisialisasi PORT B
    PORTB = 0;           
    DDRB = ~USBMASK; 
    //Inisialisasi Driver USB
    usbInit();
    //Aktifkan fungsi interupsi
    sei();
    for(;;)
    { 
          usbPoll();    //Pantau terus, apakah ada permintaan dari Host
          _delay_ms(12);
    }
    return 0;
}

Untuk mengontrol LED melalui PC diperlukan sebuah antarmuka yang pada eksperimen ini menggunakan bahasa C. Kompiler yang digunakan yakni Pelles C. Berikut adalah gambar dari program USB LED Control


Jika button LED ON di klik, maka program akan mengirimkan request ke USB Device yakni ATtiny2313 yang sudah ditanami program USB Protocol. Demikian juga dengan button LED OFF di klik, maka program akan mengirimkan request ke ATtiny2313 dengan ID request yang berbeda.

Untuk dapat berinteraksi dengan ATtiny2313. maka driver libusb perlu diinstal terlebih dahulu. Jika komputer telah terinstal piranti USB yang menggunakan libusb sebagai drivernya, contoh AVR USB. maka modul akan dikenal sebagai USBasp.

Berikut ini adalah program Demo USB LED Control dalam bahasa C


static INT_PTR CALLBACK MainDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    unsigned char        nBytes;
    unsigned char        buffer[64];
    switch (uMsg)
    {
        case WM_INITDIALOG:
            //Inisialisasi port USB
            usb_init();
            //Buka komunikasi USB dengan Modul USBLED
            if(usbOpenDevice(&handle, USBDEV_SHARED_VENDOR, "Teknik Elektro Links", USBDEV_SHARED_PRODUCT, "TELINKS-USB LED") != 0)
            {
                MessageBox(hwndDlg, "USBLED Error: Kode Vendor dan Product Salah!", "Error!", MB_ICONERROR);
                exit(1);
            }
            return TRUE;
        case WM_COMMAND:
            switch (GET_WM_COMMAND_ID(wParam, lParam))
            {
                case ID_LED_ON:
                    nBytes = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,
                    PSCMD_ON, 0, 0, (char *)buffer, sizeof(buffer), 5000);
                    return TRUE;
                case ID_LED_OFF:
                    nBytes = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,
                    PSCMD_OFF, 0, 0, (char *)buffer, sizeof(buffer), 5000);
                    return TRUE;
                case IDOK:
                    EndDialog(hwndDlg, TRUE);
                    return TRUE;
            }
            break;
        case WM_CLOSE:
            EndDialog(hwndDlg, 0);
            return TRUE;
    }
    return FALSE;
}

Program menggunakan fungsi usb_control_msg() untuk mengirimkan request kepada modul USBLED. Identifikasi perintah LED ON dan LED OFF diletakkan pada ID-Request yang dalam hal ini angka 4 (PSCMD_ON) untuk LED ON dan angka 5 (PSCMD_OFF) untuk LED OFF.

Demikian sedikit informasi mengenai pengontrolan LED melalui port USB, semoga bermanfaat.

sumber :  http://fajar-el-ridikc.blogspot.com/#ixzz3XQ7DkMTJ