Anda di halaman 1dari 91

LAPORAN PRAKTIKUM

LABORATORIUM KOMPUTER
SEMESTER GENAP 2012/2013

Diajukan untuk memenuhi persyaratan


menempuh praktikum di Laboraturium Komputer

Disusun oleh :
TUEZTIKA A NIM. 1110620058

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN


UNIVERSITAS BRAWIJAYA
FAKULTAS TEKNIK
JURUSAN MESIN
MALANG
2013
KATA PENGANTAR

Puji syukur kami panjatkan kehadirat Tuhan Yang Maha Esa karena
atas limpahan rahmat dan berkah-Nya sehingga Laporan Praktikum Laboratorium
Komputer ini dapat kami selesaikan dengan baik.
Pembuatan laporan ini bertujuan untuk memenuhi persyaratan dari
Laporan Praktikum Laboratorium Komputer. Penulis berharap laporan ini dapat
memberikan manfaat bagi kelancaran bidang akademik mahasiswa khususnya dan
bagi pembaca pada umumnya.
Dalam kesempatan kali ini pula penulis mengucapkan terima kasih
kepada semua pihak yang telah membantu menyelesaikan laporan ini. Secara
khusus penulis mengucapkan terima kasih kepada :

1. Bapak Prof. Dr.Ir. Rudy Soenoko M.Eng. Sc, selaku Kepala Laboratorium
Komputer, Jurusan Teknik Mesin, Fakultas Teknik, Universitas
Brawijaya.

2. Bapak Agung Sugeng Widodo,ST.,MT.,PH.D. selaku Dosen Pembimbing


Praktikum Laboratorium Komputer Jurusan Teknik Mesin, Fakultas
Teknik, Universitas Brawijaya.
3. Segenap Asisten Laboratorium Laboratorium Komputer, Jurusan Teknik
Mesin, Fakultas Teknik, Universitas Brawijaya.
4. Serta teman-teman mahasiswa Jurusan Teknik Mesin, Fakultas Teknik,
Universitas Brawijaya.
Karena tanpa bantuan dari pihak-pihak tersebut, penulis akan mengalami
kesulitan dalam membuat dan menyusun laporan ini.
Kami sadar laporan ini masih jauh dari sempurna. Oleh karena itu, kami
sangat mengharapkan kritik dan saran yang membangun sehingga kami dapat
menggunakannya untuk perbaikan laporan-laporan yang berikutnya.
Semoga laporan ini dapat memberikan manfaat serta menambah
pengetahuan bagi kita semua.

Malang, Juni 2013

Penulis

i
DAFTAR ISI

Halaman Judul
Lembar Persetujuan
Kata Pengantar …………………………………………………………………......
Daftar Isi ……………………………………………………………………………

BAB I Pendahuluan
1.1 Latar Belakang ……………………………………………………………. 1
1.2 Tujuan Praktikum ………………………………………………………….. 2
1.3 Batasan Masalah ………………………………………………………….... 2
1.4 Manfaat Peraktikum ………………………………………………………... 2

BAB II Landasan Teori


2.1 Algoritma …………………………………………………………………… 3
2.2 Flowchart …………………………………………………………………… 6
2.3 Elemen-elemen Fortran 2000………………………………………………. 11
2.4 Aturan Penulisan Fortran 2000……………………………………………... 13
2.5 Tipe Data ………………………………………………………………….. 16
2.6 Variabel…………………………………………………………………….. 19
2.7 Operator…………………………………………………………………….. 20
2.8 Kontrol Pemograman ……………………………………………………… 27

BAB III Pembuatan Program


3.1 Project 1……………………………………………………………………. 43
3.1.1 Definisi Masalah…………………………………………………………. 43
3.1.2 Algoritma………………………………………………………………… 44
3.1.3 Flowchart………………………………………………………………… 45
3.1.4 Cara Kerja Program……………………………………………………… 46
3.1.5 Gambar Tampilan ………………………………………………………. 48
3.1.6 Listing Program………………………………………………………….. 51

i
3.2 Project 2……………………………………………………………………. 54
3.2.1 Definisi Masalah…………………………………………………………. 54
3.2.2 Algoritma………………………………………………………………… 55
3.2.3 Flowchart……………………………………………………………….... 55
3.2.4 Cara Kerja Program…………………………………………………….... 57
3.2.5 Gambar Tampilan ……………………………………………………….. 69
3.2.6 Listing Program………………………………………………………….. 72

BAB IV Kesimpulan………………………………………………………….. 80
BAB V Saran …………………………………………………………..……... 81
Daftar Pustaka
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

BAB I
PENDAHULUAN

1.1 Latar Belakang


. Bahasa komputer yang digunakan dalam menulis program dinamakan
bahasa pemrograman, jadi bahasa pemrograman adalah kumpulan perintah-
perintah berstruktur yang dapat dimengerti oleh komputer untuk digunakan dalam
menyelesaikan suatu masalah. Penerjemahan dilakukan oleh program komputer
yang disebut kompilator (compiler). Dalam pengertian luas, pemrograman
meliputi seluruh kegiatan yang tercakup dalam pembuatan program termasuk
analisis kebutuhan (requirement’s analysis) dan keseluruhan tahapan dalam
perencanaan (planning), perancangan (design) serta pewujudannya
(implementation).
Disini kami akan membahas salah satu jenis bahasa pemrograman High
Level Language yaitu Fotran. Sebuah tim programer IBM yang dipimpin oleh
John Backus, dianggap sebagai peletak pondasi Fortran dan memperkenalkan
kompiler pertama pada tahun 1957 yang pada awalnya Fortran diciptakan untuk
komputer IBM 704 yang ditujukan untuk aplikasi ilmiah dan teknik. Fortran juga
digunakan dalam bidang aplikasi matematika dan numerik, yaitu dalam hal
perumusan dan perhitungan. Namun tim ini juga memperkenalkan kompiler lain
yang dirancang untuk digunakan pada model komputer IBM lainnya. Dalam
waktu singkat, produsen lain merasa harus membuat compiler Fortran yang sesuai
dengan komputer mereka sendiri sehingga pada tahun 1960an telah terdapat
puluhan kompiler.
Yang membuat Fortran menonjol adalah karena portabilitas yang mudah
dan bahasa ini juga mudah dipahami serta efektif untuk digunakan. Sehingga,
bukan hal yang aneh apabila dengan cepat, bahasa ini berkembang di masyarakat.
FORTRAN yang digunakan pada praktikum kali ini adalah Force 2.0 (FORTRAN
compiler) yang dimana FORTRAN ini setingkat dengan FORTRAN 2000.

KELOMPOK 12 1
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

 Kronologi FORTRAN dulu hingga kini :


a. FORTRAN II (Tahun 1958)
b. FORTRAN IV (Tahun 1966)
c. FORTRAN 77 (Tahun 78)
d. FORTRAN 90 & 95 (Tahun 90) kini FORTRAN 2000
Didalam teknik mesin sendiri fungsi dari mempelajari bahasa
pemrograman adalah mengembangkan pola pikir yang runtut ketika mendapat
suatu permasalahan dan ketika ingin memecahkan permasalahan tersebut. Dan
pada praktikum ini mahasiswa akan mendapatkan projek yaitu suatu permasalahan
yang harus di selesaikan dengan menggunakan alogaritma dan flowchart serta
menjadikannya menjadi suatu program menggunakan FORTRAN.
1.2Tujuan
1. Memberi pengetahuan dan ketrampilan bagi mahasiswa tentang
pemrogaman computer dan aplikasinya
2. Mendidik mahasiswa untuk lebih mengenal tentang bahasa pemrogaman
khususnya Fortran
3. Diharapkan mahasiswa mampu mengembangkan kemampuan dan
kreativitas yang dimiliki dengan tugas pemrogaman sesuai praktikum
1.3 Batasan Masalah
1. Penggunaan bahasa pemrogaman dalam perkuliahan teknik mesin
2. Penggunaan softwere bahasa pemrogaman Fortran Compiler dalam
aplikasi dan perkuliahan teknik mesin
1.4 Manfaat Peraktikum
1. Mahasiswa mendapat pengetahuan dan ketrampilan tentang pemrogaman
computer dan aplikasinya
2. Mahasiswa lebih mengenal tentang bahasa pemrogaman Fortran
3. Mahasiswa mampu mengembangakan kemampuan dan kreativitas dengan
tugas pemrogaman sesuai praktikum

KELOMPOK 12 2
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

BAB II
LADASAN TEORI

2.1 Algoritma

A. Sejarah istilah "algoritma"

Kata algoritma berasal dari latinisasi nama seorang ahli matematika


dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana
tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12
"Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah
istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan
persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari
India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini
berkembang menjadi algoritma, yang mencakup semua prosedur atau
urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu
permasalahan. Masalah timbul pada saat akan menuangkan bagaimana
proses yang harus dilalui dalam suatu/sebuah sistem (program) bagi
komputer sehingga pada saat eksekusinya, komputer dapat bekerja seperti
yang diharapkan. Programer komputer akan lebih nyaman menuangkan
prosedur komputasinya atau urutan langkah proses dengan terlebih dahulu
membuat gambaran (diagram alur) diatas kertas.
Algoritma sangat diperlukan dalam menyelesaikan berbagai masalah,
salah satunya dalam komputasi numeris. Tanpa algoritma yang dirancang
baik maka proses pemrograman akan menjadi salah dan tidak efisien. Dalam
Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa
pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada
suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat
digunakan untuk seluruh bahasa pemrograman manapun.(Wikipedia.com)

KELOMPOK 12 3
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

B. Definisi Algoritma

 Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu


masalah. Yang ditekankan adalah urutan langkah logis, yang berarti
algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-
lompat. (Dari Microsoft Press Computer and Internet Dictionaary 1997,
1998)
 Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan
secara tertulis.Yang ditekankan pertama adalah alur pikiran, sehingga
algoritma seseorang dapat juga berbeda dari algoritma orang lain.
Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa
kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data
dengan C, C++, dan Java oleh Moh Sjukani hal 1)

C. Jenis-jenis Algoritma

Terdapat beragam klasifikasi algoritma dan setiap klasifikasi


mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi
jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode
yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma
yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian
ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma
yang berbeda. (Wikipedia.com)

 Divide and Conquer, paradigma untuk membagi suatu permasalahan besar


menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah
ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang
mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah
dengan membagi masalah besar dan kemudian memecahkan
permasalahan-permasalahan kecil yang terbentuk. (Wikipedia.com)

KELOMPOK 12 4
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

 Dynamic programming, paradigma pemrograman dinamik akan sesuai jika


digunakan pada suatu masalah yang mengandung sub-struktur yang
optimal dan mengandung beberapa bagian permasalahan yang tumpang
tindih. Paradigma ini sekilas terlihat mirip dengan paradigma Divide and
Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub
permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari
karakter permasalahan yang dihadapi. (Wikipedia.com)

 Metode serakah. Sebuah algoritma serakah mirip dengan sebuah


Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu
diketahui dalam setiap tahap; dan menggunakan pilihan "serakah" apa
yang dilihat terbaik pada saat itu. (Wikipedia.com)

D. Contoh Algoritma

 Algoritma menghitung volume kubus :


1. Mulai
2. Masukan panjang rusuk
3. Menghitung dengan rumus volume kubus
4. Volume kubus
5. Selasai
E. Syarat-syarat algoritma
1. Output
2. Logis
3. Sistematis
4. Proses

KELOMPOK 12 5
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

2.2 Flowchart

Dalam pembuatan suatu program kita diharuskan untuk terlebih


dahulu membuat suatu urutan langkah pemecahan dalam bentuk diagram
yang biasanya disebut flowchart/diagram alir selain dari algoritma karena
setiap program akan mempunyai langkah-langkah dalam prosesnya dari
awal sampai akhir. Antara algoritma dan flowchart harus sejalan maksudnya
mempunyai logika dan urutan langkah yang sama.Salah satu kebaikan
flowchart adalah karena dalam bentuk gambar jelas akan lebih mudah
dimengerti daripada uraian logika yang berbentuk teks sehingga tujuan dari
flowchart itu sendiri untuk mempermudah dalam memahami suatu proses
secara sederhana, terurai, rapi dan jelas terlebih lagi untuk proses yang
panjang .Begitu juga dengan program yang kita buat pun harus sesuai
dengan logika yang ada dalam flowchart. Karena flowchart merupakan
dasar pemikiran dari proses yang akan dijalankan oleh program.
Didalamnya akan terdapat beberapa simbol-simbol khusus dan terhubung
oleh suatu garis berarah untuk menunjukkan alur/langkah-langkah instruksi
dari pemrogaman .Tiap simbol mempunyai tujuan dan maksud yang
berbeda dalam penggunaannya. Penggunaan symbol yang tepat akan
memudahkan pengguna dalam memahami logika pemrogaman. Setiap
flowchart biasanya diawali dan diakhiri oleh terminal simbol. Jadi dapat
disimpulkan bahwa flowchart adalah diagram alir yang menggambarkan
urutan perintah dan proses pemecahan masalah dengan menggunakan
simbol-simbol tertentu yang sudah standard. (Wikipedia.com)

