• Tidak ada hasil yang ditemukan

Algoritma dan Bilangan Bulat Matematika Diskret (TKE132107) Program Studi Teknik Elektro, Unsoed

N/A
N/A
Protected

Academic year: 2021

Membagikan "Algoritma dan Bilangan Bulat Matematika Diskret (TKE132107) Program Studi Teknik Elektro, Unsoed"

Copied!
173
0
0

Teks penuh

(1)

Algoritma dan

Bilangan Bulat

Matematika Diskret (TKE132107)

Program Studi Teknik Elektro, Unsoed

(2)

 

(3)
(4)

 

(5)
(6)

 

(7)

Instance of a problem.

(8)

 

(9)

Solusi.

(10)

 

Urutan langkah-langkah untuk

memecahkan masalah.

(11)

Proses: menjalankan sepeda motor.

Algoritma: panduan menjalankan sepeda motor.

Langkah-langkah:

1. siapkan sepeda motor,

2. naiklah ke tempat duduknya,

3. kembalikan penyangga,

4. masukkan kunci kontak,

5. putar kunci kontak ke posisi on,

6. tekan tombol starter,

(12)

 

(13)

Membuat kue, menanak

nasi, percobaan kimia, ...

(14)

 

Algoritma Program Penjumlahan

1. Deklarasikan variabel a, b, dan c.

2. Baca variabel a dan b dari masukan.

3. Jumlahkan variabel a dan b, kemudian simpan

hasilnya ke variabel c.

4. Tampilkan isi variabel c ke layar.

Ada sebagian orang yang memulai algoritma dengan kata “mulai” dan diakhiri dengan

“selesai” untuk menandai bahwa langkah-langkah dalam sebuah algoritma dimulai atau

telah selesai.

(15)
(16)

 

(17)
(18)

 

(19)

PROGRAM Penjumlahan

Diberikan dua buah bilangan positif a dan b.

Algoritma penjumlahan akan menjumlahkan

kedua bilangan tersebut dan menyimpan hasilnya

ke dalam sebuah variabel.

ALGORITMA

1. Deklarasikan variabel a, b, dan c.

2. Baca variabel a dan b dari masukan.

3. Jumlahkan variabel a dan b, kemudian simpan

hasilnya ke variabel c.

(20)

 

Apa yang dapat kita simpulkan

dari konsep algoritma yang

(21)
(22)

 

Bagaimana dengan

pernyataan bersyarat?

(23)
(24)

 

(25)

Algoritma dalam bentuk diagram,

dengan simbol-simbol standar.

(26)

 

Mulai atau

Selesai

Proses

Masukan atau

Keluaran

Pengambilan

Keputusan

Proses

Terdefinisi

Penghubung

Aliran Langkah

(27)

Mulai

Deklarasi a, b, c

Baca a dan b

c = a + b

(28)

 

?

?

?

?

ht tp s: //e n. wi kip ed ia .o rg /w iki /F ile :E uclid _f lo wc ha rt_ 1. pn g

(29)

Relatif susah digunakan untuk program

dengan algoritma yang panjang dan rumit.

(30)

 

(31)
(32)

 

(33)

Lebih dekat ke kode pemrograman, tapi tidak

spesifik ke bahasa pemrograman tertentu.

(34)

 

(35)
(36)

 

set, read, get, print, write, compute, run,

if-then, else-if, while, do-while, for, goto, ...

(37)

declare variabel a, b

get a, b

if (b tidak sama dengan nol) then

compute c = a / b

print c

else

print “Nilai b tidak boleh nol.”

return status sukses

(38)

 

PROGRAM FahrenheitCelcius

{ Program untuk mencetak tabel konversi Fahrenheit ke Celcius dari x

sampai y dengan kenaikan sebesar step.

Masukan: suhu awal, suhu akhir, step.

Keluaran: tabel konversi suhu dalam Celcius (C) dan Fahrenheit (F).

}

DEKLARASI

