Kamis, 26 Desember 2013

Sistem I/O ( Input/Output )

Sistem komputer terdiri dari perangkat keras (hardware) dan perangkat lunak (software). Perangkat keras dan perangkat lunak harus bekerja bersama-sama membentuk suatu sistem, yaitu sistem komputer.
Perangkat I/O dapat dibagi secara umum menjadi dua kategori, yaitu :
1.) Perangkat blok (block devices).
2.) Perangkat karakter (character devices).

Perangkat blok menyimpan informasi dalam sebuah blok yang ukurannya tertentu dan memiliki alamat masing-masing. Umumnya blok berukuran antara 512 bytes - 32768 bytes. Keuntungan dari perangkat blok ini ialah mampu membaca atau menulis setiap blok secara independen. Disk merupakan contoh perangkat blok yang paling banyak digunakan.

Perangkat karakter mengirim atau menerima sebaris karakter, tanpa menghiraukan struktur blok. Tipe ini tidak memiliki alamat dan tidak memiliki kemampuan mencari (seek). Printer dan antarmuka jaringan merupakan contoh perangkat jenis ini. Pembagian ini tidaklah sempurna. Beberapa perangkat tidak memenuhi kriteria tersebut. Contohnya : clock yang tidak memiliki alamat dan juga tidak mengirim dan menerima barisan karakter. Yang dilakukan hanya menimbulkan interupsi dalam jangka waktu tertentu.

Input/Output Terprogram

Pada I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung, seperti pemindahan data, pengiriman perintah baca maupun tulis dan monitoring perangkat. Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I//O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya.

Dalam teknik I/O terprogram, terdapat dua macam implementasi perintah I/O yang terdapat dalam instruksi I/O, yaitu :
1.) Memory-mapped I/O.
2.) Isolated I/O.

Dalam memory-mapped I/O, terdapat ruang tunggal untuk lokasi memori dan perangkat I/O. CPU menggunakan register status dan register data modul I/O sebagai lokasi memori dan menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O. Konsekuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan. Keuntungan memory-mapped I/O adalah efisien dalam pemrograman, namun memakan banyak ruang memori alamat.

Dalam teknik isolated I/O, dilakukan pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O. Dengan teknik ini diperlukan bus yang dilengkapi dengan saluran pembacaan dan penulisan memori ditambah saluran perintah output. Keuntungan isolated I/O adalah sedikitnya instruksi I/O.

Interupt Driven Input/Output

Masalah yang dijumpai pada I/O terprogram adalah bahwa CPU harus menunggu modul I/O yang diinginkan agar siap baik untuk menerima maupun mengirim data dalam waktu yang relatif lama. Pada saat menunggu, CPU harus berulang-ulang menanyakan status modul I/O. Akibatnya tingkat kerja keseluruhan sistem mengalami penurunan sistem. Alternatifnya adalah CPU mengeluarkan perintah I/O ke modul dan kemudian mengerjakan pekerjaan yang lain. Kemudian modul I/O akan menginterupsi CPU untuk meminta layanan ketika modul telah siap untuk saling bertukar data dengan CPU.

Direct Memory Access (DMA)

Teknik yang dijelaskan sebelumnya yaitu I/O terprogram dan interrupt driven I/O memiliki kelemahan, yaitu proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung. Hal ini berimplikasi pada :
a.) Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
b.) Kerja CPU terganggu karena adanya interupsi secara langsung.
Bertolak dari kelemahan diatas, apalagi untuk menangani transfer data bervolume besar, maka dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access (DMA). Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi.

Dalam melaksanakan transfer data secara mandiri, DMA memerlukan pengambil alihan kontrol bus dari CPU. Untuk itu DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus. Teknik terakhir lebih umum digunakan, sering disebut cycle-stealing, karena modul DMA mengambil alih siklus bus. Penghentian sementara penggunaan bus bukanlah bentuk interupsi, melainkan hanyalah penghentian proses sesaat yang berimplikasi hanya pada kelambatan eksekusi CPU saja.

Saluran Input/Output

Saluran I/O mempunyai dua kegunaan, yaitu :
a.) Saluran I/O dapat melakukan pendeteksian dan pembetulan kesalahan dan beroperasi dalam basis cycle stealing.
b.) Saluran I/O berkomunikasi dengan CPU sebagai suatu fasilitas DMA dan berkomunikasi dengan piranti I/O seolah-olah sebagai CPU. 

Karena piranti I/O mempunyai kecepatan transfer yang berbeda-beda, maka saluran dibagi menjadi 3 pelayanan, yaitu :
- Saluran Multiplexer : Digunakan untuk menghubungkan piranti yang berkecepatan rendah dan sedang serta mengoperasikannya secara bersamaan dengan multiplexing.
- Saluran Selektor : Digunakan untuk menghubungkan piranti I/O yang berkecepatan tinggi tanpa multiplexing. Contohnya : pita magnetis, disk.
- Saluran Multiplexer Blok : Merupakan kombinasi dari dua pelayanan diatas.


