Senin, 23 April 2012

Newton Rhapson


Praktikum Metode Numerik
Modul 3 Metode NEWTON - RHAPSON
BAB I
TUJUAN DAN DASAR TEORI

I.1 Tujuan
1.    Menguasai metode Newton Rhapson yang digunakan dalam komputasi numerik.
2.    Memahami algoritma pemrograman untuk merancang program metode posisi palsu - metode yang ada dalam komputasi numerik.
3.    Menerapkan algoritma untuk perancangan dan pembuatan program metode posisi palsu.
4.    Melakukan pengujian algoritma dan kode program
5.    Membuat dokumentasi

I.2 Dasar Teori
Metode Newton-Raphson adalah metode penyelesaian persamaan non-linear, dengan cara merapatkan suatu titik pada suatu sumbu x sehingga hampir mendekati perpotongan garis dengan sumbu x.

  
I.3 Langkah – langkah metode Newton Rhapson

1)      Menentukan nilai awal P0.
2)      Mencari nilai P berikutnya, dengan



3)      Menguji P, apakah f(x) sudah mendekati 0.
4)      Mencari nilai P berikutnya.

Modul selengkapnya dapat diunduh disni

Regula Falsi


Praktikum Metode Numerik
MODUL 2 Metode POSISI PALSU

BAB I
TUJUAN DAN DASAR TEORI
I.1 Tujuan
1.    Menguasai metode posisi palsu (atau regula-falsi) yang digunakan dalam komputasi numerik.
2.    Memahami algoritma pemrograman untuk merancang program metode posisi palsu - metode yang ada dalam komputasi numerik.
3.    Menerapkan algoritma untuk perancangan dan pembuatan program metode posisi palsu.
4.    Melakukan pengujian algoritma dan kode program
5.    Membuat dokumentasi

I.2 Dasar Teori
Metode posisi palsu (atau regula-falsi) menetapkan hampiran akar sebagai perpotongan antara garis yang melalui titik [a, f(a)], dan titik [b,f(b)] dengan sumbu-x. Jika titik potong tersebut adalah c, maka akar terletak antara (a,c) atau (c,b). Penentuan interval yang mengandung akar seperti pada metode bagi dua.
 


I.3 Langkah – langkah metode Posisi Palsu

1.      Tentukan batas atas (a) dan batas bawah (b)
2.   Menghitung c dengan rumus:



3.      Subtitusikan nilai c dalam Fungsi
4.      Jika f(c) < 0 maka nilai c sebelumnya akan menjadi batas atas (a) untuk iterasi berikutnya
5.      Jika f(c) > 0 maka nilai c sebelumnya akan menjadi batas bawah (b) untuk iterasi berikutnya
6.      Iterasi berhenti sampai nilai f(c) =  0

Modul selengkapnya bisa diunduh disini

Bisection Method


Modul 1 Metode Bagi Dua

BAB I
TUJUAN DAN DASAR TEORI
 1.1.  Tujuan
1)      Menguasai metode bagi dua yang digunakan dalam komputasi numerik.
2)      Memahami algoritma pemrograman untuk merancang program metode bagi dua yang ada dalam komputasi numerik.
3)      Menerapkan algoritma untuk perancangan dan pembuatan program  metode bagi dua.
4)      Melakukan pengujian algoritma dan kode program.
5)      Membuat dokumentasi.

1.2.  Dasar Teori
Metode bagi-dua membagi area (atau range) menjadi dua bagian, yakni bagian yang mengandung akar yang akan digunakan, dan bagian yang tidak mengandung akar, yang akan dibuang. Bagian yang mengandung akar kemudian dibagi berulang-ulang, sehingga dapat diperoleh akar-akar dari persamaan.

1. 3 Langkah:
1)      Mengetahui batas bawah dan atas: a dan b
2)      Menghitung c, menurut rumus:

3)      Jika z merupakan akar fungsi, maka f(x<z) dan f(x>z) saling berbeda tanda.
4)      f(a) x f(c) negatif, berarti diantara a dan c ada akar fungsi.
5)      f(b) x f(c) positif, berarti diantara b dan c tidak ada akar fungsi.

Selengkapnya bisa diunduh disini

Sabtu, 21 April 2012

Keterhubungan Kalkulus dan Metode Numerik

Sudah dua tahun penuh, saya mengasuh mata kuliah Metode Numerik (cakupan materinya disini) di Prodi Teknik Informatika Fakultas Teknik  Universitas Sam Ratulangi. Bersama dengan Tim Dosen Pengasuh (Mner Odi dan Nci Kartika), kami berusaha memaparkan konsep dan teori komputasi numerik untuk menyelesaikan persoalan-persoalan terkait fenomena alam, terutama menyangkut electrical science.