fahr, celc: real

x, y, step: integer

ALGORITMA

read (x, y, step)

fahr ← x

while fahr

y do

celc = 5/9 * (fahr – 32)

write(fahr,celc)

fahr ← fahr + step

endwhile

(39)

Buatlah algoritma dengan kalimat

deskriptif untuk mencari elemen

terbesar dari sebuah himpunan

yang berisi n buah elemen

(40)

 

(41)

Algoritma dengan Kalimat Deskriptif

a

1

, a

2

, a

3

, a

4

, …, a

n

1) Asumsikan a

1

sebagai elemen terbesar sementara.

Simpan a

1

ke dalam variabel maks.

2) Bandingkan maks dengan elemen a

2

. Jika a

2

lebih

besar dari maks, maka nilai maks diganti dengan a

2

.

3) Ulangi langkah kedua untuk elemen-elemen

berikutnya (a

3

, a

4

, a

5

, ..., a

n

) .

4) Berhenti jika sudah tidak ada lagi elemen yang

dibandingkan. Jadi, variabel maks berisi nilai dari

elemen terbesar.

maks

(42)

 

Algoritma dengan Kalimat Deskriptif

a

1

, a

2

, a

3

, a

4

, …, a

n

1) Asumsikan a

1

sebagai elemen terbesar sementara.

Simpan a

1

ke dalam variabel maks.

2) Bandingkan maks dengan elemen a

2

. Jika a

2

lebih

besar dari maks, maka nilai maks diganti dengan a

2

.

3) Ulangi langkah kedua untuk elemen-elemen

berikutnya (a

3

, a

4

, a

5

, ..., a

n

) .

4) Berhenti jika sudah tidak ada lagi elemen yang

dibandingkan. Jadi, variabel maks berisi nilai dari

elemen terbesar.

a

2

> maks?

(43)

maks = a

1

Algoritma dengan Kalimat Deskriptif

a

1

, a

2

, a

3

, a

4

, …, a

n

1) Asumsikan a

1

sebagai elemen terbesar sementara.

Simpan a

1

ke dalam variabel maks.

2) Bandingkan maks dengan elemen a

2

. Jika a

2

lebih

besar dari maks, maka nilai maks diganti dengan a

2

.

3) Ulangi langkah kedua untuk elemen-elemen

berikutnya (a

3

, a

4

, a

5

, ..., a

n

) .

4) Berhenti jika sudah tidak ada lagi elemen yang

dibandingkan. Jadi, variabel maks berisi nilai dari

elemen terbesar.

a

2

> maks? Jika ya

(44)

 

maks = a

1

Algoritma dengan Kalimat Deskriptif

a

1

, a

2

, a

3

, a

4

, …, a

n

1) Asumsikan a

1

sebagai elemen terbesar sementara.

Simpan a

1

ke dalam variabel maks.

2) Bandingkan maks dengan elemen a

2

. Jika a

2

lebih

besar dari maks, maka nilai maks diganti dengan a

2

.

3) Ulangi langkah kedua untuk elemen-elemen

berikutnya (a

3

, a

4

, a

5

, ..., a

n

) .

4) Berhenti jika sudah tidak ada lagi elemen yang

dibandingkan. Jadi, variabel maks berisi nilai dari

elemen terbesar.

a

2

> maks? Jika ya

(45)

PROGRAM CariElemenTerbesar

{ Program untuk mencari elemen terbesar dari sebuah himpunan

bilangan bulat a

1

, a

2

, …, a

n

. Elemen terbesar akan disimpan di dalam

variabel maks.

Masukan: a

1

, a

2

, …, a

n

.

Keluaran: maks.

}

DEKLARASI

i: integer

maks: integer

ALGORITMA

maks ← a

for i ← 2 to n do

if a

i

> maks then

maks ← a

i

endif

endfor

(46)

 

procedure CariElemenTerbesar (input: a

1

, a

2

, …, a

n

: integer, output maks:

integer)

