Sabtu, 12 Mei 2012

algoritma Euclidean


PROGRAM  ALGORITMA EUCLIDEAN
L.Hambali[1] Abdul Mukti[2]


Abstrak: Tepatnya simulasi yang diperoleh dengan mengunakan Matrik Laboraturium untuk  Program algoritma Euclidean tentu tidaklah lepas dari penguasaan materi dan analisa yang tinngi mengenai bahasa program, kurangnya penguasaan materi akan menyebabkan hasil yang tidak maksimal atau boleh dikatakan programnya tidak akan jalan sehinga simulasinya tidak ada. Untuk menjalankan program secara maksimal dan simulasinya tepat laporan ini berupaya menerangkan algoritma-algoritma yang insyaallah menjadikan program akan menghasilkan simulasi yang diinginkan. Dalam laporan ini tersedia sedikit algoritma untuk memperoleh hasil simulasi dari program algorima Euclidean. Dengan demikian melalui laporan ini mahasiswa diharapkan mampu mengembangkan pengusaan materi mengenai algotima Euclidean tidak secara teoritis saja melainkan lebih kepada penggunaan alat yang sedikit  lebih modern yaitu dengan program berbasis komputasi.

Kata Kunci: Matrik Laboraturium, Algoritma Euclidean, Komputasi.




1.      Pendahuluan
a)      Latar belakang
Selama ini mahasiswa matematika khususnya hanya mempelajari matematika hanya sekedar tahu saja dalam artian bahwa apa yang dipelajari itu tidak ada pengembangannya sehingga matematika tidak mencerminkan hakikatnya. Hakikat matematika sesungguhnya adalah pola berpikir, pola mengorganisasikan pembuktian yang logic dan juga matematika adalah bahasa, bahasa yang menggunakan istilah yang didefinisikan dengan cermat, jelas dan akurat, represeentasinya dengan symbol, lebih berupa bahasa symbol mengenai ide daripada mengenai bunyi[3].
Dalam mempelajari matematika kita dituntut untuk memaikan logika, penganalisan yang mendalam mengenai bahasa matematika yang penuh dengan symbol-simbol sehingga pemahaman yang mendalam sangat penting, dimana selama ini  pengetahuan kita hanya sekedar tahu saja tanpa kita lebih mendaalami bahasa dari teori-teori tersebut.
Matematika merupakan matapelajaran yang sangat terkenal membosankan bagi kebanyakan orang dengan kata lain matematika sudah tidak baik lagi imagenya bagi sebagaian orang, ini adalah sebuah permasalahan yang harus segera ditemukan solusinya atau jalan keluarnya sehingga matematika tidak dianggap membosankan.
Tidak hanya itu kita sebagai calon guru yang diahrapkan mampu untuk mengembangkan pengetahuannya atau teori yang sudah selama ini dikuasi yang bagi kebanyakan mahasiswa calon guru atupun guru dalam menyampaikan materi tidak menarik atau metode penyampainya itu-itu aja tidak ada menariknya untuk itu kita dituntut untuk lebih modern sedikit dalam menyampaikan materi supaya materi itu berkesan bagi siswa atau mahasiswa.

b)      Rumusan Masalah
1)      Bagaimana membangun algoritma komputasi menggunakan struktur while untuk menentukan Fakor Persekutuan Terbesar (FPB) dari dua buah bilangan bulat menggunakan algoritma Euclidean ?
2)      Bagaiman membangun algoritma komputasi Graphical User Interfaces (GUI) untuk mengitung nilai Faktor Persekutuan Terbesar (FPB) dari dua buah bilangan bulat menggunakan algoritma Euclidean ?

c)      Tujuan
1)      Dapat membangun algoritma komputasi menggunakan struktur while untuk menentukan Fakor Persekutuan Terbesar (FPB) dari dua buah bilangan bulat menggunakan algoritma Euclidean.
2)      Dapat membangun algoritma komputasi Graphical User Interfaces (GUI) untuk mengitung nilai Faktor Persekutuan Terbesar (FPB) dari dua uah bilangan bualat menggunakan algoritma Euclidean.


2.      Teori
Struktur while merupakan perintah pengulangan dengan parameter berhenti pengulangan berdasarkan suatu kriteria logika, tidak berdasarkan banyaknya kali pengulangan sebagaimana pada struktur for . Struktur while merupakan konsep pembagian sebagai pengurangan berulang. Aplikasinya untuk membentuk algoritma pembagian dan telah dikembangkan menjadi algoritma eucliden untuk menentukan FPB dari dua buah bilangan bulat.
Algoritma Euclidean merupakan algoritma yang digunakan untuk mencari FPB dari dua buah bilangan bulat m dan n,
Secara formal algoritma Euclidean kita dirumuskan sebagaiberikut[4] :
Misalkan m dan n adalah bilangan bulat tak negatif dengan . misalkan r0 = m  dan r1 = n. maka algoritmanya sebagi berikut :
                         
                          
.
.
.
         
 
Algoritma Euclidean
1)      Jika n = 0 maka
m adalah FPB (m, n)
stop
tetapi jika  
            lanjutkan ke langkah  2.
