Wednesday, 10 June 2015

Struktur dan Fungsi CPU

CPU

Central Processing Unit
Merupakan komponen terpenting dari sistem komputer
Komponen pengolah data berdasarkan instruksi yang diberikan kepadanya
Dalam mewujudkan fungsi dan tugasnya, CPU tersusun atas beberapa komponen
Komponen Utama CPU
Arithmetic and Logic Unit (ALU)
Control Unit
Registers
CPU Interconnections
Arithmetic and Logic Unit (ALU)
Bertugas membentuk fungsi-fungsi pengolahan data komputer
ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi-instruksi bahasa mesin yang diberikan padanya. Seperti istilahnya.
ALU terdiri dari dua bagian, yaitu unit aritmetika dan unit logika boolean, yang masing-masing memiliki spesifikasi tugas tersendiri.
Control Unit
Bertugas mengontrol operasi CPU dan secara keseluruhan mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya.
Termasuk dalam tanggung jawab unit kontrol adalah mengambil instruksi-instruksi dari memori utama dan menentukan jenis instruksi tersebut.
Registers
Media penyimpanan internal CPU yang digunakan saat proses pengolahan data.
Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya.
CPU Interconnections
Sistem koneksi dan bus yang menghubungkan komponen internal dan bus-bus eksternal CPU.
Komponen internal CPU yaitu ALU, unit kontrol dan register-register.
Komponen eksternal CPU : sistem lainnya, seperti memori utama, piranti masukan/keluaran.


Fungsi CPU

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


Siklus Fetch - Eksekusi
Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi dari memori.
Terdapat registers dalam CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya, yang disebut Program Counter (PC).
PC akan menambah satu hitungannya setiap kali CPU membaca instruksi.
Instruksi-instruksi yang dibaca akan dibuat dalam register instruksi (IR).
Instruksi-instruksi ii dalam bentuk kode-kode binner yang dapat direpresentasikan oleh CPU kemudian dilakukan aksi yang diperlukan.
Aksi CPU
CPU - Memori, perpindahan data dari CPU ke memori dan sebaliknya.
CPU - I/O, perpindahan data dari CPU ke modul I/O dan sebaliknya.
Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan logika terhadap data.
Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja. Misalnya instruksi pengubahan urusan eksekusi.
Siklus Eksekusi
Instruction Address Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori memiliki panjang 8 bit, maka tambahkan 2 ke alamat sebelumnya.
Instruction Fetch (IF), yaitu membaca atau mengambil instruksi dari lokasi memorinya ke CPU.
Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori.
Operand Fetch (OF), yaitu mengambil operand dari memori atau dari modul I/O.
Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
Operand Store (OS), yaitu menyimpan hasil eksekusi ke dalam memori.

Fungsi Interupsi
Mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU kepada routine interupsi.
Hampir semua modul (memori dan I/O) memiliki mekanisme yang dapat menginterupsi kerja CPU.
Tujuan Interupsi
Secara umum untuk manajemen pengeksekusian routine instruksi agar efektif dan efisien antar CPU dan modul-modul I/O maupun memori.
Setiap komponen komputer dapat menjalankan tugasnya secara bersamaan, tetapi kendali terletak pada CPU di samping itu kecepatan eksekusi masing-masing modul berbeda.
Dapat sebagai sinkronisasi kerja antar modul.
Kelas Sinyal Interupsi
Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada hasil eksekusi program. Contohnya : aritmatika overflow, pembagian nol, operasi ilegal.
Timer, adalah interupsi yang dibangkitkan dengan pewaktuan dalam prosesor. Sinyal ini memungkinkan sistem operasi menjalankan fungsi tertentu secara reguler.
I/O, sinyal interupsi yang dibangkitkan oleh modul I/O sehubungan pemberitahuan kondisi error dan penyelesaian suatu operasi.
Hardware Failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan partas memori.
Proses Interupsi
Dengan adanya mekanisme interupsi, prosesor dapat digunakan untuk mengeksekusi instruksi-instruksi lain.
Saat suatu modul telah selesai menjalankan tugasnya dan siap menerima tugas berikutnya, maka modul ini akan mengirimkan permintaan interupsi ke prosesor.
Kemudian prosesor akan menghentikan eksekusi yang sedang dijalankannya untuk meng-handle routine interupsi.
Setelah program interupsi selesai maka prosesor akan melanjutkan eksekusi programnya kembali.
Saat sinyal interupsi diterima prosesor ada dua kemungkina tindakan, yaitu interupsi diterima/ditangguhkan dan interupsi ditolak.
Interupsi ditangguhkan :
Apa yang dilakukan prosesor ?
Prosesor menangguhkan eksekusi program yang dijalankan dan menyimpan konteksnya. Tindakan ini adalah menyimpan alamat instruksi berikutnya yang akan dieksekusi dan data lain yang relevan.
Prosesor menyetel Program Counter (PC) ke alamat awal routine interrupt handler.

