page

page

Kamis, 25 Februari 2016

ILMU-ILMU ALAM DAN ILMU-ILMU SOSIAL : BEBERAPA PERBEDAAN



Ilmu Alam
Ilmu Sosial
Cabang
Fisika, kimia, astronomi, ilmu bumi, dll
Arkeologi, antropologi fisik, linguistik, etnologi, dll
Ilmu Murni
Mekanika, fisika nuklir

Ilmu Terapan
Teknik nuklir, mekanika teknik
Pendidikan antrososiologi, manajemen psikologi


“Jika dibandingkan dengan ilmu-ilmu alam yang sudah mengalami banyak perkembangan, ilmu-ilmu sosial agak tertinggal di belakang.”
Asas yang melandasi tingkah laku tersebut yang menyebabkan ahli sosial kesulitan untuk menerangkan, meramalkan dan mengontrol gejala sosial yaitu :

a)    Obyek penelaahan yang kompleks
No
Ilmu Alam
Ilmu Sosial
1
Gejala alam bersifat umum
Gejala sosial lebih kompleks
2
Penelaahan gejala alam meliputi beberapa variabel dalam jumlah yang relatif kecil
Penelaahan gejala sosial meliputi beberapa variabel dalam jumlah yang relatif banyak
3
Eksplosi kimiawi hanya ada beberapa faktor fisik yang berhubungan dengan kejadian tersebut
Eksplosi sosial ada banyak sekali faktor yang tidak bersifat fisik

b)   Kesukaran dalam pengamatan
No
Ilmu Alam
Ilmu Sosial
4
Pengamatan langsung lebih mudah
Pengamatan langsung lebih sulit
5
Gejala alam tidak bervariasi
Gejala sosial lebih bervariasi

c)    Obyek penelaahan yang tidak terulang
No
Ilmu Alam
Ilmu Sosial
6
Gejala fisik umumnya bersifat seragam dan gejala tersebut dapat diamati sekarang
Gejala sosial bersifat unik dan sukar untuk terulang kembali

d)   Hubungan antara ahli dan obyek penelaahan sosial
No
Ilmu Alam
Ilmu Sosial
7
Ahli ilmu alam tidak perlu mempertimbangkan tujuan/ motif dari planit/lautan.
Ilmu sosial mempelajari manusia yang merupakan makhluk yang penuh tujuan dengan segala tingkah laku
8
Ahli ilmu alam menyelidiki proses alami dan menyusun hukum yang bersifat umum mengenai proses
Ilmu sosial tak bisa terlepas dari jalinan unsur-unsur kejadian sosial
9
Ahli ilmu alam memusatkan perhatian pada keadaan yang terdapat pada alam
Ahli ilmu sosial cenderung mengembangkan pemikiran mengenai pola masyarakat yang lebih didambakan

Rabu, 06 Agustus 2014

FORTRAN

