Anda di halaman 1dari 68

M. Febriansyah, ST., MT.

TUJUAN
 MENGENAL DAN MEMAHAMI LOGIKA DAN
ALGORITMA.

 MAMPU MENYELESAIKAN MASALAH DENGAN


MENGGUNAKAN KONSEP LOGIKA.
POKOK BAHASAN
1. PENGERTIAN DASAR LOGIKA DAN ALGORITMA

2. CIRI-CIRI ALGORITMA

3. KONSEP ALGORITMA, PROGRAM & BAHASA


PEMROGRAMAN
Pengertian Dasar
LOGIKA
Berasal dari bahasa yunani yaitu LOGOS yang
berarti ilmu.

atau

“ilmu yang mengajarkan cara berpikir untuk


melakukan aksi dengan tujuan tertentu”
Pengertian Dasar…

Aristoteles (384-322 SM) Peletak dasar – dasar logika

DEFINISI LOGIKA
1) Penalaran atau bentuk pemikiran.
2) Ilmu yang memberikan prinsip-prinsip yang harus
diikuti agar dapat berfikir valid menurut aturan yang
berlaku.
Pengertian Dasar…
ALGORITMA
Diperkenalkan oleh ahli matematika :

Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi

Seorang ilmuan Persia yang menulis kitab al jabr


w’al muqabala (rules of restoration and reduction)
sekitar tahun 825 M.
Pengertian Dasar…
ALGORITMA dapat diartikan sebagai urutan langkah-
langkah / instruksi-instruksi terbatas untuk
menyelesaikan suatu masalah.

DEFINISI ALGORITMA
1) Langkah-langkah yang dilakukan agar solusi
masalah dapat diperoleh.
2) Suatu prosedur yang merupakan urutan langkah-
langkah yang berintegrasi.
3) Suatu metode khusus yang digunakan untuk
menyelesaikan suatu masalah yang nyata (Webster
Dictionary)
Pengertian Dasar…
Terdapat beberapa definisi algoritma lain, seperti :

Algoritma  Logika terhubung dengan kecerdasan.

Logika  Masuk akal & Penalaran


Penalaran adalah salah satu bentuk dari pemikiran

Pemikiran dengan logika adalah Suatu penalaran yang


bersifat valid dan sistematis.
Pengertian Dasar…
Dari pengertian-pengertian logika dan algoritma diatas,
maka dapat disimpulkan bahwa….

LOGIKA DAN ALGORITMA


Adalah Ilmu yang mempelajari cara penyelesaian
masalah berdasarkan langkah-langkah terbatas yang
logis dan sistematis dengan tujuan tertentu.

TUJUAN MEMPELAJARI MATAKULIAH LOGIKA &


ALGORITMA adalah Mengajarkan tentang bagaimana
cara penyelesaian suatu masalah berdasarkan
tahapan-tahapan yang sistematis dan logis.
BUKTI KEBENARAN ALGORITMA

“Suatu algoritma dapat dibuktikan


kebenarannya melalui komputer
setelah algoritma tersebut
ditranslasikan ke dalam bahasa
pemrograman”
CONTOH ALGORITMA
Penyelesaian
Untuk mempertukarkan isi gelas A yang berisi Teh
dan gelas B yang berisi Kopi dengan benar, maka
diperlukan gelas tambahan yang kita namakan
gelas C sebagai tempat penampungan sementara.

Perhatikan ilustrasi pada slide berikut….


Penyelesaian…
KRITERIA PEMILIHAN
ALGORITMA
SYARAT-SYARAT ALGORITMA
CONTOH LAIN
Mengoreng telur dadar, bagaimana urutan logika dan
algoritmanya jika diketahui sbb :

A. Tuang adukan telur pada mangkuk ke kuali.


B. Tunggu hingga minyak panas.
C. Pecahkan telur dan masukkan isinya ke mangkuk.
D. Tunggu hingga bagian bawah telur matang.
E. Balikkan telur sehingga posisi bawah menjadi atas.
F. Berikan garam, potongan cabe dan potongan
bawang ke mangkuk yang sama.
G. Aduk telur dan campurannya hingga merata.
H. Tuangkan minyak makan 5 cc ke atas kuali.
I. Tunggu hingga telur matang.
J. Letakkan kuali di atas kompor yang menyala.
Penyelesaian
Urutan algoritma “Mengoreng telur dadar” sbb :

C. Pecahkan telur dan masukkan isinya ke mangkuk.


