Minggu, 15 November 2009

LOGIKA & ALGORITMA

Definisi Logika :
Penalaran atau bentuk pemikiran.
Ilmu yang memberikan prinsip – prinsip yang harus di ikuti agar berpikir valid menurut aturan yang berlaku.
Definisi Algoritma :
Langkah – langkah yang dilakukan agar solusi masalah dapat di peroleh.
Suatu prosedur yang merupakan urutan langkah – langkah berintegrasi.
Suatu metode khusus yang di gunakan untuk menyelesaikan suatu masalah yang nyata . ( Webster Dictionary )
Contoh :
A. Sebuah prosedur ketika akan mengirimkan surat kepada teman :
Tulis surat pada secarik kertas
Ambil sampul surat atau amplop
Masukan surat ke dalam amplop
Tutup amplop surat dengan lem perekat
Tulis alamat surat yang dituju, jika tidak ingat, lebih dahulu ambil buku alamat & cari alamat yang dituju, lalu tulis alamat tersebut pada amplop surat
Tempelkan perangko pada amplop surat
Bawa surat ke kantor pos untuk di serahkan kepada pegawai pos atau menuju ke bis surat untuk memasukan surat ke dalam kotak / bis surat
B.
Misalkan, saya punya 2 buah ember masing-masing bervolume 3 liter dan 5 liter. Saya hanya punya dua ember tersebut. Entah karena lupa atau sengaja lupa, suatu ketika saya ingin membeli 4 liter minyak tanah. Lha yang saya bawa itu hanya ember berukuran 3 liter dan 5 liter saja, saya boleh memindahkan dari ember satu ke ember lain, mengembalikan minyak tanah ke tempat asalnya dan sebagainya. Bagaimana Algoritmanya?
Algoritma mendapatkan minyak dengan volume 4 liter.
Isi penuh ember 3 liter dengan minyak. {ember 3 liter berisi minyak 3 liter}
Tuangkan minyak dari ember 3 liter ke dalam ember 5 liter. {ember 5 liter berisi minyak 3 liter}.
Isi penuh ember 3 liter dengan minyak. {ember 3 liter berisi minyak 3 liter}
Tuang minyak dari ember 3 liter ke ember 5 liter hingga ember 5 liter penuh. {di dalam ember 3 liter sekarang berisi minyak sebanyak 1 liter}Kembalikan minyak dari ember 5 liter ke dalam drumnya. {ember 5 liter kosong}
Kembalikan minyak dari ember 5 liter ke dalam drumnya. {ember 5 liter kosong}
Tuangkan minyak dari ember 3 liter ke ember 5 liter. {ember 3 liter kosong, ember 5 liter berisi minyak 1 liter}
Isi penuh ember 3 liter dengan minyak, lalu tuang ke dalam ember 5 liter. Maka akan diperoleh minyak sebanyak 4 liter {1 + 3 = 4 liter minyak }.
algoritma.web.id/contoh-algoritma.mk

ALGORITMA MENUKAR ISI BEJANA
{Diberikan dua buah bejana A dan B. Bejana A berisi larutan berwarna merah, bejana B
berisi larutan berwarna biru.}
1. Tuangkan larutan dari bejana A ke dalam bejana C.
2. Tuangkan larutan dari bejana B ke dalam bejana A.
3. Tuangkan larutan dari bejana C ke dalam bejana B.
Sedangkan yang berikut ini adalah urutan langkah untuk menukar isi bejana yang tidak
logis :
1. Tuangkan larutan dari bejana A ke dalam bejana B.
2. Tuangkan larutan dari bejana B ke dalam bejana A.

ALGORITMA MEMBUAT MINUMAN KOPI
1. Masukkan satu sendok teh kopi ke dalam cangkir.
2. Tuangkan air panas ke dalam cangkir hingga penuh.
3. Aduk isi cangkir selama 30 detik.
4. Jika ingin berasa manis maka , masukkan satu sendok makan gula ke dalam cangkir kemudian aduk isi cangkir selama 30 detik.
Dari dua contoh di atas, tampak bahwa untuk menyelesaikan suatu masalah yang sama,
masing-masing orang dapat membuat algoritma yang berbeda.

