Jumat, 26 Juni 2015

Tutorial Pembuatan USB 2REL

Tutorial Pembuatan USB 2REL
Alat dan Bahan:
1.         Relay 5 Volt
2.         Port UBS tipe B
3.         Dioda Zener 3,9  dan Dioda Zener 4148
4.         Resistor 4K7 Ù, 1K5 Ù, 220 Ù, 820 Ù, dan 4,7 Ù
5.         Transistor S9013
6.         Kristal 12000
7.         Elco 220ìF
8.         Kapasitor kertas 22pF dan Kapasitor kertas 104
9.         Led
10.     IC AT Tiny 2313
11.     Socket IC
12.     Kapasitor keramik104J/400V
13.     Terminal blok 3 pin
14.     Papan PCB polos
Langkah – langkah pembuatan alat
1.      Buat rangkaian skematik USB 2 – Relay seperti gambar dibawah ini.

2.      Setelah buat rangkaian skematiknya menggunakan Circuit Wizard, lalu buat pula layuot PCB nya. Berikut adalah gambar layout PCB nya
3.      Setelah itu, print layout PCB nya kemudian fotocopy menggunakan kertas kalender atau kertas foto.
4.      Setrika layout yang telah difotocopy tersebut diatas papan PCB sampai rangkaiannya rekat, lalu rendam PCB tersebut didalam air dan diamkan sebentar lalu tarik bagian kertas secara perlahan.
5.      Amplas PCB yang telah menempel rangkaiannya untuk membersihkan PCB tersebut.
6.      Setelah bersih, bor PCB untuk memasang kaki – kaki komponen.
7.      Pasang semua komponen seperti gambar dibawah ini, kemudian soler semua kaki komponennya.


Cara Pemasangan Lampu
1.         Siapkan 2 buah lampu 5 watt dan kabel secukupnya
2.         Pasang terlebih dahulu steker pada kabel
3.         Buat cabang pada masing-masing kabel steker tadi
4.         Cabang pertama pasang pada terminal block NO (Normally Open)
5.         Buat kabel lagi pada masing-masing lampu, lalu hubungkan pada lampu tersebut
6.         Hubungkan salah satu kabel lampu, lalu sambungkan menjadi satu.
7.         Hubungkan kabel lampu yang satunya ke cabang kedua tadi.
8.         Jangan lupa tembaga lampu dibalut dengan lakban agar aman.
Langkah-langkah memprogram/menjalankan relay
Modul USB-2rel menggunakan V-USB, yakni open-source implementasi protokol USB kecepatan rendah mikrokontroler AVR sedangkan pada kmputer(host). Program aplikasi pengontrolan modul USB-2REL dibuat menggunakan kompiler Delphi. Untuk berkomunikasi dengan modul USB-2REL program aplikasi menggunakan library lisub-Win32 yang juga open-source<Berikut contoh program menggunakan delphi:



1.      Instalasi Driver Ketika modul USB-2REL dihubungkan ke komputer melalui port USB, maka sistem operasi Windows akan mendeteksi adanya piranti USB yang hadir di port USB.
2.      Selanjutnya, Windows akan melakukan proses enumerasi dengan tujuan untuk mengenali piranti USB yang baru hadir tersebut. Jika piranti USB tersebut dikenali, maka Windows akan menjalankan driver yang sesuai dan piranti USB pun siap digunakan. Sesaat setelah modul USB-2REL terhubung ke port USB, maka mikrokontroler akan memperoleh suplai tegangan dan firmware di dalam memori program pun dijalankan. Firmware dalam mikrokontroler pun akan menjawab proses enumerasi yang dilakukan oleh Windows dengan menyetorkan ID-nya untuk dikenali oleh Windows.Catatan: Modul USB-2REL menggunakan firmware implementasi USB buatan OBDEV (V-USB) dan telah banyak diimplementasikan oleh banyak perancang sistem mikrokontroler karena menyediakan ID yang gratis untuk digunakan. Oleh karenanya, jika port USB yang digunakan untuk modul USB-2REL pernah digunakan untuk modul USB lain seperti USBASP misalnya, maka filter libusb akan mengenali USB-2REL sebagai USBASP. Hal ini tidak menjadi masalah karena implementasi firmwarenya sama dan modul akan tetap beroperasi dengan baik sebagai driver relay. Akan tetapi jika Windows tidak mengenali ID dari USB-2REL sebagai piranti USB yang telah terinstalasi pada port USB, maka Windows akan menampilkan dialog instalasi driver seperti screenshot berikut ini.
3.      Modul USB-2REL dilengkapi dengan CD yang berisi installer Delphi, source code project program aplikasi USB-2REL, dan driver libusb untuk USB-2REL.
4.      Setelah folder driver USB-2REL dipilih dan tekan OK serta Next >, maka proses instalasi driver pun dimulai.
Setelah instalasi driver selesai dan berhasil, maka USB-2REL kini siap digunakan. :)
Program Aplikasi USB-2REL.
Ketika program aplikasi USB-2REL dijalankan, sebelum form aplikasi ditampilkan, program melakukan inisialisasi dan mencoba berkomunikasi dengan driver USB-2REL yang telah aktif. Jika gagal maka program akan menampilkan pesan kesalahan bahwa modul USB-2REL tidak ditemukan dan program pun selesai.
Tapi jika program berhasil melakukan komunikasi dengan driver USB-2REL yang telah aktif, maka form aplikasi pun ditampilkan seperti gambar di bawah ini.
Modul USB-2REL dapat diperintah atau diminta melakukan/mengerjakan fungsi tertentu sesuai dengan kode permintaan yang dikenalinya. Modul USB-2REL dapat diperintah untuk mengirimkan ID dari modul USB-2REL, yang dalam hal ini adalah data string “USB-2REL”. Pada program demo, Button Baca ID Modul akan mengirimkan permintaan tersebut kepada modul USB-2REL. Setelah ID Modul USB diterima, maka program akan menampilkannya pada editbox yang tersedia.

Modul USB-2REL juga dapat diperintah untuk mengaktifkan/mematikan RELAY-1 dan RELAY-2, baik secara individu (sendiri-sendiri) ataupun secara bersamaan. Button ON dan Button OFF pada Group RELAY-1 berfungsi untuk mengaktifkan dan mematikan RELAY-1. Sedangkan Button ON dan Button OFF pada Group RELAY-2 berfungsi untuk mengaktifkan dan mematikan RELAY-2. Button ALL RELAYS ON berfungsi untuk mengirimkan permintaan agar modul USB-2REL mengaktifkan kedua relay secara bersamaan. Dan Button ALL RELAYS OFF berfungsi untuk mengirimkan permintaan agar modul USB-2REL mematikan kedua relay secara bersamaan. Button EXIT, seperti nama yang diberikan kepadanya, berfungsi untuk keluar dari aplikasi.

Kamis, 25 Juni 2015

Mikrokontroler ATmega8535 : Sistem Minimum

Mikrokontroler ATmega8535 : Sistem Minimum

Mikrokontroler ATmega8535 merupakan salah satu varianatau jenis dari keluaraga mikrokontroler 8-bit AVR (Advanced RISC Architecture). Beberapa fitur yang dimiliki Mikrokontroler ATmega 8535 adalah memiliki memori In-System Selt-Programmable Flash 8K Bytes, 512 Bytes EEPROM, dan 512 Bytes Internal SRAM. Mikrokontroler ATmega8535 memiliki 2 8-bit Timer/Counter, RTC (Real Time Counter), 4 PWM chanel, 8-chanel 10-bit ADC, 1 programable serial USART, master/slave SPI serial interface, dan memiliki 32 programmable I/O. Sedangkan untuk power, ATmega 8535 dapat dicatu menggunakan tegangan 2.7 – 5.5V (untuk ATmega8535L) dan 4.5 – 5.5V (untuk ATmega8535) dengan frekuensi clock maksimum adalah 16MHz.
Mikrokontroler ATmega8535
Sistem minimum Mikrokontroler ATmega8535 merupakan rangkaian minimum yang dibuat agar sistem ini (mikrokontroler ini) dapat bekerja dan berfungsi dengan semestinya. Sistem minimum ini meliputi catu daya mikrokontroller (vcc) yang berkisar antara 2,7 V – 5,5 V, kristal oscillator (opsional) yang berfungsi sebagai referensi kecepatan akses mikrokontroller (kristal oscillator diperlukan jika menginginkan referensi clock yang tinggi, tapi tanpa kristal oscillator pun mikrokontroler masih dapat bekerja, karena sudah memiliki referensi clock internal), referensi ADC (Analog to digital konverter), tombol reset, serta port-port I/O.
Berikut adalah contoh sistem minimum yang meliputi catu daya, oscillator eksternal (menggunakan XTAL), tombol reset, dan port – port I/O expansion, dan port untuk downloader.

