Breaking News

Advertising

Flickr

Latest Reviews

Facebook

Kamis, 30 April 2015

Struktur Data

Pertemuan 1
Data & Struktur Data
STRUKTUR DATA
Struktur Data adalah : suatu koleksi atau kelompok data
yang dapat dikarakteristikan oleh organisasi serta operasi
yang didefinisikan terhadapnya.
Pemakaian Struktur Data yang tepat didalam proses
pemrograman, akan menghasilkan Algoritma yang lebih
jelas dan tepat sehingga menjadikan program secara
keseluruhan lebih sederhana.
STRUKTUR DATA
Pada garis besarnya, Data dapat dikategorikan menjadi :
A. Type Data Sederhana / Data Sederhana
Terdiri dari :
1. Data Sederhana Tunggal
Misalnya : Integer, Real/Float, Boolean dan
Character
2. Data Sederhana Majemuk
Misalnya : String
B. Struktur Data
Terdiri dari :
1. Struktur Data Sederhana
Misalnya Array dan Record
Konsep Dasar Tipe Data
2. Struktur Data Majemuk
Terdiri dari :
a. Linier
Misalnya : Stack, Queue dan Linear Linked List.
b. Non Linier
Misalnya : Pohon (Tree), Pohon Biner (Binary
Tree), Pohon Cari Biner (Binary Search Tree),
General Tree serta Graph.
TYPE DATA SEDERHANA (Dalam Program C++)
1. INTEGER
Merupakan Bilangan Bulat dan tidak mengandung
pecahan. seperti : ...-3,-2,-1,0,1,2,3,....
Integer | - 32768..32767 (2 byte)
Long | - 2147483648..2147483647 (4 byte)
Type Data Sederhana
2. FLOAT
Type data yang merupakan bilangan pecahan.
Jenis Data float ditulis dgn menggunakan
titik(koma) desimal.
Misalnya : 0.32 4,35 -131.128
Type Real dapat juga ditulis dengan Rumus :
M * R e = X
M = Pecahan, R = Radix,
e = Exponen, X = Hasil Bilangan,
Misalnya : 3.2 * 10 -1 = 0.32
4.35 * 10 2 = 435
TYPE DATA SEDERHANA
(Dalam Program C++)
3. BOOL ATAU LOGICAL
Type data yang hanya mempunyai dua bentuk keluaran
yaitu nilai True dan False (Benar dan Salah) yang
dinyatakan dengan 1 dan 0, Sehingga satuan data yang
terpakai cukup satu bit saja. Operator yang digunakan
adalah : And, Or dan Not.
4. CHARACTER
Type data yang terdiri dari aksara (simbol) yang
meliputi digit numerik, character alfabetik dan spesial
character. Untuk menuliskan tipe char, karakter perlu
ditulis di dalam tanda petik tunggal ( ‘ )
Contoh :
‘A’ = karakter berupa huruf A
‘1’ = karakter berupa angka 1
‘*’ = karakter simbol *
5. STRING
Merupakan type data majemuk yang terbentuk dari
kumpulan character sebanyak 256 (default) dengan
jangkauan niai 0 - 255. Kumpulan character yang
digunakan untuk membentuk String dinamakan
alfabet. Pemberian nilai String diapit dengan tanda
petik ganda (“)
Bentuk umum penulisan tipe data ini adalah :
tipe_data pengenal [panjang] ;
pengenal = nama variabel
panjang = bilangan bulat yg menunjukan jumlah
karakter
Contoh : char nama[15] ;
Fungsi pada Operasi STRING
1. Strcpy()
untuk menyalin nilai string.
2. Strcat()
untuk menggabungkan nilai string.
3. Strcmp()
untuk membandingkan 2 nilai string.
4. Strlen()
untuk mengetahui panjang nilai string.
5. Strchr ()
untuk mencari nilai karakter dalam string.
Pertemuan 2
ARRAY DIMENSI 1 & 2
Definisi Array
? Array / Larik : Struktur Data Sederhana yang dapat
didefinisikan sebagai pemesanan alokasi memory
sementara pada komputer.
? Array dapat didefinisikan sebagai suatu himpunan hingga
elemen yang terurut dan homogen.
? Terurut : Dapat diartikan bahwa elemen tersebut dapat
diidentifikasi sebagai elemen pertama, elemen kedua dan
seterusnya sampai elemen ke-n.
? Homogen : Adalah bahwa setiap elemen dari sebuah
Array tertentu haruslah mempunyai type data yang sama.
Definisi Array
? Sebuah Array dapat mempunyai elemen yang seluruhnya
berupa integer atau character atau String bahkan dapat
pula terjadi suatu Array mempunyai elemen berupa Array.
? Karakteristik Array :
1. Mempunyai batasan dari pemesanan alokasi memory
(Bersifat Statis)
2. Mempunyai Type Data Sama (Bersifat Homogen)
3. Dapat Diakses Secara Acak
Definisi Array
?3 Hal yang harus diketahui dalam mendeklarasikan
array :
a. Type data array
b. Nama variabel array
c. Subskrip / index array
?Jenis Array (yang akan dipelajari) adalah :
a. Array Dimensi Satu (One Dimensional Array)
b. Array Dimensi Dua (Two Dimensional Array)
c. Array Dimensi Tiga (Thee Dimensional Array)
Array Dimensi Satu
1.ARRAY DIMENSI SATU (One Dimensional Array)
Dapat disebut juga dengan istilah vektor yang
menggambarkan data dalam suatu urutan
Deklarasi : Type_Data Nama_Variabel [index]
PEMETAAN (MAPPING)
ARRAY DIMENSI SATU KE STORAGE
Rumus : @A[i] = B + (i – 1) * L
Dimana  :  @A[i] : Posisi Array yg dicari
B : Posisi awal index di memory komputer
i : Subkrip atau indeks array yg dicari
L : Ukuran / Besar memory suatu type data
KONVERSI BILANGAN
1. Decimal adalah bilangan berbasis sepuluh yang
terdiridari 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9
2. Hexadecimal adalah bilangan berbasis enam belas yang
terdiri dari 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, dan F
Pertemuan 3
ARRAY DIMENSI BANYAK
3. ARRAY DIMENSI TIGA (Three Dimensional Array)
Digunakan untuk mengelola data dalam bentuk 3
dimensi atau tiga sisi.
Deklarasi :
Type_Data Nama_Variabel [index1] [ndex2] [index3];
Misal : int A [3][4][2];
TRINGULAR ARRAY
(ARRAY SEGITIGA)
Tringular Array dapat merupakan Upper Tringular
(seluruh elemen di bawah diagonal utama = 0),
ataupun Lower Tringular (seluruh elemen di atas
diagonal utama = 0).
Dalam Array Lower Tringular dengan N baris, jumlah
maksimum elemen <> 0 pada baris ke-I adalah = I,
karenanya total elemen <> 0, tidak lebih dari
SPARSE ARRAY (ARRAY JARANG)
Suatu Array yang sangat banyak elemen nol-nya,
Pertemuan 4
Single Linked List (Non Circular)
KONSEP POINTER DAN LINKED LIST
Untuk mengolah data yang banyaknya tidak bisa
ditentukan sebelumnya, maka disediakan satu fasilitas
yang memungkinan untuk menggunakan suatu perubah
yang disebut dengan perubah dinamis (Dinamic variable)
Perubah Dinamis (Dinamic variable)
Suatu perubah yang akan dialokasikan hanya pada saat
diperlukan, yaitu setelah program dieksekusi.
Perbedaan Perubah Statis & Dinamis
Pada perubah statis, isi Memory pada lokasi tertentu
(nilai perubah) adalah data sesungguhnya yang akan
diolah. Pada perubah dinamis, nilai perubah adalah
alamat lokasi lain yang menyimpan data sesungguhnya.
Dengan demikian data yang sesungguhnya dapat
dimasukkan secara langsung.
DEKLARASI POINTER
Pointer digunakan sebagai penunjuk ke suatu alamat
memori
Dalam pemrograman C++, Type Data Pointer
dideklarasikan dengan bentuk umum :
Type Data * Nama Variabel;
Type Data dapat berupa sembarang type data, misalnya
char, int atau float. Sedangkan Nama veriabel merupakan
nama variabel pointer
LINKED LIST (LINKED LIST)
Salah satu Struktur Data Dinamis yang paling
sederhana adalah Linked List atau Struktur Berkait
atau Senarai Berantai, yaitu suatu kumpulan komponen
yang disusun secara berurutan dengan bantuan
Pointer.
Linked List (Senarai Berantai) disebut juga dengan
Senarai Satu Arah (One-Way List). Masing-masing
komponen dinamakan dengan Simpul (Node).
Setiap simpul dalam suatu Linked List terbagi menjadi dua
bagian,yaitu :
1. Medan Informasi
Berisi informasi yang akan disimpan dan diolah.
2. Medan Penyambung (Link Field)
Berisi alamat berikutnya. Bernilai 0, Jika Link tersebut
tidak menunjuk ke Data (Simpul) lainnya. Penunjuk ini
disebut Penunjuk Nol.
Bentuk Node
Single Linked List non Circular
• Single : field pointer-nya hanya satu dan satu arah,pada
akhir node pointernya menunjuk NULL
• Linked List : node-node tersebut saling terhubung satu
sama lain.
Menempati alamat memori tertentu
• Setiap node pada linked list mempunyai field yang berisi
pointer ke node berikutnya, dan juga memiliki field yang
berisi data.
• Node terakhir akan menunjuk ke NULL yang akan
digunakan sebagai kondisi berhenti pada saat
pembacaan isi linked list.
Single Linked List non Circular
Menggunakan Head
• Dibutuhkan satu buah variabel pointer : head yang akan
selalu menunjuk pada node pertama
Deklarasi Pointer Penunjuk Head Single Linked List
• Manipulasi linked list tidak dapat dilakukan langsung ke
node yang dituju, melainkan harus menggunakan suatu
pointer penunjuk ke node pertama (Head) dalam linked
list
Function untuk mengetahui kondisi Single Linked List
• Jika pointer head tidak menunjuk pada suatu node
maka kosong
Menambah Node di Depan
• Penambahan node baru akan dikaitan di node paling
depan, namun pada saat pertama kali (data masih
kosong), maka penambahan data dilakukan dengan
cara: node head ditunjukkan ke node baru tersebut.
• Prinsipnya adalah mengkaitkan node baru dengan head,
kemudian head akan menunjuk pada data baru tersebut
sehingga head akan tetap selalu menjadi data terdepan.
Menambah Node di Belakang
• Penambahan data dilakukan di belakang, namun
pada saat pertama kali, node langsung ditunjuk oleh
head.
• Penambahan di belakang membutuhkan pointer bantu
untuk mengetahui node terbelakang. Kemudian,
dikaitkan dengan node baru.
• Untuk mengetahui data terbelakang perlu digunakan
perulangan.
Menghapus Node di Depan
• Penghapusan node tidak boleh dilakukan jika keadaan
node sedang ditunjuk oleh pointer, maka harus
dilakukan penggunakan suatu pointer lain (hapus) yang
digunakan untuk menunjuk node yang akan dihapus,
barulah kemudian menghapus pointer hapus dengan
menggunakan perintah delete.
• Sebelum data terdepan dihapus, terlebih dahulu head
harus menunjuk ke node berikutnya agar list tidak putus,
sehingga node setelah head lama akan menjadi head
baru
• Jika head masih NULL maka berarti data masih kosong!
Menghapus Node di Belakang
• Membutuhkan pointer bantu dan hapus. Pointer hapus
digunakan untuk menunjuk node yang akan dihapus,
pointer bantu untuk menunjuk node sebelum node yang
dihapus yang akan menjadi node terakhir.
• Pointer bantu digunakan untuk menunjuk ke nilai NULL.
Pointer bantu selalu bergerak sampai sebelum node
yang akan dihapus, kemudian pointer hapus diletakkan
setelah pointer bantu. Selanjutnya pointer hapus akan
dihapus, pointer bantu akan menunjuk ke NULL.
Menampilkan / Membaca
Isi Linked List
• Linked list ditelusuri satu-persatu dari awal sampai akhir
node. Penelusuran dilakukan dengan menggunakan
pointer bantu, karena pointer head yang menjadi tanda
awal list tidak boleh berubah/berganti posisi.
• Penelusuran dilakukan terus sampai ditemukan node
terakhir yang menunjuk ke nilai NULL.
Jika tidak NULL, maka node bantu akan berpindah ke
node selanjutnya dan membaca isi datanya dengan
menggunakan field next sehingga dapat saling berkait.
• Jika head masih NULL berarti data masih kosong!
Single Linked List non Circular
Menggunakan Head dan Tail
• Dibutuhkan dua variabel pointer : head dan tail
• Head selalu menunjuk pada node pertama, sedangkan
tail selalu menunjuk pada node terakhir.
• Kelebihan dari Single Linked List dengan Head & Tail
adalah pada penambahan data di belakang, hanya
dibutuhkan tail yang mengikat node baru saja tanpa
harus menggunakan perulangan pointer bantu.
Menghapus Node di Depan
(Dengan Head dan Tail)
• Penghapusan node tidak boleh dilakukan jika keadaan
node sedang ditunjuk oleh pointer, maka harus
dilakukan penunjukkan terlebih dahulu dengan pointer
hapus pada head, kemudian dilakukan pergeseran head
ke node berikutnya sehingga data setelah head menjadi
head baru, kemudian menghapus pointer hapus dengan
menggunakan perintah delete.
• Jika tail masih NULL maka berarti list masih kosong!
Menghapus Node di Belakang
(Dengan Head dan Tail)
• Penghapusan node tidak boleh dilakukan jika keadaan
node sedang ditunjuk oleh pointer, maka harus
dilakukan penunjukkan terlebih dahulu dengan variabel
hapus pada tail. Jika tail masih NULL maka berarti list
masih kosong!
• Dibutuhkan pointer bantu untuk membantu pergeseran
dari head ke node berikutnya sampai sebelum tail,
sehingga tail dapat ditunjukkan ke bantu, dan bantu
tersebut akan menjadi tail yang baru.
• Setelah itu hapus pointer hapus dengan menggunakan
perintah delete.
Pertemuan 5
STACK atau TUMPUKAN
STACK (TUMPUKAN)
Merupakan bentuk khusus dari Linier List yang pemasukan
dan penghapusan elemennya hanya dapat dilakukan pada
satu posisi, yaitu posisi akhir dari List (Top)
Prinsip Stack adalah LAST-IN-FIRST-OUT (LIFO).
OPERASI STACK
• ISEMPTY
Untuk memeriksa apakah stack kosong
• ISFULL
Untuk memeriksa apakah stack sudah penuh
• PUSH
Untuk menambahkan item pada posisi paling atas
(TOP)
• POP
Untuk menghapus item paling atas (TOP)
• CLEAR
Untuk mengosongkan stack
Inisialisasi
• Pada mulanya isi top dengan
-1, karena array dalam
C/C++ dimulai dari 0, berarti
stack adalah KOSONG
• TOP adalah variabel
penanda dalam STACK yang
menunjukkan elemen teratas
Stack.
• TOP of STACK akan selalu
bergerak hingga mencapai
MAX of STACK sehingga
menyebabkan stack PENUH
Fungsi IsEmpty
• Digunakan untuk
memeriksa apakah
stack masih dalam
kondisi kosong
• Dengan cara memeriksa
TOP of STACK.
Jika TOP masih = -1
maka berarti stack
masih kosong
Fungsi IsFull
• Digunakan untuk memeriksa apakah kondisi stack
sudah penuh
• Dengan cara memeriksa TOP of Stack.
Jika TOP of STACK = MAX_STACK-1 maka FULL
(Penuh).
Jika TOP of STACK < MAX_STACK-1 maka belum penuh
Fungsi PUSH
• Digunakan untuk memasukkan elemen ke dalam stack
dan selalu menjadi elemen teratas stack
• Dengan cara :
1. Menambah satu (increment) nilai TOP of
STACK setiap ada penambahan elemen
stack selama stack masih belum penuh
2. Isikan nilai baru ke stack berdasarkan indeks TOP
of STACK setelah ditambah satu (diincrement)
Fungsi POP
• Digunakan untuk menghapus elemen yang berada pada
posisi paling atas dari stack.
• Dengan cara :
1. Ambil dahulu nilai elemen teratas stack dengan
mengakses TOP of STACK.
2. Tampilkan nilai yang akan diambil.
3. Lakukan decrement nilai TOP of STACK
sehingga jumlah elemen stack berkurang 1
Fungsi CLEAR
• Digunakan untuk mengosongkan stack / membuat stack
hampa sehingga Top pada Stack berada kembali di
posisi Top = -1
Pertemuan 6
QUEUE (ANTREAN)
PENGERTIAN QUEUE (ANTREAN)
Struktur Data Antrean (Queue) adalah suatu bentuk
khusus dari List Linier dengan operasi pemasukan data
hanya diperbolehkan pada salah satu sisi, yang disebut
sisi Belakang / ekor (Tail) dan operasi penghapusan
hanya diperbolehkan pada sisi lainnya yang disebut sisi
Depan / kepala (Head) dari LinkedList.
Prinsip Antrean : FIFO (First In First Out)
FCFS (First Come First Serve)
“Yang Tiba lebih awal Maka akan dilayani Terlebih
Dahulu”
OPERASI QUEUE
• CREATE
Untuk menciptakan dan menginisialisasi Queue
Dengan cara membuat Head dan Tail = -1
• ISEMPTY
Untuk memeriksa apakah queue kosong
• ISFULL
Untuk memeriksa apakah queue sudah penuh
• ENQUEUE
Untuk menambahkan item pada posisi paling belakang
• DEQUEUE
Untuk menghapus item dari posisi paling depan
• CLEAR
Untuk mengosongkan queue
Fungsi Create
• Digunakan untuk membentuk dan menunjukan awal
terbentuknya suatu Antrean / Queue
Fungsi IsEmpty
• Untuk memeriksa apakah Antrian penuh atau kosong
• Dengan cara memeriksa nilai Tail, jika Tail = -1 maka
antrian kosong (empty)
• Head adalah tanda untuk kepala antrian (elemen
pertama dalam antrian) yang tidak akan berubah-ubah
• Pergerakan pada Antrian terjadi dengan penambahan
elemen Antrian kebelakang, yaitu menggunakan nilai
Tail
Fungsi IsFull
• Untuk mengecek apakah Antrian sudah penuh
atau belum
• Dengan cara :
- Mengecek nilai Tail
- Jika tail = MAX-1 berarti antrian sudah penuh
(MAX-1 adalah batas elemen array dalam
program C++)
Fungsi Enqueue
• Untuk menambahkan elemen ke dalam Antrian,
penambahan elemen selalu dilakukan pada
elemen paling belakang
• Penambahan elemen selalu menggerakan variabel
Tail dengan cara menambahkan Tail terlebih dahulu
Fungsi Dequeue
• Digunakan untuk menghapus elemen terdepan (head)
dari Antrian
• Dengan cara : menggeser semua elemen antrian
kedepan dan mengurangi Tail dgn 1. Penggeseran
dilakukan dengan menggunakan looping
Fungsi Clear
• Untuk menghapus elemen-elemen Antrian dengan
cara membuat Tail dan Head = -1
• Penghapusan elemen-elemen Antrian sebenarnya
tidak menghapus arraynya, namun hanya mengeset
indeks pengaksesan-nya ke nilai -1 sehingga
elemen-elemen Antrian tidak lagi terbaca sehingga
mengembalikan antrian seperti keadaan semula
Read more ...

