Algoritma untuk menentukan bilangan terbesar dari dua bilangan yang diinputkan terdiri dari 3 langkah: (1) memasukkan dua bilangan, (2) membandingkan kedua bilangan, dan (3) menampilkan bilangan terbesar.
1. LOGIKA
&
ALGORITMA
By :
Anton Sukamto
Anton.sukamto74 gmail.com
2. DEFINISI LOGIKA
Logika identik dengan masuk akal dan penalaran.
Penalaran salah satu bentuk pemikiran
Pemikiran pengetahuan tak langsung yang
didasarkan pada pernyataan langsung
pemikiran mungkin benar dan mungkin tidak
benar
Definisi Logika ilmu yang memberikan prinsip-
prinsip yang harus diikuti, agar dapat berfikir
valid menurut aturan yang berlaku.
3. KEGUNAAN LOGIKA
1.Membantu setiap orang yang mempelajari logika untuk berpikir secara
rasional, kritis, lurus, tetap, tertib, metodis dan koheren.
2.Meningkatkan kemampuan berpikir secara abstrak, cermat, dan objektif.
3.Menambah kecerdasan dan meningkatkan kemampuan berpikir secara
tajam dan mandiri.
4.Memaksa dan mendorong orang untuk berpikir sendiri dengan
menggunakan asas-asas sistematis.
5.Meningkatkan cinta akan kebenaran dan menghindari kesalahan-
kesalahan berpkir, kekeliruan serta kesesatan.
6.Mampu melakukan analisis terhadap suatu kejadian.
7.Terhindar dari klenik , gugon-tuhon ( bahasa Jawa )
8.Apabila sudah mampu berpikir rasional,kritis ,lurus,metodis dan analitis
sebagaimana tersebut pada butir pertama maka akan meningkatkan citra
diri seseorang.
5. DEFINISI ALGORITMA
• Urutan langkah-langkah logis
penyelesaian masalah yang disusun
secara sistematis
• Kata logis disini berarti sesuai dengan
logika manusia
• Untuk menjadi sebuah algoritma, urutan
langkah yang di tempuh untuk
menyelesaikan masalah harus
memberikan hasil yang benar.
6. SEJARAH ALGORITMA
Abu Ja’far Muhammad Ibnu Musa Al Khuwarizmi adalah
seorang penulis buku Arab yang berjudul Kitab Al Jabar Wal
Muqabala (Buku Pemugaran dan Pengurangan). Kata Al
Khuwarizmi di baca orang Barat menjadi Algorism.
Kata Algorism berarti proses menghitung dengan angka Arab.
Seseorang dikatakan algorist jika orang tersebut menggunakan
angka Arab.
Kata Algorism lambat laun berubah menjadi algorithm
disebabkan kata algorism sering di kelirukan dengan kata
arithmetic sehingga akhiran –sm berubah menjadi –thm. Kata
algorithm diserap kedalam bahasa Indonesia menjadi algoritma
7. DOMAIN ALGORITMA
Masalah motivasi untuk membuat algoritma.
Algoritma prosedur untuk menyelesaikan masalah.
Seringkali satu masalah dapat diselesaikan dengan lebih
dari satu cara (banyak kemungkinan).
Program representasi formal dari suatu algoritma
dengan menggunakan bahasa pemrograman yang bisa
dimengerti oleh komputer.
Proses aktivitas menjalankan langkah-langkah dalam
algoritma.
8. HAL YANG HARUS
DIPENUHI DALAM
MEMBUAT ALGORITMA
• INPUT data yang harus diberikan pada
komputer.
• OUTPUT Informasi yang akan diperoleh
dari komputer
• LOGIKA Merencanakan proses program.
Terdiri dari sejumlah instruksi yang
mengubah input menjadi output yang
diinginkan.
9. CONTOH ALGORITMA
Ada 2 buah gelas. Satu berisi teh dan satunya berisi
kopi. Bagaimana caranya menukar isi masing-
masing gelas ?
TEH KOPI
10. ALGORITMANYA
Siapkan gelas cadangan X
X
Tuangkan teh kedalam
gelas cadangan X
X
TEH
Tuangkan kopi kedalam
gelas teh (yang telah
kosong)
KOPI
TEH
Tuangkan the (dari gelas
cadangan kedalam gelas
kopi. X
KOPI
11. LOGIKA BINER
• Dalam komputer terdapat logika tepatnya
pada prosesor yang didalamnya terdapat
ALU (Arithmetic Logical Unit).
• Logika yang ada yaitu AND, OR, XOR
X Y AND OR XOR
1 1 1 1 0
1 0 0 1 1
0 1 0 1 1
0 0 0 0 0
12. LA
TIH
AN
10111 OR 111
11111 XOR 1101
11101 AND 1101
14. Flowchart
• Bagan-bagan yang mempunyai arus
• Menggambarkan langkah-langkah
penyelesaian suatu masalah
• Merupakan salah satu cara penyajian
algoritma
14
15. Tujuan
• Menggambarkan suatu tahapan
penyelesaian masalah
• Secara sederhana, terurai, rapi dan jelas
• Menggunakan simbol-simbol standar
15
16. Model / Jenis Flowchart
• System Flowchart
• Program Flowchart
16
17. System Flowchart
• Menggambarkan suatu sistem peralatan
komputer yang digunakan dalam proses
pengolahan data serta hubungan antar
peralatan tersebut
• Tidak digunakan untuk menggambarkan
urutan langkah untuk memecahkan masalah
• Hanya untuk menggambarkan prosedur
dalam sistem yang dibentuk
17
18. Program Flowchart
• Menggambarkan urutan logika dari suatu
prosedur pemecahan masalah
• Dua jenis metode penggambaran program
flowchart :
– Conceptual flowchart, menggambarkan alur
pemecahan masalah secara global
– Detail flowchart, menggambarkan alur
pemecahan masalah secara rinci
18
19. Simbol-simbol Flowchart
• Flow direction symbols
– Digunakan untuk menghubungkan simbol satu dengan
yang lain
– Disebut juga connecting line
• Processing symbols
– Menunjukan jenis operasi pengolahan dalam suatu
proses / prosedur
• Input / Output symbols
– Menunjukkan jenis peralatan yang digunakan sebagai
media input atau output
19
20. Flow Direction Symbols
• Simbol arus / flow
– Menyatakan jalannya arus suatu proses
• Simbol communication link
– Menyatakan transmisi data dari satu lokasi ke lokasi lain
• Simbol connector
– Menyatakan sambungan dari proses ke proses lainnya
dalam halaman yang sama
• Simbol offline connector
– Menyatakan sambungan dari proses ke proses lainnya
dalam halaman yang berbeda
20
21. Processing Symbols
• Simbol process
– Menyatakan suatu tindakan (proses) yang dilakukan
oleh komputer
• Simbol manual
– Menyatakan suatu tindakan (proses) yang tidak
dilakukan oleh komputer
• Simbol decision
– Menujukkan suatu kondisi tertentu yang akan
menghasilkan dua kemungkinan jawaban : ya / tidak
• Simbol predefined process
– Menyatakan penyediaan tempat penyimpanan suatu
pengolahan untuk memberi harga awal
• Simbol terminal
– Menyatakan permulaan atau akhir suatu program
21
22. Processing Symbols
• Simbol keying operation
– Menyatakan segala jenis operasi yang
diproses dengan menggunakan suatu
mesin yang mempunyai keyboard
• Simbol offline-storage
– Menunjukkan bahwa data dalam simbol
ini akan disimpan ke suatu media tertentu
• Simbol manual input
– Memasukkan data secara manual dengan
menggunakan online keyboard
22
23. Input / Output SymbOlS
• Simbol input/output
– Menyatakan proses input atau output tanpa
tergantung jenis peralatannya
• Simbol punched card
– Menyatakan input berasal dari kartu atau output
ditulis ke kartu
• Simbol magnetic tape
– Menyatakan input berasal dari pita magnetis
atau output disimpan ke pita magnetis
• Simbol disk storage
– Menyatakan input berasal dari dari disk atau
output disimpan ke disk
23
24. Output SymbOlS
• Simbol document
– Mencetak keluaran dalam bentuk
dokumen (melalui printer)
• Simbol display
– Mencetak keluaran dalam layar
monitor
24
26. pengOlahan data
START
READ
Ya
HABIS ?
Tidak
PROCESS
WRITE
END
26
27. Contoh 1
Start
Input panjang
Input lebar
Luas panjang * lebar
Print Luas
End
27
28. STUDI KASUS 1
Buatlah flowchart ( Diagram Alur ) Jika terdapat 2
(dua) bilangan desimal, dimana jika salah satu dari
bilangan tersebut lebih besar maka akan tercetak
bilangan yang besar, jika tidak maka cetak bilangan
yang terkecil.
28
30. STUDI KASUS 2
Pensil dapat di beli secara satuan dan lusinan
Harga satuan pensil adalah Rp. 1.000, sedangkan harga selusin
pensil Rp. 5.000. Buatlah diagram alur untuk harga pembelian X
buah pensil.
Penjelasan :
Jika kita beli 15 buah pensil dengan harga satuan maka harus
membayar Rp. 15.000 , sedangkan jika kita membayar dengan 1
lusin serta 3 buah buah sisanya maka kita harus membayar Rp.
8.000
30
31. Baca X
L INT (X/12)
S X – L * 12
P 5000 * L + 1000* S
Cetak P
End
31
32. STUDI KASUS 3
Buatlah flowchart ( diagram alur ) jika kita
mempunyai s detik diubah menjadi x jam y
menit dan z detik
32
33. START A
BACA S Y INT (A/60)
X INT (S/3600) Z A – 60 * Y
CETAK
A S – 3600 * X X, Y, Z
A END
33
34. STUDI KASUS 4
Buatlah flowchart (bagan alur) untuk pembelian buku.
Jika kita membeli buku dalam jumlah besar, maka penerbit
akan memberikan rabat (discount) dengan ketentuan sebagai
berikut :
1.Pembelian kurang dari 10 buku, maka tidak ada rabat.
2.Pembelian 10 buku sampai 29 buku, rabat 10 %.
3.Pembelian 30 buku ke atas, rabat 20 %
34
35. MULAI
BACA X
ya
X< H 5000*X
10 ?
tidak
X< ya
H 0.9*5000*X
30 ?
tidak
H 0.8*5000*X
CETAK H
SELESAI 35
36. LOOPING / PERULANGAN
(1) Variabel A diberi harga 1
A1 (1)
(2) Variabel A Berubah menjadi AA+1 (2)
2
(3) Variabel B diberi harga sebesar BA*A (3)
harga A DIKALIKAN HARGA A
(4) Variabel B di dicetak (jadi tercetak CETAK B
(4)
4).
Kemudian kembali ke (2) , (3), (4) dan
kembali lagi ke (2) begitu seterusnya
HASILNYA 4,9,16, ……
36
40. 6
U S
A S
D IK
U
ST Buatlah diagram alur untuk mencetak
suku barisan. Dengan suku pertama 3
dan beda 4 sampai suku yang harganya
tidak melebihi 100.
40
42. 7
US
AS Mulai A
IK
UD
ST A0 C A+B
Y
B 1 C > 50 Selesai
T
CETAK A CETAK C
CETAK B
AB
A BC
42
43. PSEUDO-CODE
Kode atau tanda yang menyerupai
(pseudo) atau merupakan pejelasan
cara menyelesaikan suatu masalah.
Pseudo-code sering digunakan oleh
manusia untuk menuliskan algoritma.
43
45. Pseudo-code:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka
kerjakan langkah 4, jika tidak, kerjakan langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
45
46. Algoritma
1. Masukkan bilangan pertama (a)
2. Masukkan bilangan kedua (b)
3. if a > b then kerjakan langkah 4
4. print a
5. print b
46
47. CONTOH LAIN PEUDO-CODE & ALGORITMA
Pseudo-code Algoritma
Nilai A ditambah dengan 5 A A+5
Cetak nilai A bila lebih besar dari If A > 10 THEN PRINT A
10
Dari dua bilangan A dan B, cari IF A > B THEN PRINT A ELSE
bilanan yang terbesar PRINT B
47
48. LANGKAH MEMBUAT PROGRAM KOMPUTER
1. Mendefinisikan masalah
Ini merupakan langkah pertama yang sering dilupakan orang. Menurut hukum
Murphy (oleh Henry Ledgard):
“Semakin cepat menulis program, akan semakin
lama kita dapat menyelesaikannya”.
Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya,
apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa
inputan serta outputnya.
48
49. 2. Menemukan solusi
Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan
solusi. Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut
dipecah menjadi modul-modul kecil agar lebih mudah diselesaikan.
3. Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan
tersebut.
4. Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi
jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat
keras dan platform lainnya.
. 5. Menguji program
Setelah program jadi, silahkan uji program tersebut dengan segala macam
kemungkinan yang ada, termasuk error-handlingnya sehingga program
tersebut akan benar-benar handal dan layak digunakan
49
50. 6. Menulis dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan
melakukan perubahan atau membaca source code yang sudah kita tulis dapat
kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan
menuliskan komentar-komentar kecil tentang apa maksud kode tersebut, untuk
apa, variabel apa saja yang digunakan, untuk apa, dan parameter-parameter
yang ada pada suatu prosedur dan fungsi.
7. Merawat program
Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang
sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan
fasilitas baru yang dulu tidak ada.
50
51. BASIC
(BEGINNER’S ALL-PURPOSE SYMBOLIC INSTRUCTION CODE)
Bahasa pemrograman BASIC merupakan
bahasa pemrograman yang cukup sesuai bagi
pemula. Namun sungguhpun demikian bahasa
tersebut cukup baik untuk dipergunakan
memecahkan berbagai masalah mulai dari yang
paling sederhana sampai dengan yang rumit.
51
52. Contoh
BASIC ALGORITMA
10 LET A = 4 10 A = 4
20 LET B = 5 20 B = 5
30 LET C = A + B 30 C = A + B
40 PRINT C 40 PRINT C
50 END
RUN
52
53. LATIHAN
10 A = 4 10 DATA 3,7
11 B = 5 11 READ A,B
12 C = A + B 12 A = A + 1
13 D = A – B 13 PRINT A
14 PRINT C 14 A = A + 1
15 PRINT D 15 PRINT A
16 A = A + B
17 PRINT A
53
54. STATEMEN FOR - TO
START
FOR N = 1
TO 4
K = N*N
CETAK K
NEXT N
END
54
55. 10 READ DATA A, B 10 X = 1
20 C = (A+B)/2 20 PRINT X
30 PRINT C 30 IF X = 5 THEN 60
40 PRINT B 40 X= X+1
50 GO TO 20
60 END
Harga 1 kg jeruk untuk pembelian 5 kg atau lebih rp. 6.000 dan
kurang dari 5 kg adalah Rp. 7.000. buat diagram alur dan lengkapi
algoritma di bawah ini
10 Data ……
20 Read N
30 IF N < 5 THEN 60
40 ………..
50 GO TO 70
60 ……….
70 Print B
80 end
55
56. LATIHAN
1.BUATLAH ALGORITMA DENGAN
OUTPUT 4,6,8,10,12
2.BUATLAH ALGORITMA & FLOWCHART
UNTUK MENGHITUNG NILAI RATA2
MAHASISWA, JIKA NILAI RATA2 2
MATAKULIAH LEBIH BESAR DARI 75
MAKA MAHASISWA TERSEBUT “LULUS”,
JIKA TIDAK MAHASISWA TERSEBUT
“GAGAL” 56