Mikrokontroler ATmega8535: Sistem Minimum
Sistem Minimum ATmega8535
Berikut adalah contoh sistem minimum Mikrokontroler ATmega8535 yang menggunakan referensi clock internal (tidak menggunakan oscilator eksternal) dan tidak menggunakan tombol reset. Dengan kata lain, sistem minimum pada gambar di bawah ini dapat dikatakan sebagai rangkaian yang paling sederhana untuk dapat menjadi suatu sistem minimum ATmega8535.
Mikrokontroler ATmega8535
Sistem Minimum ATmega8535 Tanpa Oscilator Eksternal
Kedua gambar sistem minimum di atas dapat juga dan sangat kompatibel untuk digunakan pada jenis mikrokontroler lain yang setipe (jumlah kaki / pin sama dan konfigurasi pin-nya juga sama), seperti ATmega8515, ATmega16, dan ATmega32

Kamis, 07 Mei 2015

Primptive Shortest Job First (PSJF)

Penjadwalan Nonpreemptive
Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.

Penjadwalan Preemptive
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.

Antrian : Agar hanya ada 1 proses yang ada dalam status kerja
Prioritas : Tidak semua proses itu sama penting. Pekerjaan dalam prosesor di selesaikan dulu, baru proses yang berprioritas
Preempsi : Proses dalam prosesor dihentikan oleh prempsi dan dikeluarkan, agar proses berpreempsi dapat dilayani prosesor. Setelah selesai prosesor akan melaksanakan sisa proses yang dikeluarkan tadi.

Penjadwalan preemptive berguna pada sistem dimana proses-proses yang mendapat perhatian tanggapan pemroses secara cepat. Misalnya :
– Pada sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat fatal.
– Pada sistem interaktif/time-sharing, penjadwalan preemptive penting agar  dapat menjamin waktu tanggap yang memadai.
Penjadwalan preemptive bagus, tapi tidak tanpa ongkos. Peralihan proses (yaitu proses beralih ke proses lain) memerlukan overhead (karena banyak tabel yang dikelola). Agar preemptive efektif, banyak proses harus berada di memori utama sehingga proses-proses tersebut dapat segera running begitu diperlukan. Menyimpan banyak proses tak running benar-benar di memori merupakan suatu overhead tersendiri.

Prioritas didasarkan kepada pendeknya sisa proses. Makin pendek sisa proses makin tinggi prioritasnya.
Selanjutnya dengan ketentuan ini, ketika tiba, proses terpendek di bagian belakang antrian tidak saja berpindah ke bagian depan antrian, melainkan juga melalui preempsi, mengeluarkan proses yang pada saat itu berada di dalam proses (jika ada).

Berikut video persentasinya.....





Minggu, 15 Maret 2015

Sistem Operasi



Tugas 1 hal. 8 Sistem Operasi

1.      Sebutkan dua fungsi utama sistem operasi ?
Jawab:
a.      Sebagai Extended Machine (Virtual Machine)
·         Menyembunyikan kompleksitas pemrograman hardware dari programmer atau user.
·         Menyajikan fasilitas yang lebih mudah dan sederhana untuk menggunakan hardware.
b.      Sebagai Resource Manager
·         Mengatur dan mengefisienkan penggunaan sumber daya komputer (computer    resources).
·         Tugas utamanya : memantau penggunaan semua resources, menerapkan aturan      (policy), mengalokasikan resources yang diminta, mengambil kembali (dealokasi) resource.