ALGORITMA MENCARI AKAR REAL PERSAMAAN KUADRAT
{Diberikan sebuah persamaan kuadrat ax2 + bx + c = 0 dengan akar-akar persamaannya
adakah x1 dan x2}
1. Hitunglah D dengan rumus D = b2 – 4ac.
2. Jika D kurang dari 0 maka stop.
3. Hitunglah x1 dengan rumus
a
D b
x
2 1
+ – =
4. Hitunglah x2 dengan rumus
a
D b
x
2 2
- – =
ALGORITMA EUCLID
{Diberikan dua buah bilangan bulat positif m dan n ) ( n m ³ . Faktor Persekutuan
Terbesar (FPB) dari m dan n adalah p}
1. Bagilah m dengan n dan r adalah sisa pembagian tersebut.
2. Jika r = 0 maka
p diisi dengan n
stop
3. Ganti nilai m dengan nilai n kemudian ganti nilai n dengan nilai r kemudian lanjutkan
ke langkah 1.
Algortima Euclid adalah algoritma untuk mencari Faktor Persekutuan Terbesar (FPB)
dari dua buah bilangan bulat positif. Algoritma di atas dapat diilustrasikan dengan contoh
kasus berikut :
Mencari FPB antara 45 dan 12 :
m n r
45 mod 12 = 9 , nilai m diganti dengan 12, nilai n diganti dengan 9
12 mod 9 = 3 , nilai m diganti dengan 9, nilai n diganti dengan 3
9 mod 3 = 0 , r = 0
p = 3 , stop
FPB antara 45 dan 12 adalah 3.

ALGORITMA PERKALIAN ALA RUSSE
{Diberikan dua buah bilangan bulat positif m dan n. Hasil perkalian m dan n adalah p}
1. Berikan nilai 0 untuk p jika m adalah bilangan genap.
2. Berikan nilai n ke p bila m adalah bilangan ganjil.
3. Bagilah m dengan 2 kemudian simpan hasil pembagian di m (dengan pembulatan ke
bawah).
4. Kalikanlah n dengan 2 kemudian simpan hasil perkalian di n.
5. Jika m = 0 maka stop.
6. Jika m adalah bilangan ganjil maka tambahkanlah nilai n ke p kemudian lanjutkan ke
langkah 3.
Algortima perkalian ala Russe dapat diilustrasikan dengan contoh kasus berikut :
Mencari hasil perkalian antara 11 dengan 3 :
11 3 3
5 6 6
2 12
1 24 24
33
Hasil perkaliannya adalah 33.

ALGORITMA MENGIRIM SURAT
{Ada dua orang A dan B. A ingin mengirimkan surat yang berisi informasi bahwa A
berhasil lulus UMPTN dan A ingin memastikan bahwa informasi tersebut sampai ke B}
1. Tulis surat kemudian kirimkan ke B.
2. Mulai menghitung waktu tunggu dari 0.
3. Cek datangnya surat balasan, jika sudah datang maka , cek apakah di dalam surat balasan terdapat informasi bahwa B sudah menerima surat A. Jika ada maka stop
4. Cek lamanya waktu tunggu, jika sudah 1 minggu maka lanjutkan ke langkah 1
5. Lanjutkan ke langkah 3.

Referensi Buku :
Munir, R., “Algoritma dan Pemrograman dalam Bahasa Pascal dan C”, Informatika . Bandung, 2000

Senin, 09 November 2009

Algoritma pertama kali diperkenalkan Oleh Ahli Matematika yang bernama Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi. Ditinjau dari asal usul kata, kata algoritma sendiri mempunyai sejarah yang aneh. Kata ini tidak muncul di dalam kamus Webster sampai akhir tahun 1957. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka Arab [KNU73]. Anda dikatakan algorist jika anda menggunakan angka Arab. Para ahli bahasa berusaha menemukan asal kata algorism ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal mula kata tersebut. Kata algorism berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja’far Muhammad ibnu Musa al-Khuwarizmi(al-Khuwarizmi dibaca orang Barat menjadi algorism). Al-Khuwarizmi menulis buku yang berjudul Kitab al jabar wal-muqabala, yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction).


Dari judul buku itu kita juga memperoleh akar kata
aljabar” (algebra). Perubahan dari kata algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran -sm berubah menjadi - thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang sudah biasa/ lumrah, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna aslinya [PAR95]. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.
1. PENGERTIAN LOGIKA DAN ALGORITMA

