bab i pendahuluan

Download Bab i Pendahuluan

If you can't read please download the document

Upload: khoirul-ikhsan-pane

Post on 29-Nov-2015

36 views

Category:

Documents


6 download

TRANSCRIPT

1PENDAHULUANPada bab ini dibahas konsep fisika komputasi sebagai bagian integral sainsmodern, yang memadukan antara solusi analitik, intuisi fisika dan komputasinumerik di dalam menjelaskan berbagai fenomena fisika. Dilengkapi dengan materi-materi dasar yang saling berkaitan sebagai pemahaman awal didalam mempelajarifisika komputasi.A. SASARAN UMUMSasaran umum dari perkuliahan ini adalah memberikan pemahaman kepadamahasiswa mengenai konsep fisika komputasi, dan piranti-piranti dasar yangdiperlukan di dalam mempelajari fisika komputasi.B. SASARAN KHUSUSSetelah perkuliahan selesai dilaksanakan, mahasiswa diharapkan mampu:1. Menjelaskan konsep fisika komputasi2. Menjelaskan pemodelan sistem fisis dengan solusi analitik dan solusi numerik3. Menjelaska n kedudukan komputer dan software4. Menjelaskan pengertian dan fungsi algoritma,flowchartdanpseudocode5. Menyebutkan dan menganalisa sumber utama kesalahan komputasi denganperangkat komputer6. Mengenali 3 (tiga) macam kesalahan dasar dalam komputasi yaituinherent,truncation error, danroundoff errors.C. URAIAN MATERIKomputasi (computation) adalah bagian integral sains modern dengankemampuan eksploitasi kekuatan komputer secara efektif di dalam aktivitasilmuwan. Ditinjau dari aspek proses, komputasi adalah kegiatan mendapatkanpenyelesaian atau solusi atas persoalan yang dinyatakan dalam model matematis.Penggunaan sebuah komputer dalam pemodelan sistem fisika telah jauh berkembang1fisika-komputasi dan kesuksesan ahli-ahli fisika komputasi mengkombinasikan antara solusi analitik,intuisi fisika dan kerja numerik dalam memecahkan persoalan adalah sisi lainkemampuan interaksinya.Ilmu pengetahuan dan pemahaman adalah prasyarat agar implementasikomputasi numerik efektif . Ilmu pengetahuan bisa dipelajari dari analisa te ori danpemahaman bisa diperoleh dari pengalaman empiris, yaitu observasi dan eksperimen.Walaupun dengan potensi utilitas terbaik terutama komputer, tanpa pemahamanfundamental bagaimana piranti bekerja maka tidak ada gunanya. Gambar 1.1menunjukkan proses penyelesaian kasus fisis dengan pendekatan empiris dan teorianalisis secara komputasi numerik.Definisikasus FisikaModelTEORI DATAMatematikapiranti bantu :komputer, statistik, metodenumerik, grafik dllHasil Numerikatau grafikImplementasiGambar 1.1 Proses penyelesaian masalah fisis dengan komputasi numerik1.1 Pemodelan Sistem Fisis : Analitik dan Komputasi NumerikPemodelan sistem fisis bisa didefinisikan sebagai sebuah formula ataupersamaan yang menyatakan perilaku dari suatu fenomena fisika dalam bentukpernyataan matematika. Pernyataan ini secara aktual bisa meliputi bentuk hubungan2fisika-komputasi aljabar sederhana sampai persamaan diferensial yang begitu rumit.Hal yang harus dikerjakan antara lain dengan mencermati lingkup persoalan,membuat kategori berdasarkan bidang kajian dan ilmu, melakukan pemilahan atasvariabel serta parameter yang primer dan sekunder, serta menetapkan suatu model,yang dinilai cukup sederhana untuk analisis selanjutnya, tetapi sekaligus cukuprealistis untuk menggambarkan keadaan dalam realitas. Great engineering is simpleengineering.Tiga aspek yang harus diperhatikan dalam pemodelan sistem suatu fenomenafisika adalah :1. Hukum-hukum alam yang berlaku2. Informasi serta pengalaman di lapangan3. Sasaran akhir yang ingin dicapaiMengingat hukum-hukum alam umumnya diungkapkan dalam pernyataanyang bersifat pasti serta tidak mengandung keragu -raguan akan sebab dan akibatnya,maka model yang diperoleh bersifatdeterministik. Model ini sering berupapernyataan matematika yang dijabarkan dari azas-azas kekekalan energi, massa danmomentum. Sebaliknya, ketidaklengkapan informasi mengenai aspek-aspek tertentudari realitas, atau tidak tersedianya rumusan yang memadai untuk menyatakanhukum alam yang berlaku sering mendorong pembentukan model yang bersifatnon-deterministik. Model jenis ini sering dikembangkan dengan menggunakan konseppeluang atau probabilitas, namun tidak tertutup kemungkinan model itu semata- matabersifatheuristikatauad-hoc.Hukum Newton II tentang gerak, dalam model atau pernyataan matematikasederhana dinyatakan=(1. 1)FmaFAtau dituliskan menjadi=(1. 2)amDimanaF= besar gaya yang bekerja pada benda (N, atau kg m/dt),m=massa benda2(kg) dana= percepatan (m/dt).2Karena bentuknya aljabar sederhana, solusi persamaan (1. 1) bisa didapatdengan mudah. Model yang lebih kompleks bisa ditinjau saat menentukan kecepatanakhir benda jatuh bebas dekat permukaan bumi. Contoh adalah penerjun payung3fisika-komputasi yang menggunakan parasut. Model kasus ini diturunkan dari pernyataan percepatansebagai perubahan kecepatan pada selang waktu (dv/dt)dvF=(1.3)dtmGaya (F) terdiri dari dua gaya berlawanan, yaitu yang cenderung kebawah karenatarikan gravitasiFdan gaya tarik keatas oleh resist ansi udaraF:DU=+(1.4)FFFDUjika gaya kebawah ditandai positif, makaF= mg, dimanag=konstanta gravitasiDdengan nilai pendekatan 9,8 m/dt. resistansi udara bisa diformulasikan dengan2bermacam variasi. Pendekatan sederhana adalah diasumsikan bahwa gaya iniberbanding linier dengan kecepatan, dan arahnya keatas, sehinggaF= cv, dimanaUc= konstanta pembanding disebut koefisien tarik (kg/dt).Dengan subtitusi (1.4) dan formulasiFdanF, persamaan (1.3) berubahDUmenjadi-dvmgcv=(1.5)dtmAtau disederhanakan menjadidvc=-(1.6)gvdtmPersamaan (1.6) adalah persamaan diferensial, dimana solusi eksak untuk kecepatanjatuh penerjun tidak bisa ditentukan dengan manipulasi aljabar sederhana.Selebihnya, teknik yang lebih lanjut pada kalkulus harus digunakan untukmenentukan solusi analitik ata u eksaknya. Jika keadaan awal penerjun diam (v=0padat=0) persamaan (1.6) menjadigm=-(1.7)v(t)(1e)-cmt(/)cPersamaan (1. 7) dinamakan solusi analitik atau eksak karena secara eksak memenuhipersamaan diferensial biasa.Solusi komputasi numerik untuk kasus ini bisa diperoleh denganmemformulasikan kembali bentuk (dv/dt) pada persamaan (1.6) sebagai berikut :-dvvv(t)v(t)=(1.8)i+i1-dtttti+i14fisika-komputasi

