Jumat, 29 Mei 2015

Talkshow SJF



SJF (SHORTEST JOB FIRST)

SJF adalah salah satu bentuk algoritma penjadwalan yang dipengaruhi oleh waktu tunggu dari sebuah proses. Apabila suatu proses memiliki waktu tunggu paling sedikit dalam pemrosesannya maka proses tersebut yang akan di kerjakan terlebih dahulu. Pada SJF tidak ada penyelaan karena SJF ini bersifat Non Preemtive

Sudah paham tentang bagaimana cara kerja SJF? Kalau belum, baca kembali pengertian di atas agar anda lebih paham. Mempersingkat waktu, saya akan lanjutkan tentang pembahasan soal tentang mencari average waiting time dengan SJF. Soalnya masih sama dengan postingan sebelumnya dengan table yang sama.
Dari table di atas tentukan average waiting time dengan algoritma penjadwalan SJF!
Penyelesaian:
  • Hal yang pertama dilakukan sama seperti postingan sebelumnya, yaitu membuat Gantt Chart, berikut gambarnya:
Awalnya ketika CPU tidak melakukan aktifitas apapun alias lagi nganggur, datang sebuah proses yang bernama P1 untuk diproses yaitu pada titik 0. Pada saat itu P1 membutuhkan waktu proses sejumlah 8. Namun baru berjalan sejumlah 2, tiba-tiba datang P2 meminta untuk di proses, tapi hal ini tidak akan di izinkan oleh CPU karena dalam SJF tidak diizinkan sebuah penyelaan, proses yang sudah di proses akan di kerjakan hingga selesai. Maka dengan itu P1 akan di proses sampai selesai pada titik 8.
Pada titik 8, sudah terlihat bahwa P2 dan P3 sedang menunggu untuk di proses. Pada saat ini CPU kembali mengecek jumlah waktu tunggu dari ke dua proses tersebut. dan dapat di lihat bahwa P2 memiliki waktu pengerjaan lebih sedikit dibandingkan dengan P3. Maka P2 lah yang dikerjakan terlebih dahulu. Begitu seterusnya, setiap CPU menyelesaikan proses dia akan melakukan pengecekan dari waktu tunggu proses yang sedang menunggu, yang terkecil akan di proses lebih awal.
Ingat: SJF tidak ada proses penyelaan (Non Preemtive)
  • Hal kedua yang dilakukan untuk menghitung average waiting time yaitu dengan menghitung berapa lama waktu tunggu yang dihasilkan oleh proses tersebut. Untuk menhitungnya dapat dilakukan dengan cara mengurangkan waktu eksekusi dengan waktu datang. 
 
  •  Hal ketiga dan juga hal yang terakhir yang harus dilakukan yaitu menghitung Average Waiting Time dari semua proses tersebut, yaitu dengan cara sebagai berikut:

  
Segitu dulu postingan kali ini, semoga apa yang saya jelaskan bisa anda mengerti dan bisa bermanfaat bagi kalian semua.

KELEBIHAN SJF (SHORTEST JOB FIRST)
Paling optimal, karena algoritma ini memberikan minimum waiting time untuk kumpulan proses yang mengantri

KELEMAHAN SJF (SHORTEST JOB FIRST)

  • Kesulitan untuk memprediksi burst time proses yang akan dieksekusi selanjutnya
  • Proses yang mempunyai burst time yang besar akan memiliki waiting time yang besar pula karena yang dieksekusi terlebih dahulu adalah proses dengan burst time yang lebih kecil.

Senin, 20 April 2015

Dua Relay Dengan Antarmuka USB Berbasis ATtiny2313

USB-2REL adalah driver 2-relay yang dapat dikendalikan oleh komputer melalui perantaraan port USB.ini tidak membutuhkan catu daya eksternal sehinggasangat praktis untuk digunakan baik dengan komputer maupun laptop/netbook.

USB-2REL (device) menggunakan V-USB, yakni open-source implementasi protokol USB kecepatan rendah untuk mikrokontroler AVR. Sedangkan pada komputer (host), program aplikasi pengontrolanini tidak membutuhkan catu daya eksternal sehinggasangat praktis untuk digunakan baik dengan komputer maupun laptop/netbook.

USB-2REL (device) menggunakan V-USB, yakni open-source implementasi protokol USB kecepatan rendah untuk mikrokontroler AVR. Sedangkan pada komputer (host), program aplikasi pengontrolan USB-2REL dibuat menggunakan kompiler dan IDE C For Windows (freeware) yakni Pelles C. Untuk berkomunikasi dengan  USB-2REL, program aplikasi menggunakan library libusb-win32 yang juga open-source.

Instalasi Driver Ketika USB-2REL dihubungkan ke komputer melalui port USB, maka sistem operasi Windows akan mendeteksi adanya piranti USB yang hadir di port USB. 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.

usb2rel_enumerated
Sesaat setelah 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: 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 USB-2REL pernah digunakan untuk  USB lain seperti USBASP misalnya, maka filter libusb akan mengenali USB-2REL sebagai USBASP. Hal ini tidak menjadi masalah karena implementasi firmwarenya sama dan  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.
telinks_usb2rel_found
 USB-2REL dilengkapi dengan CD yang berisi installer Pelles C, source code project program aplikasi USB-2REL, dan driver libusb untuk USB-2REL.

telinks_usb2rel_driver
Setelah folder driver USB-2REL dipilih dan tekan OK serta Next >, maka proses instalasi driver pun dimulai.