{ Prosedur mencari elemen terbesar dari sebuah himpunan bilangan

bulat a

1

, a

2

, …, a

n

. Elemen terbesar akan disimpan di dalam variabel

maks.

Masukan: a

1

, a

2

, …, a

n

.

Keluaran: maks.

}

Deklarasi

i: integer

Algoritma

maks ← a

for i ← 2 to n do

if a

i

> maks then

maks ← a

i

endif

endfor

(47)
(48)

 

Intinya adalah memudahkan deskripsi algoritma

dalam bentuk terstruktur, dan memudahkan pula

saat melakukan penulisan kode yang spesifik

(49)

Beberapa Contoh

Algoritma

(50)

 

Buatlah algoritma dalam kalimat

deskriptif dan pseudocode untuk

algoritma berikut.

1) Algoritma mempertukarkan nilai

dari 2 buah variabel.

2) Algoritma mencari nilai tertentu di

dalam himpunan elemen.

(51)
(52)

 

Bilangan Bulat

(53)

Bilangan yang bulat :-)

(54)

 

(55)

Bilangan bulat banyak

(56)

 

Sifat pembagian bilangan bulat melahirkan

konsep bilangan prima, aritmatika modulo,

dan algoritma Euclidean.

(57)

Sifat Pembagian

(58)

 

(59)

Bilangan prima.

(60)

 

Sembarang bilangan bulat positif

dapat dinyatakan sebagai hasil

perkalian satu atau lebih

bilangan prima?

(61)

Definisi sifat pembagian:

misal a dan b adalah 2 buah bilangan bulat

dengan syarat a

≠ 0. Kita dapat menyatakan

bahwa a habis membagi b jika terdapat

bilangan bulat c sedemikian sehingga

b = ac.

(62)

 

(63)

Jika b dibagi dengan a, maka hasil

pembagiannya berupa bilangan bulat.

(64)

 

Pernyataan “a habis membagi b”

dapat ditulis dengan “b kelipatan a”.

(65)

4|12 karena 12/4 = 3

(66)

 

(67)
(68)

 

Hasil Pembagian Bilangan Bulat

Jika hasil pembagian bilangan bulat dinyatakan

sebagai bilangan bulat pula, maka sembarang

bilangan bulat bila dibagi dengan sebuah

bilangan bulat positif akan selalu terdapat:

1) hasil bagi,

(69)

13 dibagi dengan 4, akan memberikan

hasil bagi 3, dan sisa (hasil bagi) 1.

(70)

 

(71)

Sisa hasil pembagian selalu lebih besar

atau sama dengan nol, tetapi lebih

kecil dari pembaginya.

(72)

 

Misal m dan n adalah 2 buah bilangan bulat

dengan syarat n

> 0. Jika m dibagi dengan n

maka terdapat 2 buah bilangan bulat unik q

(quotinent) dan r (remainder), sedemikian

sehingga:

m = nq + r

dengan 0

≤ r < n.

pembagi/divisor

yang dibagi/divident

q disebut hasil bagi/quotinent

r disebut sisa/remainder

(73)

Notasi yang digunakan untuk

mengekspre-sikan hasil bagi dan sisa adalah dengan

menggunakan operator div dan mod.

q = m div n, r = m mod n

(74)

 

Berapa hasil bagi dan sisa

jika 1987 dibagi dengan 97?

(75)
(76)

 

Tuliskan dalam ekspresi

Teorema Euclidean!

(77)
(78)

 

Tulis dengan operator

div dan mod!

(79)
(80)

 

(81)
(82)

 

Pembagi Bersama

terBesar (PBB)

(83)

Dua buah bilangan bulat dapat

(84)

 

Faktor pembagi bersama yang penting adalah

faktor Pembagi Bersama terBesar (PBB).

(85)

Bilangan 45 dan 36 memiliki

faktor pembagi berapa saja?

(86)

 

Faktor pembagi 45: 1, 3, 5, 9, 15, 45