Disamping memberikan perkuliahan teori metode numerik, saya juga dipercayakan untuk memberikan Praktikum Metode Numerik. Pada dasarnya, praktikum metode numerik difokuskan untuk memberikan ruang kesempatan pada mahasiswa yang mengontrak mata kuliah Metode Numerik untuk "menerapkan" setiap konsep solusi penyelesaian masalah, dengan menggunakan teknik komputasi numerik.

Dari pengamatan saya, banyak mahasiswa yang mengalami kesulitan dalam “memodelkan” suatu natural phenomena ke dalam formulasi matematis. Padahal proses pemodelan atau biasa disebut formulasi, merupakan salah satu langkah krusial sebagai bagian dari kualifikasi seorang Sarjana Teknik, termasuk seorang Software Engineer.

Secara umum langkah-langkah untuk menyelesaikan permasalahan menurut keilmuan komputasi numerik adalah:
Fenomena Natural ==> Pemodelan / Formulasi Matematis ==> Algoritma Penyelesaian Masalah ==> Kodifikasi (penulisan coding) ==> Pengujian Coding ==> Solusi 
Proses ini HARUS dipahami secara mendasar bagi seorang Software Engineer.

Melihat kasus yang terjadi pada mahasiswa saya maka saya mengamati mereka cenderung tidak kesulitan untuk membuat coding program (dalam bahasa C/C++), tapi setelah diminta untuk menuliskan algoritma penyelesaian masalah, dari coding yang telah mereka tulis, mereka cenderung keteteran. Apalagi jika diminta untuk menuliskan formulasi matematis dari model permasalahan (pada soal studi kasus), para mahasiswa tersebut, tidak bisa melakukannya.

Menanggapi hal tersebut, saya membuat tulisan ini. Saya ingin memberikan wawasan pada mahasiswa informatika betapa pentingnya menguasai ilmu ilmu dasar matematis terutama Kalkulus, sebelum mereka bisa menguasai komputasi numeric.
Dibawah ini adalah table *) keterhubungan materi kuliah pada Kalkulus dengan metode/komputasi numeric.


Menurut penjelasan dari Mner Haris maka Tabel tersebut diatas dapat dipahami seperti dibawah ini:
Dalam buku teks ada bab (topik) tentang Diferensial Numerik maka untuk memahami topik ini seseorang butuh pengetahuan tentang Diferensial yang kalu pa torang ada di mata kuliah Kalkulus. 
Diferensial Numerik ← Diferensial (Kalkulus) 

Dalam buku teks ada topik tentang Integral Numerik maka untuk nimbrung di topik ini seseorang butuh pengetahuan tentang Integral yang kalo pa torang di mata kuliah Kalkulus. 
Integral Numerik ← Integral (Kalkulus) 

Dalam buku teks ada topik tentang Persamaan Diferensial Numerik maka untuk melibatkan diri dalam topik ini seseorang butuh pengetahuan tentang Persamaan Diferensial dalam mata kuliah Persamaan Diferensial. 

Sementara itu untuk memahami Persamaan Diferensial seseorang butuh penguasaan tentang topik Diferensial dan Integral dalam mata kuliah Kalkulus. 
Persamaan Diferensial Numerik ← Persamaan Diferensial (Matematika Teknik I) ← Differensial & Integral (Kalkulus) 

Demikian seterusnya napa kita ambe sampel kong ta taru di tabel supaya lebe sadap mo lia. Urutan topik mencerminkan kemungkinan muncul dalam buku teks tentang metoda, analisa, komputasi numerik. 

Tabel diatas memerikan kepada kita, bahwa mata kuliah Metode Numerik merupakan mata kuliah lanjutan dari beberapa mata kuliah matematika dasar seperti Kalkulus, Aljabar Linier dan Probabilitas & Statistik. Terkait dengan ini, seharusnyalah para mahasiswa memahami, bahwa untuk bisa melakukan proses formulasi (pemodelan) dan selanjutnya penyusunan algoritma masalah, diperlukan ketrampilan untuk menggunakan tools yang disebut Kalkulus (misalanya Persamaan Differensial).

Jadi, menguasai Kalkullus MERUPAKAN syarat mutlak bagi mereka yang ingin menjadi Software Engineers. 


Catatan:
Tabel dibuat oleh Mner DR (kandidat) Haris Ontowiryo, MT

Sarjana Teknik Informatika (bag 1)


Banyak yang bertanya kepada saya, mengapa menjadi Sarjana Teknik Informatika? Jawaban yang akan diberikan oleh masyarakat umum cenderung adalah: kemudahan üntuk mendapatkan pekerjaan! Tetapi apakah benar menjadi seorang sarjana teknik informatika itu hanya sekedar untuk mendapatkan pekerjaan?