Referensi :

Selasa, 03 Desember 2013

CPU (Central Processing Unit)

CPU adalah komponen pengolah data berdasarkan instruksi-instruksi yang diberikan kepadanya atau CPU adalah perangkat keras komputer yang memahami dan melaksanakan perintah dan data dari perangkat lunak. CPU merupakan komponen terpenting dalam sistem komputer dan CPU berperan sebagai otak pada komputer. CPU memiliki 3 komponen utama, yaitu CU (Control Unit), ALU (Arithmetic and Logic Unit) dan Register.

Cara kerja CPU
Saat data ataupun instruksi dimasukkan ke processing-devices, pertama kali diletakkan di RAM (melalui input-storage), apabila berbentuk instruksi ditampung oleh control unit di program-storage, namun apabila berbentuk data ditampung di working-storage. Jika register siap untuk menerima proses eksekusi, maka control unit akan mengambil instruksi dari program-storage untuk ditampungkan ke instruction register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di program counter. Sedangkan data diambil oleh control unit dari working-storage untuk ditampung di general purpose register (dalam hal ini di operand-register). Jika berdasarkan instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasarkan instruksi yang ditetapkan. Hasilnya ditampung di accumulator. Apabila hasil pengolahan telah selesai, maka control unit akan mengambil hasil pengolahan di accumulator untuk ditampung kembali ke working-storage. Jika pengerjaan keseluruhan telah selesai, maka control unit akan mengambil hasil pengolahan dari working-storage untuk ditampung ke output-storage. Lalu selanjutnya dari output-storage, hasil pengolahan akan ditampilkan ke output-devices.

CU (Control Unit)
CU atau unit kontrol yang mampu mengatur jalannya program. Komponen ini sudah pasti terdapat dalam semua CPU. CPU yang bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antarkomponen dalam menjalankan fungsi-fungsi operasinya. Termasuk dalam tugas unit kontrol adalah mengambil instruksi-instruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU. Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan dan pada saatnya akan ditampilkan ke alat output. Dengan demikian tugas dari unit kendali ini adalah :
1.) Mengatur dan mengendalikan alat-alat masukan (input) dan keluaran (output).
2.) Mengambil instruksi-instruksi dari memori utama.
3.) Mengambil data dari memori utama (jika diperlukan) untuk diproses.
4.) Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja dari ALU.
5.) Menyimpan hasil proses ke memori utama.

ALU (Arithmetic and Logic Unit)
Unit yang bertugas untuk melakukan operasi aritmatika dan operasi logika berdasarkan instruksi yang ditentukan. ALU sering disebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit arithmatika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder. Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan, kurang dari (<), kurang atau sama dengan, lebih besar dari (>) dan lebih besar atau sama dengan.