Dimanavdant= selisih dalam kecepatan dan waktu dihitung pada intervalterbatas. v(t)=kecepatan pada waktu awal t, dan v(t+1)=kecepatan setelah sekianiiiwaktu t+1. Catatan bahwa dv/dtv/tadalah pendekatan karenatterbatas.(Lihatigambar 1.2).v(t)i+ 1Kemiringansesungguhnyavdv/dtKemiringanv(t)pendekatanittti +i1tGambar 1.2 Penggunaan selisih hingga untuk pendekatan turunan pertama vterhadap tPersamaan (1.8) disubtitusikan ke (1.6) akan memberikan-v(t)v(t)c=-(1.9)gv(t)i+i1-ittmi+i1Dan bisa diubah menjadi-c=+-(1.10)v(t)v(t)gv(t)(tt)i+iii+i1m1Banyak model matematika dari fenomena fisika yang lebih kompleks, yangtidak bisa diselesaikan secara analitik atau eksak, sehingga memerlukan teknik fisikamatematika dari sekedar solusi aljabar sederhana. Dalam banyak kasus, alternatifsatu-satunya adalah mengembangkan solusi numerik yang mendekati solusi eksak.Contoh 1.1Seorang penerjun payung bermassa 68,1 kg meloncat dari ba lon udara yang diam.5fisika-komputasi Tentukan kecepatan sebelum meluncur di tempat pendaratan dengan metode analitikdan komputasi numerik ! (Koefisien tarik= 12,5 kg/dt . Lebar langkah komputasi 2detik)Solusi AnalitikMasukkan parameter-parameter ke persamaan (1.7)9,8(68,1)=-=--t-tv(t)(1e)53,39(1e)(12,5/68,1)0,18355.12,5Dan kecepatanv(t)bisa dihitung.Solusi NumerikPada perhitungan awal (t=0), kecepatan penerjun adalah nol. Dengan memasukkaninilai parameter ke persamaan (1.10) bisa dihitung kecepatan padat=2 detik :i+1-12,5=+=v09,8(0)219,60m/dt68,1Untuk interval berikutnya (dari t=2 ke 4 s), perhitungan diulang didapatkan:-12,5=+=v19,609,8(19,60)232,00m/dt68,1Perhitungan berlanjut untuk interval-interval berikutnya . Perbandingan solusi analitikdan numerik disajikan dalam tabel dan diilustrasikan pada gambar 1. 3. Solusinumerik yang diplot berdekatan dengan solusi analitik atau eksak, walaupun adaketidakcocokan. Hal ini menunjukkan bahwa metode numerik menangkap fiturdasar dari solusi eksak. Satu cara untuk meminimalkan ketidakcocokan adalahmenggunakan lebar langkah yang cukup kecil. Jika diaplikasikan persamaan (1.10)pada interval 1 detik akan menghasilkan error yang lebih kecil, sehingga lintasannyaberada pada solusi yang benar. Penggunaan lebar langkah yang semakin kecil padasolusi numerik menggunakan perhitungan tangan tent u tidak praktis, tetapi denganmemanfaatkan komputer, perhitungan bilangan yang besarpun bisa diselesaikandengan mudah.V,m/dtt,dtanalitik numerik0,000,00216, 4019, 60427, 7732, 006fisika-komputasi v,m/dt60635, 6439, 85Kecepatan akhir841, 1044, 82501044, 8747, 971247, 4949, 964053, 3953, 3983020100t,dt024681012Gambar 1. 3 Perbandingan solusi analitik dan numerik untuk kasus penerjun payungDari kasus sederhana ini, sebuah model dari kasus penerjun payung bisadibuat secara akurat tanpa menyelesaikan persamaan diferensial secara eksak.1.2 Komputer dan softwareMetode numerik mengkombinasikan dua perangkat penting dalamimplementasinya: matematika dan komputer. Fisika komputasi memanfaatkanmetode dan analisa numerik untuk menjelaskan fenomena fisika, yang disandarkanpada azaz-azas dan hukum- hukum fisika.Dengan perkembangan yang revolusioner komputer PC saat ini, dari sisikecepatan eksekusi data dan kontrol,spacememori yang semakin besar, dan hargayang semakin terjangkau, kehadiran komputer menjadi sangat essensial di dalamaktivitas saintis. Bukan hanya hardware yang berevolusi secara dramatis, prosespertumbuha n software juga bertransformasi secara radikal beberapa tahun terakhir.Pemrograman komputasi numerik dalam skala besar pun sudah bukan hal yangmerepotkan lagi, seperti yang terjadi pada dekade awal dengan kendala keterbatasanmemori, dan eksekusi program yang amat lambat.Dalam melakukan kegiatan komputasi numerik, berarti berinteraksi denganalat (komputer yang digunakan), metode (implementasi analisa numerik dalamprogram yang dimiliki), dan teori (sifat unik dari kasus yang dihadapi). Komputersebagai alat memiliki kemampuan: (1) dapat melakukan operasi penyimpanan karenaada memori, (2) dapat melakukan operasi- operasi tertentu atas data yang disimpan di7fisika-komputasi memori; (3) dapat menyajikan kembali isi memori dalam media display menurutformat yang dikehenda ki. Ketiga hal tersebut berkaitan erat dengan data -program-informasi.Program adalah deretan operasi yang sengaja ditulis untuk sebuah proseskomputasi. Program adalah resep tentang bagaimana komputasi itu harusdilaksanakan. Sebagai sebuah fakta tentang obyek komputasi, program disimpandalan memori komputer untuk dijalankan, yaitu membuat komputer melaksanakantiap operasi yang terdapat dalam program, satu demi satu, dari operasi pertama,kedua dan seterusnya. Himpunan instruksi yang dimiliki atau dikena l oleh komputeritulah yang disebut sebagai bshasa komputer atau bahasa pemrograman komputer.Jadi kehebatan komputer pada akhirnya hanya terletak dalam kemampuannya untukmembedakan apakah yang tersimpan dalam alamat atauaddressA dalam memoriadalah data untuk dioperasikan atau instruksi untuk dilaksanakan, dan hanyamerupakan pencerminan dari kemampuan manusia untuk mengkomunikasikankeinginannya dalam wujud program untuk dilaksanakan komputer.Ketika kasus penerjun payung pada contoh 1.1 dikerjakan se cara komputasinumerik, faktanya terjadi penerapan yang berulang dari sebuah fungsi eksplisit yangbersifat unik, yaitu nilai parameter t pada persamaan (1.10) . Disinilah peranalgoritma, yaitu istilah baku untuk proses komputasi berulang untuk memecahkanpersoalan dalam dunia nyata yang rumusan matematikanya bersifat eksplisit.Deskripsi harfiah langkah demi langkahnya adalah salah satu jalan untukmengekspresikan algoritma. Gambar 1. 4(a) memperlihatkan algoritma untuk solusidari kasus sederhana menjumla hkan 2 bilangan. Untuk representasi program yangcomplicated, bentuk ini tidak mencukupi lagi. Untuk itu, alternatif yang lebih cerdas,digunakanflowchartdanpseudocodeseperti pada gambar 1. 4(b) dan 1. 4(c).Flowchart adalah visual atau grafik representasi dari algortima, yangmenggunakan deretan blok- blok dan panah, yang masing-masing menyatakanoperasi atau langkah operasi. Sedangkan,pseudocodeadalah kode (code) yangmenjembatanigapantara flowchart dan kode komputer, dan format penulisannyalebih de kat pada pemrograman komputer.8fisika-komputasi