Mari kita lihat kutipan dari ABET (Lembaga Standar Areditasi Internasional) ...
CRITERIA FOR ACCREDITING ENGINEERING PROGRAMS
Effective for Reviews During the 2012-2013 Accreditation Cycle

Kalau kita ingin menemukan kata ïnformatics (sebagai terjemahan dari informatika) maka kita tidak akan mendapatkannya. Seperti kita ketahui, di Amerika, cabang keilmuan informatika itu disebut Computer Science (atau Ilmu Komputer). Mengenai informatika, ilmu komputer dan rekayasa perangkat lunak, akan saya terangkan pada bagian tulisan yang lain.

Pada halaman 11 dari dokumen itu khusus untuk Elektro deng Komputer (Informatika), tertulis:

PROGRAM CRITERIA FOR ELECTRICAL, COMPUTER, AND SIMILARLY NAMED ENGINEERING PROGRAMS
Lead Society: Institute of Electrical and Electronics Engineers
Cooperating Society for Computer Engineering Programs: CSAB
The curriculum for programs containing the modifier “electrical” in the title must include advanced mathematics, such as differential equations, linear algebra, complex variables, and discrete mathematics.

Jika diterjemahkan secara bebas, maka kalimat tersebut berarti: 
kurikulum untuk program-program yang menggunakan kata keterangan "electrical", HARUS memasukkan matematika lanjut, seperti persamaan diferensial, aljabar linier, variabel kompleks, dan matematika diskret.

Kriteria standar seperti ini yang membedakan jenis pendidikan kesarjaanaan dan jalur vokasi (profesional). Pendidikan kesarjanaan elektro dan informatika harus BERDASAR pada keilmuan matematika seperti yang disebutkan diatas. Jika tidak ada, ini berarti suatu pendidikan S1 Elektro dan Informatika TIDAK STANDAR.

Berikut saya berikan kutipan dari milis dosen te_unsrat:
Ambe jo contoh, di bawah nama perguruan tinggi, di bawah suatu jurusan yang berjudul Teknik Elektro ato Informatika, di bawah mata kuliah dengan judul tarolah Kecerdasan Buatan Komputasional kong kase tugas beking program rekognisi tulisan. Napa d p algoritma dia cuma da unduh dari internet ada orang so beking rekognisi tulisan pake jaringan saraf tiruan. Jadi tu mahasiswa p karja cuma beking d p rancis-rancis tampilan deng sagala rupa, apa lagi pake bahasa visual le cuma banya di click and drag, kong tu kode sumber yang merupakan bagian utama dari d p tugas, yang dia cuma ada unduh, dia kurang se maso pa d p program. Jadi ini mahasiswa p kemampuan (kompetensi) cuma bahasa pemrograman yang dia ada pake itu. Tu konsep matematika jaringan saraf tiruan dia nentau, jadi dia nentau le itu algoritma di balik kode sumber rekognisi tulisan yang dia ada unduh itu, dia cuma tau bahwa itu kode sumber for rekognisi tulisan menggunakan jaringan saraf tiruan cuma dari d p judul. Jadi ini mahasiswa ini pure dummy user terhadap algoritma rekognisi tulisan berbasis jaringan saraf tiruan tadi. D p kompetensi cuma bahasa pemrograman yang dia pake itu. So paling tinggi yang dia tau dari kode sumber yang dia unduh tadi itu cuma apa d p masukan kong apa d p keluaran, d p isi sama sekali dia nentau alias blank. Jadi apa d p beda deng kursus pemrograman? Dari pada mendustai diri sandiri, berlindung di balik nama suatu perguruan tinggi, berlindung di balik nama suatu jurusan, berlindung di balik judul mata kuliah Intelegensia Komputasional, lebe bae to the point jo: KURSUS PEMROGRAMAM KOMPUTER.
Sama deng anak-anak SMK itu no, dia p karja cuma merakit komponen-komponen yang so jadi. Jadi anak SMK jo so cukup nda perlu sarjana-sarjana sagala rupa.

Inilah yang saya maksudkan dengan menjadi Seorang Sarjana Teknik Informatika! Sudah jelas, bahwa seorang sarjana teknik itu BERBEDA dengan sekedar seorang programmer, apalagi hanya user (pengguna) aplikasi komputer.

Signifikansi perbedaannya ada pada kemampuan intellectual skills yang dibangun diatas pondasi keilmuan matematika dasar dan matematika lanjut. Ciri ini SANGAT PRINSIP. Kita tidak bisa menyebut diri kita sebagai seorang SOFTWARE ENGINEER, apabila kita tidak menguasai matematika dan matematika lanjut.