Sistem Operasi Kompleks
Interupsi ganda (multiple interrupt).
Misalnya suatu komputer akan menerima permintaan interupsi saat proses pencetakan dengan printer selesai, disamping itu dimungkinkan dari saluran komunikasi akan mengirimkan permintaan interupsi setiap kali data tiba.
Dapat diambil dua buah pendekatan untuk menangani interupsi ganda ini.
Pendekatan Interupsi Ganda
Ada 2 pendekatan :
Pendekatan ini disebut pengolahan interupsi berurutan/sekuensial.
Menolak atau tidak mengizinkan interupsi lain saat suatu interupsi ditangani prosesor.
Setelah prosesor selesai menangani suatu interupsi maka interupsi lain baru ditangani.
Pengolahan interupsi bersarang yaitu mendefinisikan prioritas bagi interupsi.
Interrupt handler mengizinkan interupsi berprioritas lebih tinggi ditangani terlebih dahulu.


ARSITEKTUR KOMPUTER

ARSITEKTUR KOMPUTER

Pengertian arsitektur komputer adalah dapat dikategorikan sebagai ilmu dan sekaligus sebagai suatu seni mengenai cara interkoneksi antara berbagai komponen perangkat keras atau hardware untuk dapat menciptakan sebuah komputer yang dapat memenuhi kebutuhan fungsional, kinerja, dan juga target biayanya.

Dalam bidang teknik komputer, definisi arsitektur komputer adalah suatu konsep perencanaan dan juga struktur pengoperasian dasar dari suatu sistem komputer atau ilmu yang bertujuan untuk perancangan sistem komputer.

Arsitektur von Neumann (atau Mesin Von Neumann) adalah arsitektur yang diciptakan oleh John von Neumann [1903 – 1957]. Arsitektur ini digunakan oleh hampir pada semua komputer pada saat ini. Arsitektur Von Neumann ini menggambarkan komputer dengan 4 (empat) bagian utama, yaitu: Unit Aritmatika & Logis (ALU), unit kontrol, memori, & alat masukan & hasil (secara kolektif dinamakan I/O). Bagian tersebut dihubungkan oleh berkas kawat, “bus”.

3 sub-kategori arsitektur komputer

Arsitektur komputer ini mengandung 3 (tiga) sub-kategori, diantaranya meliputi:
Set intruksi (ISA).
Arsitektur mikro dari ISA, dan juga
Sistem desain dari semua atau seluruh komponen dalam perangkat keras (hardware) komputer ini.

Arsitektur Komputer yaitu desain komputer yang meliputi:
Set instruksi.
Komponen hardware (perangkat keras).
Organisasi atau susunan sistemnya.


Bentuk komputer PC

2 bagian utama arsitektur komputer

Terdapat 2 (dua) bagian pokok arsitektur komputer:
Instructure Set Architecture, adalah spesifikasi yang menentukan bagaimana programmer bahasa mesin berinteraksi dengan komputer.
Hardware System Architacture yaitu subsistem hardware (perangkat keras) dasar yaitu CPU, Memori, serta OS.

Inilah cara melakukan perubahan pada arsitektur komputer

Cara-cara untuk melakukan perubahan pada arsitektur, yaitu seperti:
Membangun array prosesor.
Menerapkan proses pipelining.
Membangun komputer multiprosesor.
Membangun komputer dengan arsitektur yang lain.

Berikut ini mengukur kualitas dari arsitektur komputer

Terdapat beberapa atribut yang dipakai untuk mengukur kualitas komputer, diantaranya :
Generalitas.
Applicability (Daya Terap).
Efesiensi.
Kemudahan Penggunaan atau pemakaian.
Daya Tempa (Maleability).
Dan daya Kembang (Expandibility).