Pengertian LOGIKA:
Logika berasal dari bahasa Yunani yaitu LOGOS yang berarti ilmu. Logika pada dasarnya filsafat berpikir. Berpikir berarti melakukan suatu tindakan yang memiliki suatu tujuan. Jadi pengertian Logika adalah ilmu berpikir / cara berpikir dengan berbagai tindakan yang memiliki tujuan tertentu.



Pengertian ALGORITMA:
Pada Merriam-Webster’s Collegiate Dictionary, istilah algoritma diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau menyelesaikan suatu tugas. Kamus Besar Bahasa Indonesia (KBBI) mendefinisikan algoritma sebagai urutan logis pengambilan keputusan untuk pemecahan masalah.

Algoritma adalah urutan langkah - langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Logis merupakan kunci dari sebuah algoritma. Langkah - langkah dalam algoritma harus logis dan bernilai benar atau salah.


Algoritma dapat diekpresikan dalam bahasa manusia, menggunakan presentasi grafik melalui sebuah FlowChart (diagramalir) ataupun melalui PseudoCode yang
menjembatani antara bahasa manusia dengan bahasa pemrograman.

Berdasarkan permasalahan yang terjadi pada bagian sebelumnya, bagaimanakah kita dapat memberikan solusi penyelesaian secara umum dalam sebuah alur yang dapat dengan mudah dimengerti?

Mengekspresikan cara penyelesaian melalui bahasa manusia :

1. Tentukan daftar nama
2. Tentukan nama yang akan dicari, anggaplah ini merupakan sebuah kata kunci
3. Bandingkan kata kunci terhadap setiap nama yang terdapat pada daftar
4. Jika kata kunci tersebut sama dengan nama yang terdapat pada daftar, tambahkan nilai 1 pada hasil perhitungan
5. Jika seluruh nama telah dibandingkan, tampilkan hasil perhitungan (output)

Mengekspresikan solusi melalui Pseudocode :
listNama = Daftar Nama
keyNama = Nama yang dicari
hitung = 0

Untuk setiap nama pada Daftar Nama lakukan :
Jika nama == keyNama
Hitung = Hitung + 1
Tampilkan Hitung

2. FLOWCHART

Alat Bantu untuk menuliskan Logika dan Algoritma, salah satunya adalah FLOWCHART.

Pengertian FLOWCHART:
gambaran dalam bentuk diagram alir dari algoritma dalam suatu program atau prosedur sistem secara logika, yang menyatakan arah alur program dalam menyelesaikan suatu masalah.
SIMBOL Flowchart :



Pedoman-pedoman dalam Membuat Flowchart:
1.Bagan alir sebaiknya digambar dari atas ke bawah dan mulai dari bagian kiri dari suatu halaman.
2.Kegiatan di dalam bagan alir harus ditunjukkan dengan jelas.
3.Harus ditunjukkan dari mana kegiatan akan dimulai dan dimana akan berakhirnya (diawali dari satu titik START dan diakhiri dengan END).
4.Masing-masing kegiatan di dalam bagan alir sebaiknya digunakan suatu kata yang mewakili suatu pekerjaan, misalnya:
- "Persiapkan" dokumen
- "Hitung" gaji
5.Masing-masing kegiatan di dalam bagan alir harus di dalam urutan yang semestinya.
6.Kegiatan yang terpotong dan akan disambung di tempat lain harus ditunjukkan dengan jelas menggunakan simbol penghubung.
7.Gunakanlah simbol-simbol bagan alir yang standar.

Secara garis besar, Ada 3 bagian utama dalam flowchart :


Contoh:

Buat algoritma dan Flowchart untuk Menghitung Luas Persegi Panjang:

Pekerjaan:
Rumus:
LuasPersegiPanjang = Panjang x Lebar
Algoritma:
1.Tentukan nama variabel yang akan menampung data Panjang, lebar dan luas persegi panjang.
2.Masukkan (inputkan) data Panjang dan Lebar pada variabel yang sudah ditentukan.
3.Hitung Luas persegi panjang.
4.Tampilkan (outputkan) Luas persegi panjang.

Flowchart:



3. IMPLEMENTASI DALAM PROGRAM

(Sebagai contoh: Bahasa Pemrograman Pascal)