F. Berikan garam, potongan cabe dan potongan
bawang ke mangkuk yang sama.
G. Aduk telur dan campurannya hingga merata.
J. Letakkan kuali di atas kompor yang menyala.
H. Tuangkan minyak makan 5 cc ke atas kuali.
B. Tunggu hingga minyak panas.
A. Tuang adukan telur pada mangkuk ke kuali.
D. Tunggu hingga bagian bawah telur matang.
E. Balikkan telur sehingga posisi bawah menjadi atas.
I. Tunggu hingga telur matang.
CONTOH LAIN
Jika seseorang ingin mengirim surat kepada
kenalannya di tempat lain, bagaimana urutan logika
dan algoritmanya jika diketahui sbb :

A. Surat dimasukkan ke dalam amplop tertutup.


B. Ambil alat tulis dan kertas.
C. Amplop ditempeli perangko.
D. Pergi ke Kantor Pos untuk mengirimkannya.
E. Amplop ditulis alamat penerima dan pengirim.
F. Beli perangko secukupnya.
G. Menulis surat.
KESIMPULAN
Dari kasus algoritma diatas, dapat terlihat bahwa
algoritma ini merupakan proses pengerjaan.
Pengerjaan algoritma untuk contoh diatas adalah
manusia, tetapi pada pemrograman, pelaksana
algoritma adalah komputer. Karena komputer yang
melaksanakan pengerjaan algoritmanya, tugas
seorang programmer adalah merancang algoritma
yang akan dikerjakan oleh komputer dalam
memecahkan masalah = problem solving.
KESIMPULAN…
Algoritma dibutuhkan untuk memerintah komputer
mengambil langkah-langkah tertentu dalam
menyelesaikan masalah.
PENULISAN ALGORITMA
PENULISAN ALGORITMA…
PENULISAN ALGORITMA…
TAHAP PENYELESAIAN MASALAH
TAHAPAN ANALISA ALGORITMA
BAGAIMANA MENYATAKAN SUATU
ALGORITMA
BAGAIMANA MENYATAKAN SUATU
ALGORITMA…
BAGAIMANA MENYATAKAN SUATU
ALGORITMA…
TAHAP PROSES UJI
ALGORITMA
STRUKTUR DASAR ALGORITMA
STRUKTUR DASAR ALGORITMA
TEKS ALGORITMA
TEKS ALGORITMA…
M. Febriansyah, ST., MT.
Konsep Algoritma
Algoritma memiliki dua jenis konsep, yaitu :
1. ALGORITMA PE-UBAH.
Adalah variabel yang nilainya BUKAN konstanta (selalu
berubah sesuai dengan kondisi variabel terKINI).
Sintaks :P=Q
Algoritma : P  Q
Arti : Bahwa Nilai P diberi harga nilai Q

Nilai P akan SAMA DENGAN nilai Q dan nilai “Q” TETAP.


Konsep Algoritma…
2. ALGORITMA PERTUKARAN.
Berfungsi mempertukarkan masing-masing isi variabel
sedemikian rupa sehingga nilai dari tiap variabel akan
berubah / bertukar.
Contoh :
Diketahui : P = 0, Q = 5 dan R = 10
Diberikan algoritma sbb :
P = Q, Q = R dan R = P + Q.
Maka nilai P, Q dan R berubah menjadi :
Jawab : P = 5, Q = 10 dan R = 15.
Contoh Konsep Algoritma
1. Diketahui algoritma P = 10, P = P + 1 dan Q = P.
Berapakah nilai P dan Q ?

Jawab :
P = 11 & Q = 11

2. Diketahui 2 variabel K = 10 dan L = 20. Buat


algoritma untuk mempertukarkan isi K dan L.

Jawab :
CARA AL. PE-UBAH CARA AL. PERTUKARAN
BUAT VARIABEL M L=K
M = K, K = L dan L = M K = L + 10 atau K = L * 2
TUGAS I
M. Febriansyah, ST., MT.
Analisa Algoritma
Adalah suatu proses untuk melakukan pengecekan
kebenaran dari suatu algoritma dengan melihat :

1) Bagaimana algoritma tersebut di rencanakan.

2) Bagaimana algoritma tersebut dinyatakan.

3) Bagaimana validitas suatu algoritma.

4) Bagaimana hasil pengujian dari suatu algoritma.


Tujuan Analisa Algoritma
Tujuan melakukan analisis algoritma adalah Untuk
melihat faktor efesiensi & efektifitas dari algoritma tsb.
Analisis dapat dilakukan terhadap suatu algoritma
dengan melihat pada :
1) Waktu tempuh (Running Time) suatu algoritma.
 Banyaknya baris perintah
 Besar dan jenis inputan data
 Jenis operasi
 Jenis Komputer dan Kompilator