Pada tahun 1956, saat komputer masih digunakan terutama oleh para ilmuwan untuk menyelesaikan masalah matematis, bahasa FORTRAN pertama kali dikembangkan oleh IBM. Dari asal-usul namanya, FORmula TRANslation, jelaslah kekuatan bahasa ini digunakan dalam masalah matematis. Dalam kurun waktu satu dekade saja, bahasa tersebut telah mempunyai standar di Amerika Serikat dengan kode American National Standard Programming Language FORTRAN, ANSI X3,9-1996 yang biasa dikenal dengan sebutan FORTRAN 66, atau FORTRAN IV. Sejak ditetapkannya standar tersebut, semakin banyak orang menggunakan bahasa FORTRAN. 
Hal ini ternyata semakin memperlihatkan banyaknya kekurangan pada FORTRAN IV tersebut. Dengan demikian lama kelamaan banyak pihak yang mengembangkan sendiri-sendiri, yang pada gilirannya menyebabkan satu program FORTRAN yang ditulis di satu sistem menjadi besar kemungkinannya tidak dapat digunakan di sistem lain. Karena itulah American National Standard Institute menetapkan sebuah standar baru yang disebut FORTRAN 77 atau dikenal juga dengan nama ANSI FORTRAN. Secara umum, FORTRAN 77 merupakan perkembangan ke arah pemrograman terstruktur dibandingkan FORTRAN IV. Misalnya struktur IF THEN-ELSE-END IF yang semula belum ada pada FORTRAN IV mulai dimasukkan pada FORTRAN 77. Tambahan fasilitas baru lainnya misalnya adanya variabel berjenis karakter (dengan spesifikasi CHARACTER) beserta fungsi-fungsi bawaannya (intrinsic function), fasilitas penanganan input dan output (OPEN, CLOSE, dan INQUIRE), juga pendimensian larik dengan indeks yang tidak harus positif (bisa nol atau negatif).
Pada awal perkembangannya, harus diakui, bahwa bahasa FORTRAN (khususnya FORTRAN IV) belum terstruktur seperti sekarang. akibat adanya tuntutan akan adanya bahasa pemrograman yang terstruktur, kini bahasa FORTRAN pun terdapat beberapa hal yang menempatkannya sebagai bahasa pemrograman yang terstruktur, antara lain :
-       Adanya struktur pengendali program seperti : Struktur DO-END DO, DO WHILE-END DO, IF THEN-[ELSE IF]-ELSE-END IF.
-    Adanya fasilitas untuk membuat unit-unit program seperti : PROGRAM, SUBROUTINE, FUNCTION, BLOCK DATA. 
-       Adanya fasilitas untuk deklarasi jenis data seperti : REAL, DOUBLE, PRECISION, INTEGER, IMPLICIT REAL, IMPLICIT INTEGER.
-       Adanya fasilitas untuk memberikan komentar/keterangan pada program.
 Adanya pernyataan pengendali program yang tidak membutuhkan label pernyataan seperti CYCLE dan EXIT.
Struktur Program Fortran :
1.      Metacommand (compiler directives)
Sifatnya optional (tidak harus ada) dan digunakan untuk melakukan komunikasi ke compiler fortran
2.      Comments (komentar)
Digunakan untuk memberi keterangan pada program sehingga memudahkan dokumentasi dan pembacaan program
3.      Statement
Merupakan inti dari program yang berupa instruksi−instruksi.
Statement dapat berupa :
·                     konstanta
Nilai yang sudah pasti dan tidak akan berubah selama program berjalan
Jenis Konstanta
*      Konstanta Numerik
         Konstanta integer (bilangan bulat)
                        2 byte : -32767 s/d +32767
                        4 byte : -2147483647 s/d +2147483647
         Konstanta real
                        Single precission (ketepatan tunggal)
Double precission (ketepatan ganda)
*      Konstanta Karakter, yaitu non numerik, sebagai karakter ASCII yang ditulis dalam tanda petik tunggal.
*      Konstanta Logika, yaitu logika benar dan salah.   

·                     Operator, untuk melakukan operasi nilai antara variabel atau konstanta
*      Aritmatika , contoh : pangkat (**), kali (*), bagi (/), penjumlahan (+), pengurangan (-)
*      Hubungan
Lebih kecil sama dengan               : .LT.
Sama dengan                                 : .EQ.
Tidak sama dengan                       : .NE.
Lebih besar dari                            : .GT.
Lebih besar sama dengan             : .GE.
*      Logika   
Tidak atau bukan                          : .NOT.
Dan                                               : .AND.
Atau                                              : .OR.

·                     ungkapan/expression, yaitu pemberian nilai kepada suatu identifier.
a.      Aritmatika
Contoh : A + B / C + D
b.      Karakter   
Contoh : JNSKEL = ‘L’
c.       Logika
Contoh : X .AND. Y
d.      Hubungan    
                                             Contoh : A .LT. B

·                     Identifier, yaitu pemberian nama kepada suatu variable, array, function, atau subroutine
Ketentuan :
1.      Maksimum 6 karakter
2.      Karakter pertama harus berupa huruf
3.      Tidak boleh ada spasi atau blank
4.      Tidak boleh menggunakan karakter khusus

·                     Verb, merupakan instruksi kerja yang dimengerti oleh compiler fortran.
·                     unit specifier, menunjukkan divais (layar/printer/file) yang digunakan dalam operasi input dan output, berupa :
1.      * atau 0
alat yang digunakan berupa keyboard atau layar
2.      Ungkapan integer
Nilai integer selain 0 menunjukkan unit alat yang digunakan adalah file eksternal (printer atau file di disk)