Perancangan Basis Data

Pertemuan 1
Konsep Dasar Basis Data (Database)
Pengenalan Basis Data
BASIS DATA (database) merupakan salah satu komponen
utama pendukung program aplikasi. Semua program
aplikasi pengolahan data pasti menggunakan basis data
untuk tempat penyimpanan data.
Basis data sudah banyak digunakan dalam berbagai jenis
aplikasi, mulai dari aplikasi sederhana, seperti aplikasi
pengelolaan nomor telepon sampai dengan aplikasi
kompleks, seperti aplikasi pembayaran gaji karyawan
perusahaan.
Konsep Dasar Basis Data
BASIS DATA adalah suatu susunan/kumpulan data
operasional lengkap dari suatu organisasi/perusahaan
yang diorganisir/dikelola dan simpan secara terintegrasi
dengan menggunakan metode tertentu dengan
menggunakan komputer sehingga mampu menyediakan
informasi yang diperlukan pemakainya.
SISTEM BASIS DATA adalah suatu sistem penyusunan
dan pengelolaan record-record dengan menggunakan
komputer, dengan tujuan untuk menyimpan atau merekam
serta memelihara data operasional lengkap sebuah
organisasi/perusahaan sehingga mampu menyediakan
informasi yang diperlukan pemakai untuk kepentingan
proses pengambilan keputusan.
Komponen Sistem Basis Data
Terdapat 4 komponen pokok dari sistem basis data:
A. DATA, dengan ciri-ciri :
1. Data disimpan secara terintegrasi (Integrated)
Terintegrated yaitu Database merupakan kumpulan
dari berbagai macam file dari aplikasi-aplikasi yang
berbeda yang disusun dengan cara menghilangkan
bagian-bagian yang rangkap (redundant)
2. Data dapat dipakai secara bersama-sama(shared)
Shared yaitu Masing-masing bagian dari database
dapat diakses oleh pemakai dalam waktu yang
bersamaan, untuk aplikasi yang berbeda.
Komponen Sistem Basis Data
lanjutan
Ada 3 jenis data pada sistem basis data, yaitu:
1. Data operasional dari suatu organisasi, berupa data
yang disimpan didalam database
2. Data masukan (input data), data dari luar sistem yang
dimasukan melalui peralatan input (keyboard) yang
dapat merubah data operasional
3. Data keluaran (output data), berupa laporan melalui
peralatan output sebagai hasil dari dalam sistem yang
mengakses data operasional
Komponen Sistem Basis Data
lanjutan
B. Perangkat Keras (HARDWARE)
Terdiri dari semua peralatan perangkat keras
komputer yang digunakan untuk pengelolaan sistem
database.
Perangkat keras yang terdapat dalam sebuah sistem
basis data adalah:
1. Komputer (satu untuk sistem stand-alone atau lebih
dari satu untuk sistem jaringan)
2. Memori sekunder on-line (Harddisk)
3. Memori sekunder off-line (Tape atau Removeble Disk)
untuk backup data
4. Media/perangkat komunikasi (untuk sistem jaringan)
Komponen Sistem Basis Data
lanjutan
C. Perangkat Lunak (SOFTWARE)
Berfungsi sebagai perantara (interface) antara
pemakai dengan data phisik pada database, dapat
berupa :
1. Database Management System (DBMS)
2. Program-program aplikasi & prosedur-prosedur
Komponen Sistem Basis Data
lanjutan
D. Pemakai (USER)
adalah pengguna basis data yang berinteraksi secara
tidak langsung dengan basis data melalui program
aplikasi basis data dan DBMS. Terbagi menjadi 3
klasifikasi :
1. Database Administrator (DBA), yang membuat basis
data dan mengontrol akses ke basis data.
2. Programmer, yang membuat aplikasi basis data yang
digunakan oleh DBA dan pemakai akhir.
3. Pemakai akhir (End user) yang melakukan
penambahan, penghapusan, pengubahan, dan
pengaksesan data.
Istilah-istilah Dalam Sistem
Basis Data
a. Enterprise yaitu suatu bentuk organisasi
Contoh Enterprise: Sekolah, Rumah Sakit
Sekolah : Database Nilai
Rumah sakit : AdministrasiPasien
b. Entitas yaitu suatu obyek yang dapat dibedakan dengan
objek lainnya
Contoh :
Database Nilai ? entitas: Mahasiswa, Matapelajaran
Database AdministrasiPasien ? entitas: Pasien, Dokter,
Obat
Istilah dalam Sistem Basisdata
lanjutan
c. Atribute/field yaitu setiap entitas mempunyai atribut atau
suatu sebutan untuk mewakili suatu entitas.
Contoh :
Entity siswa ? field = Nim, nama_siswa,alamat,dll
Entity nasabah ?field=Kd_nasabah,nama_nasabah,dll
d. Data value yaitu data aktual atau informasi yang
disimpan pada tiap data elemen atau atribute.
Contoh :
Atribut nama_karyawan ?sutrisno, budiman, dll
Istilah dalam Sistem Basisdata
lanjutan
e. Record/tuple yaitu kumpulan elemen-elemen yang saling
berkaitan menginformasikan tentang suatu entity secara
lengkap.
f. File yaitu kumpulan record-record sejenis yang
mempunyai panjang elemen sama, atribute yang sama
namun berbeda-beda data valuenya.
g. Kunci elemen data yaitu tanda pengenal yang secara
unik mengindentifikasikan entitas dari suatu kumpulan
entitas
Analisa Kasus
• Perpustakaan Smart adalah perpustakaan umum yang
anggotanya pelajar,mahasiswa dan masyarakat yang
didirikan oleh Walikota Jakarta Barat. Keberadaan
perpustakaan berlokasi di Walikota yang aplikasi
pelayanan masih bersifat tradisional.
• Prosesnya :
a. Setiap calon anggota yang akan menjadi anggota
harus mengisi formulir dengan biaya administrasi
Rp.10.000,-
b. Anggota dapat meminjam buku maksimal 3 buku
c. Untuk masa peminjaman selama 1 minggu (7 hari)
d. Keterlambatan pengembalian dikenakan denda
sesuai dengan kondisi denda, diantaranya
Diantaranya :
1. Denda keterlambatan pengembalian dikenakan biaya
administrasi Rp.500 perharinya (bukti surat denda
terlampir)
2. Denda Buku perpustakaan rusak maka dikenakan biaya
revisi buku perpustakaan(biaya ini dikenakan setelah buku
diperbaiki).(bukti surat denda terlampir)
3. Denda Buku Hilang, maka dikenakan biaya penggantian
seharga buku tersebut.(bukti surat denda terlampir)
4. Perpustakaan smart dapat menerima sumbangan dari
donatur statusnya (anggota atau masyrakat luas)
Analisa Kasus
“Perpustakaan Smart”
(Pembahasan di Kelas)
• Buat Enterprise dari perpustakaan smart
• Tentukan entitas-entitas yang diperlukan,
beserta atribut/field nya.
Pertemuan 2
DBMS & Perancangan Basis Data
Database Management System
(DBMS)
DBMS adalah perangkat lunak yang memungkinkan
pemakai untuk mendefinisikan, mengelola, dan
mengontrol akses ke basis data. DBMS yang mengelola
basis data relational disebut dengan Relational DBMS
(RDBMS)
Contoh perangkat lunak yang termasuk DBMS: dBase,
FoxBase, Rbase, Microsoft-Access, Borland Paradox /
Borland Interbase, MS-SQL Server, Oracle, Informix,
Sybase, MySQL, dll.
BAHASA dalam DBMS
Structure Query Language (SQL) adalah bahasa standar
basis data yang digunakan aplikasi atau pemakai untuk
berinteraksi dengan basis data melalui DBMS.
SQL dibagi menjadi dua, yaitu:
1. Data Definision Language (DDL)
SQL yang digunakan untuk mendefinisikan basis data.
2. Data Manipulation Language (DML)
SQL yang digunakan untuk mengkases dan mengelola
data pada basis data.
Data Definition Language (DDL)
Dalam bahasa ini dapat membuat table baru, membuat
indeks, menentukan struktur penyimpanan tabel, dan
sebagainya. Hasil kompilasi perintah DDL disimpan dalam
file khusus yang disebut Kamus Data (Data Dictionary).
Kamus Data merupakan suatu metadata (super-data) yaitu
data yang mendeskripsikan data sesungguhnya.
Data Manipulation Language (DML)
Bahasa yang berguna untuk melakukan manipulasi data
pada suatu basis data. Manipulasi dapat berupa:
penambahan, penghapusan, pengubahan data pada
suatu basis data.
Ada dua tipe DML, yaitu:
1. Prosedural, bahasa yang mensyaratkan pemakai untuk
menentukan data apa yang diinginkan serta bagaimana
cara untuk mendapatkannya.
2. Non Prosedural, bahasa yang membuat pemakai dapat
menentukan data apa yang diinginkan tanpa
menyebutkan bagaimana cara untuk mendaptkannya.
Komponen DBMS
1. Query Prosesor, komponen yang mengubah bentuk
query kedalam instruksi kedalam database manager
2. Database Manager, menerima query & menguji
eksternal & konceptual untuk menentukan apakah
record – record tersebut dibutuhkan untuk memenuhi
permintaan kemudian database manager memanggil
file manager untuk menyelesaikan permintaan
3. File Manager, memanipulasi penyimpanan file dan
mengatur alokasi ruang penyimpanan disk
Komponen DBMS lanjutan
4. DML Precompiler, modul yang mengubah perintah
DML yang ditempelkan kedalam program aplikasi
dalam bentuk fungsi-fungsi
5. DDL Compiler, merubah statement DDL menjadi
kumpulan table atau file yang berisi data dictionary /
meta data
6. Dictionary Manajer, mengatur akses dan memelihara
data dictionary
Keuntungan DBMS
• Mengurangi pengulangan data
• Mencapai independensi data
• Mengintegrasikan data beberapa file
• Mengambil data dan informasi dengan cepat
• Meningkatkan keamanan
Kerugian DBMS
• Perangkat lunak yang mahal
• Konfigurasi perangkat keras yang besar
• Mempekerjakan dan mempertahankan staf DBA
Abstraksi Data
Terbagi menjadi tiga tingkatan :
1. Internal level yaitu menerangkan struktur penyimpanan
basisdata secara fisik dan organisasi file yang
digunakan “
2. Konseptual level yang menerangkan secara
menyeluruh dari basisdata dengan menyembunyikan
penyimpanan data secara fisik “
3. Ekternal level yang menerangkan View basisdata dari sekelompok pemakai.
Perancangan Basis Data
Tujuan Perancangan Basis Data
1. Untuk memenuhi informasi yang berisi
kebutuhan–kebutuhan user secara khusus dan
aplikasinya.
2. Memudahkan pengertian struktur informasi
3. Mendukung kebutuhan–kebutuhan
pemrosesan dan beberapa objek penampilan
(respone time, processing time dan strorage
space)
Fase Perancangan Basis Data
ADA 6 FASE PROSES PERANCANGAN DATABASE:
1. Pengumpulan dan analisa
a. Menentukan kelompok pemakai dan bidang-bidang
aplikasinya
b. Peninjauan dokumentasi yang ada
c. Analisa lingkungan operasi dan pemrosesan data
d. Daftar pertanyaan dan wawancara
2. Perancangan database secara konseptual
a. Perancangan skema konseptual
b.Perancangan transaksi yang akan terjadi dalam
database.
Fase Perancangan Basis Data lanjutan
3. Pemilihan DBMS
a. Faktor teknis
Contoh faktor teknik :
Tipe model data ( hirarki, jaringan atau relasional ),
Struktur penyimpanan dan jalur pengaksesan yang
didukung sistem manajemen database, Tipe interface
dan programmer, Tipe bahasa query
b. Faktor Ekonomi dan Politik organisasi
Biaya penyiadaan hardware dan software, Biaya
konversi pembuatan database, Biaya personalia, dll
4. Perancangan database secara logik (data model
mapping)
a. Pemetaan (Transformasi data)
Transformasi yang tidak tergantung pada sistem,
pada tahap ini transformasi tidak
mempertimbangkan karakteristik yang spesifik atau
Fase Perancangan Basis Data
Lanjutan
mempertimbangkan karakteristik yang spesifik atau
hal– hal khusus yang akan diaplikasikan pada
sistem manajemen database
b. Penyesuaian skema ke DBMS
Penyesuaian skema yang dihasilkan dari tahap
Pemetaan untuk dikonfirmasikan pada bentuk
implementasi yang spesifik dari suatu model data
seperti yang digunakan oleh sistem manajemen
database yang terpilih
5. Perancangan database secara fisik
a. Response Time
Waktu transaksi database selama eksekusi untuk
menerima respon
b. Space Utility
Jumlah ruang penyimpanan yang digunakan oleh
Fase Perancangan Basis Data
Lanjutan
Jumlah ruang penyimpanan yang digunakan oleh
database file dan struktur jalur pengaksesannya
c. Transaction Throughput
Merupakan nilai rata–rata transaksi yang dapat di
proses permenit oleh sistem database dan
merupakan parameter kritis dari sistem transaksi
6. Phase Implementasi Sistem Database
Pertemuan 3
MODEL DATA
Model Data
PENGERTIAN MODEL DATA :
Sekumpulan konsep-konsep untuk menerangkan data,
hubungan-hubungan antara data dan batasan-batasan
data yang terintegrasi di dalam suatu organisasi.
JENIS-JENIS MODEL DATA
A. Model Data Berdasarkan Object
B. Model Data Berdasarkan Record
A. Model Data Berbasis Objek
Model data berbasis objek menggunakan konsep entitas,
atribut dan hubungan antar entitas.
Terdiri dari:
1. Model Keterhubungan Entitas (Entity-Relationship
Model)
2. Model Berorientasi Object (Object-Oriented Model)
3. Model Data Semantik (Semantic Data Model)
4. Model Data Fungsional (Functional Data Model)
Model Keterhubungan Entitas (Entity-Relationship Model)
merupakan model yang paling populer digunakan
dalam perancangan basis data.
Entity Relationship Model
Model untuk menjelaskan hubungan antar data dalam
basis data berdasarkan suatu persepsi bahwa real word
terdiri dari objek-object dasar yang mempunyai hubungan
atau relasi antara objek-objek tersebut.
Komponen utama pembentuk Model Entity-Relationship,
yaitu: Entitas (Entity), Relasi (Relation). Kedua
komponen ini dideskripsikan lebih lanjut melalui
sejumlah Atribut/Properti.
Diagram Entity-Relationship
(Diagram E-R)
Model Entity Relationship yang berisi komponen
himpunan entitas, relasi, yang dilengkapi atribut-atribut,
dapat digambarkan menggunakan Diagram Entity-Relationship (Diagram E-R).
Dalam Diagram E-R aturan terpenting adalah Kardinalitas
relasi/ Mapping Cardinalities yang menentukan jumlah
entity yang dapat dikaitkan dengan entity lainnya melalui
relationship-set.
Diagram Entity-Relationship
(Diagram E-R) lanjutan
Jenis Mapping Cardinalities:
• Relasi satu ke satu (one-to-one)
• Relasi satu ke banyak (one-to-Many)
•Relasi banyak ke banyak (many-to-many)
Semantic Model
Hampir sama dengan Entity Relationship model dimana
relasi antara objek dasar tidak dinyatakan dengan simbol
tetapi menggunakan kata-kata (Semantic). Sebagai
contoh, dengan masih menggunakan relasi pada Bank X
sebagaimana contoh sebelumnya, dalam semantic
model adalah seperti terlihat pada gambar di atas.
B. Model Data Berbasis Record
Model ini berdasarkan pada record untuk menjelaskan
kepada user tentang hubungan logic antar data dalam
basis data
PERBEDAAN DENGAN MODEL DATA BERBASIS
OBJEK
PERBEDAAN DENGAN MODEL DATA BERBASIS
OBJEK
Pada record based data model disamping digunakan untuk
menguraikan struktur logika keseluruhan dari suatu
database, juga digunakan untuk menguraikan
implementasi dari sistem database (higher level description
of implementation)
Model Relational
Terdapat 3 data model pada model data berbasis record:
1. Model Relational,
Dimana data serta hubungan antar data
direpresentasikan oleh sejumlah tabel dan masing-
masing tabel terdiri dari beberapa kolom yang namanya
unique. Model ini berdasarkan notasi teori himpunan (set
theory), yaitu relation.
Contoh : data base penjual barang terdiri dari 3 tabel:
– Supllier
– Suku_cadang
– Pengiriman
Model Hirarki
2. Model Hirarki
Dimana data serta hubungan antar data
direpresentasikan dengan record dan link (pointer),
dimana record-record tersebut disusun dalam bentuk
tree (pohon), dan masing-masing node pada tree
tersebut merupakan record/grup data elemen dan
memiliki hubungan cardinalitas 1:1 dan 1:M
Model Jaringan
3. Model Jaringan
Distandarisasi tahun 1971 oleh Database Task Group
(DBTG) atau disebut juga model CODASYL
(Conference on Data System Language), mirip dengan
hirarkical model dimana data dan hubungan antar data
direpresentasikan dengan record dan links.
Perbedaannya terletak pada susunan record dan linknya
yaitu network model menyusun record-record dalam
bentuk graph dan menyatakan hubungan cardinalitas 1:1, 1:M dan N:M
Pertemuan 4
Entity-Relationship Diagram (ERD)
Komponen E-R Diagram
1. Entitas yaitu suatu kumpulan object atau sesuatu yang
dapat dibedakan atau dapat diidentifikasikan secara
unik. Dan kumpulan entitas yang sejenis disebut
dengan entity set.
2. Relationship yaitu hubungan yang terjadi antara satu
entitas atau lebih.
3. Atribut, kumpulan elemen data yang membentuk suatu
entitas.
4. Indicator tipe terbagi 2 yaitu :
a. Indicator tipe asosiatif object
b. Indicator tipe super tipe
Entity Set
ENTITY SET TERBAGI ATAS :
1. Strong entity set yaitu entity set yang satu atau lebih
atributnya digunakan oleh entity set lain sebagai key.
Digambarkan dengan empat persegi panjang.
Misal :
E adalah sebuah entity set dengan atribute-atribute a1,
a2,..,an, maka entity set tersebut direpresentasikan
dalam bentuk tabel E yang terdiri dari n kolom, dimana
setiap kolom berkaitan dengan atribute-atributenya.
2. Weak Entity set, Entity set yang bergantung terhadap
strong entity set. Digambarkan dengan empat persegi
panjang bertumpuk.
Misal :
A adalah weak entity set dari atribute-atribute a1, a2, ..,
ar dan B adalah strong entity set dengan atribute-
atribute b1, b2,..,bs, dimana b1 adalah atribute primary
key, maka weak entity set direpresentasikan berupa
table A, dengan atribute-atribute {b1} u {a1,a2,.., ar}
a. KEY = atribut yang digunakan untuk menentukan suatu
entity secara unik
b. ATRIBUT SIMPLE = atribut yang bernilai tunggal
c. ATRIBUT MULTI VALUE = atribut yang memiliki
sekelompok nilai untuk setiap instan entity
Pada gambar dibawah ini, yang menjadi atribut key adalah NIP.
Jenis-Jenis Atribut
Pada gambar dibawah ini, yang menjadi atribut key adalah NIP.
Tgl Lahir dan Nama adalah atribut simple. Sedangkan Gelar
merupakan contoh atribut multivalue.
Jenis Atribut lanjutan
d. ATRIBUT COMPOSIT ?Suatu atribut yang terdiri dari
beberapa atribut yang lebih kecil yang mempunyai arti
tertentu contohnya adalah atribut nama pegawai yang
terdiri dari nama depan, nama tengah dan nama belakang.
Jenis Atribute
d. ATRIBUT DERIVATIF = Suatu atribut yg dihasilkan dari
atribut yang lain. Sehingga umur yang merupakan hasil
kalkulasi antara Tgl Lahir dan tanggal hari ini. Sehingga
keberadaan atribut umur bergantung pada keberadaan
atribut Tgl Lahir.
Mapping Cardinality
Banyaknya entity yang bersesuaian dengan entity yang lain
melalui relationship
JENIS-JENIS MAPPING :
1. One to one
2. Many to One atau One to many
3. Many to many
REPRESENTASI DARI ENTITY SET
Entity set direpresentasikan dalam bentuk tabel dan nama
yang unique. Setiap tabel terdiri dari sejumlah kolom,
dimana masing-masing kolom diberi nama yang unique
pula
Participation Constraint
Menjelaskan apakah keberadaan suatu entity tergantung
pada hubungannya dengan entity lain.
Terdapat dua macam participation constrain yaitu:
1. Total participation constrain yaitu :
Keberadaan suatu entity tergantung pada hubungannya
dengan entity lain. Didalam diagram ER digambarkan
dengan dua garis penghubung antar entity dan
relationship.
2. Partial participation, yaitu
Keberadaan suatu entity tidak tergantung pada
hubungan dengan entity lain. Didalam diagram ER
digambarkan dengan satu garis penghubung.
Logical Record Structured (LRS)
LRS = representasi dari struktur record-record pada tabel-tabel
yang terbentuk dari hasil relasi antar himpunan entitas.
Menentukan Kardinalitas, Jumlah Tabel dan Foreign Key
(FK)
Pertemuan 5
Membuat ERD
Analisa Kasus ERD
Perpustakaan Smart
(Pembahasan di Kelas)
1. Pembuatan gambar ERD dari Perpustkaan Smart
Langkah –langkah pembuatan ERD dan LRS
Tentukan entity – entity yang diperlukan
Tentukan relationship antar entity – entity
Menggambar ERD Sementara
Mengisi kardinalitas
Menentukan kunci utama
Menggambar ERD Berdasarkan Kunci
Tentukan attribute – attribute
Transformasi ERD ke LRS
Menggambar LRS
Pertemuan 6
Teknik Normalisasi
Teknik Normalisasi
BEBERAPA PENGERTIAN NORMALISASI :
Normalisasi merupakan proses pengelompokan elemen
data menjadi tabel–tabel yang menunjuk-kan entity dan
relasinya.
Normalisasi adalah proses pengelompokan atribute-
atribute dari suatu relasi sehingga membentuk WELL
STRUCTURE RELATION.
Well Structure Relation
Adalah sebuah relasi yang jumlah kerangkapan datanya
sedikit (minimum Amount Of Redundancy), serta
memberikan kemungkinan bagi user untuk melakukan
INSERT, DELETE, dan MODIFY terhadap baris-baris
data pada relation tersebut, yang tidak berakibat
terjadinya ERROR atau INKONSESTENSI DATA, yang
disebabkan oleh operasi-operasi tersebut
Keuntungan Normalisasi
Keuntungan dari normalisasi, yaitu :
1. Meminimalkan ukuran penyimpanan yang diperlukan
untuk menyimpan data.
2. Meminimalkan resiko inkonsistensi data pada basis
data
3. Meminimalkan kemungkinan anomali pembaruan
4. Memaksimalkan stabilitas struktur data
ANOMALY
ANOMALY merupakan penyimpangan-penyimpangan atau
Error atau inkonsistensi data yang terjadi pada saat
dilakukan proses insert, delete maupun update.
Terdapat 3 jenis Anomaly :
1. Insertion Anomaly
Error yang terjadi sebagai akibat operasi insert
record/tuple pada sebuah relation
2. Deletion Anomaly
Error yang terjadi sebagai akibat operasi delete
record/tuple pada sebuah relation
Anomaly Lanjutan
3. Update Anomaly
Error yang terjadi sebagai akibat inkonsistensi data yang
terjadi sebagai akibat dari operasi update record/tuple
dari sebuah relation
Problem-Problem Pada Relation yang
Sudah Dinormalisasi
? Performance problem
Masalah terhadap performa database
? Referential Integrity Problem
Masalah yang timbul terhadap referensi antar data-data
diantara dua tabel atau lebih
BEBERAPA KONSEP YANG HARUS DIKETAHUI:
a. Field/ Atribut Kunci
b. Kebergantungan Fungsi
Atribut Kunci (Field)
a. Key Field / atribute kunci dalam database:
1. Super key
Yaitu himpunan dari satu atau lebih entitas yang
digunakan untuk mengidentifikasikan secara unik
sebuah entitas dalam entitas set.
2. Candidate key
Yaitu satu attribute atau satu set minimal atribute yang
mengidentifikasikan secara unik suatu kejadian yang
spesifik dari entity.
Atribut Kunci lanjutan
3. Primary key
Yaitu satu atribute atau satu set minimal atribute yang
tidak hanya mengidentifikasikan secara unik suatu
kejadian yang spesifik tapi juga dapat mewakili setiap
kejadian dari suatu entity
4. Alternate key
Yaitu kunci kandidat yang tidak dipakai sebagai
primary key
5. Foreign key
yaitu satu atribute (atau satu set atribute) yang
melengkapi satu relationship (hubungan yang
menunjukkan ke induknya.
Kebergantungan Kunci
1. Ketergantungan Fungsional (Fungsional Dependent)
Keterkaitan antar hubungan antara 2 atribute pada
sebuah relasi. Dituliskan dengan cara : A -> B, yang
berarti :
Atribute B fungsionality Dependent terhadap atribute A
atau
Isi (value) atribute A menentukan isi atribute B
Definisi dari functional dependent :
Diketahui sebuah relasi R, atribute Y dari R adalah FD
pada atribute X dari R ditulis R.X -> R.Y jika dan hanya
jika tiap harga X dalam R bersesuaian dengan tepat satu
harga Y dalam R
2. Fully Functionaly Dependent (FFD)
Suatu rinci data dikatakan fully functional dependent pada
suatu kombinasi rinci data jika functional dependent pada
kombinasi rinci data dan tidak functional dependent pada
bagian lain dari kombinasi rinci data.
Definisi dari FDD:
Kebergantungan Kunci lanjutan
Definisi dari FDD:
Atribute Y pada relasi R adalah FFD pada atribute X pada
relasi R jika Y FD pada X tida FD pada himpunan bagian
dari X
Contoh:
PersonID,Project,Project_budget?time_spent_byperson_
onProject (bukan FFD)
PersonID, Project ?time_spent_byperson_onProject (FDD)
3. Ketergantungan Partial
Sebagian dari kunci dapat digunakan sebagai kunci
utama
4. Ketergantungan Transitif
Kebergantungan Kunci lanjutan
4. Ketergantungan Transitif
Menjadi atribute biasa pada suatu relasi tetapi
menjadi kunci pada relasi lain
5. Determinan
Suatu atribute (field) atau gabungan atribute dimana
beberapa atribute lain bergantung sepenuhnya pada atribute tersebut.

Read more ...

Pengantar Organisasi Komputer

I. Pengertian
1. Komputer
Komputer adalah sebuah mesin hitung elektronik yang secara cepat menerima informasi masukan digital dan mengolah informasi tersebut menurut seperangkat instruksi yang tersimpan dalam komputer tersebut dan menghasilkan keluaran informasi yang dihasilkan setelah diolah.
Komputer terdiri dari lima bagian utama yang mempunyai fungsi sendiri-sendiri, yaitu: masukan, memori, aritmatika dan logika, keluaran, dan kontrol

2. Organisasi Komputer
• Organisasi Komputer adalah bagian yang terkait erat dengan unit-unit operasional dan interkoneksi antar komponen penyusun sistem komputer dalam merealisasikan aspek arsitekturalnya.
• Contoh aspek organisasional adalah teknologi hardware, perangkat antarmuka, teknologi memori, sistem memori, dan sinyal-sinyal kontrol.
• Arsitektur Komputer lebih cenderung pada kajian atribut-atribut sistem komputer yang terkait dengan seorang programmer. Contohnya, set Instruksi, aritmatika yang digunakan, teknik pengalamatan, mekanisme I/O.

II. Struktur dan Fungsi Utama Komputer
* Struktur adalah sistem yang berinteraksi dengan cara tertentu dengan dunia luar.
* Fungsi adalah operasi dari masing-masing komponen yang merupakan bagian dari struktur
1. Struktur Komputer
Komputer adalah sebuah sistem yang berinteraksi dengan cara tertentu dengan dunia luar yang dilakukan melalui perangkat peripheral dan saluran komunikasi. Empat struktur utama:
a. Central Processing Unit (CPU), berfungsi sebagai pengontrol operasi komputer dan pusat pengolahan fungsi-fungsi komputer.
b. Memori Utama, berfungsi sebagai penyimpan data.
c. I/O, berfungsi memindahkan data ke lingkungan luar atau perangkat lainnya.
d. System Interconnection, merupakan sistem yang menghubungkan CPU, memori utama dan I/O.

Pergerakan/Pemindahan Data
Komputer dapat berfungsi sebagai alat pemindah data. pemindahan data dari sebuah periferal/saluran komunikasi ke perangkat lainnya.
Operasi 2
Penyimpanan Data
Komputer sebagai penyimpanan data, dimana data dipindahkan dari lingkungan luar ke  penyimpanankomputer (baca) dan sebaliknya (tulis).
Operasi 3
Pengolahan Data ke/dari Penyimpanan
Operasi-operasi yang melibatkan pengolahan data, terhadap data manapun yang terdapat dalam tempat penyimpanan
Operasi 4
Pengolahan dari Penyimpanan ke I/O
Operasi-operasi yang melibatkan pengolahan data atau perpindahan antara tempat penyimpanan dan lingkungan luar

Pertemuan 2
SISTEM BILANGAN
I. Konsep Dasar Sistem Bilangan
• Sistem bilangan adalah suatu cara untuk mewakili
besaran dari suatu item fisik.
• Konsep dasar sistem bilangan dikarakteristikkan oleh
basis (radix), absolute digit dan posisi (place) value,
yang dituliskan:
• Basis yang digunakan sistem bilangan tergantung dari
jumlah nilai bilangan yang dipergunakan.
Konsep Dasar Sistem Bilangan lanjutan
Sistem bilangan yang sering digunakan adalah:
Sistem bilangan desimal
Sistem bilangan biner
Sistem bilangan oktal
Sistem bilangan hexadesimal
1. Sistem Bilangan Desimal
Sistem bilangan desimal menggunakan basis 10
(deca)
Menggunakan 10 macam simbol bilangan berbentuk
digit angka: 0,1,2,3,4,5,6,7,8,9
Dasar penulisan:
Bentuk nilai desimal dapat berupa integer (bilangan
bulat) dan pecahan
Dapat ditulis dalam bentuk eksponensial yaitu ditulis
dengan mantissa dan exponent.
Contoh: 1234 = 0,1234 x 10 4
mantissa exponent
A x 10 n
Sistem Bilangan Desimal lanjutan
Penulisan base/radix dituliskan setelah absolut digit,
yaitu A 10 , atau A(D).
Dalam hal ini yang dituliskan adalah A 10
Contoh nilai 4352 10 dan 762,15 10 dapat diartikan:
4 x 10 3 = 4000
3 x 10 2 = 300
5 x 10 1 = 50
2 x 10 0 =  2  +
4352
7 x 10 2 = 700
6 x 10 1 =  60
2 x 10 0 = 2
1 x 10 -1 = 0,1
5 x 10 -2 = 0,05  +
762,15
2. Sistem Bilangan Biner
Sistem bilangan biner menggunakan basis 2 (binary)
Menggunakan 2 macam simbol bilangan berbentuk digit
angka: 0 dan 1
Penulisan base/radix dituliskan setelah absolut digit, yaitu
A 2 atau A(B). Dalam hal ini yang dituliskan adalah A 2
Dasar penulisan:
Contoh penulisan: 1001 0011 2
A x 2 n
3. Sistem Bilangan Oktal
Sistem bilangan oktal menggunakan basis 8 (octal)
Menggunakan 8 macam simbol bilangan berbentuk digit
angka: 0,1,2,3,4,5,6,7
Penulisan base/radix dituliskan setelah absolut digit, yaitu
A 8 atau A(O). Dalam hal ini yang dituliskan adalah A 8
Dituliskan:
Contoh penulisan: 347 8
A x 8 n
4. Sistem Bilangan Hexadesimal
Sistem bilangan hexadesimal menggunakan basis 16
(hexa)
Menggunakan 16 macam simbol bilangan berbentuk digit
angka: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Penulisan base/radix dituliskan setelah absolut digit, yaitu
A 16 atau A(H). Dalam hal ini yang dituliskan adalah A 16
Dituliskan:
Contoh penulisan: A78 16
A x 16 n
II. Satuan Data
Komputer bekerja atas dasar sistem biner berupa 0 dan 1
yang disebut bit.
Bit merupakan satuan data terkecil dalam sistem komputer.
Bit-bit dapat digunakan untuk menyusun karakter apa saja.
Sebuah karakter dinyatakan dengan 8 bit atau 16 bit.
1. Byte
Byte merupakan satuan yang digunakan untuk
menyatakan sebuah karakter pada sistem ASCII atau
EBCDIC
1 byte = 8 bit
Satuan Data lanjutan
2. Kilobyte (KB)
Biasa digunakan untuk berkas gambar berukuran kecil
1 kilobyte = 1024 byte
3. Megabyte (MB)
Biasa digunakan untuk menyatakan kapasitas RAM
dalam PC
1 MB = 1024 KB = 1.048.576 byte
4. Gigabyte (GB)
Biasa digunakan untuk menyatakan kapasitas harddisk
dalam PC
1 GB = 1024 MB = 1.073.741.824 byte
Satuan Data lanjutan
5. Terabyte (TB)
Biasa digunakan untuk menyatakan kapasitas harddisk
dalam mainframe
1 TB = 1024 GB = 1.009.511.627.776 byte
6. Petabyte (PB)
1 PB = 1024 TB
III. Sistem Pengkodean
Sistem yang digunakan untuk mengkodekan karakter
bermacam-macam.
Data disimpan dalam memori komputer menempati
posisi 1 byte, yang menggunakan kombinasi dari digit
Biner.
Komputer berbeda dalam menggunakan kode biner
untuk mewakili sebuah karakter.
Ada beberapa kode yang akan dibahas, yaitu BCD,
EBCDIC, ASCII dan Unicode
Sistem Pengkodean lanjutan
1. BCD (Binary Coded Decimal)
Merupakan kode biner yang digunakan hanya untuk
mewakili nilai digit desimal saja.
Sebuah karakter BCD dinyatakan dengan 4 bit
Karakter yang tersedia sebanyak 10 angka, yaitu
angka 0,1,2,3,4,5,6,7,8,9
Digunakan pada komputer generasi pertama.
BCD 4 Bit Digit Desimal BCD 4 Bit Digit Desimal
0000 0 0101 5
0001 1 0110 6
0010 2 0111 7
0011 3 1000 8
0100 4 1001 9
Sistem Pengkodean lanjutan
2. EBCDIC (Extended Binary Coded Decimal Interchange
Code)
EBCDIC dikembangkan oleh IBM, yang diterapkan
pada berbagai komputer mainframe
Sebuah karakter dinyatakan dengan 8 bit
Karakter yang tersedia sebanyak 2 8 = 226 karakter
Digunakan pada komputer generasi ketiga
Sistem Pengkodean lanjutan
3. ASCII (American Standard Code for Information
Interchange)
ASCII dikembangkan oleh ANSI (American National
Standard Institute)
Sebuah karakter ASCII dinyatakan dengan 8 bit
Karakter yang tersedia sebanyak 226 karakter,
meliputi huruf, angka, dan spesial karakter, termasuk
simbol Yunani dan karakter grafis
4. Unicode
Sebuah karakter Unicode dinyatakan dengan 16 bit
Karakter yang tersedia sebanyak 65.536 karakter,
meliputi huruf, angka, dan spesial karakter, termasuk
simbol Yunani, karakter grafis, simbol Arab dan Cina
Pertemuan 3
KONVERSI BILANGAN
1. Konversi dari Bilangan Desimal ke
Biner
Dengan cara membagi bilangan desimal dengan 2
(basis biner) sampai tidak bisa dibagi lagi
Kemudian sisa pembagian diurutkan dari bawah ke atas
dalam format 8 bit
Contoh nilai 89 10 akan dikonversikan menjadi Biner
Konversi dari Bilangan Desimal ke Biner lanjutan
89
2 :
44 sisa 1
2 :
22 sisa 0
2 :
11 sisa 0
2 :
5 sisa 1
2 :
2 sisa 1
2 :
1 sisa 0
Dituliskan dari bawah
ke atas: 1011001
Karena penulisan
dengan 8 bit, maka
89 10 = 0101 1001 2
2. Konversi dari Bilangan Desimal ke
Oktal
Dengan cara membagi bilangan desimal dengan 8
(basis oktal) sampai tidak bisa dibagi lagi
Cara yang digunakan sama dengan bilangan biner
Contoh nilai 147 10 akan dikonversikan menjadi Oktal
Konversi dari Bilangan Desimal ke Oktal lanjutan
147
8 :
18 sisa 3
8 :
2 sisa 2
• Dituliskan dari bawah ke atas: 223
• Maka hasilnya menjadi 147 10 = 223 8
3. Konversi dari Bilangan Desimal ke
Hexadesimal
Dengan cara membagi bilangan desimal dengan 16
(basis hexa) sampai tidak bisa dibagi lagi
Cara yang digunakan sama dengan bilangan biner
Contoh nilai 123 10 akan dikonversikan menjadi Hexa
Konversi dari Bilangan Desimal ke Hexadesimal
lanjutan
123
16 :
7 sisa 11
• Sisa 11 dikodekan menjadi B
• Maka hasilnya menjadi 123 10 = 7B 16
4. Konversi dari Bilangan Biner ke
Desimal
Dengan cara mengalikan masing-masing bit biner dalam
bilangan sesuai dengan radix dan position value-nya
Contoh bit 11 0101 2 akan dikonversikan menjadi Desimal
110101 2
1 x 2 0 = 1
0 x 2 1 = 0
1 x 2 2 = 4
0 x 2 3 = 0
1 x 2 4 = 16
1 x 2 5 = 32  +
53
Maka hasil di samping
dituliskan:
11 0101 2 = 53 10
5. Konversi dari Bilangan Biner ke Oktal
Dengan cara membagi digit biner tersebut ke dalam tiga
digit dari kanan
Ketiga digit tersebut kemudian dikonversikan menjadi
desimal
Contoh bit 1010 1011 2 akan dikonversikan menjadi Oktal
Maka dituliskan menjadi 1010 1011 2 = 253 8
6. Konversi dari Bilangan Biner ke
Hexadesimal
Dengan cara membagi digit biner tersebut ke dalam
empat digit dari kanan
Keempat digit tersebut kemudian dikonversikan menjadi
desimal
Contoh bit 10101011 2 akan dikonversikan menjadi Hexa
Maka dituliskan menjadi  1010 1011 2 =  AB 16
7. Konversi dari Bilangan Oktal ke
Desimal
Dengan cara mengalikan masing-masing bit oktal
dalam bilangan sesuai dengan radix dan position value-
nya
Contoh bit 371 8 akan dikonversikan menjadi Desimal
371 8
1 x 8 0 = 1
7 x 8 1 = 56
3 x 8 2 = 192  +
249
Maka hasil disamping
dituliskan:
371 8 = 249 10
8. Konversi dari Bilangan Oktal ke Biner
Dengan cara mengkonversikan setiap satu digit oktal
menjadi tiga digit biner
Contoh bit 71 8 akan dikonversikan menjadi Biner
Maka dituliskan menjadi 71 8 = 0011 1001 2
Konversi ini tidak dapat dilakukan secara langsung,
tetapi harus dikonversikan terlebih dahulu ke Desimal
atau Biner
Contoh bit 243 8 akan dikonversikan menjadi Hexa
Maka dituliskan menjadi 243 8 = A3 16
9. Konversi dari Bilangan Oktal ke
Hexadesimal
10. Konversi dari Bilangan Hexadesimal
ke Desimal
Dengan cara mengalikan masing-masing bit hexa
dalam bilangan sesuai dengan radix dan position value-
nya
Contoh bit 8F 16 akan dikonversikan menjadi Desimal
8F 16
F x 16 0 = 15
8 x 16 1 = 128  +
143
Maka hasil disamping
dituliskan:
8F 16 = 143 10
11. Konversi dari Bilangan Hexadesimal
ke Biner
Dengan cara mengkonversikan setiap satu digit hexa
menjadi empat digit biner
Contoh bit 8F 16 akan dikonversikan menjadi Biner
Maka dituliskan menjadi 8F 16 = 1000 1111 2
12. Konversi dari Bilangan Hexadesimal
ke Oktal
Konversi ini tidak dapat dilakukan secara langsung,
tetapi harus dikonversikan terlebih dahulu ke Desimal
atau Biner sama dengan konversi dari oktal ke hexa
Contoh bit 8F 16 akan dikonversikan menjadi Oktal
Maka dituliskan menjadi 8F 16 = 217 8
Hexa 8 F
Biner
1000 1111
10 001 111
Oktal
2 1 7
Pertemuan 4
REPRESENTASI
DATA
Komputer menggunakan dan memanipulasi data untuk
perhitungan aritmatik, pemrosesan data, dan operasi logik.
Type data yang digunakan dalam komputer digital
diklasifikasikan:
• Data Numerik: merepresentasikan integer, pecahan, real,
dan desimal berkode biner.
• Data Logikal: digunakan oleh operasi seperti OR, AND,
COMPLEMENT, COMPARE dan SHIFT.
• Data Bit Tunggal: digunakan oleh operasi seperti SET,
CLEAR, dan TEST.
• Data Alfanumerik: digunakan untuk manipulasi string oleh
instruksi seperti MOVE dan SEARCH
II. Representasi Integer
Untuk keperluan pengolahan dan penyimpanan data
komputer, hanya bilangan biner yang dapat
merepresentasikan bilangan
Integer direpresentasikan selain oleh nilai bilangannya
juga dengan adanya tambahan tanda (Signed Integer)
Tipe:
Sign and Magnitude
One’s Complement
Two’s Complement
1. Representasi Sign-Magnitude
Merepresentasikan bilangan integer negatif
Bit yang paling kiri diidentifikasikan sebagai tanda (sign)
Jika bit paling kiri adalah nol maka bilangan tersebut
positif
Jika bit paling kiri adalah satu maka bilangan tersebut
negatif
Contoh:
+18 10 = 00010010 2
−18 10 = 10010010 2
Representasi Sign-Magnitude lanjutan
1. Penjumlahan pada Sign-Magnitude mempunyai aturan:
Sign tidak dijumlahkan, hanya magnitude
Buang carry out dari bit yang paling kiri
Jumlahkan yang sign-nya sama
Sign hasil = sign penambah
Contoh penjumlahan 4 bit:
0 0010 (2) 1 1011 (-11)
0 0101 (5) 1 0100 (-4)
+————— +——————
0 0111 (7) 1 1111 (-15)
Representasi Sign-Magnitude lanjutan
2. Pengurangan pada Sign-Magnitude mempunyai aturan:
Lakukan pengurangan jika sign sama
Jika sign tidak sama, ubah soal ke penjumlahan
Contoh pengurangan:
0 10100 (20) 1 1011 (-11)
0 00101 (5) 1 0100 (-4)
−————— −——————
0 1111 (15) 1 0111 (-7)
Representasi Sign-Magnitude lanjutan
Kelemahan Sign-Magnitude:
Penambahan dan pengurangan memerlukan
pertimbangan baik tanda bilangan maupun nilai
relatifnya
Ada dua representasi bilangan nol, yaitu
+0 10 = 00000000 2
−0 10 = 10000000 2
2. Representasi Komplemen Satu
Komplemen pada dasarnya merubah bentuk
pengurangan menjadi pertambahan
Komplementasi bilangan biner dengan cara mengubah 1
menjadi 0 dan 0 menjadi 1
Contoh:
00110110 = 11001001
dibentuk dengan mengambil komplemen satu dari
bilangannya dan dengan menambahkan 1 pada posisi
paling kanan
Contoh desimal 49 (dalam biner) menjadi bentuk
komplemen dua:
110001
001110 → bentuk komplemen ke-1
1+
001111 → bentuk komplemen ke-2
3. Representasi Komplemen Dua
dibentuk dengan mengambil komplemen satu dari
bilangannya dan dengan menambahkan 1 pada posisi
paling kanan
Contoh desimal 49 (dalam biner) menjadi bentuk
komplemen dua:
110001
001110 → bentuk komplemen ke-1
1+
001111 → bentuk komplemen ke-2
3. Representasi Komplemen Dua
III. Penjumlahan Biner
• Penjumlahan bilangan biner dilakukan sama seperti
penjumlahan bilangan-bilangan desimal.
• Operasi pengurangan, perkalian dan pembagian seperti
yang dilakukan pada komputer dan kalkulator digital
sesungguhnya menggunakan penjumlahan sebagai
operasi dasarnya.
• Ada 4 kondisi dalam penjumlahan bilangan biner:
0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 0 (carry out 1)
Maksud dari carry out, hasilnya tidak bisa memuat lebih
dari 1 digit, tetapi disimpan ke dalam kolom sebelah yang
lebih tinggi nilainya (digit paling kiri yang diabaikan).
1. Penjumlahan Biner dengan Komplemen Dua
Ada beberapa kasus yang dapat dilakukan dengan
komplemen dua:
a. Kasus 1: Dua Blangan Positip
Penjumlahan dari dua bilangan positip dilakukan secara
langsung.
Contoh:
8 → 1000
4 → 0100
—+ ———+
12 → 1100
Penjumlahan Biner dengan Komplemen Dua lanjutan
b. Kasus 2: Blangan Positip dan Negatip yang lebih kecil
Contoh: 8 + (-4)
Caranya bilangan -4 akan diubah ke dalam bentuk komplemen
dua, sehingga biner 4 (0100) menjadi:
Komplemen satu : 1011
Komplemen dua : 1011
1
——+
1100
jadi penjumlahannya adalah:
8 → 1000
-4 → 1100
——+ ———+
4 → 1 0100 (digit paling kiri diabaikan)
Penjumlahan Biner dengan Komplemen Dua lanjutan
c. Kasus 3: Blangan Positip dan Negatip yang lebih besar
Contoh: 8 + (-11)
Caranya bilangan -11 akan diubah ke dalam bentuk
komplemen dua, sehingga biner 11 (1101) menjadi:
Komplemen satu : 0010
Komplemen dua : 0010
1
——+
0011
jadi penjumlahannya adalah:
8 → 1000
-11 → 0011
——+ ———+
-3 → 1011 (bentuk biner dari -3)
Penjumlahan Biner dengan Komplemen Dua lanjutan
d. Kasus 4: Dua Blangan Negatip
Contoh: -8 + (-7)
Caranya bilangan -8 dan -7 akan diubah ke dalam bentuk
komplemen dua, jadi biner 8 (1000) dan 7 (0111) menjadi:
Komplemen satu : 0111 dan  1000
Komplemen dua : 0111 1000
1 1
——+ ——+
1000 1001
jadi penjumlahannya adalah:
-8 → 1000
-7 → 1001
—+ ———+
-15 → 1 0001 (digit paling kiri diabaikan)
Pertemuan 5
Central Processing Unit (CPU)
I. Komponen Utama CPU
CPU merupakan tempat pemrosesan instruksi program.
Untuk memahami organisasi CPU ada beberapa hal yang
dilakukan CPU, antara lain:
Mengambil instruksi: CPU membawa instruksi dari
memori
Interpret instruksi: Instruksi dikodekan untuk
menentukan tindakan apa yang diperlukan
Mengambil data: Eksekusi suatu instruksi dapat
memerlukan pembacaan data dari memori atau modul
I/O
Mengolah data: Eksekusi suatu instruksi dapat
memerlukan pembentukan beberapa operasi aritmatika
atau operasi logika
Menulis data: hasil suatu eksekusi dapat memerlukan
penulisan data ke memori
Komponen Internal CPU:
1. Arithmetic and Logic Unit (ALU), bertugas melakukan
perhitungan aktual dan pengolahan data komputer.
ALU terdiri dari Unit arithmetika dan Unit logika boolean
2. Control Unit (CU), bertugas mengontrol pergerakan data
dan instruksi ke dalam dan ke luar CPU, dan megontrol
operasi ALU.
3. Registers, adalah media penyimpan internal CPU yang
digunakan saat proses pengolahan data, dan bersifat
sementara.
4. CPU Interconnections, adalah sistem koneksi dan bus
yang menghubungkan komponen internal CPU dan bus-
bus eksternal CPU yang menghubungkan dengan sistem
lainnya, seperti memori utama dan piranti I/O.
I.1. ALU
ALU melakukan semua perhitungan aritmatika dengan
dasar penambahan.
Selain itu ALU bertugas melakukan keputusan dari operasi
logika sesuai dengan instruksi program.
Operasi logika yang dilakukan menggunakan operator
logika, seperti:
? Sama dengan (=)
? Tidak sama dengan (<>)
? Kurang dari (<)
? Kurang dari atau sama dengan (<=)
? Lebih besar dari (>)
? Lebih besar dari atau sama dengan (>=)
1.2. Control Unit (CU)
Control Unit merupakan bagian CPU yang mengendalikan
semua peralatan yang ada pada sistem komputer.
Tugas CU:
Mengatur dan mengendalikan alat I/O
Mengambil instruksi-instruksi dari memori
Mengambil data dari main memory kalau diperlukan oleh
proses
Mengirim instruksi ke ALU bila ada perhitungan
aritmatika atau logika
Menyimpan hasil proses ke main memory
1.3. Register
Register pada CPU membentuk dua peran:
Register terlihat oleh pengguna
Register Kontrol dan Status
A. Register Terlihat oleh Pengguna
Memungkinkan programmer dengan bahasa mesin atau
assembly untuk memperkecil acuan memori utama dengan
mengoptimalkan penggunaan memori.
Beberapa kategori register ini adalah: Register bertujuan
Umum, Register Data, Register Alamat, dan Register Kode
Kondisi.
Register Terlihat oleh Pengguna lanjutan
A.1. Register Bertujuan Umum
Register ini digunakan untuk berbagai macam fungsi,
dan dapat juga digunakan untuk fungsi pengalamatan.
A.2. Register Data
Register ini hanya dapat digunakan untuk menampung
data dan tidak dapat digunakan dalam kalkulasi alamat
operand.
Register Terlihat oleh Pengguna lanjutan
A.3. Register Alamat
Register ini digunakan untuk menampung
pengalamatan data, seperti:
Pointer Segmen untuk menampung alamat segmen
Register Indeks untuk menampung alamat indeks
Pointer Stack untuk menyimpan alamat stack yang
memungkinkan pengalamatan tersembunyi, seperti
push dan pop.
A.4. Register Kode Kondisi
Kode kondisi adalah set bit oleh CPU sebagai hasil
operasi, atau disebut juga sebagai flag.
B. Register Kontrol dan Status
Digunakan oleh unit kontrol untuk mengontrol operasi CPU
dan S/O dalam mengontrol eksekusi program.
Register untuk eksekusi instruksi adalah:
1. Program Counter (PC): berisi alamat instruksi yang
diambil
2. Instruction Register (IR): berisi instruksi yang paling
akhir diambil
3. Memory Address Register (MAR): berisi alamat lokasi
dalam memori
4. Memory Buffer Register (MBR): berisi data word yang
dituliskan ke memori atau word yang terakhir dibaca.
II. Fungsi CPU
CPU merupakan komponen terpenting dari sistem
komputer.
CPU adalah komponen pengolah data berdasarkan
instruksi-instruksi yang diberikan kepadanya.
Fungsi CPU adalah menjalankan program-program yang
disimpan dalam memori utama dengan cara mengambil
instruksi-instruksi, menguji instruksi tersebut dan
mengeksekusinya satu persatu sesuai alur perintah.
Pengolahan instruksi pada CPU terdiri dari dua langkah,
yaitu: operasi pembacaan instruksi (fetch) dan operasi
pelaksanaan instruksi (execute).
II.1. Siklus Fetch - Eksekusi
Setiap siklus instruksi, CPU awalnya akan membaca
instruksi dari memori.
Register dalam CPU berfungsi mengawasi dan
menghitung instruksi selanjutnya, disebut Program
Counter (PC) yang akan menambah satu hitungannya
setiap kali CPU membaca instruksi.
Instruksi yang dibaca akan dibuat dalam Instruction
Register (IR) yang berbentuk kode-kode biner, kemudian
dilakukan aksi yang diperlukan.
Siklus Fetch – Eksekusi lanjutan
Aksi-aksi ini dikelompokkan menjadi empat katagori:
a. Perpindahan data dari CPU ke memori dan
sebaliknya.
b. Perpindahan data dari CPU ke modul I/O dan
sebaliknya.
c. Pengolahan Data, CPU membentuk sejumlah operasi
aritmatika dan logika terhadap data.
d. Kontrol, merupakan instruksi untuk pengontrolan
fungsi atau kerja.
II.2. Fungsi Interupsi
Fungsi interupsi adalah 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 manejemen
pengeksekusian routine instruksi agar efektif dan efisien
antar CPU dan modul-modul I/O maupun memori.
Fungsi Interupsi lanjutan
Macam-macam kelas sinyal interupsi:
a. Program, yaitu interupsi yang dibangkitkan dengan
beberapa kondisi yang terjadi pada hasil eksekusi
program. Contohnya: arimatika overflow, pembagian
nol, operasi ilegal.
b. Timer, adalah interupsi yang dibangkitkan pewaktuan
dalam prosesor.
c. I/O, sinyal interupsi yang dibangkitkan oleh modul I/O
sehubungan pemberitahuan kondisi error dan
penyelesaian suatu operasi.
d. Hardware failure, adalah interupsi yang dibangkitkan
oleh kegagalan daya atau kesalahan paritas memori.
Mekanisme interupsi
Dengan adanya mekanisme interupsi, prosesor dapat
digunakan untuk mengeksekusi instruksi-instruksi lain.
Saat modul telah selesai menjalankan tugasnya dan siap
menerima tugas berikutnya maka modul ini akan
mengirimkan permintaan interupsi ke prosesor.
Prosesor akan menghentikan eksekusi yang
dijalankannya untuk menjalankan interupsi.
Mekanisme interupsi lanjutan
Saat sinyal interupsi diterima prosesor ada dua
kemungkinan tindakan, yaitu interupsi
diterima/ditangguhkan dan interupsi ditolak.
Apabila interupsi ditangguhkan, prosesor akan
melakukan:
1. Prosesor menangguhkan eksekusi program yang
dijalankan dan menyimpan konteksnya (menyimpan
alamat instruksi berikutnya yang akan dieksekusi dan
data lain).
2. Prosesor menyetel program counter (PC) ke alamat
awal routine interrupt handler.
Setelah program interupsi selesai maka prosesor akan
melanjutkan eksekusi programnya kembali.
Pertemuan 6
EVOLUSI dan KINERJA KOMPUTER
I. Evolusi dan Sejarah Perkembangan
Komputer saat ini adalah evolusi panjang penemuan
manusia sejak dulu berupa alat mekanik dan elektronik.
Empat golongan besar alat pengolah data:
1. Peralatan manual
? Peralatan pengolahan data yang sangat sederhana
? Pemakaian alat menggunakan tenaga tangan manusia
2. Peralatan Mekanik
? Peralatan yang sudah berbentuk mekanik yang
digerakkan dengan tangan secara manual
3. Peralatan Mekanik Elektronik
? Peralatan mekanik yang digerakkan secara otomatis
oleh motor elektronik
4. Peralatan Elektronik
? Peralatan yang bekerjanya secara elektronik penuh
Evolusi dan Sejarah Perkembangan lanjutan
Sejarah perkembangan komputer dibagi dalam 2 periode
yaitu:
A. Sebelum tahun 1940
5000 tahun yang lalu, Abacus yang muncul di Asia,
dapat dianggap sebagai awal mula mesin komputasi.
Tahun 1642, Blaise Pascal menemukan alat
penghitungan dengan mesin secara mekanik yang
diberi nama The Pascaline
Tahun 1666, Sir Samuel Morland menciptakan mesin
yang dapat melakukan operasi penjumlahan,
pengurangan, perkalian, dan pembagian
Evolusi dan Sejarah Perkembangan lanjutan
Sebelum tahun 1940 lanjutan
Tahun 1673, Gottfred Wilhem von Leibniz
memperbaiki Pascaline dengan membuat mesin
yang dapat mengalikan 2 buah bilangan
Tahun 1833, Charles Babbage menemukan mesin
untuk melakukan perhitungan persamaan differensial
Tahun 1850, D.D.Parmalee membuat mesin
penghitung dengan keyboard yang pertama
Tahun 1869, William Jevons menciptakan mesin
logika aljabar boolean yang pertama
Evolusi dan Sejarah Perkembangan lanjutan
Sebelum tahun 1940 lanjutan
Tahun 1884, William S. Burroughs membuat mesin
hitung yang dilengkapi dengan alat cetak
Tahun 1889, Herman Hollerith menerapkan prinsip
kartu perforasi (kartu plong) untuk melakukan
penghitungan
Pada Tahun 1931, Vannevar Bush membuat sebuah
kalkulator untuk menyelesaikan persamaan
differensial.
Evolusi dan Sejarah Perkembangan lanjutan
b. Setelah tahun 1940
Evolusi dan sejarah komputer dibagi menjadi beberapa
generasi komputer, yang akan dijelaskan dalam beberapa
perkembangan generasi komputer.
II. Klasifikasi Komputer
II.1. Klasifikasi berdasarkan perkembangannya
A. Generasi Pertama (1946 – 1959)
Menggunakan tabung hampa (vacum tube)
Media penyimpanan internal utama: drum magnetik
Kapasitas penyimpanan utama: 1000-4000 byte
Program dibuat dengan bahasa mesin
Ukuran fisik komputer besar, dan daya listrik besar
Problem panas dan pemeliharaan
Aplikasi: perhitungan sains, pemrosesan payroll,
penyimpanan record
Waktu siklus: millidetik
Kecepatan pemrosesan: 2000 instruksi per detik
Contoh: ENIAC, UNIVAC I, UNIVAC II
Keterangan tentang ENIAC (Electronic Numerical
Integrator And Computer)
? Tahun 1946 dibuat oleh John Presper Eckert dan
John Mauchly di Universitas Pennsylvania.
? Merupakan komputer digital elektronik untuk kebutuhan
umum pertama di dunia.
? Spesifikasi ENIAC:
Berat 30 ton
Volume 15.000 kaki persegi
Berisi lebih dari 18.000 tabung vakum
Daya listrik yang dibutuhkan sebesar 140 KW
Kecepatan operasi 40.000 operasi per detik
Keterangan tentang UNIVAC I dan UNIVAC II (Universal
Automatic Computer)
? Tahun 1947, Eckert dan Mauchly mendirikan Eckert-
Mauchly Computer Corporation untuk memproduksi
komputer secara komersial.
? Merupakan komputer komersial pertama di dunia.
? Tahun 1950 diluncurkan UNIVAC II yang memiliki
kapasitas memori lebih besar dan kinerja yang lebih
baik.
B. Generasi Kedua (1959 – 1964)
Menggunakan transistor untuk operasi internal
Media penyimpanan internal utama: magnetic core
Kapasitas penyimpanan lebih banyak (4K-32 KB)
Bahasa pemrograman tingkat tinggi
Ukuran dan panas lebih kecil
Aplikasi berorientasi batch: billing, payroll, inventory
Waktu siklus: mikrodetik
Kecepatan pemrosesan: 1 mips
Contoh: DEC PDP-I, UNIVAC III
C. Generasi Ketiga (1964 – 1970)
Menggunakan integrated circuit (IC)
Media penyimpanan utama: magnetic core
Kapasitas penyimpanan lebih banyak (32K-3 MB)
Bahasa pemrograman tingkat tinggi lebih luas
Lebih fleksibel dengan I/O, berorientasi disk
Ukuran lebih kecil dan handal
Aplikasi: sistem reservasi, billing kartu kredit
Waktu siklus: nanodetik
Kecepatan pemrosesan: 10 mips
Munculnya komputer mini
Pemrosesan jarak jauh dan time-sharing
Tersedianya perangkat lunak O/S untuk mengontrol I/O
Contoh: IBM S/360
Generasi Ketiga lanjutan
Peningkatan kemampuan pada Generasi Ketiga:
Kapasitas penyimpanan yang lebih besar
Program yang mengerjakan tugas secara otomatis
Kompatibilitas komponen-komponennya
Bahasa pemrograman tingkat tinggi
Mengerjakan operasi secara serempak
Sistem operasi time-sharing
Menggunakan memori virtual
Kemampuan menangani aplikasi bisnis dan sains
dalam mesin yang sama
D. Generasi Keempat (1970 – 1980an)
Menggunakan large-scale integrated circuit (LSI) dan
very large-scale integrated circuit (VLSI)
Kapasitas penyimpanan lebih dari 3 MB
Tersedianya program yang canggih untuk aplikasi
khusus
Kecanggihan peralatan I/O yang meningkat
Aplikasi: simulasi dan model matematika, transfer
dana elektronik, perancangan manufakturing
Kecepatan pemrosesan: 100 mips sampai 1 bips
Penggunaan minikomputer, mikroprosesor, dan
milrokomputer
Contoh: IBM S/370
E. Generasi Kelima (1980an – sekarang)
Ditandai dengan teknologi paralel dan networking
Kapasitas penyimpanan lebih dari 3 MB
Tersedianya program yang canggih untuk aplikasi
khusus
Kecanggihan peralatan I/O yang meningkat
Aplikasi: simulasi dan model matematika, transfer dana
elektronik, perancangan manufakturing
Kecepatan pemrosesan: 100 mips sampai 1 bips
Penggunaan minikomputer, mikroprosesor, dan
milrokomputer
Contoh: IBM S/37, PC 486
II.2. Klasifikasi berdasarkan data yang diolah
A. Komputer Analog
Bekerja dengan sistem kontinyu, yaitu menggunakan
gelombang sinusoida
Data yang digunakan berbentuk besaran phisik
(bukan angka), sehingga tidak perlu dikonversikan
dan prosesnya lebih cepat dibanding digital
Tidak terlalu teliti dalam melakukan perhitungan
Digunakan untuk perhitungan teknik, seperti arus
listrik, temperatur, kecepatan, tekanan, dll.
Klasifikasi menurut data yang diolah lanjutan
B. Komputer Digital
Bekerja dengan sistem digital
Ketelitian cukup tinggi terutama dalam melakukan
perhitungan
Dapat menyimpan data selama proses berlangsung
Dapat melakukan operasi logika
Data dapat dikoreksi atau dihapus
Output berupa angka, huruf, grafik, dan gambar
C. Komputer Hibrid
Adalah komputer yang diperuntukkan sebagai
pengolahan data yang sifatnya baik kuantitatif
maupun kualitatif
Gabungan antara komputer analog dan digital
II.3. Klasifikasi berdasarkan penggunaannya
A. Komputer untuk penggunaan umum (General
Purpose)
Komputer yang digunakan untuk penggunaan umum
Menggunakan program yang bermacam-macam untuk
menyelesaikan masalah yang berbeda
Kecepatan pemrosesan data lebih rendah dibanding
special purpose
Digunakan untuk aplikasi bisnis, teknik, pendidikan,
game, dll.
B. Komputer untuk penggunaan khusus (Special
Purpose)
Komputer yang digunakan untuk penggunaan khusus.
Contoh komputer yang digunakan pada bidang
kedokteran: mesin USG, EKG
II.4. Klasifikasi Berdasarkan Ukurannya
A. Micro Computer
Disebut juga dengan Personal Computer (PC)
Umumnya bersifat single-user
Jenisnya: desktop PC, tower PC, laptop, notebook,
palmtop, PDA
B. Mini Computer
Bersifat multi-user
Digunakan oleh perusahaan berskala menengah
sebagai server
C. Small Computer
Disebut juga dengan small-scale-mainframe-
computer
Bersifat multi-programming, multi-processing, dan
virtual-storage
Klasifikasi berdasarkan ukuran lanjutan
d. Medium Computer
Disebut juga dengan medium-scale-mainframe-
computer
Mempunyai sejumlah besar dan bermacam alat I/O
Biasanya digunakan untuk komunikasi data
e. Large Computer
Disebut juga dengan mainframe-computer
Dapat menerapkan sistem time-sharing
Digunakan oleh perusahaan berskala besar
f. Super Computer
Disebut juga dengan parallel processor
Komputer mainframe yang mempunyai banyak
prosesor yang dipasang secara paralel
III. Perancangan Kinerja Komputer
• Kinerja sebuah sistem komputer merupakan hasil proses
dari seluruh komponen komputer, yang melibatkan CPU,
memori utama, memori sekunder, bus, dan peripheral.
• Tujuan yang ingin dicapai dalam peningkatan kinerja
adalah tercapainya keseimbangan proses operasi antar
komponen-komponen penyusun komputer sehingga
menghasilkan kinerja komputer yang tinggi.
• Bidang yang menjadi kajian peningkatan kinerja sistem
komputer adalah penanganan perangkat-perangkat I/O.
Perancangan Kinerja lanjutan
Peningkatan kinerja mikroprosesor terus berlanjut dengan
berbagai teknik yang telah dikembangkan, diantaranya:
Branch Prediction, teknik dimana prosesor
memungkinkan mengamati terlebih dahulu di dalam
software dan melakukan prediksi percabangan atau
kelompok instruksi yang akan dieksekusi berikutnya.
Data Flow Analysis, prosesor akan menganalisa
instruksi-instruksi yang tidak tergantung pada hasil atau
data lainnya untuk membuat penjadwalan yang optimum
dalam eksekusi.
Speculative Execution, dengan modal prediksi cabang
dan analisis data, maka prosesor dapat melakukan
eksekusi spekulatif terlebih dahulu sebelum waktunya.

Read more ...
Designed By