Anda di halaman 1dari 126

Logika, Algoritma dan

Pemrograman
TUJUAN

 Teknik analisa pemrograman (Logika)


 Memahami konsep-konsep algoritma
 Memahami dasar pemrograman dan belajar
bahasa pemrograman
 sistem bilangan
Logika

 Logika adalah ilmu yang


membantu kita dalam
berpikir dan menalar
(reasoning)

 Menalar artinya
mencapai kesimpulan
dari berbagai
pernyataan. A thinker

3
 Perhatikan argumen di bawah ini:

Jika anda mahasiswa Informatika maka anda


tidak sulit belajar Bahasa Java. Jika anda
tidak suka begadang maka anda bukan
mahasiswa Informatika. Tetapi, anda sulit
belajar Bahasa Java dan anda tidak suka
begadang. Jadi, anda bukan mahasiswa
Informatika.

Apakah penarikan kesimpulan dari argumen


di atas valid?
Alat bantu untuk memahami argumen tsb
adalah Logika
 Perhatikan urutan pernyataan di bawah ini:
Indra, Ical, Parry adalah sekelompok pembunuh.
Mereka tertangkap dan sedang diinterogasi oleh polisi
dengan poligraph:
Indra berkata : “Ical bersalah dan Parry tidak bersalah”
Ical berkata : “Jika indra bersalah maka Parry bersalah”
Parry berkata : “Saya tidak bersalah, tetapi Ical atau
Indra bersalah”.
Tentukan siapa sajakah yang bersalah bila tes poligraph
menunjukkan bahwa Ical telah berbohong, sementara
kedua temannya mengatakan kebenaran!

Alat bantu untuk menjawab pertanyaan ini adalah adalah


Logika
 Banyak teorema di dalam Ilmu
Komputer/Informatika yang membutuhkan
pemahaman logika.

 Contoh:
1. Dua buah bilangan bulat a dan b dikatakan
relatif prima jika gcd(a, b) = 1.

2. Syarat cukup graf dengan n simpul


mempunyai sirkuit Hamilton adalah derajat tiap
simpul  n/2.

3. T(n) = (f(n)) jika dan hanya jika O(f(n)) =


(f(n)).
 ”belajar mengakibatkan tidak pintar, adalah
syarat cukup untuk tidak belajar, berlaku jika
dan hanya jika pintar atau tidak belajar”
 Bahkan, logika adalah pondasi dasar algoritma
dan pemrograman.

 Contoh:
if x > y then
begin
temp:=x;
x:=y;
y:=temp;
end;

8
Proposisi

 Logika didasarkan pada pada hubungan


antara kalimat pernyataan (statements).

 Hanya kalimat yang bernilai benar atau salah


saja yang menjadi tinjauan  proposisi

 Proposisi: pernyataan yang bernilai benar


(true) atau salah (false), tetapi tidak
keduanya.

9
Permainan

“Gajah lebih besar daripada tikus.”

Apakah ini sebuah pernyataan? YA

Apakah ini sebuah proposisi? YA

Apakah nilai kebenaran


BENAR
dari proposisi ini?

10
Permainan

“520 < 111”

Apakah ini sebuah pernyataan? YA

Apakah ini sebuah proposisi? YA

Apakah nilai kebenaran


SALAH
dari proposisi ini?

11
Permainan

“y > 5”

Apakah ini sebuah pernyataan? YA


Apakah ini sebuah proposisi? TIDAK
Nilai kebenaran dari pernyataan tersebut
bergantung pada y, tapi nilainya belum
ditentukan.
Pernyataan jenis ini kita sebut sebagai
fungsi proposisi atau kalimat terbuka.
12
Permainan

“Sekarang tahun 2015 dan 99 < 5.”

Apakah ini sebuah pernyataan? YA

Apakah ini sebuah proposisi? YA

Apakah nilai kebenaran


SALAH
dari proposisi ini?

13
Permainan
“Tolong untuk tidak tidur selama kuliah”

Apakah ini sebuah pernyataan? TIDAK


Ini adalah sebuah permintaan.