·                     format specifier, menunjukkan nomor label dimana terdapat statement format yang akan digunakan pada data input dan output, berupa :
*      Label statement
*      Nama variabel statement
*      Ungkapan karakter
*      *
4.      Sambungan dari statement baris sebelumnya. 
Ø   Aturan Penulisan Fortran :
1. Kolom pertama merupakan Komentar atau metacommand (C, *, $).
2. Kolom 1 sampai 5 untuk penulisan label statement berupa angka.
3. Kolom 6 untuk indikasi sambungan dari baris sebelumnya.
4. Kolom 7 sampai 72 untuk penulisan Statement FORTRAN.
5. Kolom 73 sampai 80 tidak digunakan (Untuk Komentar bebas).

Ø   Elemen Program Fortran :
1. Metacommand atau compiler directive sifatnya optional.
2. Komentar berupa tulisan bebas.
3. Statement merupakan inti yang berupa instruksi-instruksi.


Teori Pemrograman Terstruktur Bahasa Fortran
·         INTEGER, yaitu digunakan untuk memesan tipe data bilangan bulat. Pemesanan dengancara ini dikhususkan untuk nama variabel dengan awalan selain dari I, J, K, L, M, dan N, baik huruf kecil maupun huruf besar. Bentuk umum dari pernyataan ini adalah
INTEGER[*byte] nama_variabel1, ..., nama_variabeln
Contoh :
INTEGER nama, umur
·         REAL yaitu digunakan untuk memesan tipe data bilangan pecahan (berkoma). Pemesanancara ini dikhususkan untuk nama variabel yang berawal I, J, K, L, M, dan N, baik huruf kecilmaupun huruf besar. Bentuk umum pernyataan ini adalah
REAL[*byte] nama_variabel1, ..., nama_variabeln
Contoh :
REAL nama, nomor