2) Jumlah memori yang digunakan pada algoritma.
ANALISA ALGORITMA

Seorang petani akan berpergian ke kota dengan membawa


seekor domba, rumput dan anjing. Untuk ke kota, petani
harus menyebrangi sebuah sungai dengan menggunakan
perahu. Kapasitas perahu hanya muat untuk membawa
petani dan 1 bawaannya. Bagaimana algoritma
penyelesaiannya?
Catatan : Domba akan menghabiskan rumput serta anjing
akan menerkam domba jika petaninya tidak ada.
ANALISA ALGORITMA…

Bagaimana cara untuk menyelamatkan & menyeberangkan


tiga orang rahib yang terkepung oleh tiga kanibal ke pulau
yang ada diseberangnya? Bagaimana algoritmanya?
Catatan : Rahib akan dimakan oleh kanibal, jika jumlah
rahib lebih sedikit dari jumlah kanibal. Jika jumlah rahib
lebih banyak atau sama dengan jumlah kanibal, maka
kanibal tidak bisa memakan rahib.
Catatan
“ Saat menggunakan logika, sebaiknya jangan berfikir
terlalu rumit tentang sebuah masalah, karena belum
tentu masalah itu serumit yang kita pikir. Pikirkan hal
yang paling sederhana untuk menyelesaikan
permasalahan itu, sehingga tidak terjebak dalam
pikiran rumit yang dibuat sendiri ”.

“ Jangan meremehkan masalah sekecil apapun, tapi


berfikir sederhanalah untuk menghasilkan solusi yang
efektif ”.
LATIHAN ANALISA ALGORITMA
Pintu teralis akan terbuka jika berat jerigen air sama
dengan 6 liter.
Bagaimana cara Mukidi mendapatkan air sebanyak 6 liter?
TUGAS II ANALISA ALGORITMA

Ada sebuah keluarga terdiri dari 5 orang akan menyeberang


melewati jembatan pada malam hari dengan bantuan lampu
yang hanya bisa bertahan 30 detik.
Catatan : Setiap orang mempunyai kecepatan yang berbeda-
beda ( 1,3,6,8 dan 12 detik ). Apabila yang melewati jembatan
ada 2 orang maka kecepatannya akan dihitung berdasarkan
yang paling lambat.
Penyelesaian
Jika terdapat 5 keluarga, bagaimana urutan logika dan
algoritmanya jika diketahui sbb :

1. Pertama gunakan anak yang 1 detik dan 3 detik.


2. Kedua kembalikan anak yang 1 detik.
3. Ketiga kirim anak yang 1 detik dan ibu yang 6 detik.
4. Keempat kembalikan anak yang 3 detik.
5. Kelima kirim bapak yang 8 detik & kakek yang 12 detik.
6. Keenam kembalikan anak yang 1 detik untuk
menjemput anak yang 3 detik.
7. Done.
KOMPONEN ALGORITMA
STRUKTUR ALGORITMA
Suatu algoritma terdiri dari tiga struktur data, yaitu :
1. Runtunan
2. Pemilihan dan
3. Pengulangan.

Ketiga jenis struktur tersebut membentuk konstruksi suatu


algoritma.

Berikut penjelasan dari ke tiga struktur tersebut.


RUNTUNAN (SEQUENCE)
Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap
instruksi dikerjakan secara berurutan sesuai dengan
urutan penulisannya, yakni sebuah instruksi dilaksanakan
setelah instruksi sebelumnya selesai dikerjakan.
Urutan dari instruksi menentukan hasil akhir dari suatu
algoritma. Bila urutan penulisan berubah, maka mungkin
juga hasil akhirnya berubah.

Contoh :
(4 + 3) * 7 = 49
tetapi bila urutan instruksi / aksinya diubah, maka hasil
keluaran akan berbeda menjadi
4 + (3 * 7) = 25.
STRUKTUR RUNTUNAN
PEMILIHAN (SELECTION)
Kadangkala terdapat suatu kejadian yang baru akan dikerjakan
jika suatu kondisi tertentu telah terpenuhi. Pemilihan merupakan
instruksi yang dikerjakan dengan kondisi tertentu. Kondisi
adalah persyaratan yang dapat bernilai BENAR atau SALAH.
Instruksi hanya dilaksanakan apabila kondisi bernilai benar,
sebaliknya apabila salah maka instruksi tidak akan
dilaksanakan.
Contoh kasus pemilihan adalah dalam penentuan bilangan
genap atau ganjil berikut ini :
(A) Masukkan sebuah bilangan bulat.
(B) Bagi bilangan dengan 2, simpan sisa pembagian dalam
variabel SISA.
(C) Jika nilai SISA sama dengan 0, maka kerjakan langkah “D”, jika
nilai SISA tidak sama dengan 0 maka kerjakan langkah “E”.
(D) Tampilkan “GENAP” ke layar.
(E) Tampilkan “GANJIL” ke layar.
(F) Selesai.
STRUKTUR PEMILIHAN

