Dokumen tersebut membahas tentang flowchart dan pseudocode. Terdapat penjelasan mengenai berfikir algoritmis, flowchart, pseudocode, contoh soal dan latihan membuat flowchart serta pseudocode."
kapita selekta IV - materi Limit dan Turunan Fungsi
#vhannyfebian@yahoo.co.id
semoga bermanfaat :)
semoga dapat membantu tugas dan pekerjaan kalian, sobat :D amiinn...
kapita selekta IV - materi Limit dan Turunan Fungsi
#vhannyfebian@yahoo.co.id
semoga bermanfaat :)
semoga dapat membantu tugas dan pekerjaan kalian, sobat :D amiinn...
Hill Cipher ditemukan oleh Lester S. Hill pada tahun 1929, dan seperti Digraphic Ciphers lainnya, ia bertindak berdasarkan kelompok huruf. Berbeda dengan yang lain meski bisa diperpanjang untuk mengerjakan blok huruf berukuran berbeda. Jadi, secara teknis ini adalah cipher substitusi poligrafik, karena dapat bekerja pada digraf, trigraf (blok 3 huruf) atau secara teoritis setiap blok berukuran.
Hill Cipher menggunakan perhitungan matematika yang disebut Aljabar linier, dan khususnya mengharuskan pengguna untuk memiliki pemahaman dasar tentang matriks. Ini juga memanfaatkan Modulo Arithmetic (seperti the Affine Cipher). Karena itu, hill cipher memiliki sifat matematika yang jauh lebih penting daripada beberapa yang lain. Namun, sifat inilah yang memungkinkannya bertindak (relatif) dengan mudah pada blok huruf yang lebih besar.
Hill Cipher ditemukan oleh Lester S. Hill pada tahun 1929, dan seperti Digraphic Ciphers lainnya, ia bertindak berdasarkan kelompok huruf. Berbeda dengan yang lain meski bisa diperpanjang untuk mengerjakan blok huruf berukuran berbeda. Jadi, secara teknis ini adalah cipher substitusi poligrafik, karena dapat bekerja pada digraf, trigraf (blok 3 huruf) atau secara teoritis setiap blok berukuran.
Hill Cipher menggunakan perhitungan matematika yang disebut Aljabar linier, dan khususnya mengharuskan pengguna untuk memiliki pemahaman dasar tentang matriks. Ini juga memanfaatkan Modulo Arithmetic (seperti the Affine Cipher). Karena itu, hill cipher memiliki sifat matematika yang jauh lebih penting daripada beberapa yang lain. Namun, sifat inilah yang memungkinkannya bertindak (relatif) dengan mudah pada blok huruf yang lebih besar.
apa hubungan operasi matematika dengan alogaritma?
Di materi kali kita bahas mengenai hubungan alogaritma dengan operasi matematika.
*materi ini dibuat oleh dosen saya atas nama Habibah Nurfauziah, S.Kom, M.Si beliau merupakan salah satu dosen di STMIK MUHAMMADIYAH JAKARTA
Kampung Keluarga Berkualitas merupakan salah satu wadah yang sangat strategis untuk mengimplementasikan kegiatan-kegiatan prioritas Program Bangga Kencana secara utuh di lini
lapangan dalam rangka menyelaraskan pelaksanaan program-program yang dilaksanakan Desa
4. Bahasa Pemrograman
Bahasa tingkat rendah (low level language):
Bahasa yang berorientasi ke mesin. Contoh
Assembly
Bahasa tingkat tinggi (high level language):
Bahasa yang berorientasi ke manusia (seperti
bahasa inggris). Contoh: Pascal, bahasa C, Lisp ,
Delphi, C++, .NET (Dotnet) , Perl(Processing
Lenguage), COBOL(Commont Business Oriented
Lenguage), FORTRAN (Formula Translator) , Delphi
, Kylix , C# , Java , VB , Prolog , SmallTalk, Turbo
Pascal.
5. Program (ditulis dlm
bahasa pemrograman)
Diterjemahkan dalam
bahasa mesin (digit
biner)
penerjemah
Interpreter : menerjemahkan
baris per baris instruksi. Contoh
bahasa Basic.
Compiler : menerjemahkan
setelah seluruh instruksi ditulis.
Contoh bahasa Pascal, bahasa
C/C++, dll.
6. Notasi Algoritma
Notasi algoritma umumnya dapat dibuat dalam tiga cara yaitu :
Kalimat Deskriptif
Flowchart
Pseudocode
Dalam belajar algoritma notasi yang umum digunakan adalah
Flowchart dan Pseudocode.
Flowchart dan Pseudocode memiliki keunggulan tersendiri.
Menulis algoritma dengan Flowhart dan Pseudocode biasanya
dilakukan oleh programmer pemula (tahap belajar).
Programmer yang mahir umumnya langsung menuangkan
algoritma dengan bahasa pemrograman tertentu.
Namun programmer mahir terkadang menggunakan Flowchart
dan Pseudocode untuk dokumentasi.
7. Flow chart dan Pseudocode
Flow chart diperkenalkan oleh Frank Gilberth tahun 1921
Flow chart digunakan untuk menggambarkan (proses
bisnis) aliran input, proses, dan output dari sebuah
sistem
Pseudocode merupakan struktur untuk mendeskripsikan
algoritma
It allows the designer to focus on the logic of the
algorithm without being distracted by details of language
syntax
Pseudocode merupakan logika lagoritma yang dituliskan
tanpa memperhatikan sin
9. Simbol dalam Flow chart
Predefined
Process
Internal
storage
Document
Multidocuments
Or
Direct
Access
Storage
10. Mulai
Selesai
Input:
Panjang, Lebar
Luas = Panjang * Lebar
Cetak Luas
Contoh 1
Algoritma Menghitung Luas Persegi
Panjang
Tahap 1: Mulai
Tahap 2: Input Panjang, Lebar
Tahap 4: Hitung Luas = Panjang * Lebar
Tahap 4: Cetak Luas
Tahap 5: Selesai
Pseudocode
Input:
Panjang, Lebar : real
Output:
Luas : Real
read (Panjang)
Read (Lebar)
Luas = Panjang * Lebar
write(Luas)
11. Mulai
Selesai
Input
a,b,c
D = sqrt (b*b – 4* a * c)
X1 = (-b + D) / (2 * a)
X2 = (-b - D) / (2 * a)
Cetak
X1, X2
Contoh 2
Algoritma Menghitung nilai akar kuadrat dari
persamaan
Tahap 1: Mulai
Tahap 2: Input nilai a, b, c
Tahap 3: Menghitung D
D = sqrt (b * b – 4 * a * c)
Tahap 4: x1 = (-b + D) / (2 * a)
Tahap 5: x2 = (-b - D) / (2 * a)
Tahap 6: Cetak x1, x2
Tahap 7: Selesai
Pseudocode
Input:
a,b,c: real
Output:
x1, x2: Real
read (a)
Read (b)
Read (c)
x1 = (-b + D) / (2 * a)
x2 = (-b - D) / (2 * a)
Write(X1, X2)
13. Algoritma
Studi Kasus 1
Sebuah sistem sederhana digunakan untuk menentukan
status kelulusan mahasiswa yang mengambil mata kuliah
Bahasa Pemrograman. Mahasiswa yang dinyatakan lulus
dari mata kuliah Bahasa Pemrograman adalah mahasiswa
yang memiliki nilai akhir lebih besar dari 60. Sedangkan
mahasiswa yang memiliki nilai akhir kurang dari 60 tidak
lulus. Nilai akhir dihitung dari rata-rata 4 komponen nilai
yaitu Tugas 1, Tugas 2, UTS dan UAS.
14. Mulai
Input N1,N2,N3,N4
NA = (N1+N2+N3+N4)/4
Pakah NA >
60
?
Cetak
LULUS
Cetak
TIDAK LULUS
Selesai
Algoritma menentukan kelulusan
Tahap 1: Mulai
Tahap 2: Input N1, N2, N3, N4
Tahap 3: NA = (N1+N2+N3+N4)/4
Tahap 4: if (NA > 60) then
Cetak “LULUS”
else
Cetak “TIDAK LULUS”
endif
Tahap 5: Selesai
Benar Salah
Pseudocode
Input:
N1,N2,N3,N4 : real
Output:
NA: real
read(N1,N2,N3,N4)
NA = (N1+N2+N3+N4)/4
if NA > 60 then
print “Lulus”
else
print “Tidak Lulus”
endif
15. Latihan
Buatlah Flow chart untuk menentukan sebuah bilangan
N merupakan bilangan ganjil atau bilangan genap
Algoritma:
Tahap 1: Mulai
Tahap 2: Baca N
Tahap 3: x = N mod 2
Tahap 4: if(x == 0) then
cetak “Genap”
else
cetak “Ganjil”
Tahap 5: Selesai
16. Jawaban Mulai
Selesai
Baca N
x = N mod 2
Apakah
x = 0 ?
Cetak
Genap
Cetak Ganjil
Benar Salah
Input:
N : positive integer
Output:
String “Genap/Ganjil”
read(N)
x = N mod 2
if x =0 then
print (“Genap”)
else
print(“Ganjil”)
endif
18. Struktur Nested IF
Algoritma menentukan nilai maksimum dari 3 buah
angka
Tahap 1: Mulai
Tahap 2: Input N1, N2, N3
Tahap 3: if (N1 > N2) then
if (N1 > N3) then
max = N1
else
max = N3
else
if (N2 > N3) then
max = N2
else
max = N3
endif
endif
Tahap 4: Return max
Tahap 5: Selesai
Pseudocode
Input
N1,N2,N3 : Real
Output
max : real
read (N1,N2,N3)
if N1 > N2 then
if N1 > N3 then
max = N1
else
max = N3
endif
else
if N2 > N3 then
max = N2
else
max= N3
endif
endif
return max
21. Mulai
Selesai
Baca N
i = 1
fact = 1
Apakah
i <= N?
i = i+1
fact = fact * i
Cetak fact
Benar Salah
Algoritma Menghitung nilai Factorial
Tahap 1. Mulai
Tahap 2: Baca input nilai N
Tahap 3: [Inisialisasi]
Tahap 4: Ulangi Tahap 4 – Tahap 6 sampai i = n
Tahap 5: fact = fact * I
Tahap 6: i = i+1
Tahap 7: Cetak fact
Tahap 8: Selesai
5! = 5 x 4 x 3 x 2 x 1! (perulangan)
Input
N: nonnegative integer
Output:
fact: nonnegative integer
Read(N)
i = 1
fact = 1
while i <= N
i = i+1
fact = fact * i
endwhile
write(fact)
22. Latihan
Buatlah flowchart untuk menghitung deret fibonacci angka ke n
Tahap 1: Mulai
Tahap 2: Baca n
Tahap 3: if (n = 0)
return 0
else
x = 0
y = 1
i = 1
Tahap 4: Apakah i < N-1 ulangi Tahap 4 - 8
Tahap 5: z = x+y
Tahap 6: x = y
Tahap 7: y = z
Tahap 8: i = i + 1
Tahap 9: return y
Tahap 10: Selesai
Fibonacci (0) = 0
Fibonacci (1) = 1
Fibonacci (2) = 1
Fibonacci (3) = 2
Fibonacci (4) = 3
Fibonacci (5) = 5
Fibonacci (6) = 8
Fibonacci (7) = 13
Fibonacci (8) = 21
Fibonacci (9) = 34
Fibonacci (n) = ?
23. Mulai
Selesai
Baca n
x = 0
y = 1
i = 1
Apakah
n= 0
?
return 0
Apakah
i < n-1
?
z = x+y
x = y
Y = z
i = i+1
Flow chart Fibonacci ke n
return y
Benar Salah
Benar Salah
(perulangan)
24. Pseudocode
procedure fibonacci
Input
n: positive integer
Output
y: positive integer
read(n)
if n = 0 then return 0
else
x := 0
y := 1
for i := 1 to n-1
z := x+y
x := y
y := z
return y
/* output is the nth Fibonacci number */
26. Melakukan validasi input
Tahap 1: Mulai
Tahap 2: Baca a,b
Tahap 3: Ulangi tahap 2 sampai a>b
Tahap 4: Cetak “Selamat”
Tahap 5: Selesai
Mulai
Selesai
Baca a,b
Apakah
a < b
?
Cetak
Selamat
Benar Salah
Pseudocode
Input: a, b: integer
Output: string “Selamat”
do{
read (a)
read (b)
} while (a<b)
write(“Selamat”)
27. Latihan:
Buatlah flow chart dan pseudocode untuk menghitung nilai
greatest common divisor (gcd)
(Faktor Persekutuan Terbesar)
24
12
2
3
2
2
6
23 x 3
36
3
2
2
18
9
3
22 x 32
gcd (24,36) = 3 x 4 = 12
gcd (17,22) = 1
28. Input:
a, b : positive integer
Output:
x : positive integer
procedure gcd(a,b: positive integer)
x := a
y := b
while (y ≠ 0)
r := x mod y
x := y
y := r
return x /* gcd (a,b) is x */
Mulai
Selesai
Baca a,b
x = a
y = b
Apakah
y ≠ 0
?
r = x mod y
x = y
y = r
return x
Benar Salah
29. Tugas Individu
1. Buatlah algoritma, flow chart, dan pseudocode untuk studi kasus berikut:
Sebuh toko roti membutuhkan sistem kasir sederhana. Fasilitas sistem yang
dibutuhkan yaitu menghitung jumlah total belanja dan menghitung uang
kembalian. Untuk mengamankan sistem dari kesalahan input uang maka
jumlah uang yang dibayar tidak boleh kurang dari jumlah total belanja. Toko
roti memberikan diskon 5% untuk pembelian lebih besar dari Rp 100.000,-.
2. Buatlah algoritma, flow chart, dan pseudocode untuk menghitung faktor
dari suatu nilai
Contoh :
Input 12
Output:
Faktor dari 12 adalah 1,2,3,4,6 dan 12
Input 15
Output:
Faktor dari 15 adalah 1,3,5,15
30. Tugas Individu
Jawaban diketik rapi dan dicetak
Pseudocode diketik dengan font Courier New 10pt
Ketikkan Nama, NIM, Kelas sebagai Header, font Times
New Roman 10pt
Selain Pseudocode & Header diketik dengan font Times
New Roman 11pt
Setiap halaman wajib ada penomoran halaman
Tugas dikumpulkan pada praktikum minggu berikutnya
Jika terdapat jawaban yang sama lebih dari satu
mahasiswa maka akan diberikan nilai 0
Tidak mengumpulkan tugas diberikan nilai 0, kecuali ybs
sakit dengan surat ijin