Monday, March 12, 2012

PERTEMUAN PERTEMUAN I PENGERTIAN DASAR PENGERTIAN DASAR PENGERTIAN DASAR PENGERTIAN DASAR LOGIKA DAN ALGORITMA LOGIKA DAN ALGORITMA

PENGERTIAN DASAR
LOGIKA
Diperkenalkan pertama kali oleh Aristoteles (384-322 SM)
ALGORITMA
Diperkenalkan Oleh Ahli Matematika : Abu Ja’far 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

Definisi Logika
1. penalaran atau bentuk pemikiran.
2. ilmu yang memberikan prinsip-prinsip yang harus
diikuti agar dapat berfikir valid menurut aturan yang
berlaku.
Definisi Algoritma
1.  Langkah - langkah yang dilakukan agar solusi  1.  Langkah - langkah yang dilakukan agar solusi
masalah dapat diperoleh.
2. Suatu prosedur yang merupakan urutan langkah-
langkah yg berintegrasi.
3. Suatu metode khusus yang digunakan untuk
menyelesaikan suatu masalah yang
nyata.(Webster Dictionary)


TAHAP PENYELESAIAN MASALAH
Masalah
Model
Algoritma
Analisis
Analisis
Program
Eksekusi
Hasil
Data
Analisis


Kriteria Pemilihan Algoritma.
1. Ada Output,
2. Efektifitas dan Efesiensi,
3. Jumlah Langkahnya Berhingga,
4. Berakhir, ( SEMI ALGORITMA )
5. Terstruktur,
Suatu Algoritma yg terbaik (The Best) : “ Suatu
algoritma harus menghasilkan output yg tepat guna
(efektif) dlm waktu yg relatif singkat & penggunaan
memori yg relatif sedikit (efesien) dgn langkah yg
berhingga & prosedurnya berakhir baik dlm keadaan
dip’oleh suatu solusi ataupun tdk ada solusinya. “


Contoh :
Sebuah prosedur ketika akan mengirimkan surat kepada
teman:
1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat atau amplop
3. Masukkan surat ke dalam amplop
4. Tutup amplop surat dengan lem perekat 4. Tutup amplop surat dengan lem perekat
5. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu
ambil buku alamat & cari alamat yg dituju, lalu tulis
alamat tsb pd amplop surat.
6. Tempelkan perangko pada amplop surat
7. Bawa surat ke kantor pos utk diserahkan pd pegawai
pos atau menuju ke bis surat untuk memasukkan surat
ke dlm kotak/bis surat.

Sebuah prosedur untuk masalah menentukan akar
kuadrat dari suatu bilangan Bulat Positif yg di Input:
Baca bilangan Bulat Positif yg diinput, sebut saja
sebagai A
1. Dinyatakan Nilai B adalah 0
2. Hitung Nilai C yg berisikan Nilai B dikalikan
Nilai B Nilai B
3. Jika Nilai C sama dengan Nilai A, maka Nilai
B adalah Akar dari Nilai A, lalu stop.
4. Jika tidak, maka Nilai B akan bertambah 1
5. Kembali ke langkah pada No. 3

TAHAPAN ANALISA ALGORITMA
1. Bagaimana merencanakan suatu algoritma.
2. Bagaimana menyatakan suatu algoritma
a. Dengan bahasa semu (pseudocode).
Contoh :
Untuk menghitung Luas Segi tiga : Untuk menghitung Luas Segi tiga :
1. Masukan Nilai Alas
2. Masukan Nilai Tinggi
3. Hitung Luas =( Alas * Tinggi ) / 2
4. Cetak Luas

b. Dengan diagram alur atau flowchat
Contoh :
Masukan
Alas
Masukan Masukan Masukan Masukan
Start
Masukan Masukan Masukan Masukan
Tinggi Tinggi Tinggi Tinggi
Luas = (Alas * Tinggi)/2
Cetak Cetak Cetak Cetak
Luas Luas Luas Luas
Stop

c. Dengan Statement program / penggalan
Program
Contoh (menggunakan C++):
cin >> Alas ;                            untuk input data
cin >> Tinggi; cin >> Tinggi;
Luas = (Alas * Tinggi)/2 ;        proses
cout << Luas;                         untuk output data


3. Bagaimana validitas suatu algoritma.
4. Bagaimana Menganalisa suatu Algoritma.
5. Bagaimana Menguji  Program dari suatu
Algoritma.
Tahap Proses uji Algoritma :
a. Fase Debugging a. Fase Debugging
yaitu fase dari proses program eksekusi yang akan
melakukan koreksi terhadap kesalahan.
b. Fase Profilling
yaitu fase yang akan bekerja jika program tersebut
sudah benar (telah melewati fase debugging).