Register
Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya. Secara analogi, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.
Register terbagi menjadi beberapa kelas, yaitu :
a.) Register data, yang digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).
b.) Register alamat, yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.
c.) Register general purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara sekaligus.
d.) Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan titik mengambang (floating-point).
e.) Register konstanta (constant register), yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only), semacam phi, null, true, false dan lainnya.
f.) Register vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
g.) Register special purpose, yang dapat digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer dan status register.
h.)Register yang spesifik terhadap model mesin (machine-specific register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung dimasukkan kedalam desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar antara generasi prosesor.
Jenis ukuran register dan contoh prosesornya, yaitu :
> 4 bit : Intel 4004
> 8 bit : Intel 8080
> 16 bit : Intel 8086
> 32 bit : Intel Pentium 4
> 64 bit : Intel Core 2

Referensi :
1. http://id.wikipedia.org/wiki/Unit_Pemroses_Sentral
2. http://id.wikipedia.org/wiki/Register_prosesor
3.http://missnuroxfordutomo.blogspot.com/2011/04/pengertian-cpu-dan-fungsinya.html

Jumat, 15 November 2013

Metode Pengalamatan Pada Komputer

         Mode pengalamatan adalah bagaimana cara menunjuk dan  mengalamati suatu lokasi memori pada  sebuah alamat di mana operand akan diambil. Mode pengalamatan diterapkan pada set instruksi, dimana pada umumnya instruksi terdiri dari opcode (kode operasi) dan alamat. Setiap mode pengalamatan memberikan fleksibilitas khusus yang sangat penting. Mode pengalamatan ini meliputi direct addressing, indirect addressing, dan immediate addressing.

1. Direct Addresing
Dalam mode pengalamatan direct addressing, harga yang akan dipakai diambil langsung dalam alamat memori lain. Contohnya: MOV A,30h. Dalam instruksi ini akan dibaca data dari RAM internal dengan alamat 30h dan kemudian disimpan dalam akumulator. Mode pengalamatan ini cukup cepat, meskipun harga yang didapat tidak langsung seperti immediate, namun cukup cepat karena disimpan dalam RAM internal. Demikian pula akan lebih mudah menggunakan mode ini daripada mode immediate karena harga yang didapat bisa dari lokasi memori yang mungkin variabel.
Kelebihan dan kekurangan dari Direct Addresing antara lain :
ž  Kelebihan
         Field alamat berisi efektif address sebuah operand
ž  Kelemahan
   Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word

2. Indirect Addresing
            Mode pengalamatan indirect addressing sangat berguna karena dapat memberikan fleksibilitas tinggi dalam mengalamati suatu harga. Mode ini pula satu-satunya cara untuk mengakses 128 byte lebih dari RAM internal pada keluarga 8052. Contoh: MOV A,@R0. Dalam instruksi tersebut, 89C51 akan mengambil harga yang berada pada alamat memori yang ditunjukkan oleh isi dari R0 dan kemudian mengisikannya ke akumulator. Mode pengalamatan indirect addressing selalu merujuk pada RAM internal dan tidak pernah merujuk pada SFR. Karena itu, menggunakan mode ini untuk mengalamati alamat lebih dari 7Fh hanya digunakan untuk keluarga 8052 yang memiliki 256 byte spasi RAM internal.
Kelebihan dan kekurangan dari Indirect Addresing antara lain :
ž  Kelebihan
         Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
ž  Kekurangan
    Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi

3. Immediate Addresing
            Mode pengalamatan immediate addressing sangat umum dipakai karena harga yang akan disimpan dalam memori langsung mengikuti kode operasi dalam memori. Dengan kata lain, tidak diperlukan pengambilan harga dari alamat lain untuk disimpan. Contohnya: MOV A,#20h. Dalam instruksi tersebut, akumulator akan diisi dengan harga yang langsung mengikutinya, dalam hal ini 20h. Mode ini sangatlah cepat karena harga yang dipakai langsung tersedia.
Kelebihan dan kekurangan dari Immedieate Addresing antara lain :
ž  Keuntungan
   Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand
         Menghemat siklus instruksi sehingga proses keseluruhan akan cepat
ž  Kekurangan
         Ukuran bilangan dibatasi oleh ukuran field alamat

B. Pengenalan pada Register Addressing
           Register adalah merupakan sebagian memori dari mikro prosessor yang dapat diakses dengan kecepatan tinggi. Metode pengalamatan register ini  mirip dengan mode pengalamatan langsung. Perbedaannya terletak pada field alamat yang mengacu pada register, bukan pada memori utama. Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16 register general purpose.

Kelebihan dan kekurangan Register Addressing :
ž  Keuntungan pengalamatan register
      Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori.
      Akses ke register lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih cepat.
ž  Kerugian
         Ruang alamat menjadi terbatas

Register Indirect Addressing
    Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak langsung. Perbedaannya adalah field alamat mengacu pada alamat register. Letak operand berada pada memori yang dituju oleh isi register. Kelebihan dan kekurangan pengalamatan register tidak langsung adalah sama dengan pengalamatan tidak langsung. Keterbatasan field alamat diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi makin banyak. Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat daripada mode pengalamatan tidak langsung.

C. Pengenalan Displacement Addressing dan Stack Addresing
Displacement Addressing adalah menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung. Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit. Field eksplisit bernilai A dan field implisit mengarah pada register. Ada tiga model displacement : Relative addressing, Base register addressing, Indexing. 
Relative addressing
Register yang direferensi secara implisit adalah progra counter (PC)
         Alamat efektif relative addresing didapatkan dari alamat instruksi saat itu ditambahkan ke field alamat.
         Relativ addressing memanfaatkan konsep lokalitas memori untuk menyediakan operand-operand berikutnya.
ž            Base register addresing.
     Register yang direferensi berisi sebuah alamat memori, dan field alamat berisi perpindahan dari alamat itu.
         Referensi register dapat eksplisit maupun implisit.
         Memanfaatkan konsep lokalitas memori.
ž            Indexing adalah field alamat mereferensi alamat memori utama, dan register yang direferensikan berisi pemindahan positif dari alamat tersebut
         Merupakan kebalikan dari mode base register.
         Field alamat dianggap sebagai alamat memori dalam indexing.
         Manfaat penting dari indexing adalah untuk eksekusi program-program iterative.

           Stack adalah array lokasi yang linier = pushdown list = last-in-first-out. Stack merupakan blok lokasi yang terbalik. Butir ditambakan ke puncak stack sehingga setiap saat blok akan terisi secara parsial. Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat bagian paling atas stack. Dua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal ini stack pointer mereferensi ke elemen ketiga stack. Stack pointer tetap berada dalam register.
Dengan demikian, referensi-referensi ke lokasi stack di dalam memori pada dasarnya merupakan pengalamatan register tidak langsung.

Minggu, 10 November 2013

Set Instruksi Pada Komputer

Set instruksi adalah sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU, disebut juga machine code (bahasa mesin) dan aslinya juga berbentuk biner (bahasa assembly). Untuk programmer biasanya digunakan representasi yang lebih mudah dimengerti atau bahasa yang dapat dimengerti manusia.

Instruction Set Architecture (ISA)
Set Instruksi atau Instruction Set Architecture (ISA) didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara, ISA ini mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada).