Notasi algoritmik :
if Syarat then
Aksi {True}
endif {False}
STRUKTUR PEMILIHAN…

Notasi Algoritma,
IF syarat THEN
aksi-1 {true}
ELSE
aksi-2 {false}
ENDIF
PENGULANGAN (REPETITION)
Salah satu kelebihan komputer adalah kemampuannya
untuk mengerjakan pekerjaan yang sama berulang kali
tanpa mengenal lelah. Kita tidak perlu menulis instruksi
yang sama berulang kali, tetapi cukup melakukan
pengulangan dengan instruksi yang tersedia.

Pengulangan merupakan kegiatan mengerjakan sejumlah


instruksi yang sama sebanyak jumlah yang ditentukan atau
sesuai dengan kondisi yang diinginkan.

Beberapa statement pengulangan di bahasa pemrograman


yaitu :
for…, while()…, do…while(), repeat…until,
for…downto…do, for…to…do dan lain-lain.
STRUKTUR PENGULANGAN

For-Next

For var=awal to akhir


…………….
instruksi-instruksi
……………..
Next var
STRUKTUR PENGULANGAN…

While - do

Bentuk umum :

While {kondisi} do
…………..
instruksi-instruksi
…………..
Endwhile
STRUKTUR PENGULANGAN…

Repeat - Until

Bentuk Umum ;

Repeat
………………..
Instruksi
………………...
Until (kondisi)
CONTOH PENGULANGAN
Menampilkan huruf tertentu sebanyak “n” kali ke layar.
1. Deklarasikan variabel huruf untuk menyimpan karakter yang
akan ditampilkan.
2. Deklarasikan variabel n untuk menyimpan banyaknya
perulangan.
3. Deklarasikan variabel counter yang digunakan sebagai
counter perulangan yang sudah dilakukan.
4. Masukkan sebuah karakter dan simpan dalam variabel huruf
5. Masukkan banyaknya perulangan yang diinginkan dan
simpan dalam variabel n
6. Set nilai counter dengan 0
7. Tampilkan huruf ke layar
8. Lakukan penambahan counter dengan 1
9. Jika nilai counter<n, kerjakan langkah 6
10. Jika nilai counter = n selesai
M. Febriansyah, ST., MT.
DEFINISI FLOWCHART
Adalah bagan-bagan yang mempunyai arah yang
menggambarkan langkah-langkah penyelesaian suatu
masalah.

Flowchart merupakan salah satu bentuk cara penyajian


dari suatu algoritma.
JENIS FLOWCHART
Flowchart terbagi menjadi 2 jenis, yaitu :

1. Flowchart Sistem
Menggambarkan urutan proses kerja dalam suatu
sistem dengan menunjukkan alat media input, output
serta jenis media penyimpanan dalam proses
pengolahan data.
JENIS FLOWCHART…
2. Flowchart Program
Menggambarkan urutan kerja dari instruksi yang
digambarkan dengan simbol tertentu untuk
memecahkan masalah dalam suatu program.
SIMBOL FLOWCHART
Secara garis besar simbol flowchart terdiri dari :
1. Simbol penghubung alur
(Flow Direcion Symbols)

2. Simbol proses
(Processing Symbols)

3. Simbol Input-Output
(Input-Output Symbols)
SIMBOL-SIMBOL FLOWCHART
CONTOH FLOWCHART
Diketahui sebuah algoritma sbb :
1) Masukkan sebuah bilangan bulat ( misal : X = 5 ).
2) Baca variabel X tersebut.
3) Bagi variabel X dengan 2, simpan sisa pembagian
dalam variabel SISA
4) Jika nilai SISA sama dengan 0, maka kerjakan langkah
(5), jika nilai SISA tidak sama dengan 0 maka kerjakan
langkah (6)
5) Tampilkan “GENAP” ke layar
6) Tampilkan “GANJIL” ke layar
7) Selesai

Buatlah flowchart dari algoritma diatas.


Penyelesaian
TUGAS FLOWCHART…
2. Analisa potongan program dibawah ini! Apakah tujuan
algoritma ini? Selanjutnya ubahlah potongan
algoritma berikut ini menjadi sebuah flowchart!

Anda mungkin juga menyukai