Rabu, 31 Oktober 2012

Apa itu organisasi komputer ??

Di postingan pertama ini saya akan menerangkan apa itu organisasi computer. Artikel ini bersumber disini

DEFINISI ORGANISASI KOMPUTER

Organisasi komputer rincian hardware yang dapat diketahui oleh pemrogram, seperti sinyal - sinyalkontrol, antar-muka antara computer dan periferal serta penggunaan teknologi.

DEFINISI ARSITEKTUR KOMPUTER

Arsitektur komputer berkaitan dengan atribut  atribut yang mempunyai dampak langsung padaeksekusi logis sebuah program.[William Stalling]Arsitektur komputer meliputi spesifikasi sekumpulan instruksi dan unit hardware yang melaksanakaninstruksi tersebut.[carl hamacher]

PRINSIP KERJA ORGANISASI DAN ARSITEKTUR KOMPUTER

Komputer mempunyai bagian-bagaian yang mempunyai fungsi berbeda-beda. Susunan letak danhubungan antar bagian-bagian hingga membentuk tubuh komputer disebut sebagai arsitekturkomputer. Atau dengan kata lain arsitektur komputer merupakan pengorganisasian bagian-bagainfungsional sebuah komputer.Pada prinsipnya sebuah sistem komputer terdiri dari 3 bagian utama, yaitu:

1. CPU (Central Prosessing Unit )

CPU merupakan bagian fungsional yangutama dari sebuah sistem komputer,dapat dikatakan bahwa CPU merupakanotak dari sebuah komputer. Di dalam CPUinilah semua kerja komputer dilakukan.Hal-hal yang perlu dilakukan CPU adalah:

a.membaca, mengkodekan danmengeksekusi instruksi program

b. Mengirim data dari dan kememori, serta dari dan ke bagianinput/output.

c. Merespon interupsi dari luar.menyediakan clock dan sinyalkontrol kepada sistem.

Dalam melakukan hal-hal di atas, jelas CPU perlu menyimpan data untuk sementara waktu. CPU perlu mengingat lokasi instruksi terakhir sehingga CPU akan dapat mengambil instruksi berikutnya. CPU perlumenyimpan instruksi dan data untuk sementara waktu pada saat instruksi sedang dieksekusi.Dengankata lain, CPU memerlukan memori internal berukuran kecil yang disebut register.

Arithmetic and LogicUnit (ALU)

Berfungsi membentuk operasi- operasi aritmatika dan logic terhadap data Registermenyimpan data sementara dan hasil operasi ALU. Control unit menghasilkan sinyal,, yang akanmengontrol operasi ALU, dan pemindahan data ke ALU atau dari ALU.


MEMORI

Adalah bagian fungsional komputer yang berfungsi untuk menyimpan program dan data.

RAM (Random Access Memory )

Adalah memori yang dapat dibaca atau ditulisi. Data dalam sebuah RAM bersifat volatile, artinya dataakan terhapus bila catu daya dihilangkan. Karena sifat RAM yang volatile ini, maka program computertidak tersimpan di RAM. RAM hanya digunakan untuk mcnyimpaii data seinantara, yang ticlak begiluvital saal aliran daya terpiilus.

ROM (Read Only Memory)

Adalah memori yang hanya dapat dibaca. Data yang tersimpan dalam ROM bersifat non-volatile, artinyadata tidak akan lerhapus meskipun catu daya diputus. Karena sifatnya yang demikian, maka ROMdipergunakan untuk menyimpan program. Ada beberapa tipe ROM, diantaranya ROM murni, PROM,dan EPROM. PROM (Programmable ROM) adalah ROM yang dapat diprogram sendiri oleh pemakai.

PERANTARA INPUT/OUTPUT

Untuk melakukan hubungan dengan piranti di luar sistem komputer membutuhkan perantara I/O.Perangkat I/O sebagai jembatan penghubung antara mikrokomputer dengan piranti di luar system dapatmenerima data dari mikrokomputer dan dapat pula memberi data ke mikrokomputer.Ada dua macam perantara I/O, yaitu piranti untuk hubungan serial (UART-universal asynchronousreceiver-transmitter) dan piranti untuk hubungan paralel (PlO-paralel input output).