Faktor pembagi 36: 1, 2, 3, 4, 9, 12, 18, 36

Faktor pembagi bersama: 1, 3, 9

Jadi, PBB(45,36) = 9

(87)

Misal a dan b adalah 2 buah bilangan bulat tidak

nol. Pembagi bersama terbesar (PBB) dari a dan

b adalah bilangan bulat terbesar d, sedemikian

sehingga d|a dan d|b.

Jadi, dapat kita nyatakan bahwa PBB(a,b) = d.

(88)

 

Sifat-sifat PBB dapat dinyatakan dengan

Teorema 5.2. Baca pada buku referensi.

(89)

Misal m dan n adalah 2 buah bilangan bulat

dengan syarat n > 0 sedemikian sehingga:

m = nq + r, 0

≤ r < n

maka PBB(m,n) = PBB(n,r).

(90)

 

(91)

Mencari PBB dari 2 Buah Bilangan

Untuk mencari PBB dari 2 buah bilangan bulat m

dan n adalah dengan:

1) mendaftar semua pembagi dari

masing-masing bilangan m dan n,

2) memilih pembagi persekutuan yang

mempunyai nilai terbesar.

(92)

 

Terdapat algoritma yang mangkus/efektif

untuk mencari PBB, yaitu dengan

(93)

Didasarkan pada

“Teorema PBB(m,n) = PBB(n,r)”

yang dilakukan berturut-turut.

(94)

 

Algoritma Euclidean

1) Jika n = 0,

m adalah PBB(m,n);

selesai.

tetapi jika n ≠ 0,

lanjutkan ke langkah 2.

2) Bagilah m dengan n dengan sisa r.

3) Ganti nilai m dengan nilai n, dan nilai n

dengan nilai r, lalu ulang kembali langkah 1.

Catatan: jika m < n, maka tukar

dulu nilai m dan n.

(95)

?

?

?

?

ht tp s: //e n. wi kip ed ia .o rg /w iki /F ile :E uclid _f lo wc ha rt_ 1. pn g

(96)

 

(97)

Algoritma Euclidean (1)

1) Jika n = 0,

m adalah PBB(m,n);

selesai.

tetapi jika n

≠ 0,

lanjutkan ke langkah 2.

2) Bagilah m dengan n dengan sisa r.

3) Ganti nilai m dengan nilai n, dan nilai n

dengan nilai r, lalu ulang kembali langkah 1.

m = 80, n = 12

(98)

 

12 dibagi 8, sisa 4 (r)

Algoritma Euclidean (2)

1) Jika n = 0,

m adalah PBB(m,n);

selesai.

tetapi jika n

≠ 0,

lanjutkan ke langkah 2.

2) Bagilah m dengan n dengan sisa r.

3) Ganti nilai m dengan nilai n, dan nilai n

dengan nilai r, lalu ulang kembali langkah 1.

m = 12, n = 8

(99)

8 dibagi 4, sisa 0 (r)

Algoritma Euclidean (3)

1) Jika n = 0,

m adalah PBB(m,n);

selesai.

tetapi jika n

≠ 0,

lanjutkan ke langkah 2.

2) Bagilah m dengan n dengan sisa r.

3) Ganti nilai m dengan nilai n, dan nilai n

dengan nilai r, lalu ulang kembali langkah 1.

(100)

 

Algoritma Euclidean (4)

1) Jika n = 0,

m adalah PBB(m,n);

selesai.

tetapi jika n

≠ 0,

lanjutkan ke langkah 2.

2) Bagilah m dengan n dengan sisa r.

3) Ganti nilai m dengan nilai n, dan nilai n

dengan nilai r, lalu ulang kembali langkah 1.

m = 4, n = 0

Selesai!

(101)

Notasi pseudocode untuk Algoritma

Euclidean dapat dilihat pada buku

(102)

 

Misal a dan b adalah 2 buah bilangan bulat

positif, maka terdapat bilangan bulat m dan n