ISA merupakan sebuah spesifikasi dari kumpulan semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC Alpha, dan lain-lain.

Dalam set instruksi memiliki berbagai macam operasi-operasi yang terdiri dari:

Operasi set instruksi untuk mentransfer data, yaitu :
  1. MOVE : memindahkan word atau blok dari sumber ke tujuan.
  2. STORE : memindahkan word dari prosessor ke memori.
  3. LOAD : memindahkan word dari memori ke prosessor.
  4. EXCHANGE : menukar isi sumber ke tujuan.
  5. CLEAR/RESET : memindahkan word ke 0 tujuan.
  6. SET : memindahkan word 1 ke tujuan.
  7. PUSH : memindahkan word dari sumber ke bagian paling atas stack.
  8. POP : memindahkan word dari bagian paling atas sumber.
Operasi set instruksi untuk aritmathic, yaitu :
  1. ADD : penjumlahan.
  2. SUBTRACT : pengurangan.
  3. MULTIPLY : perkalian.
  4. DIVIDE : pembagian.
  5. ABSOLUTE
  6. NEGATIVE
  7. DECREMENT
  8. INCREMENT
Urutan 5 sampai 8 merupakan instruksi operand tunggal.

Operasi set instruksi untuk operasi logika, yaitu :
  1. AND, OR, NOT, EXOR
  2. COMPARE : melakukan perbandingan logika.
  3. 3TEST : menguji kondisi tertentu.
  4. SHIFT : operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit.
  5. ROTATE : operand menggeser ke kiri atau kanan dengan ujung yang terjalin.
Operasi set instruksi untuk konversi, yaitu :
  1. TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasarkan tabel korespondensi.
  2. CONVERT : mengkonversi suatu word dari suatu bentuk ke bentuk lainnya.
Operasi set instruksi input/output, yaitu :
  1. INPUT : memindahkan data dari perangkat I/O  tertentu ke tujuan.
  2. OUTPUT : memindahkan data dari sumber tertentu ke perangkat I/O.
  3. START I/O : memindahkan instruksi ke prosessor I/O untuk mengawali operasi I/O.
  4. TEST I/O : memindahkan informasi dari sistem I/O ke tujuan.
Operasi set instruksi untuk transfer control, yaitu :
  1. JUMP(cabang) : pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu.
  2. JUMP BERSYARAT : menguji persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak melakukan apa tergantung dari persyaratan.
  3. JUMP SUBRUTIN : melompat ke alamat tertentu.
  4. RETURN : mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu.
  5. EXECUTE : mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruksi.
  6. SKIP : menambah PC sehingga melompati instruksi berikutnya.
  7. SKIP BERSYARAT : melompat atau tidak melakukan apa-apa berdasarkan pada persyaratan.
  8. HALT : menghentikan eksekusi program.
  9. WAIT(HOLD) : melanjutkan eksekusi pada saat persyaratan dipenuhi.
  10. NO OPERATION : tidak ada operasi yang dilakukan.
Referensi :
1. http://noideacorp.wordpress.com/2010/11/01/operasi-operasi-set-intruksi-dalam-arsitektur-komputer/

Kamis, 03 Oktober 2013

Organisasi Dan Arsitektur Komputer

Organisasi komputer mempelajari bagian yang terkait dengan unit-unit operasional komputer dan hubungan antara komponen sistem komputer, contoh : sinyal kontrol, prosesor, interface komputer dan peripheral lalu teknologi memori yang digunakan.
Arsitektur komputer mempelajari atribut-atribut sistem komputer yang terkait dengan seorang programmer dan memiliki dampak langsung pada eksekusi logis sebuah program, contoh : set instruksi, jumlah bit yang digunakan untuk merepresentasikan bermacam-macam jenis data (misal bilangan, karakter), aritmatika yang digunakan, teknik pengalamatan dan mekanisme I/O.

Arsitektur komputer dapat bertahan bertahun-tahun tapi organisasi komputer dapat berubah sesuai dengan perkembangan teknologi. Pabrik komputer memproduksi sekelompok model komputer, yang memiliki arsitektur sama tapi berbeda dari segi organisasinya yang mengakibatkan harga dan karakteristik unjuk kerja yang berbeda.