Kamis, 18 Oktober 2012

Contoh program pada QBasic

 



(1) 
cls
rem PROGRAM BIODATA
input "masukkan nama anda :", nama$
input "masukkan kelas anda :", kelas$
print "nama anda adalah:", nama$
print "kelas anda adalah:", kelas$
end

(2)cls
rem LUAS SEGITIGA
input "masukkan alas :", A
input "masukkan tinggi :", T
LUAS = (A*T)/2
print "LUAS SEGITIGA :", LUAS
end

Pengertian QBASIC

Qbasic adalah salah satu bahasa pemrograman yang menggunakan bahasa basic, Qbasic sendiri singkatan dari Quick Basic yang merupakan salah satu produk Microsoft Qbasic yang cukup baik untuk belajar dasar pemrograman.

Bahasa Pemrograman Basic dengan Quick Basic
DASAR-DASAR QBASIC

Bahasa BASIC dibuat oleh John G.Kemmeny dan Thomas E.Kurtz lebih
dari 20 tahun yang lalu
dan merupakan bahasa tingkat tinggi yang
relatif mudah dipelajari dan dimengerti.


Dalam perkembangannya , Bahasa BASIC dikembangkan dalam dua
jenis, yaitu interpreter dan compiler. Interpreter seperti GW-
BASIC pada sistem operasi MS-DOS, maupun BASICA pada sistem
operasi PC-DOS, sedangkan salah satu compilernya yang terkenal
adalah Quick BASIC yang dilengkapi dengan sistem
pemrograman
yang terstruktur, Quick Library, on-line help yang terpadu,
editor yang efisien (bisa merapikan teks serta memberitahukan
kesalahan syntax penulisan suatu perintah)

MENGAKTIFKAN QUICK BASIC

Untuk mengaktifkan Quick BASIC diperlukan sistem Quick BASIC yang
minimal terdiri dari file QB.EXE/QBasic.EXE. Jika kita telah
memiliki file tersebut tinggal diberi perintah QB pada Dos
Prompt.

Contoh

A>QB

atau

A>QBasic

Setelah pemberian perintah tersebut, pemakai akan dihadapkan
kepada suatu editor sebagai tempat pengetikan program yang akan
dikembangkan. Dibagian atas editor terdapat perintah menu yang
dapat diaktifkan dengan Tombol Alt disertai huruf depan dari
masing-masing pilihan.

File
/------------------\
| New Program | memulai program baru
| Open Program... | memuat program dari diskette ke RAM
| Save | menyimpan program ke diskette (file *.BAS)
| Save As... | menyimpan program ke nama yang lain
|------------------|
| Print... | mencetak program ke printer
|------------------|
| Exit | keluar ke Dos permanen
\------------------/

Edit
/----------------------\
| Undo Alt+Backspace | membatalkan perubahan terakhir
| Cut Shift+Del | memotong tulisan Blok ke ClipBoard
| Copy Ctrl+Ins | menduplikasi tulisan Blok ke ClipBoard
| Paste Shift+Ins | menyisip ClipBoard ke posisi Kursor
| Clear Del | menghapus tulisan yang di Blok
|----------------------|
| New SUB... |
| New FUNCTION... |
\----------------------/

Options
/-----------------\
| Display... | mengatur tampilan layar
| Help Set Path | mengatur default Dos Path
| Syntax Checking | mengatur keaktifan pemeriksaan Syntax
\-----------------/

Run
/---------------------\
| Start Shift+F5 | menjalankan program yang aktif
| Restart | mereset memory program
| Continue F5 | melanjutkan program yang terhenti
\---------------------/


MEMBUAT PROGRAM PADA QUICK BASIC

Apa yang dimaksud dengan pemrogram komputer ?

Pemrograman komputer berarti anda memberitahukan kepada komputer
ada yang anda ingin dia lakukan. Untuk memberitahukan komputer
apa yang harus dia lakukan, anda membutuhkan kata-kata khusus
(special words). Kata-kata ini disebut sebagai kata-kata kunci
(key words). Ketika anda menempatkan kata-kata kunci ini dalam
program anda sehingga kelihatan seperti kode khusus (special
code) yang disebut sebagai CODE dan pekerjaan menulis program
disebut CODING.