A. Simbol-simbol Flowchart
Simbol-simbol yang di pakai dalam flowchart dibagi menjadi 3 kelompok
:
1) Flow direction symbols
– Digunakan untuk menghubungkan simbol satu dengan yang lain
– Disebut juga connecting line
2) Processing symbols

KELOMPOK 12 6
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Menunjukan jenis operasi pengolahan dalam suatu proses /


prosedur
3) Input / Output symbols
Menunjukkan jenis peralatan yang digunakan sebagai media input
atau output.

a. Flow Direction Symbols

(Wikipedia.com)

KELOMPOK 12 7
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

b. Processing Symbols

(Wikipedia.com)

KELOMPOK 12 8
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

c. Input / Output Symbols

(Wikipedia.com)

KELOMPOK 12 9
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Flowchart menghitung volume kubus

START

Panjang rusuk

V = r3

Volume kubus

selesai

KELOMPOK 12 10
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

2.3 Elemen – elemen fortran


Dalam fortran terdapat elemen – elemen penting yang berguna untuk
melakukan intruksi kerja. Dalam intruksi tersebut ada beberapa perintah antara
lain:
a. Statement
Elemen dasar terpenting dari bahasa FORTRAN adalah statemen.
Statemen ditulis dengan suatu aturan tata bahasa atau bentuk umum atau
grammer atau syntax tertentu yang sudah ditentukan. Kalau penulisan
statemen menyalahi sintaksisnya berarti terjadi kesalahan sistaksis (sintax
error).

b. Comment
Berisikan tulisan bebas yang berfungsi untuk memeberi keterangan
pada program, sehingga memudahkan untuk membaca dan analisis
membaca program. Simbol yang digunakan untuk comment yaitu diawali
dengan huruf C.

c. Konstanta
Konstanta adalah bilangan yang tidak berubah harganya selama
pelaksanaan sebuah program. Konstatnta diwujudkan dalam bentuk
numerik. Modus suatu konstanta dapat real (bilangan dapat pecahan),
integer (tidak mengandung desimal), konstanta karakter dan konstanta
logika.
Contoh :
 +327, -173  konstanta integer
 123.456, 5.0E03, -5.0E-03  konstanta real
 ‘ABC’,’ ‘, ‘PT. XYZ’  konstanta karakter, diapit oleh petik
tunggal
 .TRUE. , .FALSE.  konstanta logika hanya memiliki dua
nilai yaitu benar (true) dan salah (false)

d. Verb

Verb merupakan kata kerja perintah yang terdapat dalam statemen


FORTRAN. Hampir semua statemen FORTRAN memiliki verb, kecuali
satatemen pengerjaan (assignment statement). Macam – macam verb
antara lain :

KELOMPOK 12 11
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

 Write : Digunakan untuk menunjukkan perintah mencetak sesuatu


 Call : untuk memanggil Subroutine
 Read : Untuk membaca data suatu media input
 Format : Dipergunakan untuk menentukan tata letak suatu
masukan pada media input maupun data keluaran pada
output
 Stop : Digunakan untuk menghentikan program secara logika.
 End : Dipakai untuk melakukan perintah komputer, batas akhir
dari statement program (batas akhir dari “source program”)
 GOTO : untuk mengubah urutan langkah proses penggarapan agar
maksud program tercapai. Apabila tidak ada statement
kontrol, maka urutan langkah proses akan selalu berurutan
dari intruksi di depan ke intruksi berikutnya.
 Print : Seperti statement write, hanya tidak menggunakan nomor
mesin dan selalu outputnya adalah printer

e. Unit Specifier

Unit specifier atau logical unit number (LUN) merupakan nomor


unit alat secara logika yang akan dipergunakan dalam operasi masukan
dan keluaran (I/O). Biasanya, unit ini digunakan bersama-sama statemen
masukan dan keluaran seperti read, write dan open. Unit specifier dapat
berupa:
1. * atau 0 yang menunjukkan unit yang dipergunakan adalah
keyboard atau layar monitor (CRT).
2. Ungkapan integer, yaitu nilai bulat selain 0 yang menunjukkan unit
alat yang dipergunakan adalah file external (printer dan disk).
Contoh spesifikasi alat input dan output seperti berikut ini :
Alat input/output Nomor
logical unit

Card Reader (input) 1


Punch Card (output) 2
Printer /PRN (output) 3
Disk (input/output) 4

Sumber : Belajar Sendiri Bahasa Fortran (Ir F Soesianto,2001: Hal


14)

KELOMPOK 12 12
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Catatan : Nomor-nomor logical unit untuk komputer berbeda


akan berbeda pula.
f. Format Specifier
Format specifier menunjukkan format yang akan dipergunakan
oleh data masukan maupun data keluaran. Format ini biasanya digunakan
pada penggunaan statemen READ dan WRITE.

g. Tipe data

Tipe data adalah suatu hal yang menggambarkan jenis nilai dari
suatu obyek data (konstanta atau variabel) yang nantinya akan digunakan
saat program dijalankan, tipe data yang umumnya ada di fortran ada 3
yaitu tipe data real, tipe data integer, dan tipe data character. (Ayub
Adiputra, Tipe Data Dasar)

2.4 Cara Penulisan Fortran

1. Statemen dalam bahasa FORTRAN dituliskan pada kolom : dari kolom 7


s/d kolom 72. Tetapi tidak harus dimulai dari kolom 7.

Contoh:

Sumber : Belajar Sendiri Bahasa Fortran (Ir F Soesianto,2001: Hal


14)

2. Apabila statemen tersebut lebih dari kolom 72, maka sambungannya


dituliskan di baris bawahnya. Dengan kolom 6 pada baris tersebut diberi
tanda sambung. Tanda sambung tersebut dapat menggunakan karakter-
arakter antara lain : 1,2,3,4….,*,$ dll. Tanda sambung ini pada beberapa
computer dapat berlainan.

Contoh: Misal akan ditulis X25+X24+..+X1

KELOMPOK 12 13
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Sumber : Belajar Sendiri Bahasa Fortran (Ir F Soesianto,2001: Hal


14)

Bilangan 1 pada kolom 6 di baris 2 adalah tanda sambung . apabila


masih belum cukup,dapat dilanjutkan di baris bawahnya . maksimum
perpanjangan adalah 19 baris.
1. Kolom 1-5 dipakai untuk menuliskan label alamat statemen . label ini tidak
harus ditulis memojok ke kanan
Contoh :

Sumber : Belajar Sendiri Bahasa Fortran (Ir F Soesianto,2001: Hal 15)

Nomor statemen “125” pada baris 2,3,4 mempunyai arti yang sama .
“Label” sama artinya dengan “nomor statemen”,dapat disebut juga “alamat
statemen”.

2. Kolom 73-80 tidak diproses oleh komputer. Biasanya dimanfaatkan untuk


menulis nomor urut kartu program . sehingga kalau suatu saat kartu-kartu
tersebut jatuh ke tanah dan tercerai berai,dengan bantuan nomor-nomor ini
kartu tersebut dapat disusun lagi.

KELOMPOK 12 14
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Contoh :

Sumber : belajar sendiri bahasa fortran (Ir F Soesianto, 2001 : Hal 14)
Nomor-nomor: 00123,00124,00125 adalah nomor-nomor staemen.

3. Kalau kolom 1 diberi huruf C,maka kolom 2-80 boleh ditulisi apa saja
sebagai komentar,dan tidak akan diproses.

Jika table diringkas penggunaan kolom-kolom bahasa FORTRAN tersebut


adalah:
Kolom Penjelasan
1-5 Dipakai untu menuliskan label alamat dari statemen-
statemen.
6 Dipakai untuk penyambungan

7-72 Dipakai untuk menulis instruksi-instruksi


73-80 Boleh dipakai untuk apa saja sebab tak ikut di
proses,biasaya diisi nomer urut statemen
1 Kalau kolom ini diberi huruf c,maka kolom 2-80 dapat
diisi apa saja dan berfungsi sebagai komentar

Sumber : Belajar Sendiri Bahasa Fortran (Ir F Soesianto, 2001 : Hal 25)

KELOMPOK 12 15
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Label Statemen Konstanta

Metta command Statemen


Unit Specifier

Verb

2.5 Tipe Data

Tipe data adalah suatu hal yang menggambarkan jenis nilai dari
suatu obyek data (konstanta atau variabel) yang nantinya akan digunakan saat
program dijalankan. (Ayub Adiputra, Tipe Data Dasar)

KELOMPOK 12 16
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Dalam FORTRAN tipe data yang paling umum di gunakan ada 3


macam tipe data yaitu :

a) Tipe data REAL


Tipe data REAL adalah tipe data yang terdapat
bilangan dan angka yang bisa memiliki titik desimal dan
pecahan, tipe data ini menerima angka dan koma serta bias
dilakukan proses aritmatika. (Maksum Abdu, Tipe Data
Variabel pada Program Pascal)
b) Tipe data INTEGER
Tipe data INTEGER adalah tipe data yang hanya
terdapat bilangan bulat saja yaitu angka 1,2,3,4,5,7, …
c) Tipe data CHARAKTER
Tipe data CHARAKTER adalah tipe data yang
mewakili semua huruf, simbol baca, symbol matematika
yang tidak dapat di operasikan secara matematis. (Maksum
Abdu, Tipe Data Variabel pada Program Pascal)

Berikut ini adalah secara lengkap tipe data yang di gunakan di dalam
FORTRAN :

KELOMPOK 12 17
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

1. Tipe data integer :

Tipe Rentang Nilai Ukuran

Shortint -128…127 1 byte

Byte 0…255 1 byte

Integer -32768…32767 2 byte

Word 0…65535 2 byte

Longint -2147483648…2147483647 4 byte

Sumber : Amalia Dika, Contoh Tipe Data

2. Tipe data real :

Tipe Rentang Nilai Digit Ukuran

Single 1,5E-45…3,4E+38 7-8 4 byte

Real 2,9E-38…1,7E+38 11-12 6 byte

Double 5,0E-324…1,7E+308 15-16 8 byte

Extended 3,4E-4932…1,11E+4932 19-20 10 byte

Comp 9,2E-18…9,2E+18 19-20 8 byte

Sumber : Amalia Dika, Contoh Tipe Data

KELOMPOK 12 18
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

3. Tipe data character :

Tipe Byte Keterangan


Character 1 Berupa karakter (huruf,simbol matematika,simbol baca)
Logical 4 Logika true or false

Sumber : Belajar Sendiri Bahasa Fortran (Ir F Soesianto,2001: Hal


32)

2.6 Variabel
Variabel digunakan untuk menyimpan suatu konstanta. Nama variabel
bisa sesuai keinginan, namun harus memenuhi aturan-aturan sebagai berikut
:
a) Minimal satu karakter, maksimal enam karakter.
b) Karakter pertama harus karakter alfabetis.
c) Tidak mengandung karakter khusus ( ?, =, !, - )
d) Tidak mengandung karakter kosong.
e) Tidak menggunakan kata standar yang sudah dipakai compiler, seperti
READ, WRITE, GOTO, dan lain-lain.

Variabel ada lima macam, yaitu :


a) Variabel integer
Variabel integer adalah Variabel yang digunakan untuk
menyimpan nilai numerik bulat. Bila tidak didefinisikan, maka
variabel integer harus ditunjukkan oleh nama variabelnya yang diawali
dengan huruf I, J, K , L, M, atau N.
Contoh :
INTEGER ISI
ISI = 275
b) Variabel real preposisi ganda
Variabel real preposisi ganda adalah variabel yang dibunakan
untuk menyimpan nilai numerik pecahan sebesar 8 byte. Nama
variabelnya harus diawali dengan huruf selain I, J, K, L, M, dan N
KELOMPOK 12 19
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Contoh :
REAL*8 NILAI
NILAI = 275
Atau
DOUBLE PRECISION NILAI
NILAI = 75
c) Variabel real preposisi tunggal
Adalah variabel yang digunakan untuk menyimpan nilai numerik
pecahan sebesar 4 byte. Bila tidak didefinisikan, maka variabel integer
harus ditunjukkan oleh nama variabelnya yang diawali dengan huruf I,
J, K , L, M, atau N.
Contoh :
REAL NILAI
NILAI = 99
d) Variabel karakter
Adalah variabel yang digunakan untuk menyimpan nilai karakter.
Default dari variabel ini adalah 4 byte dan dapat didefinisikan menjadi
1 byte atau n byte (n maksimum 127 byte). Nama dari variabel
karakter bebas ini bebas diawali dengan huruf apapun.
e) Variabel logika
Adalah Variabel yang digunakan untuk menyimpan nilai logika.
Default dari variabel ini adalah 4 byte dan dapat didefinisikan menjadi
2 byte.
Contoh :
STATUS = .TRUE