Pengertian PROGRAM:
Kumpulan instruksi (statements) yang disusun secara logis untuk memecahkan suatu masalah. Instruksi-instruksi yang digunakan disesuaikan dengan jenis bahasa pemrograman yang digunakan (reserved word yang disediakan).

Stuktur Penulisan Pascal:
Program Nama_Program;
uses
. . . {Unit-unit yang dipakai} ;
label
. . . {label-label yang dipakai } ;
const
. . . {pengumuman tetapan-tetapan} ;
type
. . . { pengumuman tipe-tipe data };
var
. . . { pengumuman peubah-peubah };

procedure Nama_Prosedur;
begin
. . .
end;

Function Nama_Fungsi;
begin
. . .
end;

{ Program utama }
begin
. . .
end.

Perintah Input :

Perintah Input :
Perintah Pascal yang digunakan untuk memasukkan/menginputkan data.
Bentuk perintah:
Read dan Readln
Struktur penulisan:
Read(nama variabel);
Readln(nama Variabel)

Perintah Output:
Perintah Pascal yang digunakan untuk menampilkan/mengoutputkan data.
Bentuk perintah:
Write : setelah menampilkan data atau teks, kursor berada tepat disamping kanan data yang ditampilkan.
Write : setelah menampilkan data atau teks, kursor berada pada baris berikutnya.
Struktur penulisan:
write(nama variabel);
write(‘teks’);
writeln(nama Variabel);
writeln(‘teks’);

Contoh:
Buat program sederhana untuk Menghitung Luas Persegi Panjang:

Program LuasPersegiPanjang;
Var
Luas, Panjang, Lebar : integer;
Begin
Readln(panjang);
Readln(Lebar);Luas:= Panjang*Lebar;
Writeln(‘Luas Persegi Panjang adalah:’,Luas);
Readln;
End.
Tampilan pada lembar kerja Pascal:



Menjalankan program dengan perintah:
Ctrl+F9(tekan tombol Ctrl dan F9 bersama-sama).

Apabila Panjang diisi 7 dan lebar diisi 8 maka hasil perintah diatas tampil sbb:



STRUKTUR KENDALI “IF’

Struktur kendali aliran adalah suatu bentuk/struktur yang memiliki peranan khusus untuk mengatur aliran urutan pengerjaan operasi atau beberapa operasi tertentu.

Salah satu contoh pernyataan kendali yaitu pernyataan if .
Pernyataan if (if statement) akan memeriksa suatu persyaratan dan menentukan apakah syarat tersebut benar atau salah, kemudian melakukan pekerjaan sesuai dengan nilai pernyataan tersebut.

Struktur Penulisan:
Berikut adalah bentuk-bentuk dari pernyataan if yang sering digunakan :
1. If dengan satu pernyataan (statement)
If (kondisi) then pernyataan ;

2. If dengan dua atau lebih pernyataan (statement)
If (kondisi) then
begin
pernyataan1 ;
pernyataan2 ;
…..
end;

3. If dan else
If (kondisi) then
begin
pernyataan1 ;
pernyataan2 ;
…..
end
else
begin
pernyataan1 ;
pernyataan2 ;
…..
end;

Dari bentuk bentuk pernyataan if di atas yang harus diperhatikan adalah untuk pernyataan if dan else, pernyataan-pernyataan setelah then tanpa menggunakan “;”. Dengan kata lain jika pernyataan setelah then hanya terdiri dari satu pernyataan saja makan pernyataan tersebut tanpa menggunakan “;”, namun jika pernyataan setelah then terdiri dari lebih dari satu pernyataan makan setelah end tanpa menggunakan “;”.

Referensi : http://dosen.stiki.ac.id/sugeng/tugas/PENGANTAR%20LOGIKA%20DAN%20ALGORITMA%20DENGAN%20PASCAL.doc

pengatar logika dan algoritma

Pengantar Logika dan Algoritma

1. SIAPA YANG MENGENALKAN ALGORITMA PERTAMA KALI ?

