Anda di halaman 1dari 47

ALGORITMA DAN

PEMOGRAMAN

Apakah Algoritma itu ?

Algoritma mempunyai sejarah yang aneh, orang yang menemukan


kata Algorism yang berarti proses menghitung menggunakan
Angka Arab.
Para ahli bahasa berusaha menemukan asal kata tersebut yang
berasal dari nama penulis buku arab yang terkenal yaitu Abu Jafar
Muhammad Ibnu Musa Al-Khuwarizmi. AlKhuwarizmi dibaca orang
barat menjadi Algorism. Al-Khuwarizmi menulis buku yang
berjudul Kitab Al Jabar Wal-Muqabala yang artinya Buku
Pemugaran dan pengurangan (The Book of restoration and
reduction). Dari judul buku itu diperoleh akar kata Aljabar
( Algebra). Perubahan kata dari Algorism menjadi Algorithm
muncul karena kata Algorism sering dikelirukan dengan
Arithmetic, sehingga akhiran sm berubah menjadi thm. Karena
perhitungan dengan bahasa arab sudah menjadi hal yang biasa.
Maka lambat laun kata Algorithm berangsur-angsur dipakai
sebagai metode perhitungan (komputansi) secara umum.
Sehingga kelhilangan makna kata aslinya. Dalam bahasa

DEFINISI ALGORTIMA

Algoritma adalah urutan aksi-aksi yang


dinyatakan dengan jelas dan tidak rancu untuk
memecahkan suatu masalah dalam rentang
waktu tertentu. Setiap aksi harus dapat
dikerjakan dan mempunyai efek tertentu.

Contoh Algoritma
Dalam kehidupan sehari-hari banyak terdapat proses yang
dinyatakan dalam suatu algoritma. Contohnya
1. Cara membuat kue atau masakan yang dinyataan dalam suatu
resep
2. Seorang pianis memainkan lagu berdasarkan papan not balok.
3. Seorang Atlit yang melakukan latihan.
4. Melakukan upacara bendera
5. Dsb
Secara umum pihak (benda) yang mengerjakan proses disebut
dengan pemroses. Pemroses dapat berupa
6. manusia
7. Komputer
8. Robot
9. Atau alat-alat elektronik lainnya.

No
1

Simbol

10

11

12

Fungsi

Terminal, untuk memulai dan mengakhiri suatu program

Proses, suatu symbol yang menunjukkan setiap pengolahan yang


dilakukan oleh komputer.

Input Ouput, maka memasukkan data maupun menunjukkan


hasil dari suatu proses.

Decision, suatu kondisi yang akan menghasilkan beberapa


kemungkinan jawaban atau pilihan.
Preddifined Process, suatu symbol untuk menyediakan tempattempat pengolahan data di storage.

Connector, suatu procedure akan masuk dan keluar melalui symbol


ini dalam lembar yang sama.

Off line conector, merupakan simbol untuk masuk dan keluarnya


suatu prosedure pada lembar kertas yang lain.

Arus atau flow, procedure yang dapat dilakukan dari atas kebawah,
bawah ke atas, dari kanan ke kiri atau dari kiri ke kanan.
Document, merupakan symbol untuk data yang berbentuk
informasi.

Untuk menyatakan sekumpulan langkah proses yang ditulis


sebagai procedure.

Symbol, untuk output yang ditunjukkan suatu device seperti


printer, plotter.

Untuk menyimpan data.

PERBEDAAN BELAJAR MEMPROGRAM DAN BELAJAR BAHASA


PEMOGRAMAN
MEMPROGRAM

PEMOGRAMAN

1. Belajar tentang
1. Belajar memakai
strategi pemecahan
suatu bahasa
masalah, metodologi
pemograman, aturan
dan sistematika,
syntaks, tatacara
pemecahan masalah
untuk memanfaatkan
kemudian
instruksi yang
menuliskannya dalam
spesifik untuk setiap
notasi yang
bahasa.
disepakati.
2. Menitik beratkan
2. Bersifat pemahaman
pada coder.
persoalan, analisis
dan sintesis.
3. Menitik beratkan
pada designer
program.

Algoritma dapat dituliskan dengan banyak cara, mulai dari