2.7 Operator
Operator di dalam bahasa FORTRAN dapat terdiri dari operator
arithmatika (arithmetic operator), operator hubungan (relational operator)
KELOMPOK 12 20
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

dan operator logika (logical operator).


(ftparman.files.wordpress.com/2012/10/bab-2.doc)

Pengertian masing-masing operator adalah sebagai berikut :


1. Operator aritmatika adalah tanda operasi yang digunakan di dalam
perhitungan aritmatika.
2. Operator hubungan adalah tanda operasi yang digunakan untuk
menyatakan hubungan antara dua buah elemen
3. Operator logika adalah tanda operasi yang digunakan didalam
perbandingan logika
Ungkapan (expression) dalam bahasa FORTRAN dapat berupa
ungkapan arithmatika (arithmetic espression), ungkapan karakter (character
expression), ungkapan hubungan (relational expression) dan ungkapan logika
(logic expression). (ftparman.files.wordpress.com/2012/10/bab-2.doc)
Pengertian masing-masing ungkapan tersebut adalah sebagai berikut :
1. Ungkapan Arithmatika merupanakan bentuk ungkapan matematika
biasa, dengan menggunakan operator aritmatika FORTRAN. Jenjang
menunjukkan urutan mana yang diperoses terlebih dahulu. Untuk
mengubah jenjang dapat dipergunakan pasangan kurung “(“ dan “)”.
2. Ungkapan Karakter merupakan ungkapan yang dapat berupa konstanta
atau nama variabel. Ungkapan karakter tidak boleh menggunakan
operator aritmatika.
3. Ungkapan Hubungan membandingkan nilai dari dua buah numerik atau
karakter yang menghasilkan suatu nilai benar (TRUE) atau salah
(FALSE).
4. Ungkapan Logika menyatakan ungkapan suatu nilai logika. Ungkapan
logika dibentuk dengan menggunakan operator logika yaitu .NOT. .OR.
atau .AND.

KELOMPOK 12 21
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Didalam sebuah ungkapan, operator arithmatika mempunyai


jenjang tertinggi (1) diikuti oleh operator hubungan (2) dan yang
terendah adalah operator logika. (Parman, Operator Aritmatika)
Contoh:
(A .LT. (B**2)) .AND. (C .GT. D)

Ungkapan hubungan
Ungkapan arithmatika
Ungkapan logika

1. Ungkapan dan Operator Aritmatika.


Operator aritmatika adalah tanda operasi yang digunakan di dalam
perhitungan aritmatika. Bentuk dan maksud dari masing-masing operator
aritmatika tampak pada abel berikut ini. (Parman, Operator Aritmatika)

Tabel Operator Aritmatika


Operator Arti Contoh Hirarki
** Perpangkatan 2**10 (210) 1
* Perkalian 5*12 (5 x 12) 2
/ Pembagian 60/10 2
+ Penambahan 2+3 3
- Pengurangan 6-2 3
Sumber: Parman, Operator Aritmatika

Agar proses aritmatika dengan hirarki yang lebih rendah dapat


diproses terlebih dahulu maka digunakan tanda kurung “( )”.
Contoh :

Tabel Perbandingan Perhitungan Matematis antara Fortran dan


Matematika
Fortran Matematika

KELOMPOK 12 22
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

(A+B)/C+D +D

(A**2+B**2)**0.5

Sumber : Parman, Operator Aritmatika

Betuk-bentuk operator fungsi trigonometri adalah operasi sinus,


cosinus dan tangen. Dalam ekspresi matematika, sudut dalam operasi ini
o
dinyatakan dalam derajat ( … ) dimana dalam hal satu lingkaran penuh
terbagi dalam 360o. Dalam Bahasa FORTRAN sudut dinyatakan dalam
radian dimana dalam satu lingkaran penuh terbagi menjadi 2 radian.
Contoh :
Dalam sudut A dan B dalam aritmatika adalah 60° dan 130° .
Ubahlah dalam ekspresi Fortran.
Aritmatika A = 60°Fortran A = 60° (3,141593 / 180)
= 1,047198 rad
Aritmatika B = 130°Fortran B = 130° (3,141593 / 180)
= 2,268928 rad
Tabel Operasi Fungsi Trigonometri
No Ekspresi matematika Ekspresi Fortran
1 Y1 = sin a Y1 = SIN (A)
2 Y2 = sin (a-b) Y2 = SIN (A - B)
3 Y2 = sin2 (a-b) Y2 = SIN (A - B) ** 2
4 Y3 = cos2 a Y3 = COS (A) ** 2
5 1 tan a
Y4 = Y4 = (1.0+TAN(A)) / SIN (A) **2
sin 2 a
Sumber : Parman, Operator Aritmatika
Sistem logaritma yang umum digunakan adalah sistem biasa
(berbasis 10) dan sistem natural (berbasis e; e = 2.718282). Bentuk umum
dari logaritma biasa adalah:
LOG10 (a) atau ALOG10(a)
Bentuk umum untuk fungsi logaritma natural adalah

KELOMPOK 12 23
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

LOG (a) atau ALOG (a)


Tabel Contoh Hitungan Logaritma
No Ekspresi Ekspresi Fortran Hasil
matematis
1 Log 12 LOG (12.) 1.0791810
2 Log 12 ALOG (12.) 1. 0791810
3 ln 12 LOG(12.) 2.4849070
4 ln 12 ALOG (12.) 2. 4849070
5 ln 20 LOG (20.) 2.9957323

Sumber : ti-menengah.lab.gunadarma.ac.id/wp-content/uploads/2010/02/bab2-

2. Ungkapan Hubungan.
Ungkapan hubungan membandingkan nilai dari dua buah numerik
atau karakter. Pembandingan tersebut menggunakan operator sebagai
berikut:
Tabel Operator
Operator Arti Contoh
.LT. Lebih kecil dari A .LT. B (A<B)
.LE. Lebih kecil sama dengan dari A .LE. B (A≤B)
.EQ. Sama dengan A .EQ. B (A=B)
.NE. Tidak sama dengan A .NE. B (A≠B)
.GT. Lebi besar dari A .GT. B (A>B)
.GE. Lebih besar sama dengan dari A .GE. B (A≥B)
Sumber : ti-menengah.lab.gunadarma.ac.id/wp-content/uploads/2010/02/bab2-
RK.pdf
Contoh :
IF (A .LT. B) C=5 (Jika A Kurang dari B maka C = 5)

Ungkapan hubungan

3. Ungkapan Logika.

KELOMPOK 12 24
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Untuk logikal Variabel menggunakan salah satu dari logical


operator berikut yang menghasilkan suatu nilai benar (TRUE) atau salah
(FALSE):
Tabel Operator Logika
Operator Arti Jenjang
.NOT. Tidak atau bukan 1
.AND. Dan 2
.OR. Atau 3
Sumber: ti-menengah.lab.gunadarma.ac.id/wp-content/uploads/2010/02/bab2-
RK.pdf
Tabel contoh operator logika .NOT.
A .NOT. A
TRUE FALSE
FALSE TRUE
Sumber: ti-menengah.lab.gunadarma.ac.id/wp-content/uploads/2010/02/bab2-
RK.pdf
Tabel contoh operator logika .AND.
A B A .NOT. B
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
FALSE FALSE FALSE
Sumber: ti-menengah.lab.gunadarma.ac.id/wp-content/uploads/2010/02/bab2-
RK.pdf

Tabel contoh operator logika .OR.


A B A .OR. B
TRUE TRUE FALSE
TRUE FALSE FALSE
FALSE TRUE FALSE

KELOMPOK 12 25
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

FALSE FALSE TRUE


Sumber: ti-menengah.lab.gunadarma.ac.id/wp-content/uploads/2010/02/bab2-
RK.pdf
Selain opertor logika diatas juga ada bentuk umum yang sering
digunakan dalam Fortran yaitu :
A. GOTO (Pelompatan)
Operator pelompatan atau Statement GOTO yang
merupakan statemen yang dapat digunakan untuk melompat
menuju ke statemen yang lainnya. Statemen GOTO dapat
dibedakan atas:
 GOTO tak bersyarat : Statement ini digunakan untuk
mengontrol proses untuk menuju kesuatu statemen lainnya
yang ditujukan oleh label tanpa ada syarat yangdiberikan.
 GOTO Bersyarat : Statemen ini digunakan untuk
mengontrol loncatan dari proses kesuatu label tertentu
tergantung dari nilai ungkapan integer <i>
B. IF
Pernyataan IF merupakan statement yang dapat
digunakan untuk menyeleksi suatu keadaan atau syarat dan
proses akan melakukan suatu tindakan tertentu jika kondisi
yang diseleksi benar dan melakukan tindakan lainnya jika
kondisi salah. If Statement dapat digolongkan menjadi
Logikal If dan Arithmatic If.
C. BlockIF
Statemen ini digunakan untuk menyeleksi suatu kondisi
dan mengambiltindakan apa yang harus dilakukan dalam
bentuk blok-blok statement. Macam – macam dari Blok IF
yaitu :
 IF - THEN
 ELSE

KELOMPOK 12 26
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

 ELSEIF
 ENDIF
Suatu statemen Blok If harus diawali dengan statemen
IF-THENdan diakhiri dengan statement ENDIF. Suatu
loncatan menujukedalam Blok If tidak diperbolehkan, tetapi
loncatan keluar Blok If diperbolehkan.

2.8 Kontrol Pemograman


Kontrol pemrograman atau statemen kendali berfungsi untuk mengubah
langkah proses pengerjaan agar maksud pemrograman tercapai. Dengan
adanya statemen kontrol, maka langkah dapat diperintahkan meloncat ke
mana saja kita inginkan. Macam – macam kontrol pemrogaman dapat
dibedakan menjadi :
1. INPUT OUTPUT
Didalam membuat program menggunakan bahasa FORTRAN
statemen masukan dan keluaran (I/O) biasanya menggunakan statemen
READ, statemen WRITE dan statemen OPEN. Pernyataan READ akan
memberitahu komputer untuk membaca informasi numerik atau simbolik
dari peralatan masukan (keyboard, monitor, disk dll), dan pernyataan
WRITE memberitahu komputer untuk menampilkan atau mencetak data
ke unit keluaran (monitor, printer, plotter, disk, dll). Statement OPEN
digunakan untuk membuka file yang berguna bagi pembacaan data dari
dan penulisan data padafile yang dibuka tersebut. (Parman, Operator
Aritmatika)
A. Statement READ
Merupakan Statement Input/Output yang utama selain
Write dan Open.Untuk mentransfer atau membaca data dari suatu
File, dapat berupa file disk atau console.

READ(<unit-spec> [, <format-spec>] [ REC =<rec-num>] [


,END = <slabel1>] [,ERR = <slabel2>] ) <iolist>

KELOMPOK 12 27
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Sumber: Parman, Operator Aritmatika


Keterangan :
 <unit-spec>: Adalah unit specifier atau logical unit
number(LUN), merupakan spesifikasi dari alat input yang
digunakan.
 <format-spec>:Merupakan spesifikasi format daridata
yang akan dibaca, menunjukkan tipe, letak dan panjang
data.
 <rec-num> : Adalah record number, hanya digunakan
pada pembacaan data dari file di disk secara direct access.
 <slabel1>: Merupakan statement label yang pertama, hanya
digunakan untuk pembacaan data dari file di disk, Jika telah
sampai ke record terakhir atau akhir dari file, maka kontrol
proses akan menuju executable statement
 <slabel2> : Adalah statement label kedua yang digunakan
untuk mendeteksi bila terjadi kesalahan pada pembacaan
data, maka kontrol proses akan menuju ke executable
statement yang ditunjukkan label tersebut.
 <iolist> : adalah Input/output list yang berupa
kumpulan atau sebuah nama variabel, nama larik, atau
elemen dari larik yang ditulis dengan pemisah koma atau
suatu implied do list untuk menerima data yang dibaca

Contoh program dengan statement read :


C2345678
Open(1,File='Data1.dat')
Read(1,*)I,A,B

write(*,*)'Hasil Pembacaan Data1.dat adalah:'


write(*,21)I,A,B
21 format(I2,2x,f5.2,2x,f6.2)
KELOMPOK 12 28
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

close(1)
end
Keterangan:
Program tersebut akan membaca data dari file bernama
“Data1.dat”kemudian hasil dari pembacaan ditulis di Console
(Display). Keluaran pada console berupa 12.30 123.45 (hasil ini
didapat dari data1.dat yang sudah berisi data 12.30 123.45).
B. Statement OPEN
Untuk membuka File yang berguna bagi pembacaan data
dari dan penulisan data padafile yang dibuka tersebut. Penulisan
statetment open sebagai berikut :

FOPEN(<unit-spec> [,FILE=‘<fname>’] [,STATUS=‘<status>’]


Keterangan:
[,ACCESS=‘<access>’][FORM=‘<format>’][,RECL=<rec-length>])
 <unit-spec>Adalah unit specifier yang menunjukkan