KATA, DATA, PERINTAH, dan FUNGSI BANTU merupakan komponen utama
suatu program yang saling berinteraksi. Pembuatan program dalam
Quick BASIC tidak terlepas dari keempat komponen di atas dalam
baris-baris perintah yang berkapasitas maksimum 256 character
yang mencakup identitas baris, perintah, dan kata-kata(Remark).
Identitas baris bisa berupa nomor baris (0-65529) [menjaga
kompatibilitas dengan GWBASIC maupun BASICA], dan bisa berupa
label dengan ketentuan :

- Maksimum 40 character, dimulai dengan huruf A..Z, diakhiri
dengan tanda :
- huruf besar/kecil sama, tidak sama dengan reserved word, dan
tidak pakai spasi

Setiap proses yang berhubungan dengan pengolahan data biasanya
memerlukan tempat penampung sementara dalam memory yang disebut
variabel dan dalam pengolahannya diperlukan operator dan fungsi
bantu.

Jenis Type Variabel pada Quick Basic :
/--------------------------------------------------------------------------\
|Data Type |Suffix|Maximum |Minimum | Size|
|--------------------------------------------------------------------------|
| | | |
|Strings | $ | 32,767 chars. | 0 chars. | |
|Integers | % | 32,767 |-32,768 | 2 |
|Long Integers | & | 2,147,483,647 |-2,147,483,648 | 4 |
|Single (7-digit) precision | ! |+3.402823 E+38 |+1.401298 E-45 | 4 |
_ _
|Double (15-digit) precision| # |+1.7976931 D+308|+4.940656 D-324 | 8 |
_ _
|User-Defined Data Types |----------------------------------------------/
\---------------------------/

Nama variabel juga memiliki ketentuan antara lain :
- Maksimum 40 character, diawali dengan huruf A..Z, diakhiri
dengan $, %, &, !, # untuk menunjukan type
- Tidak boleh sama dengan reserved word, tidak boleh pakai spasi
dan spesial character.

Operator pada Quick BASIC dibagi atas 5 jenis, antara lain :

1. Arithmetic operators : melakukan tugas perhitungan
/--------------------\ /----------------------------\
|Operator|Kegunaan | |Operator|Kegunaan |
|--------------------| |----------------------------|
| |
| ^ | Pangkat | | \ | Pembagian integer |
| - | Negatif | | MOD | Sisa bagi |
| * | Perkalian | | + | Penjumlahan |
| / | Pembagian | | - | Pengurangan |
\--------------------/ \----------------------------/

2. Relational operators : membandingkan strings dan nilai numerik
/--------------------------------------\
|Operator|Kegunaan |
|--------------------------------------|
| = | Sama dengan |
| <> | Tidak sama dengan |
| < | Lebih kecil | | > | Lebih besar |
| <= | Lebih besar atau sama dengan| | >= | Lebih kecil atau sama dengan|
\--------------------------------------/

Relational operators akan menghasilkan dua kemungkinan nilai
yaitu -1 jika benar dan 0 jika salah.

3. Logical operators : test kondisi dan manipulasi bits
/-----------------------------------------------------\
|Expresi1|Expresi2| NOT | AND | OR | XOR | EQV | IMP |
|-----------------------------------------------------|
| | | | | | |
| T | T | F | T | T | F | T | T |
| T | F | F | F | T | T | F | F |
| F | T | T | F | T | T | F | T |
| F | F | T | F | F | F | T | T |
\-----------------------------------------------------/

Functional operators : operator pelengkap
String operators : mengabung (+), dan membandingkan String

PERINTAH DASAR INPUT OUTPUT

Komputer hanya melaksanakan apa yang diperintahkan pemrogram.
Jadi, dalam membuat program untuk menyelesaikan suatu masalah,
kita harus tahu cara penyelesaiannya. Untuk itu diperlukan tahap-
tahap dalam menyelesaikan masalah tersebut.

INPUT dan OUTPUT merupakan awal dan akhir pengolahan suatu
data. Tanpa proses INPUT, kita tidak dapat memperoleh data untuk
diolah dan data-data yang telah selesai diolah tidak akan berarti
tanpa proses OUTPUT.

