• Tidak ada hasil yang ditemukan

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024

N/A
N/A
Protected

Academic year: 2021

Membagikan "PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024"

Copied!
14
0
0

Teks penuh

(1)

 

Bahan Ajar 1:

Pendahuluan dan Pengenalan Komputer

(Minggu ke-1 dan ke-2)

 

PEMROGRAMAN

DAN METODE NUMERIK

Semester 2/ 2 sks/ MFF 1024

Oleh

Dr. Fahrudin Nugroho

Dr. Iman Santosa

 

Didanai dengan dana BOPTN P3-UGM

Tahun Anggaran 2013

November 2013

PROGRAM STUDI FISIKA

FMIPA

(2)

BAB 1

Pendahuluan

1.1 Motivasi dan Latar Belakang

Metode numerik selalu dihubungkan dengan perkembangan komputer, karena perkembangan metode numerik itu sendiri berawal dari penemuan komputer yang canggih beberapa abad yang lalu. Saat ini simulasi numerik menggunakan komputer atau disebut sebagai simulasi komputer dipandang sebagai salah satu metode yang penting dalam penyelesaian permasalahan yang kompleks. Dalam Fisika, metode ini di gunakan untuk keperluan menterjemahkan fenomena fisis kedalam bentuk matematika diskret1 , mengolahnya kembali dan menyelesaikannya di dalam komputer. Berbeda dengan pendekatan teoretik yang banyak melandaskan penyelesaiannya pada banyak asumsi dan pendekatan, penyelesaian numerik saat ini cenderung menyelesaikan masalah dengan cara memodelkan secara lebih detail keadaan fenomena yang sesungguhnya. Hal ini tentu saja dapat dilakukan dengan kemampuan komputer yang semakin canggih sekarang ini.

Dengan kemajuan metode numerik pula, saat ini komputasi fisika yang dilandaskan pada metode numerik, telah mendapat posisi penting dan strategis. Secara tradisional fisikawan bekerja di laboratorium untuk memverifikasi sebuah teori yang diajukan oleh teoriwan. Seorang eksperimentalis membutuhkan pengetahuan tentang peralatan elektronika, mekanika, dan instrumentasi saat bekerja dengan serangkaian alat untuk memperoleh serangkaian data dilandaskan pada metode eksperimen yang baik. Sedangkan teoriwan membutuhkan matematika analitik, seringkali "rigors mathematics", untuk memformulasikan sebuah teori. Tidak berbeda jauh dari eksperimentalis dan teoriwan, seorang fisikawan komputasi membutuhkan pengetahuan terkait analisis numerik dan pemrograman komputer untuk dapat berhasil mencapai pemahaman fenomena Fisika. Untuk itulah diperlukan satu kuliah tersendiri bagi mahasiswa Fisika

                                                                                                                         

1  Berbeda dengan kalkulus dan matematika pada umumnya melandaskan prinsip-prinsip kalkulasinya pada

"idea"-nya yang bersifat infinitesimal. Hal ini dapat dilakukandengan cara memperkenalkan bilangan tak hingga (∞).

(3)

untuk mengenal metode numerik dan pemrograman komputer sebagai salah satu pilar metode yang terbukti valid dan diakui oleh khalayak Fisikawan.

1.2 Mengapa Bahasa Pemrograman C?

Saat in terdapat banyak sekali bahasa pemrograman. Di antara banyak bahasa pemrograman tersebut dalam catatan kuliah ini akan digunakan bahasa C. Pengguna bahasa pemrograman C dan C++ sangatlah banyak. Hal ini dikarenakan kemampuan bahasa C yang dianggap bisa dipakai dalam banyak bidang termasuk sainti_k dan terapan termasuk diantaranya pembuatan aplikasi. Berikut ini adalah beberapa alasan mengapa bahasa C dipilih dalam catatan kuliah ini:

1. Untuk setiap sistem operasi dapat dipastikan terdapat setidaknya satu jenis

compiler C. Hal ini menjamin bahwa setiap mahasiswa dapat mencoba program

yang tersedia dalam catatan kuliah ini tanpa terkendala ketersediaan compiler C.