Spesifikasi alat yang digunakan berupa nilai integer dan
harus diletakkan sebagai argumen pertama di statement
OPEN tersebut. Unit specifier yang digunakan pada
statement READ dan WRITE untuk menunjukkan file yang
digunakan.
 <fname>Merupakan nama file yang digunakan. Jika
argumen ini tidak digunakan, maka FORTRAN akan
membuat file sementara (scratch file). Bila nama file diisi
dengan blank (FILE= ‘ ‘), maka user akan ditanya nama
file saat program dijalankan(runtime) atau terdapat
keterangan terminasi program.
 <status>Menunjukkan status dari file yang dibuka. OLD
adalah status asli (default), jika tidak ditulis berarti status
file tersebut adalah OLD dan jika file belum ada akan
dianggap NEW. Status OLD digunakan jika file telah
dipakai dan sudah berisi data, jika digunkan NEW maka isi
file tersebut akan hilang. NEW digunakan untuk file yang
KELOMPOK 12 29
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

belum pernah dibuat, jika digunkan OLD untuk kondisi ini


maka akan terdapat kesalahan.
 <access>Adalah metode pengaksesan yang digunakan.
Metode tersebut adalah SEQUENTIAL untuk sequential
access dan DIRECT untuk direct access. Default dari access
adalah SEQUENTIAL
 <format>Menunjukkan format dari data record, berupa
FORMATTED, UNFORMATTED dan BINAARY. Jika
access-nya SEQUENTIAL maka default format-nya adalah
FORMATTED dan jika accessnya DIRECT maka default
format adalah UNFORMATTED.
 <rec-length>Merupakan panjang record yang ditunjukkan
oleh nilai integer. Argumen ini hanya digunkan untuk
pengaksesan secara DIRECT tidak untuk pengaksesan
SEQUENTIAL.
Contoh program :
C2345678
open(1,File='test1.txt')
write(1,*)'test1-test-test‘
close(1)
end

Keterangan:
Unit specifier yang digunakan 1
Nama File yang dibuka : test1.txt
Access yang digunakan SEQUENTIAL (default)
Record adalah FORMATTED( default)
Isi File test1.txt  test1-test-tes

C. Statemen WRITE
KELOMPOK 12 30
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Statemen WRITE Hampir serupa juga dengan READ dan


dipakai untuk menuliskan isi suatu variabel pada suatu media
output. Bentuk umum:
WRITE (i,l) var1, var2, …
Dengan i = nomor alat output
l = label FORMAT
Contoh program untuk menuliskan data dari suatu variabel
A = 30.0
WRITE (*,*) A
STOP
END
2. Perulangan ( Stetement DO )
FungsiDo Loop dipakai untuk mempermudah proses membaca
maupun menulis (Implied Do Loop hanya dipakai dalam proses I/O
saja).Fungsi DO untuk melakukan proses pengulangan pernyataan-
pernyataan yang berada diantara statement DO dengan statement yang
ditunjuk oleh Label Statement
Bentuk umum:
DO <slabel> [,] <variabel> = <expr1>,<expr2> [,expr3]
Dimana:
- <slabel> adalah label statement
- <variabel> variabel numerik integer
- <expr1> ungkapan integer yang menunjukkan hitungan awal
banyaknya pengulangan.
- <expr2> Ungkapan integer yang menunjukkan hitungan akhir
pengulangan.
- <expr3> Ungkapan integer yang menunjukkan pertambahan
hitungan pengulangan. Jika pertambahannya(Increment) 1, maka
tidak harus dituliskan.
Contoh:
C23456
KELOMPOK 12 31
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

DO 10 I=1,5
10 write (*,50) I
50 format (1x.’I= ‘,1x,I1)
end
Hasil keluaran program
I=1
I=2
I=3
I=4
I=5

3. Pelompatan (GOTO)
Statement GOTO merupakan statemen yang dapat digunakan
untuk melompat menuju ke statemen yang lainnya. Statemen GOTO dapat
dibedakan atas:Ada dua bentuk statemenini, yaitu:
A. Statemen GOTO tanpa syarat
Fungsi: untuk memerintahkan proses meloncat langsung ke
statemen dengan label yang ditunjuk
Bentuk umum:
GO TO n
Dengan n = label dari suatu instruksi selanjutnya yang harus
dilaksanakan
Contoh:
C2345678
READ(*,*) A, B
WRITE(*,*) ‘ NILAI A=’ , A
GOTO 50
WRITE(*,*) ‘ NILAI B=’ , B
50 STOP
END

KELOMPOK 12 32
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

B. Statemen GOTO dengan syarat.


Fungsi: Memberi perintah agar program meloncat ke
statemen dengan label nk apabila harga variabel = k
Bentuk umum:
GO TO (n1, n2, … , nk) , var
Dengan:
n1, n2 … nm = label dari suatu instruksi yanga akan dituju dan
dikerjakan instruksinya sesuai dengan
harga var.
Var = variabel integer
Catatan:
n1, n2 …, nm dapat tidak urut dan dapat samaharga var ≤ m dan
var ≠ 0.Harga var harus ditentukan sebelum program tiba pada
statemen ini.Setiapnomor statemen yang ada dalam program dapat
dipergunakan dalam GOTO satemen dengan hitungan. Kecuali
nomor statemen untuk FORMAT.
Contoh:
WRITE(*,*) ‘ BERAPAKAH JUMLAH TEMAN DEKAT
ANDA?’
READ(*,*) JUMLAH
GOTO(100,200,250,300) JUMLAH

100 WRITE(*,*) ‘ WAH, ANDA PEMALU ’


GOTO 35
200 WRITE(*,*) ‘ LUMAYAN, CARI LAGI YA ‘
GOTO 35
250 WRITE(*,*) ‘ CUKUP, JANGAN BANYAK-BANYAK ‘
GOTO 35
300 WRITE(*,*) ‘ WADUH, TERLALU BANYAK ‘
35 STOP
END
KELOMPOK 12 33
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

4. Kontrol pemrograman perbandingan


Kontrol pemrograman pebandingan terbagi menjadi dua yaitu :
A. Statement IF
Statement If merupakan statement yang dapat digunakan
untuk menyeleksi suatu keadaan atau syarat dan proses akan
melakukan suatu tindakan tertentujika kondisi yang diseleksi benar
dan melakukan tindakan lainnya jika kondisi salah. If Statement
dapat digolongkan menjadi 2 yaitu :
 Logikal IF
Fungsinya untuk membandingkan dua (atau lebih)
variabel secara nalar. Kalau perbandingan memberikan hasil
“ya”, maka statemen di samping IF dikerjakan, apabila
tidak dipenuhi maka program akan mengerjakan statemen di
bawahnya.
Bentuk umum:
IF (<Ekspresi>) <Statement> dimana
- <ekspresi> adalah ungkapan logika yang akan
diseleksi
- <Statement>adalah executeable statement kecuali
statement Do, End, Endif,Elseif, Else, blok if atau
statement if logika lainnya.

Contoh penggunaan :
write(*,'(3x,a,\)')'nilai a = '
read(*,*)a
write(*,'(3x,a,\)')'nilai b = '
read(*,*)b
if (a.gt.b) write(*,'(3x,a)')'nilai a besar dari b'
if (a.lt.b) write(*,'(3x,a)')'nilai b besar dari a'
end
 Aritmatika IF
KELOMPOK 12 34
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Fungsinya untuk memeriksa isi suatu variabel atau


hasil suatu pernyataan hitungan, yaitu apakah negatif, nol,
ataukah positif. Dan berdasarkan hasil pemeriksaan yang
diperoleh, program diperintahkan loncat ke statemen: n1,
n2, atau n3.
Bentuk umum:
IF (<ekspresi>) <slabel1>, <slabel2>, <slabel3>
Dimana :
- <ekspresi> adalah ungkapan aritmatic real atau
integer
- <slabel1> adalah proses yang akan dilaksanakan jika
ungkapan aritmatic yang diseleksi bernilai negatif
- <slabel2> adalah proses yang akan dilaksanakan jika
ungkapan aritmatic yang diseleksi bernilai nol
- <slabel3> adalah proses yang akan dilaksanakan jika
ungkapan aritmatic yang diseleksi bernilai positif
Contoh IF hitungan:
……………………………..
……………………………...
READ(5,10)A, B, C
……………………………...

IF(D) 100, 200, 300


……………………………...
100 WRITE(6,25)
25 FORMAT(‘ AKAR IMAGINER’ )
……………………………...
200 X=-B/ (2.*A)
……………………………...
300 X1=(-B+SQRT(B**2-4*A*C)) / (2.*A)
X2=(-B-SQRT(B**2-4*A*C)) / (2.*A)
KELOMPOK 12 35
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

STOP
END

B. Statement Block IF
Statemen ini digunakan untuk menyeleksi suatu kondisi dan
mengambil tindakan apa yang harus dilakukan dalam bentuk blok-
blok statement. Statemen Block IF ini didukung oleh beberapa
statemen, antara lain statemen IF-THEN, ELSE, ELSE IF, serta
ENDIF.
 IF – THEN
Fungsi: Menyatakan suatu blok statemen-statemen yang
harus digarap bila suatu kondisi tertentu dipenuhi.
Bentuk umum:
…………………………………..
…………………………………..
IF (Ekspresi nalar) THEN
…………………………………..
………………………………….. Statemen kolompok A
…………………………………..
ENDIF
…………………………………..

Di mana:
- Ekspresi nalar : adalah suatu ekspresi nalar biasa
seperti yangsudah dijelaskan pada bab terdahulu
- Statemen IF-THEN ini tidak bisa dilepaskan dari
statemen ENDIF sebagai batas akhir dari blok IF-
THEN
- Statemen kelompok A: kelompok statemen ini akan
digarap apabila ekspresi nalar terpenuhi. Apabila
ekspresi nalar tidak terpenuhi maka progrm akan
KELOMPOK 12 36
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

langsung meneruskan penggapan ke statemen di


bawah statemen ENDIF.
 ELSE
Fungsi: Untuk menyatukan suatu blok alaternatif yang harus
dikerjakan apabila suatu ekspresi nalas dalam suatu
statemen IF-THEN yang tidak dipenuhi.
Bentuk umum:
……………………….
……………………….
IF (Ekspresi nalar) THEN
……………………….
………………………. Statemen kelompok A

ELSE
……………………….
………………………. Statemen kelompok B
……………………….
ENDIF
……………………….
STOP
END

Dimana:
- Ekspresi nalar: adalah suatu ekspresi nalar biasa
seperti yang sudah dijelaskan pada bab terdahulu.
- Statemen kelompok A : kelompok yang akan
digarap apabila ekspresi nalar dipenuhi
- Statemen kelompok B : kelompok statemen yang
harus digarap bila ekspresi nalar tidak dipenuhi.

 ELSEIF
KELOMPOK 12 37
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Fungsi: Menyatakan suatu blok alternatif yang lain melalui


suatu prasyarat dipenuhi suatu ekspresi nalar yang lain
selain ekspresi nalar milik statemen IF-THEN.
Bentuk umum:
………………………………….
IF (ekspresi nalar 1) THEN
………………………………….
…………………………………. Statemen kelompok A

ELSE IF (ekspresi nalar 2) THEN


………………………………….
………………………………….
Statemen kelompok B
………………………………….
ENDIF
………………………………….
Di mana:
- Ekspresi nalar 1 : suatu ekspresi nalar seperti yang
sudah dijelaskan di atas.
- Ekspresi nalar 2 : suatu ekspresi nalar seperti yang
sudah dijelaskan di atas.
- Statemen kelompok A : kelompok statemen yang
akan digarap apabila ekspresi nalar 1 dipenuhi
- Statemen kelompok B : kelompok statemen yang
akan digarap apabila ekspresi nalar 1 tidak
dipenuhi dan ekspresi nalar 2 dipenuhi.
- Apabila ekspresi nalar 1 dan ekspresi nalar 2 tidak
dipenuhi maka program langsung ke statemen
ENDIF.
 ENDIF
Fungsi: Menyatakan batas akhir dari suatu blok statemen
IF-THEN.
Bentuk umum:
KELOMPOK 12 38
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

ENDIF
Dimana: statemen ENDIF diletakkan di akhir blok statemen
IF-THEN.

5. Subprogram.
Yang dimaksud dengan Subprogram adalah suatu program
tersendiri yang dapat dipanggil berkali-kali oleh program utama maupun
oleh Subprogram lain untuk suatu tujuantertentu. Subprogram bersifat
otonom, sehingga pada prinsipnya terpisah dari program utama maupun
terhadap Subprogram yang lain. (http://docs.oracle.com/cd/E19059-
01/stud.8/817-5066/11_cfort.html)
Subprogram ada 2 macam:
A. Subprogram SUBROUTINE
Statement ini dapat digunakan untuk mengidentifikasikan
suatu unit program adalah suatu rutin bagian serta sekaligus
memberikan nama dan argumen-argumennya.
Bentuk umum:
SUBROUTINE <nama_subroutine> [<parameter1>,
<parameter2>..]

