Pages

Kamis, 29 Desember 2011

jawaban ltm arsitektur komputer

PERTEMUAN 1 : EVOLUSI KOMPUTER
1. organisasi komputer
2. arsitektur komputer
3. - signal-signal kontrol
   - interface komputer dan pheriperal
   - teknologi memori yang digunakan
4. arsitektur komputer
5. - CPU (Cental Processing Unit)
   - main memory
   - input Output (I/O)
   - system interconections
6. - berat 30 ton
   - volume 15000 kaki persegi
   - berisi lebih dari 18000 tabung vakum
   - membutuhkan daya 140 KW
   - melakukan operasi penambahan 5000 operasi/detik
   - memori terdiri dari 20 accumulator
   - masing-masing accumulator menampung 10 digit
7. berisi data yang akan di tuliskan ke dalam memori atau menerima data yang di baca dari memori
8. mencatat alamat memori dimana instrusi di dalamnya akan dieksekusi
9. transistor
10. 1972
11. Mikroprosesor Intel i8086 
12. menampung instruksi yang akan dilaksanakan
13. memori inti-magnetik

PERTEMUAN II : BUS-BUS SISTEM
1. MAR, MBR, I/O AR, I/O BR
3. modul I/O
4. menspesifikasikan perangkat i/o yang akan diakses
6. register IR (instructions Register)
7. program counter (PC)
8. instructions register (IR)
9. -program
   -timer
   -I/O
   -H/W failure
10. hardware failure (H/W failure)
11. a. CPU  
    b. Memori
    c. I/O
12. BUS
13. I/O
14. bus sistem
15. -saluran data
    -saluran alamat
    -saluran kontrol
16. saluran alamat
17. multiplexed

PERTEMUAN III : INTERNAL MEMORY
1. Byte
2. sequensial access
3. direct acces
4. assocoative acces
5. access time
6. transfer rate Tn = Ta + N/R
7. RAM (Random Access Memory)
8. pemetaan langsung
9. enchanced DRAM (EDRAM)
10. Rambus DRAM (RDRAM)
11. RAMLINK
12. 500 Mbps
13. 33 Mbps

PERTEMUAN IV : INTERNAL MEMORY
1. raid
2. logam/plastik
3. head
4. CD
5. serial
6. serial
7. paralel
8. - direct
   - assosiative
   - set assosiative
9. - EDRAM
   - CDRAM
   - SDRAM
   - RDRAM
   - RAMLINK
10. - access time
    - cycle time
    - transfer rate

PERTEMUAN V : INPUT OUTPUT
1. modul I/O
2. - video display terminal(VDT)
   - printer
3. - sistem disk dan pita magnetik
   - sistem robot
4. control signal
5. signal status
6. tranducer
7. buffer
8. 8-16 bit
9. ASCII
10. isolated I/O

PERTEMUAN VI : INPUT OUTPUT
1. interrupt driven I/O
2. DMA
3. paralel
4. serial
5. point to point
6. multi point
7. - read atau write
   - alamat I/O
   - lokasi awal dalam memory
   - jumlah word
8. - mengirim dan menerima data ke modul I/O
   - report status
9. - human readable
   - machine readable
   - communication
10. - CPU mengontrol peripheral secara langsung
    - ditambahkannya sebuah pengontrol atau modul I/O
    - CPU menggunakan I/O terpogram tanpa menggunakan interrupt

PERTEMUAN IX : CPU
1. ALU (arithmetic and logic unit)
2. komponen selain control unit, register, memory, i/o
3. -3.625
4. +5
5. 1001
6. 1111
7. 100100
8. 11000100
9. 18
10. 25
11. 0010000
12. divisor
13. dividend
14. quotient
15. remainders

PERTEMUAN X : Set Instruksi
1. immediate addressing
2. direct addressing
3. indirect addressing
4. indirect addressing
5. indirect addressing
6. indirect addressing
7. immediate addressing
8. format instruksi
9. kode instruksi
10. load
11. operand
12. store
13. opcode
14. mode pengalamatan
15. aplikasi memori terbatas

PERTEMUAN XI : STRUKTUR DAN FUNGSI CPU
1. interpret instruction
2. a. user-visible register
   b. control and status register
3. user-visible register
4. general purpose
5. kode-kode kondisi (flag)
6. control and status register
7. program counter
8. memory address register (MAR)
9. flag register
10. common field atau flag:
   -sign : berisi bit tanda hasil operasi aritmatik terakhir
   -zero : disetel bila hasil sama dengan nol
   -carry : disetel apabila operasi yang dihasilkan didalam carry kedalam bit yang lebih tinggi atau borrow dari bit yang lebih tinggi
   -equal : disetel apabila hasil pembandingan logikanya sama
   -overflow : digunakan untuk mengindikasikan overflow aritmatik
   -interupt enable/disable : untuk mengizinkan atau mencegah interupt
   -supervisor : mengindikasikan apakah cpu seddang mengeksekusi dalam mode supervisor atau dalam mode user.