Analisis Suatu Algoritma
(Untuk melihat faktor efesiensi & efektifitas dari
algoritma tersebut), Dapat dilakukan terhadap suatu
algoritma dengan melihat pada :
a. Waktu Tempuh (Running Time) dr suatu
Algortima.
Hal-hal yg dpt mempengaruhi drpd waktu tempuh Hal-hal yg dpt mempengaruhi drpd waktu tempuh
adalah :
1. Banyaknya langkah.
2. Besar dan jenis input data.
3. Jenis Operasi.
4. Komputer dan kompilator
b. Jumlah Memori Yang Digunakan.


Sifat - Sifat Algoritma
1. Banyaknya Langkah Instruksi Harus Berhingga,
2. Langkah atau Instruksi harus Jelas,
3. Proses harus Jelas dan mempunyai batasan,
4. Input dan Output harus mempunyai Batasan,
5. Efektifitas, 5. Efektifitas,
6. Adanya Batasan Ruang Lingkup,


Latihan :
(Gunakan Bahasa sehari-hari / Pseudocode )
1. Buat algoritma untuk mengirim email kepada teman
dengan asumsi sudah mempunyai alamat email.
2. Buat algoritma untuk meminjam buku di 2. Buat algoritma untuk meminjam buku di
perpustakaan
3. Buat algoritma pada saat membeli buku di toko
buku



PERTEMUAN 2 KONSEP ALGORITMA

Konsep ALGORITMA
1.  ALGORITMA  PE-UBAH
Adalah Variabel yang nilainya BUKAN konstanta (selalu
berubah – sesuai dengan kondisi Variabel terKINI)
Sintaks : P = Q
Algoritma  : P Q Algoritma  : P Q
Arti : Bahwa Nilai P diberi harga Nilai Q
Nilai P akan SAMA DENGAN nilai Q, & Nilai Q TETAP
2. ALGORITMA PERTUKARAN
Berfungsi mempertukarkan masing-masing isi Variabel
sedemikian sehingga Nilai dari tiap Variabel akan
berubah/bertukar


Contoh Soal:
1. Diketahui P=0, Q=5 dan R=10.
Diberikan Algoritma P=Q,Q=R, mk Nilai P,Q,R
sekarang?
2. Diketahui Algoritma P=10, P=P+1 dan Q = P
Berapakan Nilai P dan Q ? ……………
3. Diketahui 3 variabel peubah P,Q dan R.  Agar isi Q
ditaruh di P, isi R ditaruh di Q dan isi P ditaruh di R,
maka Algoritma yang dapat ditulis adalah : ……….
4. Diketahui 2 peubah K = 10 dan L = 20.  Buat Algoritma
untuk mempertukarkan isi K dan L. : ……………


ANALISA ALGORITMA
1. Seorang Petani akan berpergian ke kota dengan
membawa seekor kambing, Anjing dan Rumput Yang
ketiganya memliki berat yang tidak jauh berbeda,
ditengah jalan petani harus menyebrangi sungai
dengan menggunakan perahu dan untuk melaluinya
petani tersebut tidak diperbolehkan membawa
sekaligus bawaannya mengingat kapasitas kekuatan sekaligus bawaannya mengingat kapasitas kekuatan
perahu tersebut, dan untuk melaluinya petani harus
membawa satu persatu bawaannya . Ditanya: berapa
kali petani tersebut harus melalui jembatan dengan
memperhatikan bahwa kambing makan rumput, anjing
makan kambing ?
Visualisasi ( klik disini )


2. Bagaimana caranya untuk menyeberangka
tiga orang rahib yang sedang dikejar oleh Tig
orang kanibal ke sisi pulau yang ad
diseberangnya
Dengan catatan :
Bila misionarisnya Lebih sedikit dari da Bila misionarisnya Lebih sedikit dari da
kanibal, maka misionaris tersebut aka
dimakannya.


3. Ada sebuah keluarga terdiri dari 5 orang akan
menyeberang melewati jembatan pada malam hari
dengan bantuan lampu yang hanya bisa bertahan 30
detik
Dengan catatan :
Setiap orang mempunyai kecepatan yang berbeda-
beda ( 1,3,6,8 dan 12 detik). Apabila yang melewati beda ( 1,3,6,8 dan 12 detik). Apabila yang melewati
jembatan ada 2 orang maka kecepatannya akan
dihitung berdasarkan yang paling lambat
Visualisasi ( Klik disini )


4. Bagaimana caranya untuk memindahkan katak dari
sisi kanan ke sisi kiri dan sebaliknya. Catatan :
pemindahan dilakukan hanya bisa melewati 1 katak



5. Berapa banyaknya garis minimal untuk menutup
seluruh titik-titik yang ada dibawah ini dengan syarat
bahwa untuk membuat garis tersebut tidak boleh
terputus :
a. 

b. 


c. 



d. 





6. Algoritma Pertukaran Isi Bejana
Diberikan dua buah bejana, A dan B; bejana A berisi laruta
berwarna merah, bejana B berisi larutan berwarna biru.
Buatlah pseudocode untuk menukarkan isi kedua bejana
itu sedemikian sehingga bejana A berisi larutan berwarna
biru dan bejana B berisi larutan berwarna merah.
Bejana A Bejana B