2)      Bagilah m dengan n dan misalkan r adalah sisanya.
3)      Ganti nilai m dengan n dan nilai n dan kelangkah 1.
Catatan : jika , maka pertukarkan terlebih dahulu nilai m dan n.
Contoh :
FPB dari 80 dan 12 adalah 4
Untuk membuktikannya kita gunakan algoritma Euclidean maka
Karena  maka langkah instruksi kedua dikerjakan : 80 dibagi 12 memberikan hasil 6 dan sisa  ----à
Kerjakan langkah instruksi 3:
Kembali ke langkah instruksi 1, karena , maka langkah 2 dikerjakan: 12 dibagi 8 memberikan hasil 1 dan sisa , ---à
Kerjakan langkah instruksi 3:
Kembali ke langkah instruksi 1, karena , maka langkah 2 dikerjakan: 8 dibagi 4 memberikan hasil 2 dan sisa , ---à
Kerjakan langkah instruksi 3:
Kembali ke langkah instruksi 1, karena , maka FPB dari 80 dan 12 adalah nilai  m terakhir, yaitu 4. Jadi FPB (80,12) = 4.
Secara ringkas proses tersebut adalah sebagai berikut :
Sisa pembagian terakhir sebelum 0 adalah 4, maka FPB (80, 12) = 4.

3.      Algoritma M-file
a)      Prosedur kerja /Algoritma
1.      Membuka program MATLAB, kemudian pada Comman Window tuliskan kata Edit, kemudian enter
2.      Pada Editor , masukkan algoritma Euclidean sebagai berikut :
Ketika kita berbicara tentang algoritma Euclidean maka tentu kita teringat bahwa algoritma ini tidak akan bisa bekerja jika bilangannya kurang dari 0 dan bilangan diantara 0 dan 1 akan tetapi beroperasi pada bilangan bulat positif, sehingga untuk mendapatkan simulasi yang diinginkan ikuti lakukan-langkah algoritma berikut:
Maka hasilnya sebagai berikut :
Program tersebut belum sempurna hal ini terbukti  ketika diberikan nilai a >b, a<0, b<0, a bukan bilangan bulat dan b bukan bilangan bulat,  maka hasilnya tidak memberikan nilai yang dapat dijamin kebenarannya. Shingga perlu dibuat control lagi dengan melihat keadaan tersebut dan berdasarkan teori yang menyatakan algoritma Euclidean mensyaratkan  dimana a dan b adalah bilagan bulat. Control yang perlu kita perhatikan adalah sebagai berikut :
1.      Algoritma Euclidean dijalankan jika a>0 dan b>0 dan a bilangan bulat dan b bilangan bulat. Dalam hal ini sub kontrol lagi adalah, jika inputan a>b, maka tukar a dengan b sehingga b>a.
2.      Algoritma Euclidean tidak dapat dijalankan jika a<0 atau b<0a atau a bukan bilangan bulat atau b bukan bilangan bulat
Oleh karena itu algoritmnya sebagai  berikut :
1)      Tempatkan kursor anda pada ujung kalimat pada statement 8 kemudian enter
2)      Tuliskan perintah dalam bahasa MATLAB dari  “Jika a>=0 dan b>=0”,  kemudian enter
3)      Bentuk barisan bilangan cacah hingga a, misal sebut sebagai A, kemudian enter
4)      Bentuk barisan bilangan cacah hingga b, misal sebut sebagai B, kemudian enter
5)      Baca panjang data A misal sebut sebagai n1, kemudian enter
6)      Baca panjang data B misal sebut sebagai n2, kemudian enter
7)      Definisikan selisih a dengan elemen terakhir dari A, misal sebut sebagai s1
8)      Definisikan selisih b dengan elemen terakhir dari B, misal sebut sebagai s2
9)      Tuliskan perintah dalam bahasa MATLAB dari “ Jika s1 sama dengan 0 dan s2 sama dengan 0, kemudian enter
10)  Tuliskan perintah dalam bahasa MATLAB dari “ jika a lebih dari b “ , kemudian enter
11)  Desain pertukaran nilai a dengan b sehingga b lebih dari a kemudian enter
12)  Tuliskan perintah  akhiri” dalam bahasa MATLAB kemudian enter
13)  Tempatkan kursor pada ujung statement terakhir program kemudian enter
14)   Tuliskan perintah ”kondisi lainya” dalam bahasa MATLAB, kemudian enter
15)  Tuliskan peringatan  “Maaf tidak dapat diproses, ok!” kemudian enter
16)  Tuliskan perintah “akhiri” dalam bahasa MATLAB.
17)  Tuliskan perintah ”kondisi lainya” dalam bahasa MATLAB, kemudian enter
18)  Tuliskan peringatan  “Maaf tidak dapat diproses, ok!” kemudian enter
19)  Tuliskan perintah “akhiri” dalam bahasa MATLAB
Sehigga tampilan sebagai berikut :
               