Apakah ini sebuah proposisi? TIDAK

Hanya pernyataanlah yang bisa menjadi


proposisi.
14
Permainan
“x < y jika dan hanya jika y > x.”

Apakah ini pernyataan ? YA


Apakah ini proposisi ? YA
… karena nilai kebenarannya
tidak bergantung harga
spesifik x maupun y.
Apakah nilai kebenaran
dari proposisi ini ? BENAR

15
Kesimpulan: Proposisi adalah kalimat berita

16
Contoh-contoh proposisi lainnya:

(a) 13 adalah bilangan ganjil


(b) Soekarno adalah alumnus UI.
(c) 1 + 1 = 2
(d) 8  akar kuadrat dari 8 + 8
(e) Ada monyet di bulan
(f)  Hari ini adalah hari Rabu
(g) Untuk sembarang bilangan bulat n  0, maka
2n adalah bilangan genap
(h) x + y = y + x untuk setiap x dan y bilangan
riil

17
Contoh-contoh di bawah ini bukan proposisi

(a) Jam berapa kereta api Argo Bromo tiba


di Gambir?
(b) Isilah gelas tersebut dengan air!
(c) x + 3 = 8
(d) x > 3

18
 Pernyataan yang melibatkan peubah (variable) disebut
predikat, kalimat terbuka, atau fungsi proposisi
Contoh: “ x > 3”, “y = x + 10”
Notasi: P(x), misalnya P(x): x > 3

 Predikat dengan quantifier: x P(x)

 Kalkulus proposisi: bidang logika yang berkaitan dengan


proposisi  dipelajari dalam kuliah IF2210 ini

 Kalkulus predikat: bidang logika yang berkaitan dengan


predikatr dan quantifier  dipelajari dalam kuliah IF2121
Logika Informatika (Semester 4).

19
 Kembali ke kalkulus proposisi

 Proposisi dilambangkan dengan huruf kecil p,


q, r, ….

 Contoh:
p : 13 adalah bilangan ganjil.
q : Soekarno adalah alumnus UGM.
r: 2+2=4

20
Bentuk-bentuk Proposisi

 Proposisi dapat dinyatakan dalam empat


bentuk:
1. Proposisi atomik
2. Proposisi majemuk
3. Implikasi
4. Bi-implikasi

21
Proposisi Atomik

 Proposisi tunggal

 Contoh:
(a) Informatika ITB dibentuk tahun 1982
(b) 2n selalu genap untuk n=0, 1, 2, …
(c) I’m Javanese
(d) Orang Jawa belum tentu bisa Bahasa Java

22
Proposisi Majemuk
 Misalkan p dan q adalah proposisi atomik.
 Ada empat macam proposisi majemuk:

1. Konjungsi (conjunction): p dan q


Notasi p  q,
2. Disjungsi (disjunction): p atau q
Notasi: p  q
3. Ingkaran (negation) dari p: tidak p
Notasi: p
4. Disjungsi eksklusif: p atau q tapi bukan
keduanya
  Notasi: p  q

23
Contoh-contoh proposisi majemuk:

p : Hari ini hujan


q : Siswa masuk sekolah

p  q : Hari ini hujan dan siswa masuk sekolah


semakna dengan
Hari hujan namun siswa masuk sekolah

p : Tidak benar hari ini hujan


(atau: Hari ini tidak hujan)
 

24
p : Pemilih dalam Pilkada harus berusia 17
tahun
q : Pemilih dalam Pilkada sudah menikah

p  q : Pemilih dalam Pilkada harus berusia


17 tahun atau sudah menikah

25
Latihan. Diketahui proposisi-proposisi berikut:
p : Pemuda itu tinggi
q : Pemuda itu tampan

Nyatakan dalam bentuk simbolik:


(a) Pemuda itu tinggi dan tampan
(b) Pemuda itu tinggi tapi tidak tampan
(c) Pemuda itu tidak tinggi maupun tampan
(d) Tidak benar bahwa pemuda itu pendek atau tidak
tampan
(e) Pemuda itu tinggi, atau pendek dan tampan
(f) Tidak benar bahwa pemuda itu pendek maupun
tampan
Penyelesaian:
(a) p  q
(b) p  q
(c) p  q
(d) (p  q)
(e) p  (p  q)
(f) (p  q)
26
Tabel Kebenaran

p q pq p q pq p p

T T T T T T T F
T F F T F T F T
F T F F T T
F F F F F F

27
Disjungsi Eksklusif
Kata “atau” (or) dalam operasi logika digunakan dalam
salah satu dari dua cara:

1. Inclusive or
“atau” berarti “p atau q atau keduanya”
Contoh: “Tenaga IT yang dibutuhkan harus menguasai
Bahasa C++ atau Java”.

2. Exclusive or
“atau” berarti “p atau q tetapi bukan keduanya”.
Contoh: “Ia dihukum 5 tahun atau denda 10 juta”.

28
Operator logika disjungsi eksklusif: xor
Notasi: 

Tabel kebenaran:

p q pq

T T F
T F T
F T T
F F F

29
 Nilai kebenaran proposisi majemuk dapat ditentukan
dengan menggunakan “tabel kebenaran”
 Contoh proposisi majemuk: (p  q)  (~q  r)
 Tabel kebenaran:
p q r pq ~q ~q  r (p  q)  (~q  r)

T T T T F F T
T T F T F F T
T F T F T T T
T F F F T F F
F T T F F F F
F T F F F F F
F F T F T T T
F F F F T F F

30
p  ~(p  q) adalah sebuah tautologi

p q pq ~(p  q) p  ~(p  q)

T T T F T
T F F T T
F T F T T
F F F T T

31
 belajar mengakibatkan tidak pintar, adalah
syarat cukup untuk tidak belajar, berlaku jika
dan hanya jika pintar atau tidak belajar
 Misal p: pintar dan b: belajar
 Proposisi pada soal dapat diubah menjadi
((b→~p) →~b)  (p~b)
 Selanjutnya, kita uji kebenarannya dengan
tabel kebenaran
 Tabel Kebenaran
(p  q)  ~(p  q) adalah sebuah kontradiksi

p q pq pq ~(p  q) (p  q)  ~(p  q)

T T T F F F
T F F T F F
F T F T F F
F F F F T F

35
Hukum-hukum Logika

Disebut juga hukum-hukum aljabar proposisi.


1. Hukum identitas: 2. Hukum null/dominasi:
 p  F  p  p  F  F
 p  T  p  p  T  T

3. Hukum negasi: 4. Hukum idempoten:


 p  ~p  T  p  p  p
 p  ~p  F  p  p  p

5. Hukum involusi (negasi 6. Hukum penyerapan


ganda): (absorpsi):
 ~(~p)  p  p  (p  q)  p
 p  (p  q)  p

36
7. Hukum komutatif: 8. Hukum asosiatif:
 p  q  q  p  p  (q  r)  (p  q)  r

 p  q  q  p  p  (q  r)  (p  q)  r

9. Hukum distributif: 10. Hukum De Morgan:


 p  (q  r)  (p  q)  (p  r)  ~(p  q)  ~p  ~q
 p  (q  r)  (p  q)  (p  r)  ~(p  q)  ~p  ~q

37
Algoritma dan pemrograman

 Pengantar pemrograman
 Dasar (basic) pemrograman
 Pengantar pemrograman dan rekayasa
perangkat lunak
masalah Program solusi
komputer
Cara mendeskripsikan masalah dengan
komputer :

 menjabarkan masalah
 merinci langkah untuk menyelesaikan
masalah
 membuat sarana interaksi manusia-komputer
Tranformasi masalah menjadi
program komputer diperlukan:

 bentuk urutan masalah


 bahasa yang dipakai
 konsep mesin komputer
masalah

algoritma
masalah Program solusi
komputer
Belajar Memrogram Vs Belajar
Bahasa Pemrograman
 Belajar memprogram adalah belajar tentang
