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

dokumen-dokumen yang mirip
Contoh-Contoh Teknik Pemrograman VBA, Pascal, dan FORTRAN

BAB II ISI ( ) (sumber:

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

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

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

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

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

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

Sistem Persamaan Aljabar Linier

BAB 4 PENYELESAIAN SISTEM PERSAMAAN LINEAR

ALGORITMA PERULANGAN

Algoritma Pemrograman

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

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

Algoritma Pemrograman

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN MODUL V ARRAY

Bubble Sort (Pengurutan Gelembung / Pemberatan)

Algoritma Pemrograman

Solusi Persamaan Linier Simultan

LU DECOMPOSITION (FAKTORISASI MATRIK)

Algoritma Pemrograman

SUB PROGRAM : PROSEDUR & FUNGSI. Konsep Pemrograman

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

JENIS-JENIS DATA DAN STATEMEN INPUT OUTPUT

Algoritma Pemrograman

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

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

Komputasi untuk Sains dan Teknik

METODE ITERASI DALAM SISTEM PERSAMAAN LINEAR

Teori Algoritma. Struktur Algoritma

Algoritma Pemrograman

SISTEM PERSAMAAN LINEAR DAN ELIMINASI GAUSS

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-5

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

Algoritma Pemrograman

ELEMEN DASAR PROGRAM FORTRAN. Kuliah ke-2

PERBANDINGAN BEBERAPA METODE NUMERIK DALAM MENGHITUNG NILAI PI

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

Pengenalan Pascal/DevPascal

Program Studi Teknik Mesin S1

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

Modul 3: Regresi Linier untuk Persamaan Garis Lurus dan Kuadratis

Sesi/Perkuliahan ke: II

DASAR PEMROGRAMAN. File

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

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

INVERS MATRIK DAN ELIMINASI GAUSS

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

ARRAY. Brigida Arie Minartiningtyas, M.Kom

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

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

Algoritma Pemrograman

Penghitungan Polusi Udara Dalam Ruangan dengan Metode Eliminasi Gauss

Algoritma Pemrograman

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

Modul Algoritma dan Pemograman Rismira Andriyani, S.Kom i

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

PROSES PENJUALAN BUKU

Struktur Data. Pertemuan 2

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

STRUKTUR KENDALI. Memanfaatkan struktur kendali untuk kasus komputasi

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma,Flowchart, Konsep

Array & Program Modular

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

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

MATERI 5 Procedure. Pendeklarasian suatu procedure pada program : PROGRAM Judul_Program; PROCEDURE Nama_Prosedur; BEGIN. {Statemen prosedur} END.

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

BAB 3 STRUKTUR KENDALI, SUBROUTINE, DAN FUNGSI

Perulangan Muh. Izzuddin Mahali, M.Cs. Pertemuan 3. Algoritma dan Struktur Data. PT. Elektronika FT UNY

Pengenalan Pascal. Tujuan Pembelajaran

Algoritma Pemrograman

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

Pertemuan 4 Perulangan

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

PERSEGI ANGKA-HURUF VERTIKAL

PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I

Algoritma dan Pemrograman Array

Pelatihan fortran JURUSAN TEKNIK SIPIL 2014 / 2015

KONSEP DASAR BAHASA PASCAL

TIPE, NAMA, DAN NILAI

BAB I TUJUAN DAN LANDASAN TEORI

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

BAB II AKAR-AKAR PERSAMAAN

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

a11 a12 x1 b1 Kumpulan Materi Kuliah #1 s/d #03 Tahun Ajaran 2016/2016: Oleh: Prof. Dr. Ir. Setijo Bismo, DEA.

Belajar itu, Tidak harus menunggu materi dari guru Inisiatif Mencari itulah BELAJAR.

BAB II TEORI DASAR. Gambar 1 Kurva untuk interpolasi linier. Sehingga diperoleh persamaan dari interpolasi linier sebagai berikut :

SMA SANTO PAULUS PONTIANAK

Algoritma Pemrograman

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

KAIDAH SIMPSON 3/8 DAN INTEGRASI NUMERIK. Kelompok 6

PENGENALAN DASAR PEMROGRAMAN

MODUL 1. Struktur Bahasa PASCAL secara umum

Eliminasi Gauss-Jordan dengan Macro Add-in Matrix

Transkripsi:

Contoh-Contoh Pemrograman Lanjut: VBA/MS-Excel, PASCAL, dan FORTRAN (Epsilon Machine, Interpolasi dan Metode Newton-Raphson) Prof. Dr. Ir. Setijo Bismo, DEA. Departemen Teknik Kimia FTUI 09 Oktober 2015

JANGAN LUPA dan HARUS SELALU DIINGAT! 2 (DUA) Cara Membuka Editor Macros ( 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 Macro List#1 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 Macro List#2 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 EpsM Variant#1

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

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

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) 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) { Menghitung harga sin(x) dengan DERET TAYLOR } Program Sinus; Var faktor,x : Extended; sum,num,den : Extended; N,I,IG,J : Integer; Begin 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 Begin IG := 2*I + 1; NUM := 1.0; DEN := 1.0; faktor := -1*faktor; For J := 1 to IG do Begin 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)

Pemrograman PASCAL untuk SPAL (Bab IV) [Hal#1]: Program untuk Komputasi: Eliminasi Gauss Program Eliminasi_Gauss; Const NofEqn = 5; 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; Begin { ---> Seksi ELIMINASI GAUSS <--- } {INPUT N => Masukkan Jumlah Persamaan} N := 3; {AKHIR dari INPUT N} {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} {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 Begin Diag := A[I,I]; For J:=I+1 to N do Begin 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 Begin Sum := 0.0; Pemrograman PASCAL untuk SPAL (Bab IV) [Hal#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 Begin 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 [Hal#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 [Hal#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 [Hal#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 [Hal#4] 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