Sehingga hasil  simulasnya sbagai berikut :
 
Akan tetapi agar tampilan hasil simulasi pada command window lebih kelihatan cantik dan orang lain tidak kebingungan ketika mengoperasikan  algoritma yang kita buat maka sebaiknya kita tambahkan sedikit konntrol sehingga tampilannya sebagai berikut :
3.       Klik menu Tool, kemudian Run dan simpan nama file dengan nama Euclideanwindow dan  pastikaan simulasi yang anda peroleh sebagai berikut :
4.      Aplikasi GUI
a)      Prosedur Kerja
1.      Membuka program Matlab, kemudian pada Comman Window tuliskan kata guide kemudian tekan enter, atau bisa langsung tekan gambar tanda GUIDE pada toolbar
Guide baru
 
 
2.      Pilih ok  pada Guide Quick Start dan Blank GUI (Depault)
3.      Pilih Static Text, kemudian lakukan drag sehingga tampilan sebagai berikut
  1. Double klik pada Static text  yang dibuat tadi untuk menuju ke Property Inspector dan kemudian lakukan editing sebagai berikut:
a.       Pada String,  klik Statistic text dan ganti dengan kalimat PROGRAM ALGORITMA EUCLIDEAN
b.      Pada FontSize, klik 8 dan ganti dengan 15 (dapat diatur sesuai keinginan)
c.       Pada BackGroundColor, lakukan pemilihan warna yang anda inginkan
d.      Setelah a, b dan c dilakukan, kemudian klik di daerah untitled.fig dan dapatkan tampilan sebagai berikut
  1. Dengan cara pada 4 (kalimat, warna dan ukuran huruf disesuaikan) lakukan desain sehingga diperoleh tampilan sebagai berikut
  1. Pilih Panel, kemudian drag sehingga tampilan sebagai berikut
  1. Pilih Static Taxt, tempatkan pada panel sambil mendrag buat tampilan sebagai berikut
  1. Double klik pada panel yang telah dibuat tadi untuk menuju ke Property Inspector dan lakukan editing sebagai berikut :
a.       Pada Title klik panel kemudian ganti dengan Inputan
b.      Pada FontSize, klik 8 dan ganti dengan 9 (dapat diatur sesuai keinginan)
c.       Pada BackGroundColor, lakukan pemilihan warna yang anda inginkan
d.      Setelah a, b dan c dilakukan, kemudian klik di daerah untitled.fig dan dapatkan tampilan sebagai berikut
  1. Dengan cara pada 8 (kalimat, warna dan ukuran huruf disesuaikan) lakukan desain sehingga diperoleh tampilan sebagai berikut
  1. Dengan cara 4 (kalimat, warna dan ukuran huruf disesuaikan) lakukan desain sehingga diperoleh tampilan sebagai berikut
  1. Pilih Edit Text, dengan mendrag  pada panel Inputan buat tampilan sebagaimana gambar berikut
  1. Double klik pada Edit Text yang telah dibuat tadi untuk menuju ke Property Inspector dan lakukan editing sebagai berikut:
a.       pada String, hapus kata Edit Text
b.      Pada Tag, ganti Edit1 dengan a dan Edit2 dengan b
Sebagai b
 
Sebagai a
 

  1. Pada GUI pilih Listbox, kemudian dengan mendrag ke Panel Output dapatkan tampilan sebagai berikut
  1. Double klik pada Listbox yang dibuat tadi untuk menuju ke Property Inspector dan lakukan editing sebagai berikut:
a.       Pada String hapus Listbox
b.      Pada Tag ganti Listbox1 dengan hasil
Sebagai hasil
 

  1. Pada GUI klik Push Button, kemudian drag pada Panel Proses dan buat tampulan sebagai berikut
  1. Double klik pada Push Button yang telah dibuat tadi untuk menuju ke Property Inspector, dan lakukan editing sebagai berikut :