metodologi pemecahan masalah, kemudian
menuangkannya dalam suatu notasi tertentu yang
mudah dibaca dan dipahami.
 Belajar bahasa pemrograman berarti belajar
memakai suatu bahasa, aturan-aturan tata
bahasanya, instruksi-instruksinya, tata cara
pengoperasian compiler-nya, dan memanfaatkan
instruksi-instruksi tersebut untuk membuat program
yang ditulis hanya dalam bahasa itu saja.
Belajar Memprogram
 belajar bahasa pemrograman
 belajar tentang strategi pemecahan masalah,
metodologi dan sistematika pemecahan
masalah kemudian menuliskannya dalam
notasi yang disepakati bersama
 bersifat pemahaman persoalan, analisis dan
sintesis
 titik berat : designer program
Belajar Bahasa Pemrograman
 belajar memakai suatu bahasa
pemrograman, aturan sintaks, tatacara untuk
memanfaatkan instruksi yang spesifik untuk
setiap bahasa
 titik berat : coder
Langkah-langkah dalam
Pemrograman Komputer
 Mendefinisikan Masalah
 Kondisi awal, yaitu input yang tersedia.
 Kondisi akhir, yaitu output yang diinginkan.
 Data lain yang tersedia.
 Operator yang tersedia.
 Syarat atau kendala yang harus dipenuhi.
Langkah-langkah dalam
Pemrograman Komputer
 Memilih Algoritma.
 Menulis Program.
 Menguji Program.
 Kesalahan sintaks (penulisan program).
 Kesalahan pelaksanaan: semantik, logika, dan
ketelitian..
Langkah-langkah dalam
Pemrograman Komputer
 Uji dan Verifikasi Program
 Dokumentasi Program
 Pemeliharaan Program
Apakah Algoritma itu?
 Algorism  algorithm
 nama penulis buku Arab yaitu Abu Ja’far Muhammad ibnu Musa
Al-Khuwarizmi
 Algoritma adalah:
 penyusunaan aspek proses logika dari suatu pemecahan

masalah tanpa melihat karakteristik bahasa pemrograman


yang akan digunakan
 urutan notasi logika yang merupakan hasil analisis dan

rancangan sistematik dari strategi pemecahan masalah,


untuk menggambarkan urutan langkah kerja yang jika
dikerjakan akan membawa ke tujuannya.
 urutan logika langkah kerja untuk menyelesaikan suatu

masalah.
Apakah Algoritma itu?

 “Algoritma adalah urutan langkah-langkah


logis penyelesaian masalah yang disusun
secara sistematis dan logis”.
Algoritma menurut para ahli
 Seymour Lipschutz, Ph.D dan Marc Lipson, Ph.D.
 Algoritma adalah suatu daftar langkah-demi-langkah yang
terhingga dari instruksi-instruksi yang terdefinisikan dengan
jelas yang dipakai untuk permasalahan tertentu.
 David Bolton
 Algoritma adalah deskripsi dari suatu prosedur yang
berakhir dengan sebuah hasil.
 Andrey Andreyevich Markov
 Algoritma adalah hal umum untuk dipahami sebagai suatu
keputusan yang tepat untuk mendefinisikan proses
komputasi yang mengarahkan dari data awal hingga hasil
yang diinginkan.
Syarat Algoritma
 Tingkat kepercayaannya tinggi (realibility) Hasil
yang diperoleh dari proses harus berakurasi
tinggi dan benar.
 Pemrosesan yang efisien (cost rendah)
 Proses harus diselesaikan secepat mungkin dan
frekuensi kalkulasi yang sependek mungkin.
 Sifatnya general
 Bukan sesuatu yang hanya untuk
menyelesaikan satu kasus saja, tapi juga untuk
kasus lain yang lebih
Syarat Algoritma

 Bisa dikembangkan (expandable)


 Haruslah sesuatu yang dapat kita
kembangkan lebih jauh berdasarkan
perubahan requirement yang ada.
 Mudah dimengerti
 Precise (tepat, betul, teliti)
 Efektif
 Harus terminate