·         CHARACTER yaitu digunakan untuk memesan tipe data karakter (string) atau nilai variabeltersebut diapit oleh tanda kutip ('). Bentuk umum pernyataan ini adalah :
CHARACTER*n nama_variabel1, ..., nama_variabeln
Contoh :
CHARACTER nama à panjang digit nilai 4 byte (karakter)
CHARACTER*15 alamat, kota à panjang digit nilai alamat dan kota 15 byte (karakter).
Cara diatas juga dapat dibuat seperti :
CHARACTER nama*4 à panjang digit nilai nama 4 byte (karakter)
CHARACTER Alamat*15, kota*10 à panjang digit yang ditampung oleh nilai untuk variable nama sebanyak 15 digit dan kota 10 digit.


·         LOGICAL digunakan untuk memesan variabel logika, yang nilai dari variabel tersebut hanya .TRUE. dan .FALSE. saja.  Bentuk umum dari deklarasi ini adalah :
LOGICAL nama_variabel1, ..., nama_variabeln


STATEMENT DALAM PROGRAM FORTRAN
·         STATEMENT WRITE digunakan untuk menuliskan isi suatu variabel pada suatu media output.
WRITE(no unit, format) daftar_yang_ditulis
Keterangan :
no unit : nomor unit keluaran, secara default (dengan simbol *) berarti monitor.
format : format pengaturan tampilan, secara default (dengan simbol *) berarti bebas.
Daftar yang ditulis : variabel atau tetapan yang ingin ditulis.
Contoh :
WRITE (*,10) A,B,C

·         READ digunakan untuk membaca data dari suatu media input
READ(no unit, format) variabel
Keterangan :
no unit : nomor unit inputan, secara default (dengan simbol *) berarti keyboard.
format : format pengaturan tampilan, secara default (dengan simbol *) berarti bebas.
variabel : variabel tempat menyimpan data
Contoh :
READ (*,11)A,B,I

·         FORMAT digunakan untuk mmenentukan tata letak suatu data.
<label> FORMAT (format specifier)
format specifier berisi edit descriptor.
Repeatable Edit Descriptor
- Edit Descriptor I (Integer)
<n> I <w>.<d>
n = pengulangan,         w = banyak digit
d = jml angka nol dimuka pengganti blank
- Edit Descriptor F (Real)
<n> F <w>.<d>
n = pengulangan,         w = banyak digit
d = menunjukkan digit belakang titik desimal
- Edit Descriptor E (Real ketepatan tunggal)
<n> F <w>.<d>
disajikan dengan bentuk eksponensial
- Edit Descriptor D (Real ketepatan ganda)
<n> D <w>.<d>
n = pengulangan,         w = banyak digit
d = jumlah angka nol dimuka pengganti blank disajikan dengan bentuk eksponensial
- Edit Descriptor G (Gabungan E dan F)
<n> G <w>.<d>         atau
<n> G <w>.<d>E<e>
- Edit Descriptor A (Alphanumerik)
<n> A <w>
n = pengulangan,         w = banyak digit
- Edit Descriptor L (Logika)
<n> L <w>
n = pengulangan,         w = banyak digit


Non Repeatable Edit Descriptor
- Edit Descriptor konstanta karakter diantara tanda ‘ ‘
- Edit Descriptor X (spasi) : <n>X
- Edit Descriptor / : memberi jarak 1 baris
- Edit Descriptor \ : masih dalam baris yang sama
- Edit Descriptor H
<n> H
menampilkan sejumlah n karakter ke alat output (blank dihitung)
- Edit Descriptor P
<k> P
mengatur banyaknya faktor skala nilai nol desimal
- Edit Descriptor BN dan BZ
BN (blank diabaikan) , BZ (blank = 0)

Contoh Program Dengan Format
character nama*20
write(*,7) 'Masukkan Nama : '
7 format (A,\)
read(*,8) nama
8 format (A)
write(*,9) 'Nama Anda : ',nama
9 format (A,3X,A)
End

·         STATEMENT IF
Statement 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 3 yaitu:
1. Logical If
Bentuk Umum:
IF (<Ekspresi>) <Statement> dimana
<ekspresi> adalah ungkapan logika yang akan diseleksi <Statement>
2. Arithmatic If
Bentuk Umum:
IF (<ekspresi>) <slabel1>, <slabel2>, <slabel3> adalah executeable statement kecuali statement Do, End, Endif,Elseif, Else, blok if atau statement if logika lainnya.
IF (<ekspresi>) <slabel1>, <slabel2>, <slabel3>
<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
3. Block If
Statemen ini digunakan untuk menyeleksi suatu kondisi dan mengambil tindakan apa yang harus dilakukan dalam bentuk blok-blok statement.
Bentuk Umum:
·         Bentuk Umum IF - THEN
IF (<ungkapan>) THEN
·         Bentuk Umum ELSE
ELSE
·         Bentuk Umum ELSEIF
ELSEIF (<ungkapan>) THEN
·         Bentuk Umum ENDIF
ENDIF
Suatu statemen Blok If harus diawali dengan statemen IF-THEN dan diakhiri dengan statement ENDIF. Suatu loncatan menuju kedalam Blok If tidak diperbolehkan, tetapi loncatan keluar Blok If diperbolehkan.

·         Statement Lompatan
1.                  Statement GOTO
Statement GOTO merupakan statemen yang dapat digunakan untuk melompat menuju ke statemen yang lainnya. Statemen GOTO dapat dibedakan atas:
a.   GOTO tak bersyarat
Bentuk Umum:
GOTO <Label>
Statement ini digunakan untuk mengontrol proses untuk menuju ke suatu statemen lainnya yang ditujukan oleh label tanpa ada syarat yang diberikan.
b. GOTO Pengerjaan
Bentuk Umum:
GOTO <nama> [[,] (<label1> [, <label2>]…)]
Statemen GOTO ini digunakan untuk melompat kesuatu label statemen yang ditunjukan oleh isi dari <nama>
<nama> adalah variable integer yang diisi oleh label dengan perintah Assign
c. GOTO Bersyarat
Bentuk Umum:
GOTO (<label1> [, <label2>]…)[,] <i>
Statemen ini digunakan untuk mengontrol loncatan dari proses ke suatu label tertentu tergantung dari nilai ungkapan integer <i>
2. Statement Perulangan
a. Statement DO - CONTINUE
Kegunaan Statement DO adalah untuk melaksanakan proses berulang statement yang ada diantara statemen DO dan label
Bentuk Umum:
DO <Label> [,] <variable> = <ekspresi1>, <ekspresi2>, [,<ekspresi3>]
Sedangkan Statemen CONTINUE digunakan sebagai Dummy Terminal dalam statement DO. Disamping itu masih terdapat statement Subroutine dan Function yang fungsi
dan kegunaannya hampir sama dengan statement Procedure dan Function pada
bahasa pemrograman Pascal.

Contoh Program menggunakan Statement Perulangan
print *,’Contoh program do-continue’
do 5 i=1,10
print *,’nilai ke-’,I
5 continue
end
print *,’Contoh program do-end do’
do i=1,10
print *,’nilai ke-’,I
end do
end

Subroutine Dalam Bahasa FORTRAN
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:
        i.            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.
      ii.            Nama subroutine dapat berisi statement-statement apapaun kecuali statement PROGRAM, statement SUBROUTINE lainnya, maupun statement FUNCTION
    iii.            Nama argument tidak boleh tampak di statemenat COMMON, EQUIVALENCE, INTRINSIC, atau DATA
    iv.            Argumen sesungguhnya yang tampak di statement CALL harus sesuai urutannya, jumlahnya dan tipenya dengan dummy argument yang tampak di statement Subroutine. Antara nama argument sesungguhnya dengan dummy argument bole sama maupun tidak.
      v.            Di dalam suatu suroutine dapat memaggil subroutine yang lainnya.
    vi.            Subroutine dapat tidak mengandung dummy argument , yang berarti tidak ada data yang dikirim ke subroutine dan tidak ada hasil yang dikirim balik ke pemanggil subroutine

Contoh :
CALL CETAK
WRITE (*, *) ‘FORTRAN’
CALL CETAK
END
SUBROUTINE CETAK
WRITE (*, *) ‘------------‘
END
Outputnya :
FORTRAN

·         STATEMEN DO
Berfungsi untuk memerintahkan komputer agar menjalankan suatu deretan, berulang-ulang dengan cara tertentu.
Bentuk Umum : DO n var=m1,m2,m3
n : Nomor statemen dari suatu statemen yang merupakan batas akhir dari deretan yang harus diproses berulang-ulang.
Var : Variabel integer/real yang harganya akan berubah-ubah dari suatu harga awal m1 ke harga akhir m2 dengan besar langkah m3.
Pada FORTRAN IV kadang DO tidak dapat diakhir dengan kontrol statemen, untuk mengatasi ini dapat dipakai statemen CONTINUE. Sedang pada FORTARN 77 diizinkan.
Contoh:
DO 100 I =1,25
X=I**3
WRITE(*,10)X
100IF (X .GT. 1000.0) GO TO 200
200 CONTINUE
STOP
END
·         Statement END
Batas akhir dari statement program
Bentuk umum :
STOP atau STOP c
C         : suatu karakter sebanyak 1 s/d 6 karakter yang akan ditulis ke printer jika statement dikerjakan
Tahapan Pembuatan Program
Pertama, ketikkan PROGRAM (name), contohnya PROGRAM MATRIKS. Kemudian ketikkan IMPLICIT NONE. Lalu dilanjutkan dengan memasukkan INTEGER. Integer merupakan variabel bebas yang akan kita pakai dalam program yang akan kita buat. Kemudian masukan statement operasi, seperti write, read, remark, do, end, dll.  Masing-masing statement memiliki fungsi yang berbeda-beda. Write berfungsi untuk menuliskan isi suatu variable pada suatu media output. Write yang saya pakai pada program ini yaitu    Write(*,*)'Program Matriks penjumlahan'
Read berfungsi untuk membaca data dari suatu media input,  Read(*,*)x. Remark untuk menandai statement yang akan dipakai di input. Kemudian masukan statement do yang berfungsi untuk melooping (memproses berulang-ulang) sebuah statement atau fungsi yang digunakan, do i = 1,x. Kemudian masukkan hasil(i,j)=A(i,j) + B(i,j)
Setelah itu jangan lupa masukan statement END diakhir program untuk menghentikan proses program agar tidak terjadi looping yang terus menerus tanpa batas.