11. troughput
12. pemrosesan pipeline
13. 32 bit
14. menspesifikasikan register numerik

PERTEMUAN XII : RISC
1. Reduced Instructions Set Computer
2. 1989
3. 235
4. 11
5. 16
6. 8
7. 23
8. 26
9. 24
10. register
11. bit
12. 16-32 buah
13. kompiler
14. - instruksi berukuran tunggal
    - ukuran yang umum adalah 4 byte
    - jumlah pengalamatan data yang sedikit (<5buah)
    - tidak terdapat pengalamatan langsung
    - tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika
15. RISC

PERTEMUAN XIII : RISA
1. pembuat kompiler
2. kecil dan lebih cepat
3. referensi register
4. instruksi mesin
5. -satu interuksi per siklus
   -operasi register ke register
   -address mode sederhana
   -format instruksi sederhana
6. dua fase
   -instruction set
   -execute set
7. input register dan output register
8. 3 buah fase
9. -instruction set
   -execute set
10. -instruction set
    -execute set
    -memori

PERTEMUAN XIV : CU
1. operasi mikro
2. MAR
3. MBR
4. PC
5. IR
6. MBR (memory)
   PC (PC + 1)
7. 00 : fetch
   01 : INDIRECT
   10 : EXECUTE
   11 : INTERUPT