Sistem komputer adalah komputer sebagai suatu sistem terdiri dari subsistem-subsistem yang  saling berhubungan sehingga dapat memiliki satu tujuan dalam melaksanakan tugas yang diberikan. Subsistem tersebut adalah :
1.) Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita lihat dan rasakan. Hardware ini terdiri dari :
- I/O Device (I/O Device)
- Storage Device (perangkat penyimpanan)
- Monitor / Screen Monitor
- Casing Unit
- Central Processing Unit (CPU)

2.) Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki. Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer. Software terdiri dari beberapa jenis, yaitu :
a. Sistem Operasi
b. Program Aplikasi
c. Program Paket
d. Bahasa Pemrograman

3.) Brainware (User) merupakan personel-personel yang terlibat langsung dalam pemakaian komputer, seperti sistem analisis, programmer, operator, user, dll. Pada organisasi yang cukup besar, masalah komputerisasi biasanya ditangani oleh bagian khusus yang dikenal dengan bagian EDP (Electronic Data Processing), atau sering disebut dengan EDP Departemen, yang dikepalai oleh seorang manager EDP.

Pada komputer terdapat CPU (Central Processing Unit) yang merupakan komponen terpenting dari sistem komputer dan juga komponen pengolah data berdasarkan instruksi yang diberikan kepada CPU. Fungsi CPU yaitu :
- Menjalankan program-program yang disimpan dalam memori utama dengan cara mengambil instruksi-instruksi, menguji instruksi tersebut dan mengeksekusinya satu persatu sesuai alur perintah.
- Pandangan paling sederhana proses eksekusi program adalah dengan mengambil pengolahan instruksi yang terdiri dari dua langkah, yaitu operasi pembacaan instruksi (fetch) dan operasi pelaksanaan instruksi (execute).

Komponen CPU :
a.) Register
Alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi yang digunakan untuk menyimpan data dan instruksi yang sedang diproses sementara data dan instruksi lainnya menunggu giliran untuk diproses masih disimpan di dalam memori utama. Secara analogi, register diibaratkan sebagai ingatan di otak bila melakukan pengolahan data secara manual, otak diibaratkan CPU yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.
Register dalam CPU diantaranya :
Register untuk alamat dan buffer :
- MAR (Memory Address Regiter) : untuk mencatat alamat memori yang akan diakses (baik yang akan ditulisi maupun dibaca).
- MBR (Memory Buffer Register) : untuk menampung data yang akan ditulis ke memori yang alamatnya ditunjuk MAR atau untuk menampung data dari memori (yang alamatnya ditunjuk oleh MAR) yang akan dibaca.
- I/O AR (I/O Address Register) : untuk mencatat alamat port I/0 yang akan diakses (baik akan ditulisi/dibaca).
- I/O BR (I/O Buffer Register) : untuk menampung data yang akan dituliskan ke port yang alamatnya ditunjuk I/O AR atau untuk menampung data dari port (yang alamatnya ditunjik oleh I/O AR) yang akan dibaca.
Register untuk eksekusi instruksi :
- PC (Program Counter) : mencatat alamat memori dimana instruksi di dalamnya akan dieksekusi.
- IR (Instruction Register) : menampung instruksi yang akan dilaksanakan.
- AC (Accumulator) : menyimpan data sementara baik data yang sedang diproses atau hasil proses.

b.) Control Unit
Bertugas mengatur dan mengendalikan semua peralatan yang ada di sistem komputer, yaitu :
- mengatur dan mengendalikan alat-alat input dan output
- mengambil instruksi-instruksi dari memori utama
- mengambil data dari memori utama untuk diproses
- mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja dari ALU
- mengirim hasil proses ke memori utama untuk disimpan dan pada saatnya disajikan ke alat output.

c.) ALU (Arithmatic and Logic Unit)
Tugas utama adalah melakukan semua perhitungan aritmatika dan melakukan keputusan dari suatu operasi logika. Seperti istilahnya ALU terdiri dari dua bagian, yaitu unit arithmatika dan unit logika boolean, yang masing-masing memiliki spesifikasi tugas tersendiri. ALU sering disebut juga mesin bahasa (machine language) karena bagian ini mengerjakan instruksi-instruksi bahasa mesin yang diberikan padanya.

d.) I/O Interconection
Input-output (I/O) Interconection merupakan sistem koneksi yang menghubungkan antar komponen internal dalam sebuah CPU, yaitu ALU, unit kontrol dan register serta menghubungkan CPU dengan bus-bus eksternal diluar CPU.

Dibawah ini struktur detail internal pada CPU :



Referensi :
1. http://yadisetiawan.blogspot.com/2012/10/tugas-organisasi-arsitektur-komputer_11.html
2. http://www.yumpu.com/id/document/view/7384969/arsitektur-komputer


Minggu, 29 September 2013