menggunakan bahasa alami yang digunakan sehari-hari,
simbol grafik bagan alir, sampai menggunakan bahasa
pemograman seperti bahasa pascal, Cobol, C, C++ , Delphi,
Java, Dbase, Visual Basic dll.
Contoh Algoritma menggunakan bahasa :
Kasus : Ibu akan membuat kue Tart coklat
1. Kocok telur, gula, garam cake emulsifier hingga
mengembang selama 10 menit
2. Masukkan campuran tepung, kocok hingga tercampur rata
sebentar saja
3. Masukkan campuran mentega cair aduk rata
4. Tuang adonan ke dalam kertas cup cake lalu kukus hingga
matang selama kurang lebih 20 menit
5. Angkat dan biarkan kue dingin. Semprotkan permukaan
kue dengan krim siram dengan cokelat cair secara acak.
6. Hidangkan.

Contoh menggunakan Symbol atau mulai


Flowchart :
Kocok telur, gula, garam,
cake emulsifier hingga
mengembang selama 10
menit
Masukkan campuran tepung,
kocok hingga tercampur rata,
sebentar saja

Masukkan
campuran
mentega cair
aduk rata
Tuang adonan ke
dalam kertas cup
cake, lalu kukus
hingga matang
selama 20 menit

Angkat dan biarkan kue


dingin, semprotkan
permukaan kue dengan
krim siram dengan cokelat
cair secara acak.

Hidangkan
dan selesai

Sistem Bilangan dan


Konversi Bilangan

Pendahuluan

Ada beberapa sistem bilangan yang


digunakan dalam sistem digital. Yang
paling umum adalah sistem bilangan
desimal, biner, oktal dan
heksadesimal
Sistem bilangan desimal merupakan
sistem bilangan yang paling familier
dengan kita karena berbagai
kemudahannya yang kita
pergunakan sehari hari.

Macam-Macam Sistem Bilangan


Sistem

Radiks

Desimal

Himpunan/elemen Digit

Contoh

r=10{0,1,2,3,4,5,6,7,8,9}

Biner

25510

r=2 {0,1}

Oktal

11111111 2

r= 8 {0,1,2,3,4,5,6,7}

3778

Heksadesimal r=16{0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F}

Desimal
14 15 0
Heksa

Biner

0
1

1
2

2
3

0000 0001 0010 0011

3
4

4
5

5
6

6
7

7
8

8
9

9
A

FF16

10 11 12 13
B

0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Sistem Bilangan

Secara matematis sistem bilangan


bisa ditulis seperti contoh di bawah
ini:

Bilangan : Dr d n 1 , d n 2 , , d1 , d 0 , d 1 , , d n
Nilai

: D r i n d i r
n 1

Contoh:

Bilangan desimal:
5185.6810 = 5x103 + 1x102 + 8x101 + 5x100 + 6 x 10-1 +
8 x 10-2
= 5x1000 + 1x100 + 8x10 + 5 x 1 + 6x0.1 +
8x0.01
Bilangan biner (radiks=2, digit={0, 1})
100112 = 1 16 + 0 8 + 0 4 + 1 2 + 1 1 = 1910

MSB LSB

101.0012 = 1x4 + 0x2 + 1x1 + 0x.5 + 0x.25 + 1x.125


= 5.12510

Konversi Radiks-r ke desimal

Rumus konversi radiks-r ke desimal:


Dr i n d i r i
n 1

Contoh:

11012 = 123 + 122 + 120


= 8 + 4 + 1 = 1310

5728 = 582 + 781 + 280


= 320 + 56 + 16 = 39210

2A16 = 2161 + 10160


= 32 + 10 = 4210

Konversi Bilangan Desimal ke


Biner

Konversi bilangan desimal bulat ke


bilangan Biner: Gunakan pembagian
dgn 2 secara suksesif sampai
sisanya = 0. Sisa-sisa pembagian
membentuk jawaban, yaitu sisa
yang pertama akan menjadi least
significant bit (LSB) dan sisa yang
terakhir menjadi most significant bit
(MSB).

Contoh: Konersi 17910 ke biner:


179 / 2 = 89 sisa 1 (LSB)
/ 2 = 44 sisa 1
/ 2 = 22 sisa 0
/ 2 = 11 sisa 0
/ 2 = 5 sisa 1
/ 2 = 2 sisa 1
/ 2 = 1 sisa 0
/ 2 = 0 sisa 1
(MSB)
17910 = 101100112

Konversi Bilangan Desimal ke


Oktal

Konversi bilangan desimal bulat ke


bilangan oktal: Gunakan pembagian
dgn 8 secara suksesif sampai
sisanya = 0. Sisa-sisa pembagian
membentuk jawaban, yaitu sisa
yang pertama akan menjadi least
significant bit (LSB) dan sisa yang
terakhir menjadi most significant bit
(MSB).

Contoh: Konversi 17910 ke oktal:


179 / 8 = 22 sisa 3 (LSB)
/ 8 = 2 sisa 6
/ 8 = 0 sisa 2 (MSB)
17910 = 2638

MSB LSB

Konversi Bilangan Desimal ke


Hexadesimal

Konversi bilangan desimal bulat ke


bilangan hexadesimal: Gunakan
pembagian dgn 16 secara suksesif
sampai sisanya = 0. Sisa-sisa
pembagian membentuk jawaban,
yaitu sisa yang pertama akan menjadi
least significant bit (LSB) dan sisa
yang terakhir menjadi most significant
bit (MSB).

Contoh: Konversi 17910 ke


hexadesimal:
179 / 16 = 11 sisa 3 (LSB)
/ 16 = 0 sisa 11 (dalam
bilangan hexadesimal berarti B)MSB
17910 = B316

MSB LSB

Konversi Bilangan Biner ke


Oktal
Untuk mengkonversi bilangan
biner ke bilangan oktal, lakukan
pengelompokan 3 digit bilangan
biner dari posisi LSB sampai ke
MSB

Contoh: konversikan 101100112


ke bilangan oktal
Jawab : 10 110 011
2
6
3
Jadi 101100112 = 2638

Konversi Bilangan Oktal ke


Biner
Sebaliknya untuk mengkonversi
Bilangan Oktal ke Biner yang harus
dilakukan adalah terjemahkan setiap
digit bilangan oktal ke 3 digit
bilangan biner

Contoh Konversikan 2638 ke bilangan


biner.
Jawab: 2
6
3
010 110 011
Jadi 2638 = 0101100112 Karena 0
didepan tidak ada artinya kita bisa
menuliskan 101100112

Konversi Bilangan Biner ke


Hexadesimal
Untuk mengkonversi bilangan
biner ke bilangan hexadesimal,
lakukan pengelompokan 4 digit
bilangan biner dari posisi LSB
sampai ke MSB

Contoh: konversikan 101100112


ke bilangan heksadesimal
Jawab : 1011 0011
B
3
Jadi 101100112 = B316

Konversi Bilangan
Hexadesimal ke Biner
Sebaliknya untuk mengkonversi
Bilangan Hexadesimal ke Biner yang
harus dilakukan adalah terjemahkan
setiap digit bilangan Hexadesimal ke
4 digit bilangan biner

Contoh Konversikan B316 ke bilangan


biner.
Jawab: B
3
1011 0011
Jadi B316 = 101100112

Tugas

= 10

1101112 = .8
Konversikan Bilangan di Bawah
359
= 2
ini
10
472
= 2
8
8910
= 16 3538
= 16

29A16

3678

= 2

110102 = 10

7FD16 = 2

3ED16 = 8

Jawaba
n

Konversi 8910 ke hexadesimal:


89 / 16 = 5 sisa 9
8910
= 5916

Konversi 3678 ke biner:


3 = 011 ; 6 = 110 ; 7 = 111
0111101112 = 111101112

Konversi 110102 ke desimal:


= 124 + 123 +022 + 121 + 020

Jawaban

Konversi 7FD16 ke oktal:


7 = 0111 ; F = 1111 ; D = 1101
0111111111012 = 111111111012
111111111012 = 37758
7FD16 = 37758

Konversi 29A16 ke desimal:


= 2162 + 9161 + A160
= 512 + 144 + 10 = 66610

Jawaban

Konversi 1101112 ke Oktal


110= 6 ; 111 = 7 1101112 = 678

Konversi 35910 ke biner


359 / 2 = 179 sisa 1 (LSB)
/ 2 = 89 sisa 1
/ 2 = 44 sisa 1
/ 2 = 22 sisa 0
/ 2 = 11 sisa 0
/ 2 = 5 sisa 1
/ 2 = 2 sisa 1
/ 2 = 1 sisa 0
/ 2 = 0 sisa = 1 (MSB)

35910 = 1011001112

Jawaban

Konversi 4728 ke hexadecimal = 314


4728 = 1001110102
4
7
2
100 111 010
1001110102 = 13A16

Organisasi Data

Pendahuluan

Komputer secara umum bekerja


dengan beberapa jumlah bit khusus.
Kumpulan yang Umum adalah bit
tunggal, kelompok empat bit (disebut
nibbles), kelompok delapan bit
(disebut byte), kelompok 16 bit
(disebut word), dan lain-lain.

Bits

"Unit" paling kecil dari data pada komputer