BeginLangkah1: MulaiPerhitunganLangkah2: Masukkan nilaiInput avariabel pertamaBegin AdderLangkah3: Masukkan nilaiInput bINPUT avariabel keduaINPUT bc=a+bLangkah4: Jumlahkan keduaAdd a to bPRINT cmasukan variabelEND Adderand store in cLangkah5: Keluaran hasilOutput cLangkah6: AkhirPerhitunganEnd(a) Algoritma (b) Flowchart (c) PseudocodeGambar 1. 4 (a) Algoritma, (b) Flowchart, dan (c) Pseudocodeuntuk program penjumlahan sederhanaStruktur flowcharttersusun berdasarkan pola urutan logika , dan untuk kasusyang kompleks tidak sesederhana seperti gambar 1. 4(b), karena memuat polapercabangan logika. Detail flowchart menggunakanaccumulatordancounteruntukmenghitung rata-rata nilai kuis diperlihatkan pada gambar 1. 5. Di dalamnya memiliki3 struktur dasar operasi, yaitusequence,selection, danrepetition. Stuktur logikayang mengalir dari blok ke blok seperti ini disebut sekuensial (sequence). Padagambar 1. 4(b) adalah contoh sederhana aliran logika sekuensial.Tidak semua orang yang melakukan pemrograman komputer setuju flowchart sebagai usahayang produktif. Kenyataannya, programmer profesional tidak menganjurkan flowchart. Ada tigaalasan utama kita masih mempelajarinya. Pertama, flowchart masih digunakan untukmengekspresikan dan meng-komunikasikan algoritma. Kedua, jika tidak digunakan secara rutin, suatusaat flowchart bisa digunakan dalam perencanaan, menguraikan atau mengkomunikasikan logikaprogram dengan program orang lain. Terakhir, dan yang sangat penting adalah sebagai perangkat yangbagus dalam pendidikan.9fisika-komputasi