Syntax :
INPUT [;]["Prompt"{,|;}], Var list
PRINT [expresion list {,|;}]

Contoh 1 :
REM Program mencari Isi Bujursangkar
INPUT "MASUKKAN SISI BUJURSANGKAR :",S
ISI = S * S
PRINT "ISI DARI BUJURSANGKAR ADALAH :",ISI
END

Contoh 2 :
REM Program Isi Data
INPUT "MASUKKAN NAMA ANDA ";NM$
INPUT "MASUKKAN UMUR ANDA ";UR%
INPUT "MASUKKAN TGL,BLN,THN HARI INI ";TG%,BL%,TH%
PRINT "NAMA : ";NM$
PRINT "UMUR : ";UR%
PRINT "TANGGAL : ";TG%
PRINT "BULAN : ";BL%
PRINT "TAHUN : ";TH%
END

Catatan :
Untuk memberi keterangan pada program dapat digunakan REM atau '

LATIHAN

1. Aktifkan QBasic.EXE, dan anda akan dihadapkan pada suatu
WELCOME dialog box, tekan Esc untuk mengabaikannya. Selanjutnya
anda akan melihat lingkungan kerja QBasic yang terbagi atas dua
bagian : Bagian atas adalah "Jendela Editor" dan Bagian bawah
adalah "Jendela Immedietly".

2. Perhatikan letak kursor sekarang (pada Jendela Editor), tekan
function key (F6) untuk mengaktifkan Jendela Immedietly, dan (F6)
sekali lagi untuk sebaliknya.

3. Ketiklah ekspresi berikut pada jendela immedietly dengan
diawali perintah print (?).

Contoh :

1+2

diketik sebagai

? 1 + 2

Ekspresi : Hasilnya ?

1 + 2 _____ Penjumlahan
2 - 1 _____ Pengurangan
2 * 3 _____ Perkalian
5 / 2 _____ Pembagian
5 \ 2 _____ mengapa ? ____________ Pembagian bulat
5 Mod 2 _____ mengapa ? ____________ Sisa bagi
3^2 _____ Pangkat
1+2*6^2/4-1 _____ Urutan operasi
(1+2)*6^2/4-1 _____ Prioritas operasi

Tuliskan kesimpulan anda tentang :
1. Pembagian bulat ____________________________________________
2. Sisa bagi __________________________________________________
3. Urutan operasi _____________________________________________
4. Prioritas operasi __________________________________________

1 > 2 _____ lebih besar
1 < 1 _____ lebih kecil 2 = 2 _____ sama dengan 2 >= 2 _____ lebih besar atau sama
1 <= 2 _____ lebih kecil atau sama 3 <> 3 _____ tidak sama dengan

Mengapa True (-1) dan False (0) ?

(1 > 2) and (2 = 2) _____ Operasi And
(1 > 2) and (1 < 2) _____ Operasi And (1 < 2) and (2 = 2) _____ Operasi And (3 <> 2) and (1 > 2) _____ Operasi And

(1 > 2) and (2 = 2) _____ Operasi Or
(1 > 2) and (1 < 2) _____ Operasi Or (1 < 2) and (2 = 2) _____ Operasi Or (3 <> 2) and (1 > 2) _____ Operasi Or

(1 > 2) Xor (2 = 2) _____ Operasi Xor
(1 > 2) Xor (1 < 2) _____ Operasi Xor (1 < 2) Xor (2 = 2) _____ Operasi Xor (3 <> 2) Xor (1 > 2) _____ Operasi Xor

(1 > 2) Eqv (2 = 2) _____ Operasi Eqv
(1 > 2) Eqv (1 < 2) _____ Operasi Eqv (1 < 2) Eqv (2 = 2) _____ Operasi Eqv (3 <> 2) Eqv (1 > 2) _____ Operasi Eqv

(1 > 2) Imp (2 = 2) _____ Operasi Imp
(1 > 2) Imp (1 < 2) _____ Operasi Imp (1 < 2) Imp (2 = 2) _____ Operasi Imp (3 <> 2) Imp (1 > 2) _____ Operasi Imp

Not (1 > 2) _____ Operasi Imp
Not (2 > 2) _____ Operasi Imp