telinks_usb2rel_installdriver

telinks_usb2rel_installed

Setelah instalasi driver selesai dan berhasil, maka USB-2REL kini siap digunakan. :)
Program Aplikasi USB-2REL

usb2rel_app1














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  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 samping ini.
 USB-2REL dapat diperintah atau diminta melakukan/mengerjakan fungsi tertentu sesuai dengan kode permintaan yang dikenalinya. USB-2REL dapat diperintah untuk mengirimkan ID dari  USB-2REL, yang dalam hal ini adalah data string“USB-2REL”. Pada program demo, Button Baca ID  akan mengirimkan permintaan tersebut kepada USB-2REL. Setelah ID  USB diterima, maka program akan menampilkannya pada editbox yang tersedia.

usb2rel_app2

 USB-2REL juga dapat diperintah untukmengaktifkan/mematikan RELAY-1 dan RELAY-2, baik secara individu (sendiri-sendiri) ataupun secara bersamaan. Button ON dan Button OFF pada Group RELAY-1berfungsi untuk mengaktifkan dan mematikanRELAY-1

Sedangkan Button ON danButton OFF pada Group RELAY-2berfungsi untuk mengaktifkan dan mematikanRELAY-2.

Button ALL RELAYS ON berfungsi untuk mengirimkan permintaan agar USB-2REL mengaktifkan kedua relay secara bersamaan. Dan Button ALL RELAYS OFF berfungsi untuk mengirimkan permintaan agar USB-2REL mematikan kedua relay secara bersamaan. Button EXIT, seperti nama yang diberikan kepadanya, berfungsi untuk keluar dari aplikasi.

Berikut adalah foto hasil pengujian  USB-2REL dengan program aplikasi di atas.

usb2rel_onoff
 USB-2REL beserta dengan driver dan program aplikasinya telah kami uji pada beberapa komputer yang kami miliki, antara lain:
  • Netbook Lenovo @1.66GHz + Windows 7
  • PC Pentium-4 XEON @3.2GHz + Windows XP
  • PC Pentium-3 @750MHz + Windows XP
  • PC Pentium-2 @333MHz + Windows 98
Berikut adalah screenshot hasil pengujian pada sistem-sistem tersebut.
usb2rel_win7_640
usb2rel_winxp
usb2rel_win98_640

Bagi Anda pengguna Delphi, VB, VB.NET, PHP, FoxPro, atau yang lain (selain C), kami sediakan juga sebuah command-line tool untuk mengontrol USB-2REL melalui DOS Prompt, yakni USB2R.EXE. Informasi selengkapnya silakan membaca tulisan berikut ini:

Berikut adalah screenshot program aplikasi kontrol USB-2REL yang dibuat menggunakanVB.NET 2005 Express Edition.

usb2rel_vbnet
Anda juga dapat menyaksikan video demo http://youtu.be/6pKTG_XfYP0

MEMBUAT MENU SOROT

1. Buka aplikasi Note Pad seperti gambar berikut :
2. Ketik perintah berikut untuk membuat program menu sorot :






3. Jika sudah Klik File , lalu pilih Save untuk menyimpan . beri nama file contoh  sorot4.asm. kemudian buka aplikasi DOSBOX : 
 4.Jika sudah ketik , TASM sorot4.asm lalu tekan Enter , kemudian ketik lagi TLINK/t sorot4 lalu tekan Enter lagi , terakhir ketik sorot4 maka akan keluar hasilnya akhir seperti gambar dibawah ini. 






JIKA INGIN MENDOWNLOAD TUTORIALNYA KLIK DI SINI

Rabu, 10 Desember 2014

MEMBUAT MENU SOROT

1. Buka aplikasi Note Pad seperti gambar berikut :
2. Ketik perintah berikut untuk membuat program menu sorot :






3. Jika sudah Klik File , lalu pilih Save untuk menyimpan . beri nama file contoh  sorot4.asm. kemudian buka aplikasi DOSBOX : 
 4.Jika sudah ketik , TASM sorot4.asm lalu tekan Enter , kemudian ketik lagi TLINK/t sorot4 lalu tekan Enter lagi , terakhir ketik sorot4 maka akan keluar hasilnya akhir seperti gambar dibawah ini. 






JIKA INGIN MENDOWNLOAD TUTORIALNYA KLIK DI SINI

CARA MEBUAT RANGKAIAN LINE 

FOLLOWER DENGAN PROTEUS 8

Tutorial kali ini yaitu cara merangkai line follower menggunakan Proteus 8
Komponen yang digunakan
Jumlah
7405
1
AT89C2051
1
BATTERY
1
BUTTON
1
CAP
3
CAP-POL
3
CRYSTAL
1
DIODE
1
L293D
1
LED
1
MOTOR
2
RES
2
  1. Buka terlebih dahulu program proteus 8 lalu cari komponen yang dibutuhkan

  2. Setelah dicari susun setiap komponen tersebut lalu sesuaikan dengan gambar diatas lalu disambungkan dengan kabel LBL dan jungtion.
  3. Jika sudah, kita bisa mengecek rangkaian ini, apakah masih ada yang salah/error atau tidak ada lagi dengan cara mengklik gambar berikut.

  4. Maka akan tampil seperti gambar berikut.

  5. setelah selesai susun pada PCB loyut.

  6. setelah disusun buka menu Tools >> Auto-router

JIKA INGIN MENDOWNLOAD TUTORIALNYA KLIK DI SINI