Keterangan :
- <subroutine-name> adalah nama dari rutin bagian
- <parameter> adalah nama dari argumen, atau disebut juga
dengan dummy argumen
Berikut ini diberikan beberapa ketentuan dari subroutine:
 Subroutine merupakan unit program tersendiri yang diawali
dengan statement SUBROUTINE dan diakhiri dengan
statement END atau RETURN, serta dipergunakan oleh unit
program yang lain dengan statement CALL.
Bentuk Pemanggilan:
KELOMPOK 12 39
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Program Utama
….
Call A(X, HASIL)
….
…. Argumen subroutine
END
Subroutine A(X, Y)
….
….
END Nama subroutine

 Nama subroutine dapat berisi statement-statement apapaun


kecuali statementPROGRAM, statement SUBROUTINE
lainnya, maupun statementFUNCTION
 Nama argument tidak boleh tampak di statemenat
COMMON,EQUIVALENCE, INTRINSIC, atau DATA
 Argumen sesungguhnya yang tampak di statement CALL
harus sesuaiurutannya, jumlahnya dan tipenya dengan
dummy argument yang tampak distatement Subroutine.
Antara nama argument sesungguhnya dengan
dummyargument bole sama maupun tidak.
 Di dalam suatu suroutine dapat memaggil subroutine yang
lainnya.
 Subroutine dapat tidak mengandung dummy argument ,
yang berarti tidak adadata yang dikirim ke subrroutine dan
tidak ada hasil yang dikirim balik kepemanggil subroutine
Contoh program perhitungan dengan Subroutine :
C234567
Program utama
real x,y
write(*,*)'menghitung harga persamaan
x^2+2x+10'
KELOMPOK 12 40
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

write(*,*)'Berikan harga x ? '