8. MAR, MBR, IR, PC
9. T1 MAR -> (IR(alamat)
   T2 MBR -> memory
   T3 IR(alamat) -> (MBR(alamat)
10. T1 MBR -> (PC)
    T2 MAR -> alamat-simpan
       PC  -> alamat-rutin
    T3 memory -> (MBR)
11. T1 MAR -> (IR(alamat)
    T2 MBR -> memori
    T3 R1  -> (IR)+(MBR)
12. setiap fase siklus intruksi dapat diuraikan menjadi operasi mikro elementer.
    ada 4 buah kode siklus instruksi. ICC menandai status cpu dalam hal bagian tempat siklus tersebut berada.
13. -menentukan elemen dasar cpu
    -menjelaskan operasi mikro yang akan dilakukan cpu
    -menentukan fungsi-fungsi yang harus dilakukan unit control agar menyebabkan pembentukan operasi mikro
14. -ALU
    -register-register
    -lintasan data internal
    -lintasan data eksternal
    -unit control
15. -pengurutan
    -eksekusi

Jumat, 23 Desember 2011

Jumat, 09 Desember 2011

Minggu, 02 Oktober 2011

Pelanggaran dan Penyalahgunaan kemampuan Programming

Adapun beberapa pelanggaran yang umum dan sering terjadi adalah sebagai berikut :
  • Pelanggaran Copyright

    Pelanggaran ini merupakan pelanggaran dimana seorang programmer menggunakan ulang kode dengan hak cipta orang lain atau perusahaan lain dan menjual atau mengkomersilkan kembali kode tersebut dengan mengatas namakan hak cipta programmer tersebut. Untuk pelanggaran ini seorang programmer bisa diberikan sanksi berupa sanksi Hukum baik hukum pidana atau pun hukum perdata.
  • Pembuatan Virus Komputer

    Pelanggaran ini merupakan pelanggaran dimana seorang programmer dengan sengaja membuat sebuah Program Virus, dan menyebarkannya ke semua komputer di dunia melalui jaringan internet. Untuk kasus ini bisa dibilang cukup sulit, dikarenakan banyak programmer pembuat virus tersebut menginisialkan nama aslinya sehingga sulit untuk melacak keberadaannya.

    Untuk pelanggaran ini, bisa diberikan sanksi berupa sanksi Hukum bila programmer tersebut terbukti dan tertangkap membuat program virus tersebut.
  • Pembuatan Software Cracking

    Untuk pelanggaran yang satu ini merupakan pelanggaran dimana seorang programmer membuat sebuah Aplikasi yang memungkinkan menjadikan Software berbayar menjadi Free alias Gratis.

    Untuk pelanggaran ini, bisa diberikan sanksi berupa sanksi Hukum karena melanggar hak cipta dari pengembang software asli.
  • Hacking

    Merupakan pelanggaran yang cukup banyak ditemui sekarang ini. Banyak sekali website-website yang terkena hacking oleh para hacker-hacker dunia. Dan tidak hanya merubah tampilan halaman sebuah website saja, kadang juga beberapa hacker ada yang membuat Server dari hosting website tersebut Down alias Hank dan tidak bisa beroperasi selama beberapa jam atau menit.

    Untuk pelanggaran tersebut belum ada sanksi yang jelas, dan sedikit sulit untuk menangkap tersangka Hacker tersebut karena menggunakan nama inisial. Untuk di Indonesia sudah ada UU yang menangani masalah tersebut yaitu UU ITE.
  • Carding

    Pelanggaran ini merupakan pelanggaran seorang programmer dimana programmer tersebut mengumpulkan data Kartu Kredit atau Akun Bank dari seseorang dan kemudia disalahgunakan dengan memindahkan sejumlah uang atau menggunakan uang hasil pengumpulan data tersebut.

    Untuk pelanggaran ini bisa dikenakan Sanksi Hukum dan masuk kedalam kategori Hukum Pidana maupun Perdata bila pelaku tertangkap dan terdapat bukti yang menguatkan.

Itulah beberapa pelanggaran yang sering terjadi pada dunia Programmer. Masih banyak pelanggaran lainnya yang tidak dapat saya sampaikan. Mungkin anda bisa mencarinya di Google.. :)

Sikap Programmer terhadap klien

Ada beberapa hal yang harus dimiliki seorang programmer dalam menghadapi klien :
  1. Mempunyai sikap & kepribadian baik, komunikatif, mudah beradaptasi dengan lingkungan kerja, cekatan & fleksibel. 
  2. Mampu bekerja berorientasi jadwal, mengatur pekerjaan multiple project dan bekerja sama dalam team. 
  3. Membuat kontrak kerja dengan klien. 
  4. Menyukai dan mengerti dasar-dasar pemrograman.

Kewajiban Seorang Programmer

 Seorang Programmer memiliki beberapahal yang wajib diketahui dan dipahami, yaitu :
  1. Memahami konsep dasar sistem operasi. Kebanyakan dari programmer Indonesia biasanya membuat aplikasi di atas sistem operasi, sehingga banyak yang berpendapat bahwa tidak perlu memahami cara kerja sistem operasi. 
  2. Memahami konsep dasar jaringan. Sebuah aplikasi tidak dapat berjalan sendiri. Aplikasi tersebut pasti harus berhubungan dengan internet, melayani banyak pengguna.
  3. Memahami konsep dasar relational database. Setiap aplikasi pasti memiliki sebuah database dalam penyimpanan datanya untuk itu programmer khususnya Database Programmer ditekankan menguasai relational database. 
  4. Karena sekarang jaman internet, maka wajib memahami protokol HTTP, FTP, POP3, SMTP, SSH. Protokol HTTP sekarang adalah protokol yang paling banyak digunakan di internet. 
  5. Karena sekarang jaman globalisasi, maka wajib memahami Unicode. Unicode itu penting supaya aplikasi kita tetap bisa diinstal di komputer mana saja. 
  6. Lebih dari satu bahasa pemrograman. Pemahaman lebih dari satu bahasa itu penting agar wawasan programmer lebih terbuka. Bahwa tidak ada bahasa yang one-fit-all. 
  7. Cara menggunakan Version Control. Dalam dunia kerja, penggunaan version control adalah wajib. Ini standar (de facto) internasional. Jika mempunyai project opensource, baik di Sourceforge, Apache, Codehaus, dan semua hosting project opensource, pasti programmer akan diberikan version control.

Keterampilan Yang Harus Dimiliki Programer

Beberapa Keterampilan yang harus dimiliki oleh seorang programmer, antara lain :
  1. Memahami kode sumber sebuah program, dari yang sederhana hingga relatif kompleks, adalah keterampilan yang harus dimiliki oleh seorang programmer. 
  2. Implementasi sebuah algoritma yang memodifikasi sebentuk struktur data dalam sebuah program dapat kita adaptasikan ke dalam program yang kita buat sendiri dengan konteks dan struktur data yang sama sekali berbeda.
  3. Melanjutkan pengelolaan, menyesuaikan, mengembangkan dan (bila perlu) merombaknya untuk menyesuaikan program dengan kebutuhan pengguna tanpa mengorbankan kemudahan perawatan di masa mendatang. 
  4. Memiliki kemampuan sebagaimana dijelaskan dalam point 1. dan 2. untuk program yang ditulis dan didokumentasikan oleh programmer lain.
  5. Membaca program untuk memperkaya perkakas yang dimiliki seorang

Faktor yang mempengaruhi produk dan produktifitas seorang Programmer

Adapun faktor-faktor yang mempengaruhi produk dan produktifitas seorang Programmer  tersebut meliputi :
  1. Komunikasi team. Meningkatnya ukuran produk yang dihasilkan akan menurunkan produktivitas programmer akibat meningkatnya kerumitan antara komponen-komponen program dan akibat meningkatnya komunikasi yang perlu dilakukan antara programmer, manajer,dan pelanggan. 
  2. Kerumitan produk. Tiga level kerumitan produk : program aplikasi, program utility, program level sistem. 
  3. Notasi yang tepat. Bahasa pemrograman menetapkan notasi (baca : token, reserve word) baku, terutama untuk hal-hal yang berkaitan dengan matematika. penetapan notasi antar programer (baca : perancang produk) harus dilakukan sehingga dapat dimengerti dengan jelas. 
  4. Kendali perubahan Perubahan terhadap produk harus tetap meminta persetujuan manajer sebagai penanggung jawab proyek. Dampak perubahan harus dapat ditelusuri, diuji, dan didokumentasikan. 
  5. Tingkat teknologi. Peran penggunaan teknologi dalam proyek perangkat lunak misalnya menyangkut bahasa pemrograman, lingkungan mesin yang digunakan, teknik pemrograman, dan penggunaan tools tertentu. Bahasa pemrograman modern menyediakan fasilitas penyesuaian pendefinisisan dan penggunaan data, konstruksi aliran kendali, fasilitas modular, dan concurent programming.
  6. Pendekatan sistematis. Sistem menetapkan teknik dan prosedur baku. pembakuan dalam pengembangan dan pemeliharaan perangkat lunak masih belum mantap. 
  7. Tingkat keandalan. Setiap produk harus mempunyai keandalan standar. Peningkatan keandalan dihasilkan melalui perhatian yang sangat besar pada tahap analisa. Peningkatan keandalan akan menurunkan produktivitas. 
  8. Pemahaman permasalahan. Pelanggan adalah penyumbang utama terhadap kegagalan dalam memahami masalah adalah : a) Tidak memahami permasalahan perusahaannya. b) Tidak mengerti kemampuan dan keterbatasan komputer. c) Tidak mempunyai pengetahuan dasar tentang logika dan algoritma. d) Software engineer tidak memahami lapangan aplikasi, gagal mendapatkan informasi kebutuhan pelanggan karena pelanggan bukan seorang end user. 
  9. Persyaratan keterampilan. Berbagai keterampilan harus ada dalam sebuah proyek perangkat lunak, misalnya: a) Keterampilan berkomunikasi dengan pelanggan untuk memastikan keinginannya dengan sejelas-jelasnya. b)  Kemampuan dalam pendefinisian masalah dan perancangan. c) Kemampuan implementasi dengan penulisan program yang benar. d) Kemampuan debugging secara deduktif dengan kerangka “what if ”.         e) Dokumentasi. f) Kemampuan bekerja dengan pelanggan. g) Semua keterampilan tersebut harus senantiasa dilatih. 
  10. Fasilitas dan sumber daya. Fasilitas non teknis yang tetap perlu diperhatikan yang berkaitan dengan motivasi programmer misalnya : mesin yang baik, serta tempat yang tenang, atau ruang kerjanya dapat ditata secara pribadi. 
  11. Pelatihan yang cukup. Banyak programmer yang dilatih dalam bidang-bidang : ilmu komputer, teknik elektro, akuntansi, matematika, tetapi jarang yang mendapat pelatihan dalam bidang teknik perangkat lunak. 
  12. Ketersediaan waktu. Berbagai keterampilan harus ada dalam sebuah proyek perangkat lunak, misalnya :  a) Keterampilan berkomunikasi dengan pelanggan untuk memastikan keinginannya dengan sejelas-jelasnya. b) Kemampuan dalam pendefinisian masalah dan perancangan. c) Kemampuan implementasi dengan penulisan program yang benar.       d) Kemampuan debugging secara deduktif dengan kerangka “what if ”. e) Dokumentasi. f) Kemampuan bekerja dengan pelanggan. g) Semua keterampilan tersebut harus senantiasa dilatih. 
  13. Kemampuan manajemen. Seringkali manajer proyek tidak mempunyai, atau hanya sedikit mengetahui, latar belakang teknik perangkat lunak. Di sisi lain terjadi promosi jabatan menjadi manajer dimana yang berpromosi tidak atau kurang mempunyai kemampuan manajemen. Sasaran yang tepat Sasaran utama dari teknik perangkat lunak adalah pengembangan produk-produk perangkat lunak yang tepat untuk digunakan.