MulaiJum=0BEGIN Nilai RerataHit=0Jumlah = 0Hitung = 0MasukkanDONilaiINPUT NilaiIF Nilai < 0 EXITJumlah =BenarJumlah+RepetitionNilai < 0NilaiHitung =SalahHitung + 1SequenceEND DOJ um=Jum+NilaiHit=Hit+1IF Hitung > 0 THENRerata =SelectionJumlah/HitungELSERerata = 0END IFHit > 0END Nilai RerataRerata=0Rerata=Jum/HitSelesaiGambar 1. 5 Flowchart dan pseudocode dari kasus menghitung rata-rata nilai kuisDua struktur yang lain adalah pilihan (selection) yaitu struktur logikapercabangan, melalui satu dari dua pilihan, sesuai dengan jawaban atas sebuahpertanyaan. dan struktur terakhir, yang menjadi ciri kekuatan program komputeryaitu pengulangan (repitition), merupakan pengulangan proses urutan logika yangmewakili operasi tertentu.Pada buku ini, digunakanpseudocode, untuk mengimplementasikan setiap10fisika-komputasi deskripsi proses penyelesaian kasus fisika ke dalam bahasa program, denganpertimbangan lebih mendekati format pemrograman komputer, sehingga lebih mudahdikembangkan ke program daripada flowchart, disamping lebih mudah dimodifikasidan di-share.Banyak bahasa pemrograman yang bisa digunakan saintis untukmenyelesaikan kasus- kasus fisika komputasi antara lain FortranFormulaTranslationversi 77 atau 99; C(quickC, TurboC, C++, visualC & varian); Basic Beginners Allpurpose Symbolic Information Code(quickBasic, TurboBasic,MicrosoftBasic, VisualBasic & varian); dan Pascal serta Delphi.Bisa juga menggunakan software teknologi komputasi populer untuk saintisseperti MATLAB dari MathWorks,Inc., MATHCAD dari MathSoft,Inc.,Matematica5 dari Wolfram Research,Inc., IMSL dengan 700 subprogram numerikdalam Math Library- nya atau numerical method Toolkit lainnya. Bahkan MicrosoftExcel, spreadsheet dari Microsoft bisa digunakan karena dibangun dengankapabilitas numerik dan Visual Basic sebagai bahasa macro- nya.1.3 Sumber Utama KesalahanAnalisis kesalahan di dalam hasil komputasi numerik adalah dasarperhitungan yang bija k, baik dilakukan secara manual ataupun dengan komputer.Harga masukan jarang yang mempunyai harga pasti (eksak), karena seringkalididasarkan pada percobaan atau taksiran, dan proses komputasi numerik itu sendirimempunyai berbagai macam kesalahan ( dalam beberapa referensi berbedadigunakan.istilaherror, galat )Umumnya didefinisikan dua macam cara untuk menyatakan kesalahan suatupengukuran atau perhitungan, yaitu kesalahan absolut (absolute error) dan kesalahanrelatif (relative error).Kesalahan absolut**adalahnilai sebenarnyadikuranginilai pendekatan ,dinyatakan dengan:(1.11)=-exxxdankesalahan relatifadalahkesalahan absolutdibagi dengannilai sebenarnya:=-**Beberapa teks lain mungkin mendefinisikan, formula bebas mana yang dipilih, asalexxxkonsisten .11fisika-komputasi -exx==e(1.12)xxxrContoh 1.2Tinjau suatu pengukuran panjang jembatan dan panjang paku keling masing-masingdidapatkan 9999 dan 9 cm. Jika nilai sebenarnya masing-masing 10.000 dan 10 cm,hitung (a) kesalahan absolut (b) kesalahan relatifSolusi(a)Kesalahan absolut:e=10.0009999=1 cmx jembatane= 10 9= 1 cmxpaku(b)Kesalahan relatif:e1===0,01%0,0001r jembatan10.000e1===10%0,1x paku10kedua pengukuran memberikan kesalahan 1 cm, tetapi kesalahan relatif untuk pakujauh lebih besar.Sebagai perbandingan, jika nilai sebenarnya 0,00006 dan nilaipendekatannya 0,00005, kesalahan absolutnya hanya 10, tapi kesalahan relatifnya50,2 atau 20%. Di lain pihak, bila nilai sebenarnya 100,500 dan nilai pendekatan100,000 , kesalahan absolut 500 tetapi kesalahan relatifnya hanya 0,005 atau 0,5%.diperhatikan disiniedaneadalah kesalahan yang dinormalisasiKalauxrterhadap nilai sebenarnya. Padahal, secara aktual situasi seperti itu jarangdidapatkan.Pada komputasi numerik, nilai sebenarnya akan diketahui hanya berkaitandengan fungsi yang bisa diselesaikan secara analitik. Padahal banyak modelmatematika dari fenomena fisis yang tidak bisa diselesaikan secara analitik. Dalamsituasi ini, yang benar-benar kita tahu adalah harga pe ndekatan dan taksirankesalahan, atau suatu batasan ukuran maksimum dari kesalahan. Contohnya, kitatahu salah satu akar negatif dari polinomial x9x2x+ 120x 130 berada diantara432nilai 3,60016 dan 3,60013. Maka , dapat dikatakan bahwa akarnya adalah 12fisika-komputasi 3,6001450,000015. Harga pendekatannya=-, mengandung beberapax3,600145kesalahan. Meskipun kita tidak mengetahui besarnya kesalahan tetapi kita tahubahwa kesalahan ini tidak lebih dari 1,5 x 10.5Alternatif komputasi numerik adalah kesalahan dinormalisasi menggunakanestimasi nilai terbaik yang didapat terhadap nilai sebenarnya yaitunilai pendekatanitu sendiri.Hal yang harus diingat, komputasi numerik menggunakan pendekatan iteratifuntuk mencari solusi komputasi. Pros esnya adalah berulang-ulang (repeatdly), atausecara iteratif untuk mencari nilai pendekatan yang baik, lebih baik, dan paling baik,lebih lanjut terkait definisi nilai pendekatan sekarang adalah dibuat berdasar kan nilaipendekatan sebelumnya, sehingga formula (1.12) menjadi-xxe==(1.13)ecpxraxxccDimanaee=kesalahan pendekatan,=nilai=kesalahan pendekatan relatifxraxppendekatan sebelumnya,x=nilai pendekata n sekarang.cSeringkali ketika melakukan komputasi, kita tidak mempersoalkan tanda(positif atau nega tif) dari kesalahan, tetapi lebih tertarik apakah prosentase nilaiabsolut lebih rendah dari toleransi prosentase yang telah di-spesifikasi,. Proseseskomputasi akan diulang sampai