read(*,'(F5.2)')x
call compute(x,y)
write(*,*)
write(*,10)x,y
10 format(//,1x,'x =',F5.2,2x,'; x^2+2x+10 =',f7.2)
end

Subroutine compute(x,y)
y=x**2+2*x+10
return
end

Hasil keluaran pada console program


menghitung harga persamaan x^2+2x+10
Berikan harga x ?
12.
x =12.00 ; x^2+2x+10 = 178.00

B. Subprogram COMMON
Untuk menggunakan bersama-sama sejumlah memori
antara dua atau lebih unit program(Program Utama, Fungsi atau
SUBROUTINE). Hal ini menyebabkan masing-masing unit
program dapat menggunakan nilai data yang berada di unit
program lainnya tanpa harus dikirim melalui argument.

Format: COMMON [/[<Cname>]/]<nlist> [[,]/[<cname>]/<nlist>

Contoh penggunaan Statement Common :


C234567
common x,y
write(*,*)'Masukkan Harga x?'
KELOMPOK 12 41
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

read(*,'(F5.2)')x
call hitung
write(*,'(1x,A,F8.2)')'y=',y
end
SUBROUTINE hitung
common x,y
y=x**2-2*x
end
Hasil keluaran program pada console
Masukkan Harga x?
3.
y= 3.00

KELOMPOK 12 42
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

BAB III
PEMBUATAN PROGRAM

3.1 Project 1
Dalam project 1, merupakan gabungan dari beberapa program yang
sebelumnya telah dibuat terlebih dahulu. Program gabungan yang kami buat
ini merupakan program dengan menggunakan rumus efisiensi thermal siklus
otto, usaha, dan kecepatan pengeboran

3.1.1 Definisi Masalah


Fortran adalah salah satu bahasa pemrograman tingkat tinggi (high
level language) yang berorientasi kepada suatu masalah tertentu,
khususnya masalah yang berkaitan dengan bidang matematika dan teknik.
Bahasa fortran ini cukup mudah dipahami dan efektif untuk digunakan.
Fortran memiliki beberapa kelebihan diantarannya dapat menangani
ekspresi matematika dan logika yang kompleks, pernyataanya cukup
pendek dan sederhana, dan dapat dengan mudah dimodifikasi agar bisa
bekerja pada tipe yang lain. Dari beberapa kelebihan tersebut, fortran
sering digunakan dalam berbagai aplikasi dibidang sains dan teknik.
Dalam proyek kelompok kami kali ini, kami mencari beberapa
permasalahan dalam dunia teknik mesin, diantaranya menghitung berapa
efisiensi mesin bensin, berapa usaha yang dilakukan untuk melakukan
sesuatu misalnya memindahkan meja, dan dalam seberapa produktifitas
suatu proses produksi yang menggunakan bor sebagai salah satu alat yang
di gunakan dalam kurun waktu tertentu, berikut adalah penjelasan dan
rumus yang digunakan dalam permasalahan yang kami pilih :

Rumus Menghitung Kecepatan Pengeboran


Pada proses pengeboran suatu material, kecepatan pengeboran
dapat ditentukan melalui rumus:

KELOMPOK 12 43
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

dimana : D = diameter awal benda (mm)


n = putaran spindel (rpm)
Berdasar rumus di atas, kecepatan pengeboran bergantung pada
dua variabel yaitu D(diameter awal) dan r (kecepatan putaran spindel).

3.1.2 Algoritma
1. Mulai
2. masukkan Nilai D dengan aturan bilangan real dan bukan karakter
3. Jika D tidak sesuai aturan maka kembali ke langkah 2
4. Jika nilai D sesuai aturan maka masukkan nilai n dengan aturan bilangan
real dan bukan karakter
5. Jika n tidak sesuai aturan maka kembali ke langkah 4
6. Jika nilai n sesuai aturan maka Hitung besar kecepatan pengeboran dengan
rumus
7. Hasil v
8. Masukkan y atau t
9. Jika Masukkan y maka kembali kelangkah 3
10. Jika masukkan t maka selesai
11. Selesai

KELOMPOK 12 44
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

3.1.3 Flowchart

mulai
A

Tidak
masukkan Nilai D dengan
Tidak
aturan bilangan real dan Jika y Jika t
bukan karakter

Tidak Ya

Nilai D sesuai
Selesai
aturan

Ya

masukkan Nilai n dengan


aturan bilangan real dan Tidak
bukan karakter

Nilai n sesuai
aturan

Ya

V = pDn/1000

Hasil V

Masukkan y
atau t

KELOMPOK 12 45
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

3.1.4 Cara Kerja Program


cara kerja program mencari kecepatan pengeboran adalah sebagai berikut :

1. Menghitung kecepatan pengeboran


3 write (*,*) '=================================' (135)
write (*,*) 'Menghitung rumus kecepatan pengeboran' (136)
write (*,*) '================================' (137)
write (*,*) ' Rumus V = 3.14 x D x n / 1000 ' (138)
write (*,*) 'dimana D = Diameter awal benda kerja (mm) ' (139)
write (*,*) ' n = Putaran spindle (RPM) ' (140)
Statement (135) dan (137) berfungsi untuk hiasan, yaitu
tampilan strip (=) pada program. Statement (136), (138), (139), (140),
untuk menampilkan tulisan atau karakter yang ada dalam tanda petik
tunggal (‘).

2. Memasukkan property yang di ketahui


5 write (*,*) 'Berikan harga D (mm) ? ' (141)
read (*,'(F5.2)',err=30)x (142)
if(x.LE.0.0)goto 35 (143)
35 if(x.LE.0.0)then (144)
write (*,*)'nilai tidak logis' (145)
if(x.LE.0.0)goto 5 (146)
end if (147)
write(*,*) (148)

Statement (141) menerangkan bahwa pada console display


akan muncul tulisan “Berikan harga D (mm) ?”. Statement (142)
menerangkan bahwa pengguna program akan mengimputkan nilai pada
console display, dan pada tahap ini pengguna program tidak dapat
mengimputkan huruf karena kami menambahkan fungsi menejemen
eror pada “read” program fortran. Statement (143), (144), (145), (146),

KELOMPOK 12 46
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

(147) menerangkan bahwa pengguna program tidak dapat


mengimputkan nilai D ≤ 0, jika kita memasukkan nilai D ≤ 0 maka
akan muncul tulisan “nilai tidak logis”. Statement (148) digunakan
untuk menghias console display.

31 write(*,*) 'Berikan harga n (rpm)? ' (149)


read(*,'(F5.2)',err=26)I (150)
if(y.LE.0.0)goto 32 (151)
32 if(y.LE.0.0)then (152)
write(*,*)'nilai tidak logis' (153)
if(y.LE.0.0)goto 31 (154)
end if (155)
call compute(x,i,z) (156)
Statement (149) menerangkan bahwa pada console display
akan muncul tulisan “Berikan harga n (rpm) ?”. Statement (150)
menerangkan bahwa pengguna program akan mengimputkan nilai pada
console display, dan pada tahap ini pengguna program tidak dapat
mengimputkan huruf karena kami menambahkan fungsi menejemen
eror pada “read” program fortran. Statement (151), (152), (153), (154),
(155) menerangkan bahwa pengguna program tidak dapat
mengimputkan nilai n ≤ 0, jika kita memasukkan nilai n ≤ 0 maka akan
muncul tulisan “nilai tidak logis”. Statement (156) digunakan untuk
memanggil rumus yang terdapat pada statement subroutine.
write(*,*) (157)
write(*,17)z (158)
17 format(//,1x,'jadi v =',F5.2,2x,'m/menit') (159)
goto 61 (160)
Statement (157) digunakan untuk menghias console
display. Statement (158) dan (159) adalah format tulisan jawaban dari
perhitungan program, setelah pada statement (160) program akan
menuju koding program dengan nomer comand 61.
KELOMPOK 12 47
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

3. Peringatan yang akan muncul di konsul apabila ada inputan yang salah
30 write(*,*)'nilai tidak logi (161)
goto 5 (162)
26 write(*,*)'nilai tidak logis' (163)
goto 31 (164)
14 write(*,*)'nilai tidak logis' (165)
goto 11 (166)
79 end (167)

dari statement (161) sampai (166) mempunyai fungsi yang


apabila pada program ini ketika salah memasukkan inputan maka akan
muncul tulisan “nilai tidak logis” kemudian setelah itu terdapat fungsi
GOTO yang berfungsi dimana program akan menjutkan ke kdoing
dengan nomer command yang ingin dituju misalnya GOTO 100 maka
akan menuju koding dengan nomer command 100. Dan untuk
statement 167 adalah berguna untuk mengakhir proses dari program
ini.
4. subprogram
Subroutine compute(x,i,z)
z=22*x*i/(7*1000)
return
end
dan di atas ini adalah subprogram, subprogram ini akan
berfungsi apabila terdapat fungsi call.

3.1.5 Gambar Tampilan


Setelah itu pilih pilih folder force 2.0
Pilih force 2.0
Maka akan tampil program force 2.0 seperti di bawah ini

KELOMPOK 12 48
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Gambar 3.1 tampilan fortran


Sumber : dokumentasi pribadi
Klik file, kemudian open dan buka folder bor.f
Maka akan dibuka sesuai dengan tampilan berikut :

Gambar 3.2 tampilan project 1 pada fortran


Sumber : dokumentasi pribadi

Compile dan execute program atau klik F9 pada keyboard. Maka program akan berjalan

KELOMPOK 12 49
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Gambar 3.3 tampilan compile pada fortran


Sumber : dokumentasi pribadi
File fortran pun berjalan. Selanjutnya proses penghitungan dapat dilakukan

Gambar 3.4 tampilan console


Sumber : dokumentasi pribadi
3.1.5 Gambar Tampilan

KELOMPOK 12 50
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Gambar 3.5 tampilan program projeck 1


Sumber : dokumentasi pribadi

3.1.6 Listing Program


3 write (*,*) '====================================='
write (*,*) 'Menghitung rumus kecepatan pengeboran'
write (*,*) '====================================='
write (*,*) ' 3.14 x D x n '
write (*,*) 'dengan rumus v = ______________ (m/menit)'
write (*,*) ' 1000 '
write (*,*) 'dimana D = Diameter awal benda kerja (mm) '
write (*,*) ' n = Putaran spindle (RPM) '
write (*,*)

5 write (*,*)'Berikan harga D (mm) ? '


read (*,'(F5.2)',err=30)x
if(x.LE.0.0)goto 35
35 if(x.LE.0.0)then
write (*,*)'nilai tidak logis'
if(x.LE.0.0)goto 5
end if

KELOMPOK 12 51
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

write(*,*)
31 write(*,*)'Berikan harga n (rpm)? '
read(*,'(F5.2)',err=26)i
if(i.LE.0.0)goto 32
32 if(i.LE.0.0)then
write(*,*)'nilai tidak logis'
if(n.LE.0.0)goto 31
end if
call compute(x,i,z)
write(*,*)
write(*,17)z
17 format(//,1x,'jadi v =',F20.2,2x,'m/menit')
goto 61
30 write(*,*)'nilai tidak logis'
goto 5
26 write(*,*)'nilai tidak logis'
goto 31
14 write(*,*)'nilai tidak logis'
goto 11
15 write(*,*)'nilai tidak logis'
goto 71
16 write(*,*)'nilai tidak logis'
goto 12
18 write(*,*)'nilai tidak logis'
goto 72
19 write(*,*)'nilai tidak logis'
goto 13
25 write(*,*)'nilai tidak logis'
goto 23
27 write(*,*)'nilai tidak logis'
goto 73
KELOMPOK 12 52
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

28 write(*,*)'nilai tidak logis'


goto 74
29 write(*,*)'nilai tidak logis'
goto 24
90 write(*,*)'nilai tidak logis'
goto 75
79 end

subroutine efisien(C,a,b)
C=a/b
return
end
subroutine efisien2(C,e,b)
C=1-e/b
return
end
subroutine efisien3(C,f)
C=1-(1/(f**(0,4)))
return
end
Subroutine compute(x,i,z)
z=22*x*i/(7*1000)
return
end

KELOMPOK 12 53
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

3.2 Project 2
Dalam projek 2 ini kami membuat program untuk mencari hasil
Invers matriks maupun perkalian matriks pada ordo 3 x 3.
3.2.1 Definisi Masalah
Fortran adalah salah satu bahasa pemrograman tingkat tinggi (high
level language) yang berorientasi kepada suatu masalah tertentu,
khususnya masalah yang berkaitan dengan bidang matematika dan teknik.
Bahasa fortran ini cukup mudah dipahami dan efektif untuk digunakan.
Fortran memiliki beberapa kelebihan diantarannya dapat menangani
ekspresi matematika dan logika yang kompleks, pernyataanya cukup
pendek dan sederhana, dan dapat dengan mudah dimodifikasi agar bisa
bekerja pada tipe yang lain. Dari beberapa kelebihan tersebut, fortran
sering digunakan dalam berbagai aplikasi dibidang sains dan teknik.
Dalam proyek kelompok kami kali ini, kami membuat program
untuk mencari nilai invers matriks ber-ordo 3x3. Dalam hal ini kami
bertujuan agar memudahkan para pengguna yang ingin mencari invers
matriks tanpa harus mengerjakan secara manual. Seperti pada umumnya,
invers matrik dapat diketahui dengan menggunakan rumus
, secara umum untuk penghitungan determinan dan

penghitungan adjoin sama dengan perhitungan manual. Namun dalam


program ini kami membuat agar nantinya tidak perlu input nilai matriks
pada saat eksekusi program, namun langsung memanggil data dari notepad
yang telah tersimpan sebelumnya dan hasil outputnya pun bisa keluar ke
notepad. Begitu juga untuk perkalian matrik secara umum menggunakan
rumus manual tapi dengan program ini data matrik yang akan di kalikan
dan data matrik yang sebagai pengalinya akan di panggil melalui notepad,
begitu juga dengan hasil perkalian matrik ini, hasil outputnya akan keluar
di notepad yang telah disediakan.

KELOMPOK 12 54
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

3.2.2 Alogaritma
1 Mulai
2 Masukkan 1 atau 2
3 Jika tidak memilih kembali ke langkah 2
4 Jika 1, Inputan matrik dari notepad ‘input matriks.txt’
5 Muncul matrik orde 3x3
6 Hitung determinan matriks
7 Hasil determinan matriks
8 Hitung kofaktor matriks
9 Hasil kofaktor
10 Hitung Adjoint
11 Hasil Adjoint
12 Hitung dengan rumus invers = 1/Determinan x Adjoint
13 Hasil Invers matriks
14 Jika 2, Inputan matriks dari notepad ada 2 yaitu ‘MATRIKS A.txt’ dan
‘MATRIKS B.txt’ .
15 Muncul matriks 3 x 3 sebanyak 2 jenis yaitu matriks A dan Matriks B
16 Hitung perkalian matriks A x Matriks B
17 Hasil perkalian matriks A dan matriks B keluar di notepad ‘hasil perkalian
matriks A x B.txt’
18 Selesai

3.2.3 Flowchart

KELOMPOK 12 55
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Mulai

Tidak
1

Masukkan 1 atau 2
Jika 2

Tidak

Jika 1

Inputan dari Notepad 2


matriks A & B

Inputan dari
Notepad i1 i2 i3 l1 l2 l3
A= j1 j2 j3 B= m1 m2 m3
k1 k2 k3 n1 n2 n3

x1 x2 x3
A= y1 y2 y3 Hitung matriks A x matriks B
z1 z2 z3
(i1 x l1) + (i2 x m1) + (i3 x n1) (i1 x l2) + (i2 x m2) + (i3 x n2) (i1 x l3) + (i2 x m3) + (i3 x n3)

(j1 x l1) + (j2 x m1) + (j3 x n1) (j1 x l2) + (j2 x m2) + (j3 x n2) (j1 x l3) + (j2 x m3) + (j3 x n3)

(k1 x l1) + (k2 x m1) + (k3 x n1) (k1 x l2) + (k2 x m2) + (k3 x n2) (k1 x l3) + (k2 x m3) + (k3 x n3)

Hitung determinan matriks A


x1 y2 z3 + x2 y3 z1 + x3 y1 z2 – x3 y2 z1 – x2 y1 z3 – x1 b3 z2

Hasil Perkalian
Matriks A x Matriks B

KELOMPOK 12 56
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

A B

Hitung kofaktor A

+(y2xz3-y3xz2) -(y1xz3-y3xz1) +(y1xz2-y2xz1) Kofaktor A


Kof A = -(x2xz3-x3xz2) +(x1xz3-x3xz1) -(x1xz2-x2z1)
+(x2xy3-x3xy2) -(x1xy3-x3xy1) +(x1xy2-x2xy1)

Adjoint A = Kofaktor A di transpose

+(y2xz3-y3xz2) -(x2xz3-x3xz2) +(x2xy3-x3xy2)


Kof A = -(y1xz3-y3xz1) +(x1xz3-x3xz1) -(x1xy3-x3xy1)
+(y1xz2-y2xz1) -(x1xz2-x2z1) +(x1xy2-x2xy1)

Adjoint A

A invers = 1/Determinan A x Adjoint A

A invers

ya
Apakah ingin 1
menghitung lagi?

tidak

Selesai

3.2.4 Cara Kerja Program


Cstart (1)
real x1,y1,z1,D (2)
Real I1,J1,K1,I2,J2,K2,I3,J3,K3,L1,M1,N1,L2,M2,N2,L3,M3,N3 (3)
character K,t (4)
1 Write(*,*)' PROJECT II ' (5)
Write(*,*)'' (6)
Write(*,*)'=============================================
=========' (7)
Write(*,*)'| 1 | INVERS MATRIKS ' (8)
KELOMPOK 12 57
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Write(*,*)'| 2 | PERKALIAN MATRIKS ' (9)


Write(*,*)'=============================================
=========' (10)
write(*,*) (11)
Write(*,*)' Masukkan Nomor Program yang Ingin anda jalankan'
(12)
read(*,*,ERR=2)a (13)
if(a.EQ.1) goto 5000 (14)
if(a.EQ.2) goto 5001 (15)
2 write(*,*) (16)
Write(*,*)'Maaf Keyword Yang Anda Maasukkan Salah' (17)
write(*,*) (18)
Goto 1 (19)

Mulai disini diawali dengan keterangan statement yang mana saja


bilangan real maupun characternya seperti pada statement (2-4). Lalu pada
statement (5) merupakan judulnya, statement (6) merupakan enter,
statement (7) dan (10) merupakan hiasan. Pada statement (8) merupakan
pilihan program menghitung invers matriks, pada statement (9) merupakan
pillihan program menghitung perkalian matriks. Pada statement (12)
merupakan perintah untuk memasukkan program mana yang ingin anda
jalankan. Pada statement (13) merupakan perintah read jika pilihan yang
anda masukkan tidak berupa angka maka akan menuju ke label statement
2 (16). Statement (14) menjelaskan jika anda mengetik 1 maka akan
menuju label statement 5000 yaitu program invers matriks, dan statement
(15) menjelaskan jika anda mengetik 2 maka akan menuju label statement
5001 yaitu program perkalian matriks.

Cinversmatriks (20)
5000 write(*,*)'' (21)
write(*,*)'------------------------------------------------------- (22)
KELOMPOK 12 58
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

/--------------' (23)
write(*,*)' -Mencari invers matriks ordo 3x3- ' (24)
write(*,*)' I x1 x2 x3 I ' (25)
write(*,*)' I y1 y2 y3 I ' (26)
write(*,*)' I z1 z2 z3 I ' (27)
write(*,*)'------------------------------------------------------- (28)
/--------------' (29)
write(*,*) (30)
open(1, file='input matriks.txt', status='old') (31)
read(1,*)x1,x2,x3 (32)
write(*,10)x1,x2,x3 (33)
10 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I') (34)
read(1,*)y1,y2,y3 (35)
write(*,20)y1,y2,y3 (36)
20 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I') (37)
read(1,*)z1,z2,z3 (38)
write(*,30)z1,z2,z3 (39)
30 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I') (40)
write(*,*)'' (41)
write(*,*) (42)
40 write(*,*)'------------------------------------------------------- (43)
/-------------' (44)

Pada statement (20) merupakan keterangan program invers


matriks, pada statement (21) terdapat label statement 5000 yg merupakan
tujuan jika anda mengetik 1 pada statement (12). Statement (22) dan (28)
merupakan hiasan, lalu pada statement (24)-(27) merupakan keterangan
bentuk dari matriks ordo 3 x 3. Pada statement (31) merupakan perintah
input data matriks di notepad yang berjudul 'input matriks.txt' dan sifat
dari file tersebut telah dibuat sebelumnya karena ada statement old. Pada
statement (31, 32, 34, 35, 37, 38, 40) terdapat angka 1 yang merupakan
KELOMPOK 12 59
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

merupakan perintah membaca tersebut berasal dari folder notepad.Pada


statement (33),(36), dan (39) merupakan perintah untuk menampilkan
kembali hasil dari file yang dibaca sebelumnya. Tampilan tersebut
kemudian ditampilkan dengan format yang telah diatur pada
statement(34),(37), dan (40). Statement (43-44) berfungsi sebagai hiasan.

write(*,*)' Menghitung Determinan' (45)


write(*,*)'------------------------------------------------------- (46)
/-------------' (47)
write(*,*) (48)
D=x1*y2*z3+x2*y3*z1+x3*y1*z2-x3*y2*z1-x1*y3*z2-x2*y1*z3 (49)
write(*,50)D (50)
50 format(' hasil determinannya adalah =',2x,f6.2,2x) (51)
if(D.EQ.0) then (52)
write(*,*)' matriks A tidak mempunyai invers' (53)
goto 1002 (54)
endif (55)
if(D.NE.0) then (56)
goto 60 (57)
endif (58)
write(*,*)'' (59)

Pada statement (45) merupakan judul menghitung determinan, lalu


statement (49) merupakan rumus dari mencari determinan yang hasilnya
akan ditulis dengan format pada statement (51), dan jika Determinan
tersebut hasilnya 0 maka akan tertulis ' matriks A tidak mempunyai invers'
seperti pada keterangan statement (53) lalu akan menuju label statement
1002. Jika hasil Determinannya tidak sama dengan 0 maka akan menuju
label statement 60 seperti pada keterangan statement (56-57).
60 write(*,*)'------------------------------------------------------- (60)
/-------------' (61)
KELOMPOK 12 60
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

write(*,*)'Kofaktornya adalah' (62)


write(*,*)'------------------------------------------------------- (63)
/-------------' (64)
write(*,*) (65)
Crumus (66)
x11=(1)*(y2*z3-y3*z2) (67)
y11=(-1)*(x2*z3-x3*z2) (68)
z11=(1)*(x2*y3-x3*y2) (69)
x21=(-1)*(y1*z3-y3*z1) (70)
y21=(1)*(x1*z3-x3*z1) (71)
z21=(-1)*(x1*y3-x3*y1) (72)
x31=(1)*(y1*z2-y2*z1) (73)
y31=(-1)*(x1*z2-x2*y1) (74)
z31=(1)*(x1*y2-x2*y1) (75)

write(*,*)'' (76)
write(*,70)x11,x21,x31 (77)
70 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I') (78)
write(*,80)y11,y21,y31 (79)
80 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I') (80)
write(*,90)z11,z21,z31 (81)
90 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I') (82)

Untuk statement (60-64) berfungsi sebagai hiasan yaitu memunculkan


symbol strip (-) sehinga membentuk 2 garis horizontal dan mengeluarkan
tulisan menghitung kofaktor. Pada statement (67) sampai dengan (75)
adalah rumus perhitung untuk mencari kofaktor dari matrik. Setelah
perhitung tersebut hasilnya akan ditampilkan sesuai perintah pada
statement (77),(79),(81) dan sesuai format yang telah dimasukkan pada
statement (78),(80),(82).

KELOMPOK 12 61
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

write(*,*)'' (83)
write(*,*)'------------------------------------------------------- (84)
/-------------' (85)
write(*,*)' mencari adjoint matriks A' (86)
write(*,*)'------------------------------------------------------- (87)
/-------------' (88)
write(*,*)'' (89)
print 100 (90)
100 format('adjoint adalah transpos dari kofaktor maka',2/) (91)
write(*,*)'' (92)
write(*,110)x11,y11,z11 (93)
110 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I') (94)
write(*,120)x21,y21,z21 (95)
120 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I') (96)
write(*,130)x31,y31,z31 (97)
130 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I') (98)

Statement (84) sampai (88)berfungsi sebagai hiasan yaitu


memunculkan symbol strip (-) sehinga membentuk dua garis lurus
horizontal yang berguna sebagai hiasan dan menampilkan tulisan “mencari
adjoint matrik A”. Statement (93-98) merupakan penulisan adjoint dari
matriks ini dan dengan fromat penulisan yang sudah ditentukan.

write(*,*)'' (99)
write(*,*)'------------------------------------------------------- (100)
/-------------' (101)
write(*,*)' maka hasil invers matrik A adalah' (102)
write(*,*)'------------------------------------------------------- (103)
/-------------' (104)
C = rumus mencari matrik A (105)
x12=(1/D)*(x11) (106)

KELOMPOK 12 62
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

x22=(1/D)*(x21) (107)
x32=(1/D)*(x31) (108)
y12=(1/D)*(y11) (109)
y22=(1/D)*(y21) (110)
y32=(1/D)*(y31) (111)
z12=(1/D)*(z11) (112)
z22=(1/D)*(z21) (113)
z32=(1/D)*(z31) (114)

write(*,*)'' (115)
write(*,140)x12,y12,z12 (116)
140 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I') (117)
write(*,150)x22,y22,z22 (118)
150 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I') (119)
write(*,160)x32,y32,z32 (120)
160 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I') (121)
write(*,*)'___________________________________________________
____ (122)
/_______________' (123)

Statement (99) adalah berfungsi untuk hiasan, yaitu pemberian


spasi pada program agar tidak membingungkan saat dibaca. Statement
(100) sampai (104) untuk menampilkan strip (-) sehingga membentuk
seperti dua garis lurus horizontal yang berguna sebagai hiasan dan
menampilkan tulisan “hasil invers matrik A”. Pada statement(105) – (114)
merupakan rumus invers matriks, kemudian hasilnya akan ditulis pada
statement (116), (118), dan (120) dengan format yang ditentukan pada
statement (117), (119), dan (121). Statement (122) dan (123) merupakan
hiasan.

KELOMPOK 12 63
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

open (2,file='hasil invers matriks.txt',status='old') (124)


write (2,2002) x12,x22,x32 (125)
2002 format ('INVERS matriks orde 3x3',//,'|',f8.3,1x,f8.3,1x,f8.3,1x,' (126)
/|') (127)
write (2,2003) y12,y22,y32 (128)
2003 format (/,'|',f8.3,1x,f8.3,1x,f8.3,1x,'|') (129)
write (2,2004) z12,z22,z32 (130)
2004 format (/,'|',f8.3,1x,f8.3,1x,f8.3,1x,'|') (131)
close(2) (132)
GOTO 19 (133)

Pada statement (124) merupakan perintah untuk menulis hasil


invers matriks yang telah kita hitung tersebut di outputan notepad yang
berjudul 'hasil invers matriks.txt', dengan format yang telah ditentukan
pada statement (126) - (132). Pada statement (133) merupakan perintah
untuk menuju label statement (19).

Cperkalian matriks (134)


5001 Write(*,*)'
==================================================== '
(135)
Write(*,*)' MENGHITUNG PERKALIAN MATRIKS ORDO 3 X 3
' (136)
Write(*,*)'
==================================================== '
(137)

Pada statement (134) merupakan keterangan program ini perkalian


matriks, dan label statement 5001 pada statement (135) merupakan tujuan
jika pada saat memilih program anda mengetik angka 2. Statement (135-
137) merupakan hiasan strip (-) yang akan memunculkan tulisan
KELOMPOK 12 64
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

‘MENGHITUNG PERKALIAN MATRIKS ORDO 3 X 3’ di tengah strip


(-) tersebut.

Write(*,*) (138)
write (*,*) ' matriks A = ' (139)
open (3, file='MATRIKS A.txt', status='old') (140)
read (3,*)I1,J1,K1 (141)
write (*,200)I1,J1,K1 (142)
200 format ('|',F5.1,1x,F5.1,1x,F5.1,1x,'|') (143)
read (3,*)I2,J2,K2 (144)
write (*,210)I2,J2,K2 (145)
210 format ('|',F5.1,1x,F5.1,1x,F5.1,1x,'|') (146)
read (3,*)I3,J3,K3 (147)
write (*,220)I3,J3,K3 (148)
220 format ('|',F5.1,1x,F5.1,1x,F5.1,1x,'|') (149)

Pada statement (139-140) merupakan perintah untuk membuka


inputan data matriks A berjudul ‘MATRIKS A.txt’ dansifat dari file
tersebut telah dibuat sebelumnya karena ada statement old. Statement
(141), (144), dan (147) merupakan fungsi perintah untuk membaca isi
dari file tersebut. Angka 3 dari statement (141), (144), dan (147)
merupakan perintah membaca tersebut berasal dari folder notepad. Pada
statement (142), (145), dan (148) merupakan perintah untuk menampilkan
kembali hasil dari file yang dibaca sebelumnya. Tampilan tersebut
kemudian ditampilkan dengan format yang telah diatur pada
statement(143),(146), dan (149).

write(*,*) ' ' (150)


write (*,*) ' matriks B = ' (151)
open (4, file='MATRIKS B.txt', status='old') (152)
read (4,*)L1,M1,N1 (153)
KELOMPOK 12 65
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

write (*,230)L1,M1,N1 (154)


230 format ('|',F5.1,1x,F5.1,1x,F5.1,1x,'|') (155)
read (4,*)L2,M2,N2 (156)
write (*,240)L2,M2,N2 (157)
240 format ('|',F5.1,1x,F5.1,1x,F5.1,1x,'|') (158)
read (4,*)L3,M3,N3 (159)
write (*,250)L3,M3,N3 (160)
250 format ('|',F5.1,1x,F5.1,1x,F5.1,1x,'|') (161)

Pada statement (151-152) merupakan perintah untuk membuka


inputan data matriks B yang berada di notepad yang berjudul ‘ MATRIKS
B.txt’ dansifat dari file tersebut telah dibuat sebelumnya karena ada
statement old. Statement (141), (144), dan (147) merupakan fungsi
perintah untuk membaca isi dari file tersebut. Angka 3 dari statement
(153), (156), dan (159) merupakan perintah membaca tersebut berasal dari
folder notepad. Pada statement (154), (157), dan (160) merupakan perintah
untuk menampilkan kembali hasil dari file yang dibaca sebelumnya.
Tampilan tersebut kemudian ditampilkan dengan format yang telah diatur
pada statement(155), (158), dan (161).

Crumusperkalian (162)
write (*,*) (163)
C11= (I1*L1)+(J1*L2)+(K1*L3) (164)
C12= (I1*M1)+(J1*M2)+(K1*M3) (165)
C13= (I1*N1)+(J1*N2)+(K1*N3) (166)
C21= (I2*L1)+(J2*L2)+(K2*L3) (167)
C22= (I2*M1)+(J2*M2)+(K2*M3) (168)
C23= (I2*N1)+(J2*N2)+(K2*N3) (169)
C31= (I3*L1)+(J3*L2)+(K3*L3) (170)
C32= (I3*M1)+(J3*M2)+(K3*M3) (171)
C33= (I3*N1)+(J3*N2)+(K3*N3) (172)
KELOMPOK 12 66
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

write(*,*) 'Hasil perkalian matriks A dengan matriks B adalah' (173)


write(*,260)C11,C12,C13 (174)
260 format('|',1x,F7.2,4x,F7.2,4x,F7.2,1x,'|') (175)
write(*,270)C21,C22,C23 (176)
270 format('|',1x,F7.2,4x,F7.2,4x,F7.2,1x,'|') (177)
write(*,280)C31,C32,C33 (178)
280 format('|',1x,F7.2,4x,F7.2,4x,F7.2,1x,'|') (179)
write(*,*) (180)
write(*,*) (181)

Pada statement (162) sampai (172)adalah rumus dari perkalian


matrik. Kemudian statement (173) adalah untuk memunculkan tulisan
“Hasil perkalian matriks A dengan matriks B adalah” kemudian hasil
perkalian tersebut akan ditampilkan sesuai perintah pada statement(174),
(176), dan (178) kemudian ditampilkan sesuai dengan format yang tertera
pada statement (175), (177), dan (179).

open (7,file='hasil perkalian matriks A x B.txt',status='old') (182)


write (7,2005) C11,C12,C13 (183)

2005 format ('HASIL PERKALIAN =',//,'|',f8.3,1x,f8.3,1x,f8.3,1x,'|') (184)


write (7,2006) C21,C22,C23 (185)
2006 format (/,'|',f8.3,1x,f8.3,1x,f8.3,1x,'|') (186)
write (7,2007) C31,C32,C33 (187)
2007 format (/,'|',f8.3,1x,f8.3,1x,f8.3,1x,'|') (188)
close(7) (189)
GOTO 19 (190)

Kemudian pada statement (182) merupakan perintah menuliskan


hasil perkalian invers pada notepad yang berjudul 'hasil perkalian matriks
KELOMPOK 12 67
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

A x B.txt' . Penulisan tersebut sesuai dengan statement(183), (185), dan


(187) serta penulisannya diatur pada statement (184),(186), dan (188).
Statement (189) merupakan perintah untuk menutup notepad tersebut.
Statement (190) merupakan perintah untuk menuju label statement 19.

C end (191)
19 write(*,*)'' (192)
write(*,*)'apakah anda akan menghitung lagi ?' (193)
write(*,*)' ketik y apabila ingin menghitung lagi' (194)
write(*,*)' ketik t apabila tidak' (195)
read(*,*)K (196)
if(K.EQ.'y') goto 1001 (197)
if(K.EQ.'t') goto 1002 (198)
if(K.NE.'y,t') then (199)
write(*,*)'maaf inputan anda salah' (200)
goto 19 (201)
endif (202)

1001 write(*,*) (203)


write(*,*) (204)
write(*,*) 'silahkan ganti nilai matriks anda pada notepad yang te
/lah disediakan terlebih dahulu lalu save, kemudian jalankan prog
/ram ini kembali' (205)
write(*,*) (206)
write(*,*) (207)
1002 write(*,*)'terima kasih !' (208)
write(*,*)'klik tanda silang X pada pojok kanan atas untuk mengakh
/iri program !' (209)
end (210)

KELOMPOK 12 68
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Pada statement (192-195) merupakan perintah apakah anda ingin


menghitung lagi apa tidak. Pada statement (197) jika anda mengketik ‘y’
maka akan menuju label statement 1001 dan pada statement (198) jika
anda mengketik ‘t’ maka akan menuju label statement 1002, namun jika
tidak keduanya maka akan tertulis 'maaf inputan anda salah' seperti pada
statement (199-200) lalu akan kembali ke label statement 19. Pada
statement (203) yaitu label statement 1001 yang merupakan lanjutan jika
anda mengketik ‘y’ tadi, dan akan muncu perintah 'silahkan ganti nilai
matriks anda pada notepad yang telah disediakan terlebihdahulu lalu save,
kemudian jalankan program ini kembali'. Pada lebel statement 1002 yaitu
statement (208) merupakan lanjutan jika anda mengketik ‘t’ maka akan
muncul tulisan 'terima kasih !' seperti pada statement (208) dan 'klik tanda
silang X pada pojok kanan atas untuk mengakhiri program !' seperti pada
statement (209), statement (210) merupakan akhir dari program.

3.2.5 Gambar Tampilan

Gambar 3.6 : Langkah pertama saat akan membuka fortran dengan membuka
start
Sumber : Dokumentasi Pribadi

KELOMPOK 12 69
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Gambar 3.7 : Langkah kedua dengan mengklik icon force 2.0


Sumber : Dokumentasi Pribadi

Gambar 3.8 : Tampilan awal fortran


Sumber : Dokumentasi Pribadi

KELOMPOK 12 70
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Gambar 3.9 : Tampilan program menghitung Invers Matriks dan perkalian


Matriks ordo 3 x 3
Sumber : Dokumentasi Pribadi

Gambar 3.10 : Program menghitung entalpi, energi mekanik, atau frekuensi


getaran
Sumber : Dokumentasi Pribadi
KELOMPOK 12 71
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

3.2.6 Listing Program


Cstart
real x1,y1,z1,D
Real I1,J1,K1,I2,J2,K2,I3,J3,K3,L1,M1,N1,L2,M2,N2,L3,M3,N3
character K,t
1 Write(*,*)' PROJECT II '
Write(*,*)''
Write(*,*)'=============================================
========='
Write(*,*)'| 1 | INVERS MATRIKS '
Write(*,*)'| 2 | PERKALIAN MATRIKS '
Write(*,*)'=============================================
========='
write(*,*)
Write(*,*)'Masukkan Nomor Program yang Ingin anda jalankan'
read(*,*,ERR=2)a
if(a.EQ.1) goto 5000
if(a.EQ.2) goto 5001
2 write(*,*)
Write(*,*)'Maaf Keyword Yang Anda Maasukkan Salah'
write(*,*)
Goto 1

Cinversmatriks
5000 write(*,*)''
write(*,*)'-------------------------------------------------------
/--------------'
write(*,*)' -Mencari invers matriks ordo 3x3- '
write(*,*)' I x1 x2 x3 I '
KELOMPOK 12 72
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

write(*,*)' I y1 y2 y3 I '
write(*,*)' I z1 z2 z3 I '
write(*,*)'-------------------------------------------------------
/--------------'
write(*,*)
open(1, file='input matriks.txt', status='old')
read(1,*)x1,x2,x3
write(*,10)x1,x2,x3
10 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I')
read(1,*)y1,y2,y3
write(*,20)y1,y2,y3
20 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I')
read(1,*)z1,z2,z3
write(*,30)z1,z2,z3
30 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I')
write(*,*)''
write(*,*)
40 write(*,*)'-------------------------------------------------------
/-------------'
write(*,*)' Menghitung Determinan'
write(*,*)'-------------------------------------------------------
/-------------'
write(*,*)
D=x1*y2*z3+x2*y3*z1+x3*y1*z2-x3*y2*z1-x1*y3*z2-x2*y1*z3
write(*,50)D
50 format(' hasil determinannya adalah =',2x,f6.2,2x)
if(D.EQ.0) then
write(*,*)' matriks A tidak mempunyai invers'

KELOMPOK 12 73
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

goto 1002
endif
if(D.NE.0) then
goto 60
endif
write(*,*)''
60 write(*,*)'-------------------------------------------------------
/-------------'
write(*,*)'Kofaktornya adalah'
write(*,*)'-------------------------------------------------------
/-------------'
write(*,*)
Crumus
x11=(1)*(y2*z3-y3*z2)
y11=(-1)*(x2*z3-x3*z2)
z11=(1)*(x2*y3-x3*y2)
x21=(-1)*(y1*z3-y3*z1)
y21=(1)*(x1*z3-x3*z1)
z21=(-1)*(x1*y3-x3*y1)
x31=(1)*(y1*z2-y2*z1)
y31=(-1)*(x1*z2-x2*y1)
z31=(1)*(x1*y2-x2*y1)
write(*,*)''
write(*,70)x11,x21,x31
70 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I')
write(*,80)y11,y21,y31
80 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I')
write(*,90)z11,z21,z31

KELOMPOK 12 74
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

90 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I')

write(*,*)''
write(*,*)'-------------------------------------------------------
/-------------'
write(*,*)' mencari adjoint matriks A'
write(*,*)'-------------------------------------------------------
/-------------'
write(*,*)''
print 100
100 format('adjoint adalah transpos dari kofaktor maka',2/)

write(*,*)''
write(*,110)x11,y11,z11
110 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I')
write(*,120)x21,y21,z21
120 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I')
write(*,130)x31,y31,z31
130 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I')
write(*,*)''
write(*,*)'-------------------------------------------------------
/-------------'
write(*,*)' maka hasil invers matrik A adalah'
write(*,*)'-------------------------------------------------------
/-------------'
C = rumus mencari matrik A
x12=(1/D)*(x11)
x22=(1/D)*(x21)

KELOMPOK 12 75
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

x32=(1/D)*(x31)
y12=(1/D)*(y11)
y22=(1/D)*(y21)
y32=(1/D)*(y31)
z12=(1/D)*(z11)
z22=(1/D)*(z21)
z32=(1/D)*(z31)

write(*,*)''
write(*,140)x12,y12,z12
140 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I')
write(*,150)x22,y22,z22
150 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I')
write(*,160)x32,y32,z32
160 format(1x,'I',2x,F6.2,4x,F6.2,4x,F6.2,2x,'I')
write(*,*)'___________________________________________________
____
/_______________'
open (2,file='hasil invers matriks.txt',status='old')
write (2,2002) x12,x22,x32
2002 format ('INVERS matriks orde 3x3',//,'|',f8.3,1x,f8.3,1x,f8.3,1x,'
/|')
write (2,2003) y12,y22,y32
2003 format (/,'|',f8.3,1x,f8.3,1x,f8.3,1x,'|')
write (2,2004) z12,z22,z32
2004 format (/,'|',f8.3,1x,f8.3,1x,f8.3,1x,'|')
close(2)
GOTO 19

KELOMPOK 12 76
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

Cperkalian matriks
5001 Write(*,*)'
==================================================== '
Write(*,*)' MENGHITUNG PERKALIAN MATRIKS ORDO 3 X 3
'
Write(*,*)'
==================================================== '
Write(*,*)
write (*,*) ' matriks A = '
open (3, file='MATRIKS A.txt', status='old')
read (3,*)I1,J1,K1
write (*,200)I1,J1,K1
200 format ('|',F5.1,1x,F5.1,1x,F5.1,1x,'|')
read (3,*)I2,J2,K2
write (*,210)I2,J2,K2
210 format ('|',F5.1,1x,F5.1,1x,F5.1,1x,'|')
read (3,*)I3,J3,K3
write (*,220)I3,J3,K3
220 format ('|',F5.1,1x,F5.1,1x,F5.1,1x,'|')
write(*,*) ' '
write (*,*) ' matriks B = '
open (4, file='MATRIKS B.txt', status='old')
read (4,*)L1,M1,N1
write (*,230)L1,M1,N1
230 format ('|',F5.1,1x,F5.1,1x,F5.1,1x,'|')
read (4,*)L2,M2,N2
write (*,240)L2,M2,N2
240 format ('|',F5.1,1x,F5.1,1x,F5.1,1x,'|')
read (4,*)L3,M3,N3

KELOMPOK 12 77
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

write (*,250)L3,M3,N3
250 format ('|',F5.1,1x,F5.1,1x,F5.1,1x,'|')
Crumusperkalian
write (*,*)
C11= (I1*L1)+(J1*L2)+(K1*L3)
C12= (I1*M1)+(J1*M2)+(K1*M3)
C13= (I1*N1)+(J1*N2)+(K1*N3)
C21= (I2*L1)+(J2*L2)+(K2*L3)
C22= (I2*M1)+(J2*M2)+(K2*M3)
C23= (I2*N1)+(J2*N2)+(K2*N3)
C31= (I3*L1)+(J3*L2)+(K3*L3)
C32= (I3*M1)+(J3*M2)+(K3*M3)
C33= (I3*N1)+(J3*N2)+(K3*N3)
write(*,*) 'Hasil perkalian matriks A dengan matriks B adalah'
write(*,260)C11,C12,C13
260 format('|',1x,F7.2,4x,F7.2,4x,F7.2,1x,'|')
write(*,270)C21,C22,C23
270 format('|',1x,F7.2,4x,F7.2,4x,F7.2,1x,'|')
write(*,280)C31,C32,C33
280 format('|',1x,F7.2,4x,F7.2,4x,F7.2,1x,'|')
write(*,*)
write(*,*)
open (7,file='hasil perkalian matriks A x B.txt',status='old')
write (7,2005) C11,C12,C13
2005 format ('HASIL PERKALIAN =',//,'|',f8.3,1x,f8.3,1x,f8.3,1x,'|')
write (7,2006) C21,C22,C23
2006 format (/,'|',f8.3,1x,f8.3,1x,f8.3,1x,'|')
write (7,2007) C31,C32,C33

KELOMPOK 12 78
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

2007 format (/,'|',f8.3,1x,f8.3,1x,f8.3,1x,'|')


close(7)
GOTO 19
C end
19 write(*,*)''
write(*,*)'apakah anda akan menghitung lagi ?'
write(*,*)' ketik y apabila ingin menghitung lagi'
write(*,*)' ketik t apabila tidak'
read(*,*)K
if(K.EQ.'y') goto 1001
if(K.EQ.'t') goto 1002
if(K.NE.'y,t') then
write(*,*)'maaf inputan anda salah'
goto 19
endif

1001 write(*,*)
write(*,*)
write(*,*) 'silahkan ganti nilai matriks anda pada notepad yang te
/lah disediakan terlebih dahulu lalu save, kemudian jalankan prog
/ram ini kembali'
write(*,*)
write(*,*)
1002 write(*,*)'terima kasih !'
write(*,*)'klik tanda silang X pada pojok kanan atas untuk mengakh
/iri program !'
End

KELOMPOK 12 79
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

BAB IV
KESIMPULAN
Kesimpulan

Fortran dapat digunakan untuk mempermudahkan seseorang untuk


memecahkan suatu masalah. Bahasa pemrograman komputer berperan dalam segala
aspek dan bidang. Salah satu bidang yang memanfaatkan bahasa pemrograman Fortran
adalah Bidang Teknik Mesin. diantaranya rugi tembaga dan rugi besi dalam travo, daya,
dan perpindahan panas.Dalam bidang ini, Fortran dipakai untuk membuat program untuk
memudahkan perhitungan.

Teknik Mesin banyak sekali materi-materi dan perhitungan yang


digunakan, apabila manusia mengerjakannya secara manual, akan sulit untuk
memanfaatkan waktu dan ketelitian juga menjadi lebih dibanding dengan yang
menggunakan bahasa pemrograman.

Fortran adalah suatu bahasa pemrograman komputer yang dapat membantu


pekerjaan manusia. Meskipun fortran termasuk program yang sudah tua tetapi aplikasinya
masih digunakan diberbagai bidang masyarakat. Meskipun program ini dapat membantu
tetapi program ini harus dicek kebenarannya dalam penyusunan program.Apabila terjadi
kesalahan dalam menulis input dan proses program maka program tidak dapat dijalankan.

Pada proses pengeboran suatu material, kecepatan pengeboran dapat


ditentukan melalui rumus . Dimana adalah D = diameter awal

benda (mm) dan n adalah putaran spindel (rpm), berdasar rumus tadi, kecepatan
pengeboran bergantung pada dua variabel yaitu D(diameter awal) dan r (kecepatan
putaran spindel).

Kami juga membuat program untuk mencari nilai invers matriks ber-
ordo 3x3. Dalam hal ini kami bertujuan agar memudahkan para pengguna yang
ingin mencari invers matriks tanpa harus mengerjakan secara manual. Seperti
pada umumnya, invers matrik dapat diketahui dengan menggunakan rumus
, secara umum untuk penghitungan determinan dan

penghitungan adjoin sama dengan perhitungan manual. Namun dalam program ini
kami membuat agar nantinya tidak perlu input nilai matriks pada saat eksekusi
KELOMPOK 12 80
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
JURUSAN MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA

program, namun langsung memanggil data dari notepad yang telah tersimpan
sebelumnya dan hasil outputnya pun bisa keluar ke notepad. Begitu juga untuk
perkalian matrik secara umum menggunakan rumus manual tapi dengan program
ini data matrik yang akan di kalikan dan data matrik yang sebagai pengalinya akan
di panggil melalui notepad, begitu juga dengan hasil perkalian matrik ini, hasil
outputnya akan keluar di notepad yang telah disediakan.

BAB V
SARAN

1. Sebaiknya durasi waktu saat praktikum ditambah agar praktikan dapat


lebih memahami materi yang di maksud
2. Sebaiknya waktu praktikum dilaksanakan di luar jam kuliah
3. Sebaiknya perangkat computer dirawat/diperiksa berkala agar saat
praktikum tidak terjadi masalah saat pengoprasian computer
4. Sebaiknya letak penempatan computer lebih dirapikan lagi agar saat
praktikum praktikan merasa nyaman

KELOMPOK 12 81
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER 2013
LABORATORIUM KOMPUTER
DAFTAR PUSTAKA

 Anonimus.2013. Modul Praktikum Fortran 2013.Laboratorium Komputer


Jurusan Teknik Mesin Universitas Brawijaya.
 Anonimus.2010. Penuntun Praktikum Pemograman Computer Bahasa
fortran. laboratorium komputasi Jurusan teknik sipil Fakultas teknik-
universitas Andalas Padang
 Anonimus.http://id.wikipedia.org/wiki/Matriks (diakses tanggal 20 april
2013)
 Anonimus.2013. Matriks Matematika.
http://id.wikipedia.org/wiki/Matriks_%28matematika%29. diakses tanggal
20 april 2013
 Anonimus. 2013. Matrik.
http://id.wikibooks.org/wiki/Subjek:Matematika/Materi:Matriks. diakses
tanggal 21 april 2013
 Lovechild.2012 .Pemakaian Mesin Bor. online.
http://goresanpenghayal.blogspot.com/2012/11/pemakaian-mesin-bor.html
diakses 10 april 2013

Anda mungkin juga menyukai