Dan inilah faktor yang berpengaruh pada keberhasilan Arsitektur Komputer

Terdapat faator-faktor yang dapat berpengaruh pada keberhasilan arsitektur komputer, 3 (tiga) diantaranya adalah:

1. Yang pertama manfaat Arsitektural diantaranya yaitu:
Aplicability.
Maleability.
Expandibility.
Comptible.

2. Kinerja Sistem.

Yaitu untuk mengukur kinerja dari sistem, ada serangkaian program yang standard yang dijalankan yang dapat di sebut Benchmark pada komputer yang akan diuji ukuran kinerja CPU:
MIPS (Million Instruction PerSecond)
MFLOP (Million Floating Point PerSecond)
VUP (VAX Unit of Performance)

Ukuran Kinerja I/O sistem:
Sistem Operasi Bandwith
Operasi I/O Perdetik

Ukuran Kinerja Memori:
Memoy Bandwith.
Waktu Akses Memori.
Ukuran Memori.

3. Biaya Sistem, Biaya dapat diukur dalam banyak cara diantaranya, yaitu :
Reliabilitas.
Kemudahan Perbaikan.
Konsumsi daya.
Berat.
Kekebalan.
Interface Sistem Software.

Arsitektur komputer merupakan suatu hal yang sangatlah penting karena dapat memberikan berbagai atribut-atribut pada sistem komputer, hal tersebuti tentunya sangat dibutuhkan bagi perancang ataupun user software sistem dalam mengembangkan suatu program.

Wednesday, 3 June 2015

UTS Pemrograman Dasar 2015

1.Pseudocode yang digunakan pada penulisan algoritma dapat berupa
a.Bahsa Inggris
b.Bahasa Puitis
c.Bhasa Pemrograman
D.Bahasa Asing
E.Sembarang Bahasa

2.Pada pembuatan program computer  algoritma dibuat
A.Sebelum pembuatan program
B.Pada saat program dibuat
C.Sesudah Program dibuat
D.Pada saat verifikasi program
E.Saat program dieskusi

3.Tahapan dalam menyelesaikan suatu masalah adalah
A.Masalah-Pseudocode-Flowchart-Program Eskusi-Hasil
B.Masalah-Algoritma-Flowchart-Program-Esksusi-Hasil
C.Masalah-Model-Algoritma-Eskusi-Hasil
D.Masalah-Model-Algortima-Program-Eskusi-Hasil
E.Algortima-Progrem-Model-Eksusi-Hasil

4.Dalam menyusun suatu program  Langkah pertama yang harus dilakukan adalah
A.Membuat program
B.Membuat Algortima
C.Membeli computer
D.Proses
E.Mempelajari Program

5.Diketahui bahwa kantong P kosong  Kantong Qberisi 10 buah kelereng dan kantong R berisi 15 kelereng . Apabila yang terbawa hanya sebuah kantong dan dikatakan BUKAN Kantong P yang terbawa  maka jumlah kelereng yang erbawa adalah
A.10
B.15
C.10 atau 15
D.10 dan 15
E.kosong

6.Diberikan algortima : Apabila warna merah maka jadi hijau . Apabila warna hijau maka jadi putih . Selain warna merah dan hiau  maka jadi ungu . Jadi kondisi input warna merah adalah hitam maka warna jadi
A.Merah
B. Ungu
C.Hijau
D.Putih
E.Abu-abu
7.Apabila a=5 b=10 maka jika diberikan intruksi a=b b=a akan mengakibatkan
A.a=0 b=5
B.a=10 b=5
C.a=10 b=0
D.a=b
E.a=10 b=10

8.Diberikan algoritma p=10 p=p+5 q=p . Nilai P dan Q masing masing adalah
A.10 dan 15
B.5 dan 0
C.15 dan 15
D. 0 dan 10
E. 10 dan 15

9.Berikut adalah contoh penulisan identifier yang benar kecuali
A. Alamat
B.Tnagggal_lahit
c.1_NAMA
D.Jenis_kelamin
E.Jabatan

10.Type data yang hanya mengenal kondisi True atau false pada C++ adalah
A.String
B.Boolean
C.Int
D.Char
E.Long Int