Algoritma pertama kali diperkenalkan oleh Ahli Matematika yang bernama Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi. Ditinjau dari asal usul kata, kata algoritma sendiri mempunyai sejarah yang unik. Kata ini tidak muncul di dalam kamus Webster sampai akhir tahun 1957. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka Arab [KNU73]. Anda dikatakan algorist jika anda menggunakan angka Arab. Para ahli bahasa berusaha menemukan asal kata algorism ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal mula kata tersebut. Kata algorism berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja’far Muhammad ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca orang Barat menjadi algorism). Al-Khuwarizmi menulis buku yang berjudul Kitab al jabar wal-muqabala, yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction).

Dari judul buku itu kita juga memperoleh akar kata
aljabar” (algebra). Perubahan dari kata algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran -sm berubah menjadi – thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang sudah biasa/ lumrah, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna aslinya [PAR95]. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.
2. PENGERTIAN LOGIKA DAN ALGORITMA

Pengertian LOGIKA:
Logika berasal dari bahasa Yunani yaitu LOGOS yang berarti ilmu. Logika pada dasarnya filsafat berpikir. Berpikir berarti melakukan suatu tindakan yang memiliki suatu tujuan. Jadi pengertian logika adalah ilmu berpikir / cara berpikir dengan berbagai tindakan yang memiliki tujuan tertentu.

Pengertian ALGORITMA:
Pada Merriam-Webster’s Collegiate Dictionary, istilah algoritma diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau menyelesaikan suatu tugas. Kamus Besar Bahasa Indonesia (KBBI) mendefinisikan algoritma sebagai urutan logis pengambilan keputusan untuk pemecahan masalah.

Algoritma adalah urutan langkah – langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Logis merupakan kunci dari sebuah algoritma. Langkah – langkah dalam algoritma harus logis dan bernilai benar atau salah.

3. BAGAIMANA ALGORITMA DIEKSPRESIKAN ?

Algoritma dapat diekpresikan dalam bahasa manusia, menggunakan presentasi grafik melalui sebuah FlowChart (diagram alir) ataupun melalui PseudoCode (yang menjembatani bahasa manusia dengan bahasa pemrograman).

Contoh cara menghitung luas segitiga.

- Melalui bahasa manusia:
1. Tentukan nilai Alas
2. Tentukan nilai Tinggi
3. Hitung nilai Luas dengan formula Alas kali Tinggi dibagi 2
4. Tampilkan hasil perhitungan Luas

- Melalui Pseudocode:

  1. baca A
  2. baca T
  3. L = A * T / 2
  4. Tulis L

4. FLOWCHART
Alat bantu untuk menuliskan Logika dan Algoritma, salah satunya adalah FLOWCHART.

Pengertian FLOWCHART:
gambaran dalam bentuk diagram alir dari algoritma dalam suatu program atau prosedur sistem secara logika, yang menyatakan arah alur program dalam menyelesaikan suatu masalah.
SIMBOL Flowchart :

Pedoman-pedoman dalam Membuat Flowchart:
1.Bagan alir sebaiknya digambar dari atas ke bawah dan mulai dari bagian kiri dari suatu halaman.
2.Kegiatan di dalam bagan alir harus ditunjukkan dengan jelas.
3.Harus ditunjukkan dari mana kegiatan akan dimulai dan dimana akan berakhirnya (diawali dari satu titik START dan diakhiri dengan END).
4.Masing-masing kegiatan di dalam bagan alir sebaiknya digunakan suatu kata yang mewakili suatu pekerjaan, misalnya:
- “Persiapkan” dokumen
- “Hitung” gaji
5.Masing-masing kegiatan di dalam bagan alir harus di dalam urutan yang semestinya.
6.Kegiatan yang terpotong dan akan disambung di tempat lain harus ditunjukkan dengan jelas menggunakan simbol penghubung.
7.Gunakanlah simbol-simbol bagan alir yang standar.

Secara garis besar, Ada 3 bagian utama dalam flowchart :

Contoh:

Buat algoritma dan Flowchart untuk Menghitung Luas Persegi Panjang:

Pekerjaan:
Rumus:
LuasPersegiPanjang = Panjang x Lebar
Algoritma:
1.Tentukan nama variabel yang akan menampung data Panjang, lebar dan luas persegi panjang.
2.Masukkan (inputkan) data Panjang dan Lebar pada variabel yang sudah ditentukan.
3.Hitung Luas persegi panjang.
4.Tampilkan (outputkan) Luas persegi panjang.

referensi : http://embud2006.wordpress.com/2009/07/10/pengantar-logika-dan-algoritma/