a.       pada String, ganti kalimat Push Button dengan HITUNG untuk Push Button1 dan Hapus untuk Push Button2 serta Exit untuk Push Button3
b.      Pada FontSize, klik 8 dan ganti dengan 11 (dapat diatur sesuai keinginan)
c.       Pada BackGroundColor, lakukan pemilihan warna yang anda inginkan
d.      Setelah a, b dan c dilakukan, kemudian klik di daerah untitled.fig dan dapatkan tampilan sebagai berikut
  1. Klik menu Tool, kemudian Run dan simpan nama file dengan nama FPB
  2. Selnajutnya klik kanan pada Tombol HITUNG, kemudian pilih View Callbacks dan Callback. Anda akan tertuntun otomatis ke program Mfile. Hati-hati, jangan ada yang terhapus
  3. Tempatkan kursor di ujung kalimat yang terblok kemudian enter
  4. Selanjutnnya buat program algoritma Euclidean dengan algoritma sebagai berikut
hambali=guidata(gcbo)
a=str2double(get(hambali.a,'String'));
b=str2double(get(hambali.b,'String'));
  1. Kemudian copy skrip program Eucliden yang sudah dibuat pada kegiatan 3.1 mulai dari pernyataan setelah inputan.
  2. Ganti perintah disp yang pertama dengan perintah berikut
  1. Ganti perintah disp yang kedua dengan perintah berikut:
  1. Ganti perintah disp yang ketiga dan keempat dengan perintah berikut:
. set(hambali hasil,'String','Maaf FPB tidak dapat diproses')
  1. Dengan cara yang ke-18 dan 19 berlaku pada tombol Hapus, selanjutnya masukkan algoritmanya sebagai berikut:
hambali=guidata(gcbo)
set(hambali.a,'string','  ')
set(hambali.b,'string','  ')
set(hambali.hasil,'string','  ')
  1. Dengan cara yang ke-18 dan 19 berlaku pada tombol Exit, selanjutnya masukkan algoritmanya sebagai berikut:
Close;
27.  Simpan program dan jalankan program anda. Pastikan simulasi yang anda peroleh sebagai berikut:
 
           
5.      Pesan dan Kesan
a)      Pesan
1.      Dalam menjalankan program ini pastikan algoritma yang dibuat benar-benar tidak akan menybabkan computer anda direstart.
2.      Didalam pelaksanaan perkuliahan selama ini kami merasa krang puas denga waktu yang begitu singkat untuk membahas materi sekaligus praktek apa tidak sebaiknya perkulihan dilaksanakan dengan cara sekali pertemuan maembahas materi dan pertemuan berikutnya praktek.
3.      Untuk hasil yang memuaskan mengenai program ini seharusnya seharusnya melakukan perkuliahan di Lab. Computer.
4.      Kami rasa program yang kami buat tiak cukup untuk program ini saja masih banyak teori matematika yang belum kami tau algoritmanya sehingga kami berharap untuk tahun yang akan datang programnya lebih diperbanyak lagi.  
b)     Kesan
1.      Setelah mencoba program ini kami benar-benar dituntut untuk mempmiliki kemampan untuk menganalisa setiap control yang akan dibuat sehingga pengetahuan yang sudah ada sebelumnya semakin mantap.
2.      Program ini sangat menyenagkan pada saat kami mengalami kesalahan, disitu kami dituntut untuk berfikir lagi bagaimana supaya algoritmanya benar.
3.      Program ini terkadang antara pemikiran yang ada pada otak tidak sesuai dengan kenyataan yang ada sehingga butuh kesabaran.
4.      Program ini secara tidak langsung memberikan cara memahami sebuah teori sehingga mudah melekat dalam otak.

6.      Kesimpulan
Ø  Untuk membangun sebuah algoritma Euclidean dengan simulasi yang tepat dengan struktur while maka hal yang pertama kali yang harus kita perhatikkan adalah bagaimana syarat supaya algoritma itu bisa dijalanka, untuk menjalankan algoritma Euclidean ini kedua bilangan itu harus bilangan bulat yang lebih besar dari nol dan bilangan dari keduanya tidak boleh decimal.
Ø  Dalam membangun algoritma Euclidean melalui GUI yang perlu diperhatiakan adalah mengganti kata inputan dengan str2double keumdian mengganti disp dengan set akan tetapi unuk menampilkan set yang lebih dari satu yang harus ditampilkan dalam satu tampilan hasi sehingga kita tidak perlu membuat tempat output hasil sebanyak set yang ada maka perlu untuk membuat control baru dengan kata tampil=([……….]).

REFERENSI :
Sugiarto, Aris. Programan GUI dengan MATLAB. Yogyakarta: Andi. 2006.
Modul Praktikum MATLAB. 2009. IAIN Mataram.


[1] L.Hambal idalah mahasiswa IAIN Mataram jurusan Pendidikan Matematika.
[2] Abdul Mukti adalah mahasiswa IAIN Mataram jurusan Pendidikan Matematika.
[3] Jhonson dan Rising, Hakikat Mipa, 1972.
[4] Rinaldi Munir. Matematika Diskrit. Bandung. Informatika. 2010., hlm.187.

Tidak ada komentar:

Posting Komentar