2.      Apa yang dimaksud dengan multiprogramming ? Berikan dua alasan diadakannya multiprogramming !
Jawab:
multiprogramming adalah kegiatan menjalankan beberapa program pada memori pada satu waktu.
2 Alasan diadakannya multiprogramming yaitu:
·          Dengan multiprogramming, beberapa tugas disimpan dalam memori dalam satu waktu.
·         Dengan multiprogramming, CPU digunakan secara bergantian sehingga menambah utilisasi CPU dan mengurangi total waktu yang dibutuhkan untuk menyelesaikan tugas-tugas tersebut.


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 proses yang sangat berguna saat berurusan dengan perangkat M/K dalam system multiprogram. Sebuah spool adalah sebuah buffer yang menyimpan keluaran untuk sebuah perangkat yang tidak dapat menerima interleaved data streams. Salah satu perangkat spool yang paling umum adalah printer. Printer hanya dapat melayani satu pekerjaan pada waktu tertentu, namun beberapa aplikasi dapat meminta printer untuk mencetak.
Spooling memungkinkan keluaran mereka tercetak satu per satu, tidak tercampur. Untuk mencetak sebuah berkas, pertama-tama sebuah proses mengeneralisasi berkas secara keseluruhan untuk di cetak dan ditempatkan pada spooling directory. Sistem operasi akan menyelesaikan masalah ini dengan meng-intercept semua keluaran kepada printer. Tiap keluaran aplikasi sudah di-spooled ke disk berkas yang berbeda. Ketika sebuah aplikasi selesai mencetak, sistem spooling akan melanjutkan ke antrian berikutnya. Di dalam beberapa sistem operasi, spooling ditangani oleh sebuah sistem proses daemon. Pada sistem operasi yang lain, sistem ini ditangani oleh in-kernel thread. Pada kedua penanganan tersebut, sistem operasi menyediakan antarmuka kontrol yang membuat users and sistem administrator dapat menampilkan antrian tersebut, untuk mengenyahkan antrian-antrian yang tidak diinginkan sebelum mulai dicetak.
Menurut pendapat saya setiap personal komputer diharuskan memiliki spooling karena manfaat dari spooling dapat mengantur antrian program yang dijalankan sehingga tidak terjadi tumpukan.

  
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 :
Multiprogramming dan sistem time-sharing meningkatkan kemampuan komputer dengan melampaui batas operasi ( overlap ) CPU dan I/O dalam satu mesin. Hal seperti itu memerlukan perpindahan data antara CPU dan alat I/O, ditangani baik dengan polling atau interrupt-driven akses ke I/O port , atau dengan perpindahan DMA. Agar komputer dapat menjalankan suatu program, maka program tersebut harus berada di memori utama (main memory). Memori utama adalah satu-satunya tempat penyimpanan yang besar yang dapat diakses secara langsung oleh prosessor, merupakan suatu array dari word atau byte, yang mempunyai ukuran ratusan sampai jutaan ribu. Setiap word memiliki alamatnya sendiri. memori utama adalah empat penyimpanan yang volatile, dimana isinya hilang bila sumber energinya ( energi listrik ) dimatikan. 

5.      Mengapa timesharing tidak tersebar luas pada generasi ke-2 komputer ?
Jawab:
Karena Generasi kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan.Pada generasi ini sistem komputer belum dilengkapi sistem operasi, tetapi beberapa fungsi sistem operasi telah ada, contohnya fungsi sistem operasi ialah FMS dan IBSYS.

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:
c. Set the time-of-day clock. 

