Contoh-Contoh Teknik Pemrograman VBA, Pascal, dan FORTRAN

dokumen-dokumen yang mirip
Contoh-Contoh Pemrograman Lanjut: VBA/MS-Excel, PASCAL, dan FORTRAN

BAB II ISI ( ) (sumber:

Materi Kuliah. Periode: Minggu ke-1 sampai dengan Minggu ke-3

Kuliah #7 Pemodelan TK Lanjut S 2 (Tambahan) CONTOH RINGKAS: Solusi SPANL (Sistem Persamaan Aljabar Non Linear)

Modul 1: Analisis Galat (error) dan Masalah-masalah Mendasar Dalam Komputasi Numeris (dengan Turbo Pascal dan FORTRAN 77/90/95)

DASAR-DASAR PEMROGRAMAN. MS-EXCEL dan VBA Macro

Modul 8. METODE SECANT untuk Solusi Akar PERSAMAAN ALJABAR NON-LINIER TUNGGAL. A. Pendahuluan

Modul 5. METODE BIDANG-PARUH (BISECTION) untuk Solusi Akar PERSAMAAN ALJABAR NON-LINIER TUNGGAL

SCRIPT PERSAMAAN CRAMER

STATEMENT FORMAT, DATA, PARAMETER, SPESIFIKASI DAN PENGERJAAN. Kuliah ke-3

BAB 4 PENYELESAIAN SISTEM PERSAMAAN LINEAR

PENDAHULUAN A. Latar Belakang 1. Metode Langsung Metode Langsung Eliminasi Gauss (EGAUSS) Metode Eliminasi Gauss Dekomposisi LU (DECOLU),

Sistem Persamaan Aljabar Linier

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN MODUL V ARRAY

Algoritma Pemrograman

ALGORITMA PERULANGAN

Bubble Sort (Pengurutan Gelembung / Pemberatan)

Algoritma Pemrograman

Algoritma Pemrograman

Solusi Persamaan Linier Simultan

Modul 1: Pemrograman FORTRAN dan Analisis Galat (errors) (Disertai Translasi Turbo Pascal ke FORTRAN)

LU DECOMPOSITION (FAKTORISASI MATRIK)

Perulangan. Bentuk Proses. 1. Perulangan For positif contoh 1 : perulangan positif untuk satu statement :

MODUL PEMROGRAMAN DENGAN MENGGUNAKAN BAHASA PASCAL CONTOH PROGRAM DENGAN MENGGUNAKAN BAHASA PASCAL (FPC)

Algoritma Pemrograman

Komputasi untuk Sains dan Teknik

METODE ITERASI DALAM SISTEM PERSAMAAN LINEAR

SISTEM PERSAMAAN LINEAR DAN ELIMINASI GAUSS

JENIS-JENIS DATA DAN STATEMEN INPUT OUTPUT

ELEMEN DASAR PROGRAM FORTRAN. Kuliah ke-2

SOAL PASCAL A. 1. Lengkapi Source Code Dibawah ini : {* Program Menghitung dengan Operator Matematika*}

SUB PROGRAM : PROSEDUR & FUNGSI. Konsep Pemrograman

- KONSEP MODULAR Pengertian Konsep Modular memecah program ke dalam modul-modul. Contoh modul yang sering digunakan adalah : Prosedur & Fungsi

Algoritma Pemrograman

Pengenalan Pascal/DevPascal

STRUKTUR KONTROL. Struktur WHILE-DO Mempunyai struktur sebagai berikut : Bentuk Umum : WHILE condition Do statement Bentuk Proses (flow chart) :

INVERS MATRIK DAN ELIMINASI GAUSS

PERHITUNGAN REGRESI LINIER BERGANDA DENGAN METODE LEAST SQUARE DAN ELIMINASI GAUSS DALAM PEMROGRAMAN PASCAL 7.00

Teori Algoritma. Struktur Algoritma

Algoritma Pemrograman

Algoritma Pemrograman

BAB III : SISTEM PERSAMAAN LINIER

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-5

Penghitungan Polusi Udara Dalam Ruangan dengan Metode Eliminasi Gauss

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

PERBANDINGAN BEBERAPA METODE NUMERIK DALAM MENGHITUNG NILAI PI

Program Studi Teknik Mesin S1

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

Algoritma Pemrograman

SOLUSI SISTEM PERSAMAAN LINEAR

Array & Program Modular

dimana a 1, a 2,, a n dan b adalah konstantakonstanta

Algoritma Pemrograman

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

III STATEMEN IF KONDISI TUNGGAL DAN GANDA A. IF TUNGGAL. XI_Sem.1 SMA Sedes Sapientiae Bedono

Pertemuan XII ALGORITMA. Algoritma & Pemrograman Ken Kinanti P 1. {Pencarian Beruntun / Sequential Search}

DASAR PEMROGRAMAN. File

BAB 3 STRUKTUR KENDALI, SUBROUTINE, DAN FUNGSI

SISTEM PERSAMAAN LINEAR

5. PERSAMAAN LINIER. 1. Berikut adalah contoh SPL yang terdiri dari 4 persamaan linier dan 3 variabel.

ARRAY. Brigida Arie Minartiningtyas, M.Kom

Pertemuan 4 Perulangan

PERSEGI ANGKA-HURUF VERTIKAL

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Sesi/Perkuliahan ke: II

ARRAY. contoh : A[1] := 10; var A : array[1..10] of integer; A[nomer_indeks]

BAB X SISTEM PERSAMAAN LINIER

TIPE, NAMA, DAN NILAI

Algoritma Pemrograman

Pelatihan fortran JURUSAN TEKNIK SIPIL 2014 / 2015

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

Algoritma Pemrograman

Eliminasi Gauss-Jordan dengan Macro Add-in Matrix

Memulai Pemrograman Pascal dengan Delphi Console 1. Buka aplikasi delphi 2. Pilih File New Other Console Application

RENCANA PEMBELAJARAN SEMESTER (RPS) PROGRAM STUDI S1 TEKNIK SIPIL FAKULTAS TEKNIK UNIVERSITAS RIAU

Syarif Abdullah (G ) Matematika Terapan FMIPA Institut Pertanian Bogor.

Part II SPL Homogen Matriks

PROSES PENJUALAN BUKU

Array, Record, sorting : Elektro Unud (MSU) Page 1 of 13

Sebuah garis dalam bidang xy bisa disajikan secara aljabar dengan sebuah persamaan berbentuk :

Algoritme dan Pemrograman

STRUKTUR KENDALI. Memanfaatkan struktur kendali untuk kasus komputasi

Modul Algoritma dan Pemograman Rismira Andriyani, S.Kom i

ARRAY (LARIK) Altien Jonathan Rindengan, S.Si., M.Kom.

Struktur Data. Pertemuan 2

PEMROGRAMAN STRUKTURAL

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs.

Algoritme dan Pemrograman

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

Algoritma,Flowchart, Konsep

PRAKTIKUM 7 TIPE DATA TERSTRUKTUR. Larik : deretan data yang punya type data sejenis. Misalnya : Daftar Nomor Telpon, Tabel Pajak dll.

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

Algoritma Pemrograman

Algoritma Pemrograman

Pengenalan Pascal. Tujuan Pembelajaran

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

Algoritma Pemrograman

PANDUAN UNTUK PRAKTIKUM DAN PERKULIAHAN PEMROGRAMAN FORTRAN. Oleh: Ahmad Zakaria, Ph.D.

Saifoe El Unas 2. Free Format

PAM 252 Metode Numerik Bab 3 Sistem Persamaan Linier

Transkripsi:

Contoh-Contoh Teknik Pemrograman VBA, Pascal, dan FORTRAN (Epsilon Machine, Interpolasi dan Eliminasi Gauss) Setijo Bismo Departemen Teknik Kimia FTUI 06 Oktober 2015

Perlu untuk SELALU DIINGAT! Cara-Cara Membuka Editor Macros ( VBA ) Ingat: +, dapat dipakai untuk: Run Macro Edit Macro Delete Macro Options Macro Ingat: +, dapat digunakan untuk: Open Macro Editor Edit a Macro (VBA)

Pemrograman VBA Macros untuk Epsilon Machine (#1): Skematis Pemrograman dan keterkaitan-letak Perhatikan POSISI: A1, B1, C1, A3, B3, C3, D3, A4, B4, C4, D4

Pemrograman VBA Macros untuk Epsilon Machine (#2): Sub-Program: Scripting atau Listing Out Sub CalcMachineEpsMS(ByRef Eps4 As Single, Iter As Integer) Eps4 = 1# Iter = 1 Do While (Eps4 + 1#) > 1# Eps4 = Eps4 / 2 Iter = Iter + 1 Loop End Sub Sub CalcMachineEpsMD(ByRef Eps8 As Double, Iter As Integer) Eps8 = 1# Iter = 1 Do While (Eps8 + 1#) > 1# Eps8 = Eps8 / 2 Iter = Iter + 1 Loop End Sub

Pemrograman VBA Macros untuk Epsilon Machine (#3): Main-Program: Scripting atau Listing Out Sub EpsMachine() Dim Iter As Integer Dim Eps4 As Single Dim Eps8 As Double ' Komputasi "Machine Epsilon" dalam SINGLE PRECISION Call CalcMachineEpsMS(Eps4, Iter) ' Hasil komputasi: Cells(3, 3) = Eps4 Cells(3, 4) = Iter ' Komputasi "Machine Epsilon" dalam DOUBLE PRECISION Call CalcMachineEpsMD(Eps8, Iter) ' Hasil komputasi: Cells(4, 3) = Eps8 Cells(4, 4) = Iter End Sub

Pemrograman PASCAL untuk Epsilon Machine (#1): Software Dolphin Bay EZY PASCAL

Pemrograman PASCAL untuk Epsilon Machine (#2): Varian lain dalam EZY PASCAL

Pemrograman PASCAL untuk Epsilon Machine (#3): SINGLE dan DOUBLE Precision dalam EZY PASCAL

Pemrograman FORTRAN untuk Epsilon Machine (#1): Menggunakan FORTRAN Silverfrost - PLATO

Pemrograman FORTRAN untuk Epsilon Machine (#2): Menggunakan FORTRAN Silverfrost - PLATO

Pemrograman FORTRAN untuk DERET TAYLOR: Komputasi untuk rutin: Sin(x) Sin(x) C Menghitung harga sin(x) dengan DERET TAYLOR Program Sinus Implicit NONE Real*8 faktor,x,sum,num,den Integer N,I,IG,J Write(*,'(A,$)') 'INPUT harga x sebagai ''nilai argumen'' : ' Read(*,*) x Write(*,'(A,$)') 'INPUT harga N sebagai ''jumlah suku'' : ' Read(*,*) N faktor = 1 sum = x Do I = 1,N IG = 2*I + 1 NUM = 1.0 DEN = 1.0 faktor = -1*faktor Do J = 1,IG NUM = NUM*x DEN = DEN*J EndDo sum = sum + faktor*(num/den) EndDo Write(*,*) 'Harga NUMERIS : ',sum Write(*,*) 'Harga ANALITIS : ',sin(x) Read(*,*) Stop End

Pemrograman PASCAL untuk DERET TAYLOR: Komputasi untuk rutin: Sin(x) Sin(x) { Menghitung harga sin(x) dengan DERET TAYLOR } Program Sinus; Var faktor,x : Extended; sum,num,den : Extended; N,I,IG,J : Integer; Write('INPUT harga x sebagai ''nilai argumen'' : '); Readln(x); Write('INPUT harga N sebagai ''jumlah suku'' : '); Readln(N); faktor := 1; sum := x; For I := 1 to N do IG := 2*I + 1; NUM := 1.0; DEN := 1.0; faktor := -1*faktor; For J := 1 to IG do NUM := NUM*x; DEN := DEN*J; End; sum := sum + faktor*(num/den); End; Writeln('Harga NUMERIS : ',sum); Writeln('Harga ANALITIS : ',sin(x)); Readln; End.

Pemrograman VBA untuk DERET TAYLOR: Komputasi untuk rutin: Sin(x) Sin(x) { Menghitung harga sin(x) dengan DERET TAYLOR } Program Sinus; Var faktor,x : Extended; sum,num,den : Extended; N,I,IG,J : Integer; Write('INPUT harga x sebagai ''nilai argumen'' : '); Readln(x); Write('INPUT harga N sebagai ''jumlah suku'' : '); Readln(N); faktor := 1; sum := x; For I := 1 to N do IG := 2*I + 1; NUM := 1.0; DEN := 1.0; faktor := -1*faktor; For J := 1 to IG do NUM := NUM*x; DEN := DEN*J; End; sum := sum + faktor*(num/den); End; Writeln('Harga NUMERIS : ',sum); Writeln('Harga ANALITIS : ',sin(x)); Readln; End.

Program Eliminasi_Gauss; Const NofEqn = 5; Pemrograman PASCAL untuk SPAL (Bab IV) [#1]: Program untuk Komputasi: Eliminasi Gauss {INPUT A => Masukkan harga komponenen MATRIKS A} A[1,1] := 6; A[1,2] := 3; A[1,3] := 2; A[2,1] := 3; A[2,2] := 5; A[2,3] := 7; A[3,1] := 2; A[3,2] := 4; A[3,3] := 3; {AKHIR dari INPUT A} Type RVector = Array[1..NofEqn] of Real; RMatrix = Array[1..NofEqn,1..NofEqn] of Real; { === PROGRAM UTAMA === } Var A : RMatrix; b,x : RVector; I,J,K,N : Integer; Diag,FMul,Sum : Real; { ---> Seksi ELIMINASI GAUSS <--- } {INPUT N => Masukkan Jumlah Persamaan} N := 3; {AKHIR dari INPUT N} {INPUT b => Masukkan harga komponenen VEKTOR b} b[1] := 26; b[2] := 26; b[3] := 17; {AKHIR dari INPUT b} { ---> Pembentukan MATRIKS DIAGONAL ATAS <--- } For I:=1 to N-1 do Diag := A[I,I]; For J:=I+1 to N do FMul := A[J,I]/Diag; For K:=I to N do A[J,K] := A[J,K] - A[I,K]*FMul; b[j] := b[j] - b[i]*fmul; End; End; { ---> AKHIR dari Pembentukan MATRIKS

DIAGONAL ATAS <--- } { ---> Backsubstitution <--- } x[n] := b[n]/a[n,n]; For I:=N-1 downto 1 do Sum := 0.0; Pemrograman PASCAL untuk SPAL (Bab IV) [#2]: Program untuk Komputasi: Eliminasi Gauss For J:=N downto I+1 do Sum := Sum + A[I,J]*x[J]; x[i] := (b[i] - Sum)/A[I,I]; End; { ---> AKHIR dari Backsubstitution <--- } { ---> AKHIR dari Seksi Eliminasi GAUSS <--- } Writeln('Matriks DIAGONAL ATAS dan VEKTOR RUAS KANAN:'); For I:=1 to N do For J:=1 to N do write(a[i,j]:1:4,' '); writeln(b[i]:1:4); End; Writeln; Writeln('HASIL, berupa VEKTOR JAWAB:'); For I:=1 to N do Writeln('x[',I,'] = ',x[i]:1:6); End. { === AKHIR dari Program Utama === }

Pemrograman FORTRAN untuk Regresi Linier [#1] C Regresi Persamaan POLINOMIAL order 2 menggunakan C Netode Eliminasi Gauss-Jordan untuk Solusi SPAL C (Sistem Persamaan Aljabar Linier) C C --------------------------------- C Deklarasi Jenis dan Variabel: C --------------------------------- IMPLICIT NONE CHARACTER*12 NamaFile INTEGER iarg,ndat PARAMETER (iarg = 7) PARAMETER (NDAT = 25) INTEGER i,j,nd,neq REAL*8 A(iarg,iarg) REAL*8 b(iarg),x(iarg) REAL*8 Xi(NDAT),Yi(NDAT) DOUBLE PRECISION SumXX(0:4),SumXY(3) CALL system('cls') WRITE(*,7) 'Enter Nama FILE (12 karakter maks.) : ' 7 FORMAT(A,$) READ(*,*) NamaFile OPEN (9,FILE=NamaFile) READ(9,*) ND

Pemrograman FORTRAN untuk Regresi Linier [#2] DO I=0,4 SumXX(I) = 0.0 END DO DO I=1,3 SumXY(I) = 0.0 END DO SumXX(0) = ND DO J=1,ND READ(9,*) Xi(J),Yi(J) SumXX(1) = SumXX(1) + Xi(J) SumXX(2) = SumXX(2) + Xi(J)**2 SumXX(3) = SumXX(3) + Xi(J)**3 SumXX(4) = SumXX(4) + Xi(J)**4 SumXY(1) = SumXY(1) + Yi(J) SumXY(2) = SumXY(2) + Xi(J)*Yi(J) SumXY(3) = SumXY(3) + Xi(J)**2*Yi(J) END DO C Pengolahan DATA menjadi Koefisien MATRIKS: DO I=1,3 DO J=1,3 A(I,J) = SumXX(6-I-J) END DO B(I) = SumXY(4-I) END DO

Pemrograman FORTRAN untuk Regresi Linier [#3] C Proses Pemasukan JUMLAH PERSAMAAN: C ---------------------------------- neq = 3 C Proses Pemanggilan Subprogram Eliminasi Gauss-Jordan: C ----------------------------------------------------- CALL EGAUSS(neq,A,x,b) C Pemaparan/penyajian Hasil Perhitungan: C -------------------------------------- DO i = 1,neq WRITE(*,40) 'x(',i,') = ',x(i) ENDDO 40 FORMAT (5X,A,I1,A,F12.7) STOP END

Pemrograman FORTRAN untuk Regresi Linier [#3] SUBROUTINE EGAUSS(n,A,x,b) C -------------------------------------------------------- C SUBROUTINE ELIMINASI GAUSS (tanpa "PIVOTING"): C Solusi SISTEM Persamaan Aljabar Linier (SPAL) dengan C format pers. matriks: [A].[x] = [b], dengan rincian sbb: C n = jumlah persamaan aljabar linier (dimensi SPAL) C A = matriks bjr sangkar nxn yang berisi koef. Pers., C x = vektor variabel pers. yang akan dicari harganya C b = VRK yang berisi harga-harga persamaan tunggal C -------------------------------------------------------- C Deklarasi Variabel: C ------------------- INTEGER n REAL*8 A(7,7),b(n),x(n) INTEGER i,j,k REAL*8 PIVOT,MULT,TOP C Proses solusi: (a) Substitusi dan Eliminasi C ------------------------------------------- DO j = 1,n-1

Pemrograman FORTRAN untuk Regresi Linier [#3] PIVOT = A(j,j) DO i = j+1,n MULT = A(i,j)/PIVOT DO k = j+1,n A(i,k) = A(i,k) - MULT*A(j,k) ENDDO b(i) = b(i) - MULT*b(j) ENDDO ENDDO C Proses solusi: (b) Substitusi Balik C ----------------------------------- x(n) = b(n)/a(n,n) DO i = n-1,1,-1 TOP = b(i) DO k = i+1,n TOP = TOP - A(i,k)*x(k) ENDDO x(i) = TOP/A(i,i) ENDDO RETURN END