2. Bahasa C adalah bahasa pemrograman terstruktur. Karenanya mahasiswa yang mengikuti kuliah akan diajak untuk menggunakan jenis pemrograman yang terstruktur dan sederhana. Tujuannya adalah agar mahasiswa dapat dengan mudah mengikuti dan mencoba sendiri program-program yang digunakan dan dengan mudah mengerti makna dari setiap kode program. Jika diperlukan atau dikehendaki maka mahasiswa dapat "naik tingkat" kedalam bahasa pemrograman yang bersifat objek oriented C++ yang merupakan "varian" dari C. Keun-tungannya sintak yang digunakan dalam C++ sangatlah mirip dengan C. Menguasai sintak C berarti menguasai sintak C++. Dengan landasan penguasaan sintaksis maka mahasiswa tinggal menambah wawasan dan konsep bahasa pemrograman polymorphism, classes, inheritance jika ingin beralih ke C++.

3. Performa terkait dengan kecepatan proses bahasa C dikenal sangat unggul. 4. Sistem operasi yang dikenal saat ini, driver bagi sebagian besar peripheral, dan software serta aplikasi yang tersedia saat kebanyakan dibuat dengan bahasa C. Karenanya pengalaman menggunakan bahasa C merupakan aset yang berharga bagi mahasiswa.

(4)

5. Terakhir tetapi penting, adalah bahasa C dapat digunakan pada sistem komputer parallel. Jika dibutuhkan maka mahasiswa dapat menggunakan bahasa C untuk menyelesaikan masalah yang kompleks dan membutuhkan pemrograman parallel, dengan satu syarat mereka menguasai algoritma

parallel.                                          

(5)

   

BAB 2

Pengenalan Komputer

2.1 Komputer

Pada dasarnya setiap komputer terdiri dari central processing unit (CPU), bagian input data data output. Skema dari sebuah komputer ditunjukan dalam gambar berikut:

                                                                                                                 

 

Bagian-bagian di atas sebetulnya belum mewakili komputer secara sepenuhnya. Hal ini dikarenakan selain bagian-bagian di atas, yang biasa kita sebut perangkat keras atau

hardware, diperlukan perangkat lunak (software). Tanpa adanya perangkat lunak maka

hanya ada seonggok mesin dan rangkaian elektronik, dan tidak bisa dikatakan sebagai komputer.

2.2 Sistem Operasi Linux

Kata Linux sekarang ini sudah sangat familier bagi pengguna komputer. Sejalan dengan semakin majunya perkembangan perangkat keras maka sistem operasi dan aplikasi didalamnya juga berkembang. Nama Linux sendiri diturunkan dari pencipta awalnya, Linus Torvalds, yang sebetulnya mengacu pada suatu kumpulan software

Gambar  1:    Bagian-­‐bagian  komputer    

(6)

lengkap yang bersama-sama dengan kernel menyusun suatu sistem operasi yang lengkap. Lingkungan sistem operasi ini mencakup ratusan program, termasuk kompiler, interpreter, editor dan utilitas. Perangkat bantu yang mendukung konektivitas, ethernet, SLIP dan PPP dan interoperabilitas. Produk perangkat lunak yang handal, termasuk versi pengembangan terakhir. Kelompok pengembang yang tersebar di seluruh dunia yang telah bekerja dan menjadikan Linux portabel ke suatu platform baru, begitu juga mendukung komunitas pengguna yang memiliki beragam kebutuhan dan juga pengguna dapat turut serta bertindak sebagai tim pengembang sendiri.

Linux merupakan sistem operasi khusus dan berbeda dengan sistem operasi lainya karena tersedia secara bebas di internet, berbagai vendor telah membuat suatu paket distribusi yang dapat dianggap sebagai versi kemasan Linux. Paket ini termasuk lingkungan Linux lengkap, perangkat lunak untuk instalasi dan mungkin termasuk perangkat lunak khusus dan dukungan khusus. Salah satu contoh sistem operasi Linux adalah CentOS, Mandriva, Ubuntu, dan SuSe beberapa aplikasi bawaan serta beberapa aplikasi tambahan. Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk pengembangan software dan bahkan untuk pekerjaan sehari-hari. Linux merupakan alternatif sistem operasi yang jauh lebih murah jika dibandingkan sistem operasi komersial (misalnya Windows 9.x/NT/2000/ME/XP/VISTA/7/8).

Berikut ini adalah beberapa fakta dari hal-hal yang menguntungkan dengan menggunakan program dan file - file Linux