biner adalah satu bit tunggal.
satu bit tunggal mampu merepresentasikan
hanya dua nilai yang berbeda (secara tipikal nol
atau satu)
Anda bisa merepresentasikan dua item data
apapun yang berbeda dengan satu bit tunggal.
Contoh meliputi nol atau satu, benar atau salah,
on atau off, pria atau wanita. Anda tidak
dibatasi untuk merepresentasikan jenis data
biner (yaitu, objek yang hanya mempunyai dua
nilai yang berbeda).

Bits

Data adalah apa yang anda ingin definisikan.


Jika anda menggunakan bit untuk
merepresentasikan suatu nilai boolean
(benar/salah) maka bit itu (oleh definisi anda)
merepresentasikan benar atau salah.
Agar bit mempunyai maksud/arti yang benar,
anda harus konsisten. Maka, jika anda sedang
menggunakan bit untuk merepresentasikan
benar atau salah di dalam program anda,
anda tidak boleh menggunakan nilai
benar/salah yang disimpan dalam bit tsb
untuk merepresentasikan merah atau biru.

Nibbles

nibble adalah satu koleksi empat bit. Ia


bukan merupakan jenis data yang menarik
kecuali dua item: bilangan BCD (binary
coded decimal) dan bilangan berbasis
enambelas.
Ia menggunakan empat bit untuk
merepresentasikan satu BCD tunggal atau
digit hexadecimal. Dengan suatu nibble,
kita bisa merepresentasikan sampai
dengan 16 nilai berbeda.

Nibbles

Dalam kasus bilangan berbasis


enambelas, nilai dapat berupa 0, 1,
2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, dan
F direpresentasikan dengan empat
bit. BCD menggunakan sepuluh
angka berbeda (0, 1, 2, 3, 4, 5, 6, 7,
8, 9)

Bytes

Struktur data terpenting yang digunakan


oleh mikroprosesor 80x86 adalah byte.
Sebuah byte terdiri dari delapan bit dan
adalah datum addressable paling kecil
(data item) pada mikroprosesor 80x86.
Memori Utama dan alamat I/O pada 80x86
adalah semua alamat byte. Artinya bahwa
item paling kecil yang mungkin diakses
secara individu oleh satu program 80x86
adalah nilai delapan-bit.

Bytes

Bit dalam satu byte secara normal


dinomori dari nol sampai tujuh
menggunakan konvensi di dalam
gambar 1.1.
Bit 0 adalah urutan bit terendah atau
bit paling tidak berarti (signifikan),
bit 7 adalah urutan bit paling berarti
(signifikan) dari byte. Kita akan
mengacu pada penomoran semua bit
lain.

Bytes

Gambar 1.1: Penomoran Bit dalam satu Byte

Perhatikan bahwa satu byte juga berisi


persis dua nibble (lihat gambar 1.2).

Gambar 1.2: Dua Nibbles dalam satu Byte

Word

Sebuah word adalah kelompok 16 bit. Kita


akan menomori bit dalam word mulai dari nol
sampai dengan lima belas. Penomoran bit
muncul di gambar 1.3.

Gambar 1.3: Nomor Bit dalam Word

Seperti byte, bit 0 adalah urutan bit terendah


dan bit 15 adalah urutan bit tertinggi.

Word

Perhatikan bahwa satu word berisi persis


dua byte. Bit 0 sampai 7 membentuk
urutan byte terendah, bit 8 hingga 15
membentuk urutan byte tertinggi (lihat
gambar 1.4).

Gambar 1.4: Dua Bytes dalam Word

Secara alami, satu word mungkin saja


dipecah ke dalam empat nibble seperti
diperlihatkan di dalam gambar 1.5.

Word

Gambar 1.5: Nibble dalam Sebuah Word

Nibble nol adalah nibble urutan terendah


dalam word dan nibble tiga adalah nible urutan
tertinggi dari word. Dua nibble lain adalah
nibble satu atau nibble dua.

Word

Dengan 16 bit, anda bisa


merepresentasikan 216 (65,536) nilai
yang berbeda. Ini bisa menjadi nilai
dalam jangkauan 0..65,535 (atau,
sebagai kasus biasanya,
-32,768..+32,767) atau jenis data
lain apapun tanpa lebih dari 65,536
nilai.

Daftar Pustaka

Digital Principles and Applications,


Leach-Malvino, McGraw-Hill
Sistem Diugital konsep dan aplikasi,
freddy kurniawan, ST.
Elektronika Digiltal konsep dasar dan
aplikasinya, Sumarna, GRAHA ILMU

Anda mungkin juga menyukai