Etika Dalam Menulis Di Internet

Contoh etika dalam menulis di internet yang akan dibahas yaitu etika dalam menulis di blog. Blog saat ini dikenal sebagai salah satu media online yang sangat berpengaruh untuk menyuarakan buah pikiran. sebagai media online, blog adalah sarana berkomunikasi secara online. Para penulis blog yang biasa disebut blogger, berasal dari berbagai kalangan. Meski semua tak memiliki latar belakang jurnalistik, melalui media online yang sangat mudah diakses oleh para pengguna internet ini, siapapun sekarang bisa mempublikasikan tulisannya.

Munculnya berbagai komunitas blog pun membuat kekuatan blogger dalam menyuarakan pesan mereka secara online tak diragukan lagi. Bahkan blog yang dimanfaatkan sebagai media publikasi tulisan-tulisan yang sifatnya akademik maupun ilmiah, telah banyak dijadikan rujukan bagi berbagai penelitian. Layaknya sebuah tulisan yang bisa diakses dan dibaca oleh semua pengguna internet, tentunya dalam menulis di blog diperlukan juga aturan-aturan yang menyangkut etika dalam berkomunikasi online.

Beberapa tahun belakangan ini, untuk meningkatkan kualitas blog dan tulisan para blogger itu sendiri, ada beberapa aturan baik tertulis maupun tak tertulis. Yang tertulis, tentunya berkaitan dengan implikasi hukum dari sebuah tulisan yang dipublikasi melalui blog. Sejumlah aturan hukum menjadi 'alat pemaksa' bagi para pengguna internet agar lebih berhati-hati dalam menulis di blog mereka. Di Indonesia ada Undang-Undang ITE, Undang-Undang Pers dan KUHP yang bisa menjerat penulis blog yang dianggap melanggar hukum. Selain itu Undang-Undang di bidang HAKI pun juga berfungsi untuk melindungi hak kekayaan intelektual blogger atau pengguna internet pada umumnya.

Sedangkan aturan yang tidak tertulis bagi blogger saat ini dikenal dengan istilah 'Blogging Ethics' atau 'Etika Menulis Blog'. Bicara soal etika ini tingkatannya tentu saja sangat tinggi, karena etika selalu berdampingan dengan norma. Hal yang dirasakan 'baik' atau 'tidak baik' oleh manusia dan belum terumuskan dalam hukum formal negara, sebagian merupakan ranah etika di samping ranah agama. Itu sebabnya, sampai saat ini pun sebenarnya 'Blogging Ethics' menjadi sesuatu yang kontroversial, dalam arti belum disepakati secara jelas, batas-batas apa saja yang boleh dan tidak boleh dilakukan oleh seorang blogger.

Bicara soal etika, dalam kata itu terkandung 3 pengertian yaitu nilai-nilai/norma-norma yang menjadi pegangan seseorang atau suatu kelompok dalam mengatur tingkah laku. Kumpulan asas atau nilai moral, misalnya kode etik (ilmu tentang baik atau buruk). Secara Etimologi, etika berasal dari bahasa Yunani yaitu Ethos yang artinya watak sedangkan moral berasal dari kata Mos (bentuk tunggal) atau Mores (bentuk jamak) yang artinya kebiasaan.

Menurut Prof. DR. Nina W. Syam, M.S, etika sebagai ilmu sendiri sebenarnya menyelidiki tentang tingkah laku moral yang dapat didekati melalui 3 cara, yaitu :
a.) Etika Deskriptif
Cara melukiskan tingkah laku moral dalam arti luas. Ia bersifat netraldan hanya memaparkan moralitas yang terdapat pada individu, kebudayaan atau subkultur tertentu.

b.) Etika Normatif
Mendasarkan pada norma, mempersoalkan apakah norma dapat diterima seseorang/masyarakat secara kritis, menyangkut apakah sesuatu itu benar atau tidak. Terbagi menjadi 2 yaitu umum dan khusus.
Umum : menekankan pada tema-tema umum seperti mengapa norma mengikat ? bagaimana hubungannya antara tanggung jawab dan kebebasan ?, dll.
Khusus : upaya untuk menerapkan prinsip-prinsip etika umum ke dalam prilaku manusia.

c.) Metaetika
Menganalisa logika perbuatan dalam kaitannya dengan 'baik' atau 'buruk'.

Jika teori diatas dikaitkan dengan kehidupan nyata dalam masyarakat, tentunya akan menyangkut beberapa hal yaitu perkembangan hidup masyarakat yang dihadapkan pada banyak pandangan moral yang bermacam-macam. Modernisasi yang melanda segala bidang kehidupan masyarakat yang berakibat pada perubahan cara pikir. Kemampuan menghadapi ideologi-ideologi asing yang mempengaruhi. Karena luasnya cakupan etika sebagai ilmu itulah hingga saat ini boleh dibilang antar blogger pun belum ada kesepakatan yang pasti mengenai Blogging Ethics itu sendiri, selain hal-hal yang sudah menjadi kebiasaan yang dianggap baik dan buruk, benar dan salah.