Not (1 > 2) Or (2 = 2) And (3 < 2) ______ Urutan operasi
Tuliskan kesimpulan anda tentang urutan operasi pada operator logika.

4. Ketiklah ekspresi berikut pada jendela immedietly :

A = 123
B = 1234567890
C% = 32767
D% = 100000 Overflow, mengapa ?
D& = 100000
E$ = "Indoprog"
F$ = 123 Type mismatch, mengapa ?
G = "hendra" Type mismatch, mengapa ?
H_1 = 123 expected : end-of-statement, mengapa ?
nilai ujian = 90 Syntax error, mengapa ?
next = 5 expected : variable or end-of-statement ?
cls = 6 expected : variable or end-of-statement ?

A% = 1.2 Berapa nilai A% ?
A% = 1.5 Berapa nilai A% ?

Tuliskan kesimpulan anda tentang variabel dan nama variabel

5. Ketiklah ekspresi berikut pada jendela immedietly dengan
diawali perintah print (?).

1 + 1 ______
1 + "100" Type mismatch, mengapa ?
"A" + "B" ______

Tuliskan kesimpulan anda operator pada type data.

6. Ketiklah statement berikut pada jendela immedietly

Print "Untuk kemajuan Indonesia"

Hasilnya : __________________________________


Print "Untuk","kemajuan","Indonesia"

Hasilnya : __________________________________


Print "Untuk";"kemajuan";Indonesia"

Hasilnya : __________________________________


Print "Untuk"
Print "Kemajuan"
Print "Indonesia"
Hasilnya : _____________
_____________
_____________

Print "Untuk";
Print "Kemajuan";
Print "Indonesia"

Hasilnya : __________________________________


Print 1,2,3

Hasilnya : __________________________________, mengapa ?


Print 1;2;3

Hasilnya : __________________________________, mengapa ?


Print tab(10),"Hendra";tab(30);"Wijaya"

Hasilnya : __________________________________, mengapa ?

Input nama$
print nama$

Hasilnya :? Hendra
__________________________________


Input "Masukkan nama :", nama$
print nama$

Hasilnya :Masukkan nama : Hendra
__________________________________


Input "Masukkan nama "; nama$
print nama$

Hasilnya :Masukkan nama ? Hendra

__________________________________


Input "Masukkan nama "; nama
print nama

Hasilnya : Masukkan nama ? Hendra
Redo from start, mengapa ?

6. Program anda yang pertama.

Aktifkan ke jendela Editor
Ketiklah CODE berikut :

REM Program saya yang pertama
CLS
PRINT "Hello semua"
END

Simpan CODE diatas ke file Bab1F.Bas (gunakan menu File Save)

Jalankan program diatas (gunakan menu Run Start atau tekan F5)

7. Program dengan proses input/output

Gunakan menu File New untuk memulai program baru
Ketiklah CODE berikut :

REM Program menghitung luas persegi panjang
CLS
INPUT "Masukkan sisi panjang :", panjang
INPUT "Masukkan sisi lebar :", lebar
LUAS = panjang * lebar
PRINT "Luas persegi panjang :", LUAS
END

Simpan CODE diatas ke file Bab1G.Bas

8. Buatlah program menghitung luas lingkaran.

9. Buatlah program konversi suhu Celcius ke Farenheit, Kelvin,
Reamur.

10. Beberapa perintah pengaturan INPUT OUTPUT

Pada tulisan ini tidak diberikan contoh untuk memancing
pertanyaan pada forum diskusi :).

CLS
Membersihkan layar dengan warna latar belakang

COLOR textcolor[,textbackground[,border]]
Mengatur warna tulisan, warna latar belakang, dan
warna border layar. Adapun nomor warna yang disediakan :
/----------------\ /----------------\ /----------------\ /------------------\
| # | Warna | | # | Warna | | # | Warna | | # | Warna |
|----------------| |----------------| |----------------| |------------------|
| | | |
| 0 | Hitam | | 4 | Merah | | 8 | Abu-abu | | 12 | Merah muda |
| 1 | Biru | | 5 | Magenta | | 9 | Biru muda | | 13 | Magenta muda|
| 2 | Hijau | | 6 | Brown | | 10 | Hijau muda| | 14 | Kuning |
| 3 | Cyan | | 7 | Putih | | 11 | Cyan muda | | 15 | Putih terang|
\----------------/ \----------------/ \----------------/ \------------------/
Warna tulisan dapat dibuat berkedip dengan menambahkan 16 pada
nomor warna
Warna latar belakang hanya dapat dipilih nomor 0 s/d 7
Warna border dapat dipilih 0 s/d 15