sedemikian sehingga PBB(a,b) = ma + nb.

(103)

PBB(80,12) = 4

m.80 + n.12 = 4

(-1).80 + 7.12 = 4

(104)

 

Untuk menemukan kombinasi lanjar a dan b

pada PBB(a,b) adalah dengan melakukan

pembagian secara mundur pada

Algoritma Euclidean.

(105)

Dua buah bilangan bulat a dan b dikatakan

relatif prima jika PBB(a,b) = 1.

(106)

 

Apakah bilangan 7 dan

11 relatif prima?

(107)

Jika a dan b relatif prima maka dengan teorema

kombinasi lanjar dapat dinyatakan:

PBB(a,b) = ma + nb

1 = ma + nb

(108)

 

(109)
(110)

 

(111)

Misal a adalah bilangan bulat dan m adalah

bilangan bulat > 0. Operasi a mod m

mem-berikan sisa jika a dibagi dengan m.

Dengan kata lain, a mod m = r, sedemikian

sehingga a = mq + r, dengan 0

≤ r < m.

(112)

 

Notasi: a mod m = r, sedemikian sehingga

a = mq + r, dengan 0

≤ r < m.

Hasil aritmatika modulo m terletak di dalam

himpunan {0, 1, 2, ..., m-1}.

(113)

Bilangan a dan b kongruen dalam modulo m

jika kedua bilangan tersebut mempunyai sisa (r)

yang sama jika dibagi dengan bilangan bulat

positif m.

a mod m = r

b mod m = r

(114)

 

(115)
(116)

 

Definisi Kekongruenan

Misal a dan b adalah bilangan bulat, dan m

adalah bilangan > 0, maka a ≡ b (mod m)

jika m habis membagi a – b.

(117)

Apakah 17 dan 2 kongruen

dalam modulo 3?

(118)

 

Dengan definisi operator mod, maka

a mod m = r dapat ditulis a ≡ r (mod m).

(119)

Terdapat sifat-sifat pengerjaan hitung pada

aritmatika modulo, baca Teorema 5.5 pada

(120)

 

(121)
(122)

 

(123)
(124)

 

Bilangan bulat positif p (p > 1) disebut

bilangan prima jika pembaginya 1 dan p.

(125)
(126)

 

Bilangan selain prima

(127)

Teori fundamental aritmatik:

Setiap bilangan bulat positif yang lebih besar

atau sama dengan 2 dapat dinyatakan sebagai

(128)

 

Bilangan prima dan komposit dapat

dinyatakan sebagai perkalian dari

(129)

Faktor prima dari sebuah bilangan selalu lebih

kecil atau sama dengan akar kuadrat

(130)

 

Misal a adalah faktor prima dari n, dengan

1 < a < n, maka a habis membagi n dengan

hasil bagi b sedemikian sehingga n = ab.

Nilai a dan b harus

≤ n agar

(131)

Faktor prima dari n selalu lebih

kecil atau sama dengan

√n.

(132)

 

Teorema bilangan komposit:

jika n adalah bilangan komposit, maka n

mempunyai faktor prima yang lebih

(133)

Apakah 199 merupakan

(134)

 

Teorema bilangan komposit:

jika n adalah bilangan komposit, maka n

mempunyai faktor prima yang lebih

(135)
(136)

 

(137)

Karena 199 tidak habis dibagi 2, 3, 5, 7, 11,

dan 13, maka 199 adalah bilangan prima.

(138)

 

(139)
(140)

 

(141)

Ilmu dan seni untuk menjaga

(142)

 

(143)
(144)

 

plainteks: ambil hatinya, jangan dompetnya

chiperteks: e|}{!%@$#87)+32ihkdsf+_)+-12

(145)
(146)

 

(147)

1) Pengiriman data melalui jalur komunikasi

2) Penyimpanan data di media penyimpan

(148)

 

Plainteks (plain.txt):

Ketika saya berjalan-jalan di pantai,