Dibawah ini, hal-hal penting yang tidak tertulis tetapi pasti dapat disetujui oleh para blogger untuk melindungi diri mereka sendiri dan agar terhindar dari masalah yang tidak perlu, yaitu :

1.) Mencantumkan Sumber
Seringkali kita mendapatkan informasi dari berbagai media online lain pada saat ingin menulis di blog. Secara hukum, mengutip beberapa kata memang tidak akan melanggar hukum dan dalam UU HAKI masih termasuk kategori yang disebut 'Fair Use'. Akan tetapi, secara etika dan moral, jika ingin mengutip, cantumkan sumber yang kita kutip, misalnya : nama penulis dan alamat web atau blog dimana kita mengutipnya, jika memungkinkan gunakan 'link back'.

2.) Meminta Izin
Meski mengutip beberapa kata atau kalimat masih masuk dalam kategori 'Fair Use' sesuai dengan UU HAKI, akan tetapi tidak menutup kemungkinan pemilik aslinya akan keberatan dan menimbulkan masalah di kemudian hari. Meminta ijin dari pemilik tulisan/foto/gambar akan lebih baik dan lebih beretika mengingat kita sendiri pun belum tentu akan suka jika karya kita dicopy atau dipakai orang lain tanpa ijin.

3.) Bebas Tapi Tidak Melanggar Hak Orang Lain
Jangan karena beranggapan blog ini adalah blog pribadi kita, maka kita bebas menulis dan memposting apa saja tanpa batas (tulisan, foto, gambar, lagu) dan melanggar hak orang lain. Perlu kita tanamkan dalam pikiran dan hati kita bahwa pengunjung blog bisa siapa saja dan datang darimana saja. Hindari hal-hal yang melanggar hak orang lain.

Referensi :
1. http://techno.okezone.com/read/2011/06/25/327/472653/membudayakan-etika-dalam-menulis-blog   

Senin, 01 Juli 2013

Prosedur Perancangan Peringatan Tumpukan Barang Pada Konveyor

Deskripsi

Proses pemindahan barang dari konveyor A ke konveyor B, menggunakan sistem robotik untuk pemindahannya. Barang diambil oleh robot dari konveyor A yang sedang berjalan secara perlahan lalu dipindahkan ke konveyor B yang dalam keadaan tidak berjalan. Barang-barang yang dipindahkan disusun secara bertumpuk, lalu setelah tumpukan telah memenuhi batas syarat maksimal penumpukan yang ditentukan, yaitu maksimum 5 tumpukan barang maka konveyor B pun berjalan menuju gudang penyimpanan. Sebagai tanda peringatan bahwa tumpukan barang telah mencapai 5 tumpukan, maka akan dibuat tampilan teks yang bertuliskan ''Tumpukan Barang Sudah 5, Konveyor B Berjalan''. Lalu dibuat juga tanda peringatan bahwa tumpukan barang belum mencapai 5 tumpukan, maka akan dibuat tampilan teks yang bertuliskan ''Tumpukan Barang Belum Maksimal''. Selama tanda peringatan tampilan teks yang bertuliskan ''Tumpukan Barang Belum Maksimal'' terus muncul, maka robot akan terus mengambil barang dari konveyor A dan memindahkannya ke konveyor B.

Listing programnya adalah sebagai berikut :



Penjelasan dari listing program diatas adalah sebagai berikut :

program pemindahan_barang;

uses crt;
procedure hitung;
var
A,B,C:integer; > variabel bertipe data integer
procedure hitung;
writeln('barang pada konveyor A :'); > menampilkan barang pada konveyor A :
readln(A); > input nilai A
writeln('barang pada konveyor B :'); > menampilkan barang pada konveyor B :
readln(B); > input nilai B
C := A + B; > operasi hitung C = A + B
writeln(C); > menampilkan nilai C
if C >= 5 then > apabila lebih besar atau sama dengan 5
writeln('Tumpukan Barang Sudah 5, Konveyor B Berjalan'); > menampilkan 'Tumpukan Barang Sudah 5, Konveyor B Berjalan'
else > apabila tidak sesuai dengan pernyataan diatas
writeln('Tumpukan Barang Belum Maksimal'); > menampilkan 'Tumpukan Barang Belum Maksimal'
readln; > membaca dari setiap tampilan diatas sebelum program otomatis keluar
end. > mengakhiri program


Secara sederhana, program diatas dapat dituliskan dalam bentuk sebagai berikut :



Solusi