11.Dalam C++ terdapat suatu tipe data yang nilainya tidak boleh memiliki nilai decimal yaitu
A.Float
B.bol
C.Int
D.Char
E.Long Int

12.Program C++ dirancang pertama kalki oleh
A.Al Khawarizm
B.Blaise Pascal
C.Prof.Niklaus
D.Dennis
E.Bjarne

13.Tipe data yang digunakan untuk menampung sebuah karakter adalah
A.String
B.Boolean
C.Int
D.Char
E.Long Int
14.Contoh penggunaan tipe data Boolean
A.Algoritma
B.Siswa
C.17 tahun
D.Laki-lakiperempuan
E.Superman

15.Berikut ini merupakan tipe dari bilangan pecahan
A.Interger dan Long
B.Interger dan Float
C.Long and Float
D.Float dan Double
E.Double dan Integer

16.Simbol Flowchart yang digunakan sebagai awal dan akhir suatu proses adalah
A.Terminator
B.Preparation
C.Decision
D.Input
E.Output

17.Simbol Flowchart yang digunakan untuk penghubung  dalam suatu halaman yang sama adalah
A.
B.
C.
D.
E.

18.Pada tipe data Boolean berlaku operator operator
A.If
B.And or not
C.True false
D.Case
E.Number

19.Simbol yang merupakan pengambilan keputusan dalam suatu kondisi tertentu dilambangkan dengan
A.
B.
C.
D.
E.

20.Perhatikan pernyataan berikut ini jika nilai ujian lebih besar atau sama dengan 75 maka ujian dinyatakan lulus teteapi jika nilai ulangan kurang dari 75 maka ujian dinyatakan gagal . Ynag merupakan dua kondisi 2 dan pernyataan 1 adalah
A.Jika nilai ulangan lebih besar atau sam dengan 75 maka ujian dinyatakan lulus
B.Jika nilai ujian lebih besar atau sama dengan 75 maka ujian dinyatakan gagal
C.Ujian dinyatakan gagal apabila nilai ujian kuranfg dari 75
D.Jika nilai ujian kurang dari 75. Maka ujian dinyatakan lulus
E.Ujian dinyatakan lulus apanila nilai ujian yang dicapai lebih besar atau sama dengan 75

 






21.Gambar diatas pernyataan yang bisa diambil
A.Jika A>B bernila benar maka akan tercetak A dan B
B.Jika A>B bernila salah maka akan tercetak A dan B
C.Jika B tidak lebih besar dari A maka akan tercetak B
D.Jika A lebih besar dari B maka akan tercetak A
E.Jika B lebih kecil dari A maka akan tercetak A

22.Dari pernyataan berikut merupakan salah satu pertanyaan bertipe
A.Bersarang
B.Algoritma teks
C.Operasi Boolean
D.Operasi Rasional
E.Pseudocode

23.Dari suatu Algorima berbunyi x%y jika x bernila 6 dan y 4 maka hasil dari algoritma tersebut adalah
A.15
B.1
C.6
D.2
E.4

24.Dlam operator Relasi pernyataan 1713 akan bernilai
A.13 bukan lebih besar dari 17
B.17>13
C.13 bukan lebih besar dari 17
D.False
E.17 bukan lebih kecil dari 13

25.Gambar berikut ini merupakan alur yang sesuai untuk menentukan bilangan ganjil genap adalah
A.Picture has been error
B.Pictre has been error
C.Picture has been error
D.Picture has been error
E.Picture has been error

26.Nilai p=0 q=5 r=10 jika diketahui nila p q r adalah seperti yang tersebut dan algoritmanya adalah nila p=q q=r maka nilai p q r adalah
A.p=5 q=10 r=10
B.p=0 q=10 r=10
C.p=5 q=5 r=10
D.p=5 q=10 r=15
E.p=0 q=5 r=10

27.Sturktur perntanyaan yang digunakan untuk pengambilan keputusan adalah
A.dor dan if
B.do while dan if
C.while and switch
D.if dan switch
E.if dan switcdo while dan switch

28.Dibawah ini termasuk tipe data numeric adalah
A.Char dan string
B.Float dan string
C.Interger dan Float
D.Boolean dan Interger
E.Float dan Boolean