PRINT USING formatstring; expressionlist[{,|;}]
Mencetak text dan variabel dengan format tertentu
formatstring, ekspresi string yang mengatur format pencetakkan
dengan picture sebagai berikut :
/------------Characters Picture untuk mengatur format data numerik ------------\
| # Menentukan posisi digit | - Diletakan sesudah posisi digit |
| . Menentukan posisi Desimal | mencetak tanda untuk negatif |
| , Memunculkan pemisah ribuan,jutaan | $$ Mencetak $ pada posisi kosong |
| + Menentukan posisi tanda numerik | ** Mencetak * pada posisi kosong |
|^^^^ Mencetak dalam bentuk eksponensial| **$ Combinasi $ dan ** |
|-------------------Characters Picture untuk mengatur format data string-------|
| & Mencetak seluruh string | \ \ Mencetak n+2 character, dimana|
| ! Mencetak huruf pertama dari String | n adalah jumlah spasi \ \ |
\------------------------------------------------------------------------------/

WIDTH kolom,baris
Mengatur lebar text layar 40 atau 80 kolom dan pada monitor EGA
atau VGA mengatur jumlah baris layar 25,43,50 atau 60 (tergantung
pada jenis monitor)

LOCATE [row] [,[col] [,[cursor] [,start [,stop]]]]
Memindahkan kursor pada layar ke posisi baris dan kolom tertentu.
cursor, nilai 0 cursor off, nilai 1 cursor on
start, baris awal kursor 0 s/d 31
stop, baris akhir kursor 0 s/d 31

SPC(n)
Meloncat sejumlah n spasi pada saat pencetakan dengan perintah
print.

TAB(n)
Mencetak output ke kolom n yang ditentukan.

VIEW PRINT baris_teratas To baris_terbawah
Membatasi baris teratas dan terbawah layar untuk memunculkan
tulisan.

Tipe data pada Qbasic :

Tipe data numerik integer
Tipe Ukuran memory jangkauan nilai
Byte 1 byte 0 .. 255
Shortint 1 byte -128 .. 127
Integer 2 byte -32768 .. 32767
Word 2 byte 0 .. 65535
Longint 4 byte -2147483648

Tipe data numerik real
Tipe konstanta numerik real berkisar dari 1E-38 sampai dengan 1E+38, nilai numerik
real menempati memory sebesar 6 byte.

Tipe data karakter
Nilai karakter berupa sebuah karakter yang ditulis diantara tanda petik tunggal.

Tipe data string
Berupa kumpulan beberapa karakter yang terletak diantara tanda petik tunggal.

Tipe data boolean.
Tipe data ini mempunyai dua nilai yaitu true & false.

STATEMEN KONDISI

- Goto (kondisi tak bersyarat),seperti telah dijelaskan diatas

- if then + goto (kondisi bersyarat, hanya satu syarat)

- if then + else (kondisi bersyarat dengan 2 atau lebih syarat

- select case : menyeleksi atau mengeksekusi kondisi yang ditest

STATEMEN PERULANGAN

- For .. next

Mengulangi suatu perintah / instruksi dalam jumlah yang telah ditentukan, serta besar kenaikannya.

- Do while … loop

Mengulangi perintah selama suatu kondisi memenuhi syarat (true) dan berhenti bila tidak lagi memenuh syarat (false)

- Do until … loop

mengulangi instruksi selama kondisi tidak memenuhi syarat (false) dan berhenti bila kondisi memenuhi syarat (true)

- While … wend

sama dengan do while … loop tetapi bentuk penulisannya hanya satu dan tidak memiliki perintah exit untuk menghentikan proses yang berulang sebelum berakhir


 Referensi :
http://stevenwahid.blogspot.com/2009/10/pengertian-qbasic.html

http://nursahid447.blogspot.com/2008/03/bahasa-pemrograman-basic-dengan-quick.html