Dengan adanya tanda peringatan berupa tampilan teks, maka tidak akan terjadi kesalahan pada saat proses pengambilan dan penumpukkan barang. Ketika robot berhenti mengambil barang sedangkan tumpukan barang belum 5, maka tanda peringatan berupa tampilan teks yang bertuliskan ''Tumpukan Barang Belum Maksimal'' akan tampil pada layar, sehingga robot dapat melanjutkan kembali proses pengambilan barangnya sampai posisi penumpukan 5 barang. Sedangkan apabila posisi tumpukan barang sudah mencapai 5 tumpukan tetapi robot masih mengambil barang dari konveyor A, maka tanda peringatan berupa tampilan teks yang bertuliskan 'Tumpukan Barang Sudah 5, Konveyor B Berjalan'' akan tampil pada layar, sehingga robot akan berhenti mengambil barang dari konveyor A. 

Selasa, 28 Mei 2013

Sistem Program Robot Lengan Pemindah Dus Barang Pada Konveyor

Deskripsi :         
Dengan semakin pesatnya kemajuan teknologi sekarang ini, sudah banyak manusia yang menggunakan teknologi robot dalam kehidupan sehari-harinya. Begitu juga didalam dunia industri terutama didalam industri otomotif, banyak yang menggunakan teknologi robot untuk proses produksi industri. Dengan menggunakan teknologi robot, industri bisa mengefisiensikan tenaga kerja sehingga industri bisa menghemat dalam penggunaan tenaga kerja. Pengertian robot adalah sebuah manipulator yang dapat diprogram ulang untuk memindahkan tool, material atau peralatan tertentu dengan berbagai program pergerakan untuk berbagai tugas dan juga mengendalikan serta mensinkronkan peralatan dengan pekerjaannya. Robot industri yang umumnya digunakan yaitu robot lengan yang digunakan untuk memindahkan barang dari konveyor yang satu ke konveyor yang satunya.

Flowchart :


Contoh gambar robot lengan yang sedang memindahkan dus barang :



Listing program dari robot lengan pemindah dus barang pada konveyor ini akan dibuat menggunakan Borland Turbo Pascal 7.0. Listing programnya adalah sebagai berikut :


Berikut penjelasan dari listing program diatas :

var
x,b : integer;
begin

Variabel yang digunakan yaitu x dan b yang menggunakan jenis tipe data integer yaitu tipe data bilangan bulat.

writeln<'-----------------------------------------'>;
writeln<'      x             x+0                                  '>;
writeln<'-----------------------------------------'>;
for x : = 1 to 5 do
begin

Perintah writeln digunakan untuk menulis atau menginput kata maupun angka yang ingin ditampilkan. Sedangkan perintah for to do digunakan untuk perulangan yang akan kita butuhkan, seperti pada program diatas, perulangan yang digunakan yaitu dari 1-5 yaitu sebanyak 5 kali.

b := x+0;
writeln(x:4,b:8);
end;
writeln<'----------------------------------------'>;
readln;
end.

Variabel x yang akan diinput akan ditambahkan dengan 0. Lalu writeln(x:4,b:8); untuk menentukan posisi variabel x dan variabel b diletakkan. End; digunakan untuk mengakhiri sub program, kemudian readln; digunakan untuk membaca atau menampilkan perintah ataupun hasil yang telah ditulis ataupun diinput pada perintah diatas sebelumnya. Kemudian end. adalah untuk mengakhiri semua program yang telah dibuat.

Output programnya :


Penjelasan output programnya :
Sensor akan mendeteksi ketinggian tumpukan dus barang dan apabila tumpukan dus barang telah mencapai ketinggian sebanyak 5 dus barang, maka robot lengan akan berhenti mengambil dus barang dari konveyor sebelah kanan dan kemudian konveyor sebelah kiri akan berjalan membawa 5 tumpukan dus barang tersebut menuju gudang penyimpanan.

Solusi :

Robot lengan yang digunakan pada indutri adalah untuk membantu kerja para pekerja industri agar lebih mudah dan praktis. contohnya yaitu robot lengan yang digunakan untuk memindahkan dus barang dari konveyer A ke konveyer B, kemudian konveyer B berjalan menuju gudang penyimpanan. Cara kerjanya yaitu robot lengan berputar menuju konveyer A kemudian mengambil dus barang dan memindahkannya ke konveyer B, lalu sensor pada konveyer B mendeteksi apakah ketinggian tumpukan dus barang telah mencapai 5 tumpukan. Apabila belum maka terus mengambil dus barang yang ada pada konveyer A hingga tumpukan dus barang mencapai 5 tumpukan dan sensor mendeteksi ketinggian telah mencapai 5 tumpukan dus barang, maka konveyer B berjalan membawa tumpukan dus barang tersebut menuju gudang penyimpanan. Dengan cara seperti itulah bisa menghemat pemakaian tenaga kerja pada industri dan juga bisa untuk memodernnisasi industri.