Syarat Algoritma
 Siapapun yang melihat, dia akan bisa memahami
algoritma Anda. Susah dimengertinya suatu
program akan membuat susah di-maintenance
(kelola).
 Portabilitas yang tinggi (portability)
 Bisa dengan mudah diimplementasikan di berbagai
platform komputer.
 Tidak boleh ada instruksi yang tidak mungkin
dikerjakan oleh pemroses yang akan
menjalankannya.
 Jalannya algoritma harus ada kriteria berhenti.
 Output yang dihasilkan tepat.
Contoh algoritma

 Mengirim surat kepada teman


 Mencari akar bulat positif dari bilangan bulat
(integer) positif a
 Menjalankan sepeda motor
Mengirim surat kepada teman:
 Ambil secarik kertas ksosng
 Tulis surat pada kertas tersebut.
 Ambil sampul surat.
 Masukkan surat ke dalam sampul.
 Tutup sampul surat menggunakan perekat.
 Jika kita ingat alamat teman tersebut, maka tulis
alamat pada sampul surat.
 Jika tidak ingat, lihat buku alamat, kemudian tulis
alamat pada sampul surat.
 Tempel perangko pada surat.
 Bawa surat ke kantor pos untuk diposkan
Mencari akar bulat positif dari bilangan
bulat (integer) positif a
 Masukkan bilangan bulat positif a
 Berikan harga awal x sama dengan 1
 Hitung y sebesar x * x
 Jika y sama dengan a maka cetak x
sebagai akar dari a. Selesai
 Tambah nilai x dengan 1
 Pergi ke langkah 3.
MASALAH MENJALANKAN
SEPEDA MOTOR
 Masukkan kunci kontak.
 Nyalakan power supply kendaraan.
 Hidupkan dengan tombol starter.
 Kurangi gas & tekan handle kopling.
 Masukkan gigi transmisi.
 Tambah gas & lepas handle kopling
perlahan.
Bagaimana dengan contoh yang lain ???

 Kebiasaan anda berangkat ke kampus ??


 Membuat nasi goreng ??
Aturan Penulisan Algoritma
Struktur dasar Algoritma ….

 Instruksi dasar seperti input/output,


assignment
 Sequence (runtutan)
 Analisa kasus
 Perulangan
Analisa kasus (pemilihan/percabangan)
Tahapan Algoritma

 Deklarasi
 Inisialisasi
 Proses penyelesaian masalah
 Finalisasi
Tahapan Algoritma

 Deklarasi
 kentang : integer
 pisau : integer
 Inisialisasi
 Proses penyelesaian masalah
 Finalisasi
Tahapan Algoritma

 Deklarasi
 Inisialisasi
 kentang <- 1
 pisau <- 1
 Proses penyelesaian masalah
 Finalisasi
Tahapan Algoritma

 Deklarasi
 Inisialisasi
 Proses penyelesaian masalah
 kentang <- kentang + pisau
 Finalisasi
 pisau <- 0
 Mengubah bahasa algoritmik menjadi bahasa
pemrograman yang dimengerti oleh
komputer,
 Pascal
 C++
 Basic
Var :
Kentang : integer;
Pisau : integer;
Begin
Kentang := 1;
pisau := 1;
Witeln (” mulai mengupas kentang”);
kentang := kentang + pisau;

pisau := 0;

Writeln (” selesai mengupas kentang”);


 Melakukan kompilasi untuk mengetahui
apakah kode program mengandung
kesalahan penulisan
 Mengeksekusi program pada komputer,
cara eksekusi juga bergantung pada
compiler atau interpreter yang digunakan.
Notasi Algoritma
 Notasi I : untaian kalimat deskriptif
 Notasi II : diagram alir (Flowchart)
 Notasi III : psudo-code

 Contoh masalah : menghitung luas


segiempat.
Notasi I :
Algoritma Luas_Segiempat
Menghitung luas segiempat dengan
memasukkan nilai lebar dan panjang
segiempat
Deklarasi
luas,panjang,lebar : bil. bulat
Deskripsi
1. Masukkan nilai lebar dan panjang
2. Hitung luas sama dengan panjang kali
lebar
3. Tampilkan Luas
Flowchart

 penggambaran secara grafik dari langkah-