1. Pada dasarnya semua data tersimpan di dalam harddisk walau ada beberapa kondisi dimana data tersimpan di disket. Linux/UNIX memberikan beberapa proses spesial dimana terminal, printer dan device hardware lainnya dapat diakses seperti kita mengakses file yang tersimpan dalam harddisk atau disket.

2. Ketika program dijalankan, program tersebut dijalankan dari harddisk ke dalam RAM dan setelah dijalankan akan dinamakan sebagai proses.

3. Linux/UNIX menyediakan servis untuk membuat, memodikasi program, proses dan file.

(7)

5. Linux/UNIX adalah salah satu sistem operasi yang termasuk ke dalam kelas sistem operasi yang dapat melakukan multitasking. Multitasking sendiri adalah keadaan dimana suatu sistem operasi dapat melakukan banyak pekerjaan pada saat yang bersamaan.

6. Selain multitasking, Linux/UNIX juga dapat mendukung multiuser. Yaitu sistem operasi yang pada saat bersamaan dapat digunakan oleh lebih dari satu pengguna (user) yang masuk ke dalam sistem. Bahkan untuk Linux juga mendukung untuk multiconsole dimana pada saat bersamaan didepan komputer langsung tanpa harus melalui jaringan dan memungkinkan lebih dari satu user masuk ke dakam sistem.

2.2.1 Struktur direktori Linux

Direktori root Linux memiliki beberapa direktori yang merupakan standar direktori pada banyak distro Linux. Direktori-direktori utama dalam Linux adalah:

Direktori Isi

bin berisi file-file binary standar yang dapat digunakan oleh seluruh user baik

user biasa maupun super user

boot berisi file-file yang digunakau untuk booting Linux termasuk kernel image dev berisi file sistem khusus yang merupakan reaksi device hardware yang

dikenali dan digunakan sistem

home berisi direktori-direktori yang merupakan direktori home untuk user biasa dan aplikasi tertentu

lib berisi file-file library yang digunakan untuk mendukung kerja kernel Linux mnt direktori khusus yang disediakan untuk mounting (mengaitkan) device disk

storage ke sistem dalam bentuk direktori

proc berisi file system khusus yang menunjukkan data-data kernel setiap saat root direktori home uutuk user root (user khusus dengan priviledges hampir tak

terbatas)

sbin sama seperti direktori bin, tetapi hanya super user yang sebaiknya menggunakan binary-binary tersebut mengingat fungsi fungsi binary yang terdapat di direktori ini untuk maintenance sistem

tmp berisi file-file sementara yang dibutuhkan scbuah aplikasi yang sedang berjalan

usr berisi library, binary, doktunentasi dan file lainnya hasil instalasi user var berisi file-file log. mailbox dan data-data aplikasi

(8)

2.2.2 Software aplikasi dalam Linux

Sekarang ini, banyak aplikasi Linux yang dapat digunakan untuk keperluan kantor seperti untuk spreadsheet, word processor, database dan program editor grafis yang memiliki fungsi dan tampilan seperti Microsoft Office, yaitu Open Office. Selain itu, juga sudah tersedia versi Corel untuk Linux dan aplikasi seperti Matlab yang pada Linux dikenal sebagai Scilab. Berikut ini adalah beberapa fitur yang tersedia dalam Linux

1. Shell dan Shell command

Merupakan tempat bekerja yang paling utama diantara para pemakai Linux, terutama Linux versi-versi awal. Pada Shell ini perintah-perintah text dapat dieksekusi. Tampilan Shell adalah dapat dilihat pada gambar berikut:

Dari gambar dapat dilihat siapa yang sedang bekerja pada shell.

2. Adapun perintah-perintah yang dapat dijalankan pada shell diantaranya: MC (Midnight Commander) merupakan aplikasi yang sangat berguna karena hemat memory saat digunakan. Dengan mengetikan mc pada shell maka akan muncul tampilan sebagai berikut:

     

Gambar 2: Tampilan shell.    

(9)

                     

Perintah-perintah yang dapat digunakan sesuai dengan gambar diatas dapat dilihat pada Tabel di bawah ini :

                                         

Tombol Fungsi

F1 Mengeluarkan menu bantuan (help) F2 Menyimpan file

F3 Untuk memblok bagian yang dipilih F4 Untuk mengganti kata