7.      Sebutkan beberapa perbedaan sistem operasi pada personal komputer dengan sistem operasi pada mainframe!
Jawab:
Perbedaan:
Komputer Personal adalah mikrokomputer yang dianggap lebih kecil dan lebih murah dibandingkan komputer mainframe. Sistem operasi untuk komputer-komputer seperti ini diuntungkan oleh pengembangan sistem operasi untuk komputer mainframe dalam beberapa hal. Namun, semenjak penggunaan komputer untuk keperluan pribadi, maka utilisasi CPU tidak lagi menjadi perhatian utama. Karena itu, beberapa desain untuk komputer mainframe tidak cocok untuk sistem yang lebih kecil.

8.      Bagaimana secara umum sistem operasi memberitahukan kepada direktori kerja apakah path name untuk sebuah file adalah absolute atau relative?
Jawab:
Untuk memberitahukan kepada direktori kerja apakah path name sebuah file absolute atau relative yaitu jika absolut path dengan menuliskan lintasan sebuah berkas mulai dari root direktori sampai keberadaan sebuah berkas yang dituju. Sedangkan relatif path yaitu menuliskan lintasan sebuah berkas mulai dari direktori saat ini (direktori yang sedang diakses pengguna) sampai keberadaan sebuah berkas yang dituju. Contoh jika kita sedang berada pada direktori Tg4, maka penulisan lintasan/path dari berkas Tes yaitu untuk relatif path yaitu “../Tg4/Tes” sedangkan absolut path yaitu “/OS/Tugas/Tg4/Tes.

9.      Mengapa shell bukan bagian dari sistem operasi ?
Jawab:
Shell bukan merupakan bagian dari sistem operasi karena shell hanya sebagai instruksi pembaca program dan hanya merupakan Unix command interpreter yaitu program yang membaca instruksi dan mengartikan control statements umumnya. Command-Interpreter sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi perangkat Masukan/Keluaran. 

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 :
Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process membentuk proses turunan (child process) yang dilakukan oleh proses induk parent process. Proses turunan tersebut juga mampu membuat proses baru sehingga kesemua proses-proses ini pada akhirnya membentuk pohon proses. Contoh mekanisme yang bisa mengijinkan sebuah parent process untuk mengontrol kebijaksanaan penjadwalan children yaitu : Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti waktu CPU, memori, berkas atau perangkat M/K. Sumber daya ini dapat diperoleh langsung dari Sistem Operasi, dari Proses Induk yang membagi-bagikan sumber daya kepada setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan Sistem Operasi.

11.  Model Client-Server tekenal didalam distributed systems. Dapatkah juga digunakan dalam sistem komputer tunggal ?
Jawab :
Model Client – server adalah suatu arsitektur dimana sumber daya server menyediakan komputasi untuk banyak komponen client. Client dapat mengakses satu server atau multiple server. Model Client – server bisa berjalan pada mesin yg sama atau berbeda, ditulis dalam berbagai bahasa dan menggunakan sistem operasi yang berbeda. Secara umum model Client – Server adalah arsitektur jaringan aplikasi yang memisahkan klien dari server (umumnya GUI). Setiap satuan perangkat lunak klien berhubungan dengan perangkat lunak server. Model Client – server adalah arsitektur berskala dimana setiap komputer atau proses pada jaringan berperan sebagai klien atau server. Sehingga penggunaan untuk komputer tunggal tidaklah memungkinkan karena dalam model Client – server minimal terdapat 2 komputer yang digunakan sebagai client dan server.

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 :
Proses tabel membutuhkan sistem timesharing karena dengan adanya timesharing dapat dilakukan kegiatan secara bersamaan, hal ini juga dibutuhkan oleh system personal computer karena sistem pengoperasian komputer dapat dipakai oleh beberapa pengguna pada waktu yang bersamaan. Meskipun sebenarnya para pengguna tersebut dilayani oleh komputer secara bergiliran, namun kecepatan komputer membuat seolah-olah mereka dilayani bersama-sama. 

13.  Apa perbedaan mendasar diantara blok special file dan character special file.
Jawab:
·         Block special file : Merupakan file special dimana transfer data dilakukan perblock contohnya adalah file harddisk, cdrom, floppy dan lain-lain yang biasanya merupakan media penyimpanan.
·         Character special file : Merupakan file special dimana transfer data dilakukan perkarakter. Contoh filenya adalah mouse.