langkah dan urut-urutan prosedur dari suatu
program menggunakan symbol/lambang
Lambang Flowchart
Lambang Flowchart
Lambang Flowchart
Contoh Flowchart
Notasi III :
Algoritma Luas_Segiempat
{Menghitung luas segiempat dengan
memasukkan nilai lebar dan panjang
segiempat}
Deklarasi
luas, panjang, lebar : integer
Deskripsi
input(panjang)
input(lebar)
luas  panjang * lebar
output(luas)
Tugas

 Buatlah algoritma untuk menentukan


Bilangan ganjil atau Genap, dengan
menggunakan ketiga notasi algoritma diatas
Struktur Dasar Algoritma

1. Runtunan (Sequence)
2. Pemilihan (Selection)
3. Pengulangan (Repetition)
Sistem bilangan
 Sistem bilangan yang banyak digunakan
manusia adalah sistem bilangan desimal, yaitu
sistem bilangan yang menggunakan 10 macam
simbol.
 Logika Komputer diwakili oleh bentuk elemen
dua keadaan (two-state elements) yaitu off dan
on.
 Konsep inilah yang dipakai dalam sistem
bilangan binary yang hanya menggunakan 2
macam nilai untuk mewakili besaran nilai.
 Sistem Bilangan menggunakan suatu bilangan
dasar atau basis (base/radix) yang tertentu
4 Jenis Sistem Bilangan

 Desimal (Basis 10),


 Biner (Basis 2),
 Oktal (Basis 8) dan
 Hexadesimal (Basis 16).
Desimal (Basis 10)
 Desimal (Basis 10) adalah Sistem Bilangan
yang paling umum digunakan dalam
kehidupan sehari-hari.
 Sistem bilangan decimal menggunakan basis
10 dan menggunakan 10 macam symbol
bilangan yaitu: 0, 1, 2, 3, 4, 5, 6, 7, 8 dan 9.
 Sistem bilangan decimal dapat berupa
integer decimal (decimal integer) dan dapat
juga berupa pecahan decimal (decimal
fraction)
Basis 2 (BINER)

 Dalam sistem biner (basis-2) memupnyai


simbol angka (numerik) sebanyak 2 buah
simbol, yaitu 0, dan 1. Nilai suatu bilangan
basis 2 dalam basis -10 dapat dinyatakan
sebagai Σ(N x 2a)
 N = 0 atau 1; dan a = ..., -3, -2, -1, 0, 1, 2,
3, ..(bilangan bulat dalam desimal yang
Menyatakan posisi relatif N terhadap koma
atau satuan)
 11012 = 1 x 23+ 1 x 22 + 1 x 20
= 8 + 4 + 1 = 1310.
 0,1012 = 0 x 20 + 1 x 2-1+ 0 x 2-2+ 1 x 2-3
= 0 + 0,5 + 0 + 0,125 = 0,62510
 11,012 = 1 x 21+ 1 x 20+ 1 x 2-2
= 2 + 1 + 0,25 = 3,2510
Basis-8 (oktal)
 Dalam sistem octal (basis-8) memupnyai
symbol angka (numerik) sebanyak 8 buah
simbol, yaitu 0, 1, 2, 3, 4, 5, 6, dan7.
 Nilai suatu bilangan basis-8 dalam basis-10
dapat dinyatakan sebagai Σ(Nx8a)
 Dimana N = 0, 1, 2, 3, 4, 5, 6, atau7; dan
a = ..., -3, -2, -1, 0, 1, 2, 3, ... (bilangan
bulat dalam decimal yang menyatakan posisi
relative N terhadap koma atau satuan).
 45638 =4x83+5x82+6x81+3x80
=2048+384+32+3=2467
 647,358 = 6 x 82+ 4 x 81+ 7 x 80+ 3 x 8-1+ 5 x 8-
2

= 384 + 32 + 7 + 0,375 + 0,078125