29.Diantara nilai nilai berikut ini yang termasuk tipe data Char adalah
A. 1 . 2 .3 .4. 5
B.1.2.3.4.5
C.1.2.3.4.5
D.12345
E.1.2.3.4.5

30.Apakah yang dimaksud dengan struktur if
A.Suatu aksi yang dikerjakan jika salah satu terpenuhi
B.Suatu aksi yang dikerjakan sesuai dengan kondisi pilihannya
C.Suatu aksi yang dipilih jika salah sati diantara bebrapa pilihan terpenuhi
D.Suatu aksi yang dikerjakan secara urut
E.Suatu aksi yang dikerjakan jika salah satu terpenuhi dan dua pilihan terpenuhi

31.Dibawah ini pasangan struktur if adalah
A.else
B.while
C.for
D.do
E.case

32.Sebutkan kondisi berikut ini yang termasuk dalam sturktur pemilhan adalah
A.for while if
B.repeat while
C.for while
D.if switch
E.for if wile

33.Manakah operator yang digunakan untuk pengambilan keputusan
A.Unary
B.Ternary
C.Getnary
D.Binary
E.Tidak ada jawaban yang benar

34.Mnaakh pernyataan berikut yang benar
A.20&&x==10
B.(1056>3)
C.6=6&&7>8
D.6=
E.2=1ll 4i=4

35.Fungsi prosedur #define adalah untuk
A.Mendeklarasikan variable
B.mendeklarasikan konstanta
C.Mendeklarasikan fungsi
D.mendeklarasikan header files
E.mendeklarasikan nilai awal

36.Berikut adalah bentuk output
`               Indonesia
                Tanah Pusaka
Bagaimana bentuk penulisan program C diatas
A.Cout>>Indonesia Tanah Pusaka;
B. Cout>>”Indonesia Tnaha Pusaka”;
C.Cout>>:Indonesia Tnah Pusaka’>>Endl
D.Cout>>Indoensia Tnaha Pusaka>>Endl>>Pustaka
E.Cout>>Indonesia >>endl>>Tanah pusaka

37.Apabila diberikan deklarasi variable sebaga iberikut
Int usia;
Maka kemungkinan pemberian nilai berikut yang benar adalah
A.usia=100;
B.Usia=10000;
C.usiA=30000
D.USIa=32767
E.Usia=40000;

38.Penulisan Konstanta yang benar adalah
A.Const Alamat int=”manggis 60”
B.const int tgl-lahir=05031970
C.CONST char almt_rumah=”Jakarta”
D.CONST dloat bhs.indonesia=80;
E.Const int jns_kelamin=0;

39.Penulisan konstanta yang benar pada preprocessor adalah
A. ##define float bhs_indonesia=80;
B.const alamat int=’manggis 60”
C.#define bhs_indoensia 80;
D.#const int tgl-lahir=050319170
E.#define char almt_rumah=’jakarta’

40.Jika x=1 y=1 maka nila x sekarang adalah
A.2
B.3
C.4
D.5
E.6




Essay

Pembahasan UTS Pemrograman Dasar 2015

      
           
 SOAL

1.  Buatlah algoritma untuk menentukan apakah suatu bilangan yang di inputkan ganjil atau genap !
2.  Sebutkan beberapa aturan penamaan / penulisan identifier !
3.  Buatlah algoritma flowchart mencari luas dan keliling bangun persegi panjang ! dengan masukan        berupa panjang dan lebar
4.  Gambarkan flowchart dasar dari algoritma percabangan dengan 2 kondisi !
5.  Buatlah program untuk menjumlahkan 2 buah bilangan ! 


JAWAB

1.  Algoritma {deteksi bilangan ganjil / genap }
     Deklarasi : A (nilai masukan)
     Deskripsi : 1. Masukkan A
                       2. Apakah A habis dibagi 2
                           * Ya, cetak "genap"
                           * Tidak, cetak "ganjil"
                       3. Selesai


2.  * Harus diawali dengan karakter huruf / underscore (_)
     * Karakter berikut boleh, karakter huruf, $, underscore (_)
     * Panjang nama maximal 32 karakter
     * Tidak memiliki kesamaan nama dengan keyword

3.
4.

     


5.    #include<iostream>
       using namespace std;
       int main()
      {
        float a,b;
        cin>>a;
        cin>>b;
        cout<<a+b;
      }