saya menemukan banyak sekali kepiting

yang merangkak menuju laut. Mereka

adalah anak-anak kepiting yang baru

menetas dari dalam pasir. Naluri

mereka mengatakan bahwa laut adalah

tempat kehidupan mereka.

Cipherteks (cipher.txt):

Ztâxzp/épêp/qtüyp{p}<yp{p}/sx/p}âpx;

épêp/|t}t|äzp}/qp}êpz/étzp{x/zt xâx

}vêp}v/|tüp}vzpz/|t}äyä/{päâ=/

\tütz

ppsp{pw/p}pz<p}pz/zt

xâx}v/êp}

v/qpüä|t}tâpé/spüx/sp{p|/

péxü=/]

p{äüx|ttüzp/|t}vpâpzp}/qpwåp/{pä

â

/psp{pwât|

pâ/ztwxsäp}/|tützp=

Mun ir, 2 01 1.

(149)
(150)

 

(151)

scytale

Luring en, CC BY-SA , https://e n.wikip edia.o rg/wiki/F ile:Skyta le.png

(152)

 

(153)
(154)

 

(155)
(156)
(157)
(158)

 

Caesar Chiper

Algoritma enkripsi sederhana pada masa raja Julius

Caesar

Tiap huruf alfabet digeser 3 huruf ke kanan secara

wrapping

(159)

Misalkan setiap huruf dikodekan dengan angka:

A = 0, B = 1, C = 2, …, Z = 25

maka secara matematis enkripsi dan dekripsi

pada Caesar Cipher dirumuskan sebagai berikut:

Enkripsi: c

i

= E(p

i

) = (p

i

+ 3) mod 26

(160)

 

Contoh:

Plainteks: AWASI ASTERIX DAN TEMANNYA OBELIX

Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA

p

1

= ‘A’ = 0

 c

1

= E(0) = (0 + 3) mod 26 = 3 = ‘D’

p

2

= ‘W’ = 22  c

2

= E(22) = (22 + 3) mod 26 = 25 = ‘Z’

p

3

= ‘A’ = 0

 c

3

= E(0) = (0 + 3) mod 26 = 3 = ‘D’

p

4

= ‘S’ = 18  c

4

= E(18) = (18 + 3) mod 26 = 21 = ‘V’

(161)

Jika pergeseran huruf sejauh k, maka:

Enkripsi: c

i

= E(p

i

) = (p

i

+ k) mod 26

Dekripsi: p

i

= D(c

i

) = (c

i

– k) mod 26

k = kunci rahasia

Pada Caesar Cipher, k = 3, untuk alfabet ASCII 256

karakter,

Enkripsi: c

i

= E(p

i

) = (p

i

+ k) mod 256

(162)

 

Mu ni r, 20 11 .

(163)

Sistem Kriptografi

(164)

 

K1 = K2, sistem kriptografi kunci simetri,

contoh: Data Encryption Standard (DES)

K1

≠ K2, sistem kriptografi kunci asimetri,

contoh: RSA. Melibatkan kunci pribadi dan

kunci publik.

(165)

Rivest-Shamir-Adleman (RSA)

Dibuat oleh tiga peneliti dari Massachussets

Institute of Technology (MIT), yaitu Ron Rivest,

Adi Shamir, dan Len Adleman, pada tahun

1976.

Termasuk algoritma kriptografi asimetri.

Asimetri: kunci untuk proses enkripsi berbeda

(166)

 

RSA

Setiap pengguna memiliki sepasang kunci:

1. Kunci publik, e: untuk enkripsi pesan

2. Kunci privat, d: untuk dekripsi pesan

Kunci publik tidak rahasia, kunci privat rahasia

Kunci publik, e

Enkripsi

E

e

(m) = c

Dekripsi

D

d

(c) = m

Cipherteks, c

Plainteks, m

Plainteks, m

Kunci privat, d

Munir, 2011.

(167)

Pembangkitan Pasangan Kunci

Pilih 2 bilangan prima sembarang, a dan b

yang bersifat rahasia

Hitung n = a b. Nilai n tidak perlu dirahasiakan

Hitung m = (a – 1)(b – 1); Hapus kunci a dan b

Pilih sebuah bilangan bulat untuk kunci publik,

e, yang relatif prima terhadap m

Hitung kunci dekripsi, d, melalui kekongruenan

(168)

 

Contoh. Misalkan a = 47 dan b = 71 (keduanya prima),

maka dapat dihitung

n = a . b = 3337

m = (a – 1)

(b – 1) = 3220.

Pilih kunci publik e = 79 (yang relatif prima dengan

3220.)

Nilai e dan n dapat dipublikasikan.

Catatan: Dalam praktik, nilai a dan b adalah bilangan yang sangat

besar, disarankan masing-masing 100 digit.

(169)

Selanjutnya dihitung kunci dekripsi d dengan

kekongruenan:

e

×

d

1 (mod m)

Diperoleh nilai d = 1019. Ini adalah kunci dekripsi.

79

)