= 423,45312510
Basis-16 (heksa-desimal)
Konversi Desimal ke Biner
 Cara yang pertama, yaitu dengan membagi
bilangan desimal dengan nilai 2 (basis). Cara ini
merupakan cara yang sering digunakan oleh
banyak orang. Untuk lebih jelasnya silahkan
agan simak contoh dibawah ini.
Konversi(Pengubahan) Bilangan

 9810= ?2
 98:2=49 sisa 1
 49:2=24 sisa 1
 24:2=12 sisa 0
 12:2=6 sisa 0
 6:2=3 sisa 0
 3:2=1 sisa 1
 9810= 11000112
Desimal ke oktal
 Konversi bilangan desimal ke oktal merupakan
suatu proses mengubah bentuk bilangan
desimal kedalam bentuk bilangan oktal, dengan
cara membagi bilangan desimal dengan nilai 8
(basis). Untuk memahaminya silahkan agan
simak contoh dibawah ini.
Desimal Ke Hexadecimal
 Konversi bilangan desimal ke hexadesimal
merupakan suatu proses mengubah bentuk
bilangan desimal kedalam bentuk bilangan
hexadesimal, dengan cara membagi bilangan
desimal dengan nilai 16 (basis). Silahkan agan
simak contoh dibawah ini untuk lebih jelasnya.
BinerKeDesimal
 Contoh konversi bilangan biner 10111002 ke
bilangan desimal :

 Jadi, nilai bilangan biner 1011100 = 92


(bilangan desimal)
Biner ke Oktal

 Cara mengkonversi bilangan biner ke oktal


dapat dilakukan dengan mengkonversi tiap-
tiap tiga buah digit biner. Silahkan agan
simak tabel konversi bilangan biner ke oktal
dan contonya dibawah ini.
 Contoh konversi bilangan biner 10111002 ke
bilangan oktal:

 Jadi, nilai bilangan biner 10111002 = 1348


(bilanganoktal)
 Contoh konversi bilangan biner 10111002 ke
bilangan hexadesimal :

 Jadi, nilai bilangan biner 10111002 = 5C16


(bilangan hexadesimal)
Konversi Bilangan Oktal Ke Desimal

 Agan dapat melakukan konversi bilangan


oktal ke desimal, yaitu dengan cara
mengalikan masing-masing digit bilangan
dengan position valuenya. Contoh konversi
bilangan oktal 1458 ke bilangan desimal :
Bilangan Biner ke Oktal
Konversi Bilangan Oktal Ke Biner

 Konversi bilangan oktal ke biner dapat


dilakukan dengan mengkonversi masing-
masing digit oktal ke tiga digit biner. Untuk
tabelnya silahkan agan lihat pada konversi
biner ke oktal diatas. Contoh konversi
bilangan oktal 145 ke bilangan biner :
Bilangan Oktal ke Biner

 yaitu dengan cara menterjemahkan angka


oktal kedalam angka biner melalui tabel biner
di atas. contoh:

 45738 = . . . (2)
4 5 7 3
100 101 111 011
jadi, 45738 = 1001011110112
Bilangan Oktal ke Hexa
 Yaitu dengan cara menterjemahkan ke angka biner
melalui tabel, kemudian dari angka biner baru
terjemahkan ke angka hexadecimal dengan cara
mengambil 4 karakter dari angka biner tersebut.
contoh:
756(8) = . . . (16)
7 5 6
111 101 110
1111011102
0001 1110 1110
1 14 14
1 E E jadi, 7568 = 1EE16
Bilangan Hexa decimal ke biner

yaitu dengan cara menterjemahkan angka


hexa kedalam biner melaui tabel di
atas.contoh:
ADE16 = . . . 2
A D E
1010 1101 1110
jadi, ADE16 = 1010110111102
Bilangan Hexadecimal ke Oktal

 Yaitu dengan cara menterjemahkan angka