F5 Menyalin satu blok F6 Memindahkan satu blok

F7 Mencari kata yang ingin di edit F8 Menghapus suatu blok

F9 Memunculkan menu navigasi F10 Mengakhiri editor

 

2.3 Compiler dan aplikasi Science dalam Linux

Ada banyak aplikasi Science yang terdapat dalam Linux. Hal yang paling utama dari aplikasi Science yang terdapat dalamLinux adalah Compiler. Ada banyak compiler yang tersedia dalam Linux, untuk SuSE 9.1 compiler yang telah ada didalamnya adalah: gcc, g++, g77 dan masih banyak lagi compiler yang lain.

  Gambar 3: Tampilan midnight commander (mc)

     

(10)

Untuk keperluan aplikasi perkantoran/office maka Linux memiliki aplikasi open

office. Di dalam open office telah tersedia fitur-fitur canggih yang bahkan tidak tersedia

dalam sistem office yang lain (Ms Office) diantarannya adalah kita bisa mengetikan perintah Latex kedalam sistem persamaan sehingga bagi pengguna yang terbiasa menggunakan Latex maka fitur ini sangatlah menguntungkan. Dengan open office bentuk file yang disimpan dengan sistem office yang lain dapat dilihat, dibuka, dan diedit dan seringkali tidak berlaku sebaliknya. Selain office tersedia pula aplikasi Latex yang sangat terkenal dan familier di kalangan Matematikawan, Fisikawan dan ilmuwan lainya. Pada dasarnya Latex digunakan untuk mempersiapkan naskah seperti halnya text editor, dengan kelebihan utama yaitu kemampuan untuk menghasilkan persamaan dengan lebih baik. Salah satu contoh bentuk tampilan text editor Latex dapat dilihat sebagai berikut:

                     

Salah satu kelebihan lain dari Kile adalah terdapat compiler Latex2html, sehingga file latex yang ingin diupload kehalaman web bisa dikompilasi secara apik dengannya.

2.3.1 Paket Program Sage

Sage adalah suatu free open source math software yang relatif baru yang berguna untuk keperluan komputasi numerik, aljabar, geometri, dan bidang lainnya. Sage dapat

  Gambar 4: Tampilan editor untuk LaTeX

                 

(11)

menjalankan beberapa perintah dari berbagai aplikasi diantaranya gnuplot, maxima, octave, dan beberapa compiler lainnya. Karenanya Sage dikatakan sebagai alternatif pengganti dan penggabungan bagi Maple, Mathematica, Magma, dan MatLab. Selain itu juga sage menjalankan beberpa aplikasi pemrograman yaitu dalam praktikum kali ini akan digunakan Sage versi 2.6. Sage dapat dijalankan dengan shell command maupun dengan dengan interface yang dijalankan pada web browser Firefox. Cara menjalankan aplikasi Sage adalah dengan mengetikan perintah sage dan menekan enter pada shell. sehingga akan muncul direktori sage. Semua perintah sage dapat dijalankan dengan mengetikan perintah-perintah yang dikenal dalam sage. Sedangkan untuk memunculkan

interface melalui web browser maka ketik perintah notebook() kemudian enter pada

direktori sage, maka akan ditampilkan interface yang diload pada firefox dengan server lokal Sage, dan tampilannya adalah sebagai berikut :

                                                         

Gambar 5: Tampilan program Sage.                

(12)

 

Contoh program Sage

Dalam direktori Sage ketikan perintah berikut maka akan anda peroleh keluarannya: sage: 2 + 2

4

sage: A = matrix(4,4, range(16)); A [ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15] sage: integral(x*sin(x^2), x) -cos(x^2)/2 sage: integral(x/(x^2+1), x, 0, 1) log(2)/2

Selain itu bisa juga dengan membuat kode sumber sage yang berisikan: print Halo ini program pertama saya

print 2*4^2  

setelah disimpan dengan nama program1.sage setelah itu melalui direktori sage ketikan perintah

sage: load program1.sage

Halo ini program pertama saya 32

yang tidak lain adalah keluaran sesuai dengan isi program yang kita perintahkan dalam program1.sage. Adapun beberapa operator dalam Sage adalah sebagai berikut:

         

(13)

 

Operator Deskripsi

or boolean or and boolean and not boolean not in, not in membership is, is not identity test < , <=, >, >=,==,! =, <> perbandingan