3220

(

1

+

×

=

k

d

(170)

Algoritma enkripsi-dekripsi:

Enkripsi: c

i

= p

i

e

mod n

(171)

Misalkan plainteks: ‘HARI INI’ atau dalam desimal ASCII:

7265827332737873

Pecah pesan menjadi blok yang lebih kecil (misal 3 digit):

p

1

= 726

p

4

= 273

p

2

= 582

p

5

= 787

(172)

Enkripsi setiap blok:

c

1

= 726

79

mod 3337 = 215

c

2

= 582

79

mod 3337 = 776

dst. untuk sisa blok lainnya

Keluaran: chiperteks C = 215 776 1743 933 1731 158.

Dekripsi (menggunakan kunci privat d = 1019)

p

1

= 215

1019

mod 3337 = 726

p

2

= 776

1019

mod 3337 = 582

dst. untuk sisi blok lainnya

Keluaran: plainteks = 7265827332737873

(173)

Daftar Bacaan

Daviduck, B. 2000. Introduction to Programming in

C++: Algorithms, Flowcharts and Pseudocode.

Kusuma, E.D. 2009. Pemrograman Dasar:

Pendahuluan, Presentasi.

Munir, R. 2009. Algoritma dan Pemrograman

dalam Bahasa Pascal dan C, Penerbit Informatika.

Munir, R. 2010. Matematika Diskrit, Revisi

Keempat, Penerbit Informatika.

Referensi

Dokumen terkait

Berdasarkan permasalahan di atas, maka perlu untuk dilakukannya analisis vegetasi mangrove untuk memberikan data masukkan tentang struktur dan komposisi pohon serta

Kebutuhan akan pasar modal akan berdampak pada perusahaan yaitu kemampuan untuk meningkatkan industri dengan meningkatkan profitabilitas perusahaan properti dan

Penelitian ini bertujuan untuk mengetahui gambaran biaya satuan dan kualitas hidup penderita gagal ginjal kronik yang menggunakan tindakan hemodialisis di Rumah Sakit Tebet

Produk jadi kemas yang akan dikirim, dinaikan ke dalam kontainer secara manual dan ditata rapi dan rapat, serta dilakukan fumigasi (khusus bagi produk yang akan di

Penerapan hukum terhadap harta dalam perjanjian perkawinan adalah berlaku saat perkawinan dilangsungkan yang bertujuan untuk melakukan proteksi terhadap harta

Sebagian besar desa di Kecamatan Pondok Kubang sudah terjangkau listrik, rata-rata pengguna listrik di setiap desa lebih dari 80%, hanya desa Anyar dan desa Talang

Jika senang disiplin dan bekerja keras, kita

Karena proses pendataan yang dipakai di PT.Kharisma Prima Abadi sela ma ini masih menggunakan proses manual dan menggunakan Microsoft Office Excel, maka penulis ingin membuat