bab 1 pendahuluan
DESCRIPTION
Materi Pemrograman Berorientasi ObjectTRANSCRIPT
STMIK ASIA MALANG
1
BABBABBABBAB
PENDAHULUANPENDAHULUANPENDAHULUANPENDAHULUAN 1.1. Sistem Komputer
Gambar 1.1 Skema Blok Sistem Komputer
Empat komponen pokok sistem komputer:
1. Pemroses
2. Memori Utama
3. Perangkat masukan dan keluaran
4. Interkoneksi antarkomponen
PEMROSES
Pemroses disebut CPU, berfungsi mengendalikan operasi komputer dan melakukan
pengolahan data. Berikut ini adalah contoh cari processor:
1111
STMIK ASIA MALANG
2
Gambar 1.2 Processor ‘AMD’ dan ‘Intel’
Pemroses melakukan kerja dengan langkah sbb:
1. Mengambil instruksi yang dikodekan secara biner dari memori utama
2. Men-dekode instruksi menjadi proses-proses sederhana
3. Melaksanakan proses-proses tersebut
Operasi-operasi pada pemroses dikategorikan menjadi:
1. Operasi aritmetika
Penambahan, pengurangan, perkalian, pembagian dsb
2. Operasi logika
OR, AND, X-OR, inversi dsb
3. Operasi pengendalian
Operasi percabangan, lompat dsb
Pemroses terdiri dari tiga komponen, yaitu:
1. CU (Control Unit)
Berfungsi mengendalikan operasi yang dilaksanakan sistem komputer
2. ALU (Aritmetic Logic Unit)
STMIK ASIA MALANG 3
Berfungsi melakukan operasi aritmatika dan logika
3. Register
Merupakan memori yang sangat cepat yang berfungsi sebagai
tempat operan-operan dari operasi yang akan dilakukan oleh pemroses.
Register:
• Lokasi memori yang sangat khusus terkonstruksi dari Flip-Flop
• Didesain u/ menampung data, data tsb. dapat diakses dan diakses dalam
berbagai operasi dgn kecepatan tinggi.
o U/ prosessor 8088/8086, 80188/80186, 80286 � register 16 bit
o U/ prosessor 80386/80486/80586/Pentium � register 32 bit
o Optional u/ general purpose register � not independent 8 bit
registers u/ High Order Byte dan Low Order Byte
• Jenis-Jenis Register:
o General-purpose registers (data registers):
– 16 bit : AX, BX, CX, DX
– 8 bit : AH, AL, BH, BL, CH, CL, DH, DL
o Segment registers : CS, DS, SS, ES
o Index register: SI, DI, IP
o Pointer register: IP, SP
o Flags registers: Overflow, Direction, Interrupt, Trap, Sign, Zero,
Auxiliary Carry, Parity, Carry
– 16 bit, tetapi hanya 9 bit yang digunakan
o Register untuk alamat dan buffer
– MAR (Memory Address register)
– MBR (memory bufer register)
– I/O AR (I/O Address Register)
– I/O BR (I/O Buffer Register)
o Register untuk eksekusi instruksi
– PC (Program Counter)
– IR (Instruction Register)
MEMORI
Memori berfungsi untuk menyimpan data dan program. Hirarki memori
berdasarkan kecepatan akses, seperti tabel berikut ini:
STMIK ASIA MALANG 4
Register
Chace memory
Main memory
Disk memory
Magnetic Disk
Tercepat
Terlambat Magnetic Tape Optical disk
Berikut ini contoh dari memori utama:
Gambar 1.3 RAM
Gambar 1.4 Contoh Secondary Storage
STMIK ASIA MALANG 5
PERANGKAT I/O
Perangkat masukan/keluaran digunakan sistem komputer untuk berinteraksi
dengan lingkungan luar, baik ke pemakai ataupun lingkungan secara umum.
Perangkat masukan/keluaran terdiri dari dua bagian, yaitu:
1. Komponen mekanis, yaitu perangkat itu sendiri
2. Komponen elektronis, yaitu pengendali perangkat berupa chip controller.
Perangkat Input :Terdiri dari semua rangkaian yg diperlukan agar data dan
program bisa dimasukan dalam komputer
Termasuk :
� Keyboard
Gambar 1.5 Keyboard
� Alat pembaca optis
Contoh : CD ROOM
� Alat pembaca magnetic
Contoh : Disk Drive
� Alat input pengenal suara
Gambar 1.6 Alat Pengenal Suara
STMIK ASIA MALANG 6
� Alat penunjuk
Contoh :
� Mouse, trackball dan joystick
Gambar 1.7. Mouse dan Track Ball
� Touch screen
� Light Pen
� Tablet digitzer
Gambar 1.8. Tablet Digitzer
� Pen Computer
� Scanner
STMIK ASIA MALANG 7
Gambar 1.9. Scanner
Perangkat Output adalah perangkat untuk menyampaikan hasil proses termasuk
tampilan, cetakan, suara dan grafik
Contoh :
Gambar 1.10. Output Device
INTERKONEKSI ANTARKOMPONEN
Disebut BUS dan interkoneksi ini berkaitan dengan tatacara hubungan
antarkomponen-komponen sistem komputer.
Bus terdiri dari tiga macam, yaitu:
1. Bus alamat (addres bus)
Untuk memberikan alamat dari memori atau port yang hendak diakses. Bus
alamat berisi 16, 20, 24 jalur sinyal paralel atau lebih.
2. Bus data (data bus)
Untuk membaca dan mengirim data dari/ke memori atau port. Bus data
berisi 8,16, 32 jalur sinyal paralel atau lebih.
3. Bus kendali (control bus)
Sinyal bus kendali antara lain:
STMIK ASIA MALANG 8
• Memory Read
• Memory Write
• I/O read
• I/O Write
Sistem interkoneksi antarkomponen (Bus) yang populer antara lain: ISA, EISA,
MCA, VESA, PCI dan AGP.
1.2. Bahasa Pemrograman
Bahasa Pemrograman merupakan software yang khusus digunakan untuk
membuat program computer, apakah itu sistem operasi, program paket dan lain-
lain. Bahasa Komputer juga merupakan sarana komunikasi yang menjembatani
hubungan antara manusia dengan komputer sebagai mesin. Setiap bahasa
pemrograman harus memiliki sejumlah perintah. Pemakaian bahasa komputer
selalu berhubungan dengan sintaksis, semantik dan kebenaran logika. Sintaksis adalah
aturan penulisan bahasa tersebut. Semantik adalah arti atau maksud yang
terkandung dalam statement tersebut. Kebenaran logika berhubungan dengan benar
tidaknya urutan statemen.
Bahasa pemrograman memungkinkan programmer untuk mengembangkan
serangkaian perintah yang membentuk program computer. Banyak bahasa
pemrograman yang berbeda telah dikembangkan, dengan masing-masing memiliki
kosakata, tata bahasa, dan penggunaan yang berbeda-beda.
Dari perkembangan perangkat lunak, kita bisa membayangkan bagaimana
perkembangan interaksi manusia dengan perangkat lunak. Bentuk paling primitif
dari perangkat lunak, menggunakan aljabar Boolean, yang di representasikan
sebagai binary digit (bit), yaitu 1 (benar / on) atau 0 (salah / off), cara ini sudah
pasti sangat menyulitkan, sehingga orang mulai mengelompokkan bit tersebut
menjadi nible (4 bit), byte (8 bit), word (2 byte), double word (32 bit).
Dalam bahasa komputer ada 2 macam bahasa yaitu bahasa pemrograman
tingkat tinggi dan bahasa pemrograman tingkat rendah. Bahasa Pemrograman
Tingkat Tinggi (BTT) merupakan bahasa pemrograman yang lebih dekat dekat
dengan pemakai, artinya lebih mudah dimengerti, lebih mudah dipelajari serta
memakai bahasa sehari-hari. Contoh: Bahasa Pemrograman Turbo Pascal.
Bahasa Pemrograman Tingkat Rendah (BTR) merupakan bahasa pemrograman
yang lebih dekat dekat dengan mesin, artinya mesin bisa langsung mengerti
perintah – perintah yang diberikan . Contoh: Bahasa Pemrograman Assembly.
STMIK ASIA MALANG 9
Bahasa Generasi Pertama
Pada awalnya, program yang digunakan untuk menjalankan komputer
masih menggunakan bahasa mesin (Machine Language) atau dikenal dengan
generasi pertama (First Generation Language). Contohnya perintah
1101011010010010 diartikan sebagai perintah ADD, sedangkan urutan selanjutnya
10010010 bahasa mesin benar-benar menggambarkan penambahan secara digital
yang harus dilakukan microprocessor.
Namun penggunaan bahasa mesin ini masih membutuhkan suatu alat untuk
menerjemahkan bahasanya atau disebut juga dengan interpreter, sehingga
kecepatan eksekusinya masih sangat lamban karena sebelum melaksanakan
eksekusi program terlebih dahulu harus diterjemahkan. Bahasa mesin inilah yang
disebut sebagai bahasa tingkat rendah (Low Level Language).
Bahasa Generasi Kedua
Selain bahasa mesin, masih ada bahasa rakitan (assembly language) atau
dikenal dengan bahasa generasi kedua (second generation language). Bahasa
rakitan hampir mirip dengan bahasa mesin, hanya penulisannya sudah berupa
sesuatu yang dapat dibaca, misalnya perintah ADD 52H.
Bahasa rakitan disamakan dengan bahasa tingkat rendah karena masih
dibutuhkan suatu penerjemah untuk dapat menjalankan perintahnya atau dikenal
dengan Assembler Language.
Penggunaan bahasa tingkat rendah ini menimbulkan kesulitan bagi orang-
orang awam yang baru belajar komputer karena bahasa tingkat rendah merupakan
bahasa yang hanya dimengerti oleh komputer dan programnya itu sendiri, sehingga
orang-orang awam akan mengalami kesulitan untuk mengerti bahasanya.
Bahasa Generasi Ketiga
Untuk mengulangi masalah tersebut, dibuatlah masalah tingkat tinggi (high
level language), seperti COBOL, FORTRAN, PL/1, PASCAL, BASIC dan
ALGOL. Program ini disebut juga bahasa generasi ketiga (third generation
language)
STMIK ASIA MALANG 10
Pada generasi ini muncul istilah procedure oriented programming dan
problem oriented language. BASIC dan PASCAL disebut prosedur oriented karena
penulisan programnya sesuai dengan aturan yang ada. Sedangkan COBOL dan
FORTRAN termasuk kedalam problem oriented.
Sejalan dengan dibuatnya bahasa tingkat tinggi tersebut, dibuat pula sistem
opersi (operating system) untuk memudahkan orang menjalankan komputer
pertama kali. Sistem operasi yang dibuat dengan nama DOS (Disk Operating
System). Seperti PC–DOS, MS–DOS dan DR–DOS.
Bahasa Generasi Keempat
Bahasa generasi keempat (fourth generation language) atau 4GL dibuat
untuk memungkinkan seorang programmer atau pemakai menginstruksikan
komputer apa yang harus dilakukan. Bahasa generasi keempat tidak mementingkan
urutan instruksi program yang dibuat seperti pada bahasa generasi ketiga, yakni
pembuatan program yang tidak mengikuti prosedur yang berlaku atau non
procedural. Pembuatan bahasa generasi keempat ini ditujukan untuk memudahkan
pengguna pada proses pengambilan keputusan. Seperti kemudahan dalam
mempelajari dan menggunakan bahasa ini. Contoh bahasa generasi keempat antara
lain : FOCUS, RPG, MANTIS, MARK V, DYNAMO, dll.
Bahasa Berorientasi Objek
Bahasa yang berorientasi objek (Object Oriented Programming-OOP) seperti Visual
Basic, Borland Delphi, C++ dan Java juga dianggap sebagai bahasa generasi
kelima dan telah menjadi alat yang paling umum untuk pengembangan software.
Singkatnya, sementara kebanyakan bahasa pemrograman memisahkan berbagai
elemen data dari prosedur atau tindakan yang akan dilakukan atas mereka, bahasa
OOP menyatukan mereka bersama ke dalam objek. Jadi, sebuah objek terdiri dari
data dan tindakan yang akan dilakukan atas data tersebut. dapat berupa
serangkaian data mengenai
Bahasa yang berorientasi objek lebih mudah dan lebih efisien untuk memprogram
graphic-oriented user interface yang dibutuhkan oleh banyak aplikasi. Oleh sebab
itu, bahasa tersebut adalah bahasa pemrograman yang paling luas diterima untuk
pengembangan software saat ini.
STMIK ASIA MALANG 11
Bahasa Web
HTML, Java dan XML adalah tiga bahasa pemrograman yang merupakan alat
penting untuk membangun halaman web, situs web, dan aplikasi berbasis web
dengan multimedia
1.3. Flowchart
Beberapa langkah dalam proses pembuatan suatu program atau software :
1. Mendefinisikan masalah dan menganalisanya
Langkah awal yang harus dilakukan adalah mengidentifikasikan masalah
antara lain tujuan dari pembuatan program, parameter-parameter yang
digunakan, fasilitas apa saja yang akan disediakan oleh program. Kemudian
menentukan metode atau algoritma apa yang akan diterapkan untuk
menyelesaikan masalah tersebut dan terakhir menentukan bahasa program
yang digunakan untuk pembuatan program.
2. Merealisasikan dengan langkah-langkah berikut :
Gambar 1.11. Proses Pembuatan Program
Start
Desain
Algoritma & Flowchart
Menulis program
Test Kebenaran Program
Dokumentasi
Arsip
STMIK ASIA MALANG 12
Secara umum, struktur suatu program terdiri dari beberapa bagian yaitu :
1. Input
Bagian ini merupakan proses untuk memasukkan data ke komputer melalui
device yang ada misalnya keyboard, mouse, scanner dll. Program melakukan
proses membaca data yang akan diolah dari device tersebut.
2. Output
Bagian ini merupakan proses untuk menampilkan data yang telah diolah,
melaporkan hasil pegolahan data melalui device seperti monitor, printer dll.
Program melakukan proses mencetak data ke device tersebut.
3. Proses Pengolahan Data
Bagian ini merupakan proses mengolah data yang diinputkan dengan
nenerapkan metode-metode, teknik-teknik, algoritma-algoritma yang ada.
Proses ini menghasilkan data output yang akan dioutputkan kepada pengguna
program.
4. Penyimpanan Data
Bagian ini merupakan proses menyimpan data dalam memori atau device
penyimpanan data seperti disket, harddisk, CD dll.
Berikut ini adalah blok diagram struktur dari suatu program secara umum.
Gambar 1.12 Bok diagram struktur dari suatu program
Algoritma
Algoritma adalah urutan langkah-langkah logika yang menyatakan suatu tugas
dalam menyelesaikan suatu masalah atau problem.
Contoh : Buat algoritma untuk menentukan apakah suatu bilangan merupakan
bilangan ganjil atau bilangan genap.
Input Proses
Pengolahan Data Output
Memory
STMIK ASIA MALANG 13
Algoritmanya :
1. Bagi bilangan dengan bilangan 2
2. Hitung sisa hasil bagi pada langkah 1.
3. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap
tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan
ganjil.
Flowchart
Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma
dalam suatu program, yang menyatakan arah alur program tersebut.
Berikut adalah beberapa simbol yang digunakan dalam menggambar suatu
flowchart :
Tabel 1.1. Simbol-Simbol Flowchart
SIMBOL NAMA FUNGSI
TERMINATOR Permulaan/akhir program
GARIS ALIR
(FLOW LINE) Arah aliran program
PREPARATION
Proses inisialisasi/pemberian
harga awal
PROSES
Proses perhitungan/proses
pengolahan data
INPUT/OUTPUT
DATA
Proses input/output data,
parameter, informasi
STMIK ASIA MALANG 14
PREDEFINED
PROCESS
(SUB PROGRAM)
Permulaan sub program/proses
menjalankan sub program
DECISION
Perbandingan pernyataan,
penyeleksian data yang
memberikan pilihan untuk
langkah selanjutnya
ON PAGE
CONNECTOR
Penghubung bagian-bagian
flowchart yang berada pada satu
halaman
OFF PAGE
CONNECTOR
Penghubung bagian-bagian
flowchart yang berada pada
halaman berbeda
Dari contoh algoritma di atas tentang menentukan apakah suatu bilangan adalah
bilangan ganjil atau bilangan genap, flowchart dari program adalah sebagai berikut :
Gambar 1.13. Contoh Flowchart
Y
T
Start
Input
Bilangan
Hitung sisa
bagi antara
bilangan
dengan 2
A
A
Apakah
Sisa = 0
Cetak Genap Cetak Ganjil
End
STMIK ASIA MALANG 15
1.4. Soal Latihan 1. Buatlah flowchart untuk mencetak n bilangan bulat positif yang pertama!
2. Buatlah flowchart untuk menjumlahkan n bilangan bulat postif yang pertama!
3. Buatlah flowchart untuk mencetak n bilangan ganjil yang pertama!
4. Buatlah flowchart untuk menjumlahkan n bilangan ganjil yang pertama!
5. Buat flowchart untuk menentukan apakah suatu bilangan merupakan bilangan
prima atau bukan!
6. Buat flowchart untuk mencetak N buah bilangan prima yang pertama!
7. Buat flowchart untuk menentukan jenis akar dari suatu persamaan kuadrat !
8. Buat flowchart untuk menghitung jumlah N suku dari deret aritmatika berikut :
Sn = 3 + 7 + 11 + …… + (4n-1)
9. Buat flowchart untuk menghitung nilai faktorial dari suatu bilangan !
10. Buat flowchart untuk mencetak pasangan nilai X dan Y dimana hubungan antara X
dan Y memenuhi persamaan Y = X3 – 2X +1 dan nilai x berubah dari –10 sampai
10 !