+,- operasi penambahan dan pengurangan *,/,% perkalian, pembagian, dan reminder **, ^ operasi perpangkatan

 

2.3.2 Paket program Matlab dan semisalnya

Telah banyak diketahui khalayak umum bahwa Matlab adalah satu paket program yang handal. Kehandalan paket program Matlab terletak pada kelengkapan function yang telah tersedia padanya. Berikut adalah tampilan dari antar muka Matlab.

                                            Figure 6: Tampilan Matlab

             

(14)

Yang dimaksud dengan function sesungguhnya adalah program yang telah dibangun dengan tujuan khusus dan kemudian digabungkan kedalam sistem Matlab. Karenanya kemudian Matlab disebut sebagai Paket program.

Selain paket program Matlab ada beberapa paket program lain yang semisal denganya. Misalnya Skylab, Mupad, Octave dan Mathematica. Paket program tersebut tidak akan dibahas secara lebih rinci pada catatan kuliah ini.

                 

Gambar

Gambar	
  1:	
  	
  Bagian-­‐bagian	
  komputer	
   	
  

Referensi

Dokumen terkait

Mata Kuliah Wajib Konsentrasi Enterprise Information System KI1103 Data Warehousing dan Data Mining 3 Database Management System. KI1101 Jaringan Komputer II 3 KI1104

Gadget adalah hal yang sangat populer saat ini. Hampir setiap orang menggunakan gadget untuk berbagai keperluan. Salah satu fungsinya adalah berkomunikasi dan mencari informasi dengan cepat. Gadget membutuhkan sebuah program yang berfungsi untuk mengatur berjalannya perangkat tersebut. Menurut Yulikuspartono (2009:29) mengemukakan bahwa “ program merupakan sederetan instruksi atau statement dalam bahasa yang dimengerti oleh komputer yang bersangkutan”. Program merupakan sebuah elemen inti untuk kinerja suatu perangkat. Program inilah yang akan mengolah dan menjalankan perintah yang diberikan oleh user agar dapat di kelola oleh perangkat/device. Program juga dibuat oleh manusia, dan orang yang membuat program ini disebut dengan Programmer. Seorang programmer membuat program dengan menggunakan bahasa pemrograman. Bahasa pemrograman inilah yang disusun dengan berdasarkan logika atau algoritma menusia yang di terjemahkan ke algoritma manusia yang di terjemahkan ke perangkat. Bahasa pemrograman ini dibuat untuk memudahkan manusia dalam membuat suatu aplikasi atau program. Bahasa pemrograman bisa di klasifikasikan dari beberapa sudut pandang. Salah satu pengklasifikasian bahasa pemrograman adalah pendekatan dari notasi bahasa pemrograman tersebut, apakah lebih dekat ke bahasa mesin atau ke bahasa manusia. Dengan cara ini, bahasa pemrograman dapat di kelompokan menjadi dua yakni bahasa tingkat rendah (low level languages) dan bahasa tingkat tinggi (high level language). Bahasa tingkat tinggi adalah bahasa yang mudah dipahami oleh manusia, C++ merupakan salah satu contoh dari bahasa tingkat tinggi. Contoh lain dari bahasa tingkat tinggi ini seperti Pascal, Perl, Java, dan lain-lain sebagainya. Sedangkan bahasa tingkat rendah adalah bahasa mesin atau bahasa assembly. Secara sederhana sebuah komputer hanya dapat mengeksekusi program yang ditulis dalam bentuk bahasa mesin. Oleh karena itu, jika suatu program ditulis dalam bahasa tingkat tinggi maka program tersebut harus diproses terlebih dahulu sebelum bisa dijalankan dengan komputer. Hal ini merupakan salah satu kekurangan bagi bahasa tingkat tinggi dimana diperlukan waktu untuk memproses suatu program sebelum program tersebut di jalankan. Sebagai bahasa yang beraras tinggi, yang menggunakan perintah-perintah yang mudah dimengerti oleh manusia, C++ mempunyai keunggulan yakni bersifat universal. Sebagai bahasa yang universal, C++ bisa dijumpai di berbagai platform (Linux, Unix, Windows, Mac, dan lain-lain). Artinya, jika kita menguasai C++ di platform PC, sangat mudah untuk berpindah di Linux ataupun system operasi yang lain.