hexadecimal ke dalam biner melalui tabel,
kemudian diterjemahkan lagi kedalam bentuk
Oktal dengan cara mengambil 3 karakter dari
kanan, setelah itu cocok kan dengan angka
pada table diatas. Jika angka terakhir kurang
dari 3 karakter, maka bias ditambahkan
angka 0 di kiri angka untuk memudahkan
pengoperasian.
Bilangan Hexadecimal ke Oktal

 contoh: F116 = . . . 2 = … 8

F 1
1111 0001
1111 00012
011 110 001
3 6 1 = 3618
Konversi Bilangan Hexadesimal Ke
Desimal
 Agar dapat melakukan konversi bilangan
hexadecimal ke desimal, yaitu dengan cara
mengalikan masing-masing digit bilangan
dengan position value nya. Contoh konversi
bilangan hexadecimal
 C5416 = … 10
 Konversi bilangan
10111012= …. 8
5345310= … 16
4534310= … 2
110101112=…10
Runtunan (Sequence)

 Algoritma merupakan runtunan (sequence)


satu atau lebih instruksi/pernyataan,
 setiap pernyataan dikerjakan secara
berurutan sesuai dengan urutan
penulisannya. Sebuah instruksi dilaksanakan
setelah instruksi sebelumnya selesai
dilaksanakan.
 Urutan instruksi menentukan keadaan akhir
algoritma
Contoh 1 (Runtunan) :
Diberikan 2 buah gelas, A dan B;
gelas A berisi air berwarna merah, gelas B berisi
air berwarna biru. Pertukarkan isi kedua gelas itu
sedemikian sehingga
gelas A berisi air berwarna biru dan gelas B berisi
air berwarna merah.

A B A B
ALGORITMA:

Tuangkan air dari gelas A kedalam gelas B


Tuangkan air dari gelas B kedalam gelas A

Caranya :
Kita siapkan satu buah gelas C untuk
menampung sementara air dari gelas A
sebelum dipindah ke gelas B
ilustrasi

BA

BA AC

AC
ilustrasi

A B

C
Program Tukar_isi
Diberikan 2 buah gelas, A dan B; gelas A berisi air
berwarna merah, gelas B berisi air berwarna biru. Isi
kedua gelas A dan B ditukar sedemikian sehingga
gelas A berisi air berwarna biru dan gelas B berisi air
berwarna merah.
KAMUS :
gelas A,gelas B, gelas C : air
ALGORITMA:
Tuangkan air dari gelas A kedalam gelas C
Tuangkan air dari gelas B kedalam gelas A
Tuangkan air dari gelas C kedalam gelas B

Hasil akhir algoritma adalah:


gelas A berisi air dari gelas B, dan
gelas B berisi air dari gelas A semula
Contoh 2 (runtunan):
Misal nilai A=8, B=5. Tukarkan nilai A dan B,
sehingga menjadi A=5, B=8.

Algoritma :
BA
AB

Algoritma :
CA
AB
BC
Pemilihan (Selection)

If kondisi then
aksi
endIf

If kondisi then
aksi1
else
aksi2
endIf
Contoh (Pemilihan) :

If A>B then Max A endIf


If B>A then Max B endIf

If A>B then Max A


Else Max B
endIf
Pengulangan (Repetition)
for var  awal to akhir do
aksi
Endfor

repeat
aksi
until kondisi_stop

while kondisi_ulang do
aksi
endwhile
Contoh (Pengulangan) :
For i  1 to 5 do
output(“UPN”)
EndFor

i1
Repeat
output(“UPN”)
ii+1
Until (i>5)

i1
While (i<=5) do
output(“UPN”)
ii+1
endwhile
TopDown Design
 Cara pendekatan ini sangat bermanfaat dalam
membuat algoritma untuk masalah yang cukup rumit
dan komplek.
 Strategi perancangan puncak turun dimulai dengan
membuat algoritma secara global (garis besar) lebih
dahulu, selanjutnya setiap langkah diuraikan lagi
menjadi beberapa langkah yang lebih sederhana
TopDown Design

A.1 A.2

A.1.1 A.1.2 A.1.3 A.2.1 A.2.2

Anda mungkin juga menyukai