Pendahuluan dan Pengenalan Komputer

advertisement
 UNIVERSITAS GADJAH MADA
PROGRAM STUDI FISIKA
FMIPA
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
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:
Gambar 1: Bagian-­‐bagian komputer 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
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.
4. Linux/UNIX mendukung struktur file yang bersifat hirarki.
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
bin
boot
dev
home
lib
mnt
proc
root
sbin
tmp
usr
var
Isi
berisi file-file binary standar yang dapat digunakan oleh seluruh user baik
user biasa maupun super user
berisi file-file yang digunakau untuk booting Linux termasuk kernel image
berisi file sistem khusus yang merupakan reaksi device hardware yang
dikenali dan digunakan sistem
berisi direktori-direktori yang merupakan direktori home untuk user biasa
dan aplikasi tertentu
berisi file-file library yang digunakan untuk mendukung kerja kernel Linux
direktori khusus yang disediakan untuk mounting (mengaitkan) device disk
storage ke sistem dalam bentuk direktori
berisi file system khusus yang menunjukkan data-data kernel setiap saat
direktori home uutuk user root (user khusus dengan priviledges hampir tak
terbatas)
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
berisi file-file sementara yang dibutuhkan scbuah aplikasi yang sedang
berjalan
berisi library, binary, doktunentasi dan file lainnya hasil instalasi user
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:
Gambar 2: Tampilan shell. 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:
9 Gambar 3: Tampilan midnight commander (mc)
Perintah-perintah
yang dapat digunakan sesuai dengan gambar diatas dapat dilihat pada
Tabel
di bawah ini :
Tombol
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
Fungsi
Mengeluarkan menu bantuan (help)
Menyimpan file
Untuk memblok bagian yang dipilih
Untuk mengganti kata
Menyalin satu blok
Memindahkan satu blok
Mencari kata yang ingin di edit
Menghapus suatu blok
Memunculkan menu navigasi
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.
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:
Gambar 4: Tampilan editor untuk LaTeX
Salah satu kelebihan lain dari Kile adalah terdapat compiler Latex2html, sehingga file
latex yang ingin diupload kehalaman web bisa dikompilasi secara apik dengannya.
Paket Program Sage
2.3.1
Sage adalah suatu free open source math software yang relatif baru yang berguna
untuk
keperluan komputasi numerik, aljabar, geometri, dan bidang lainnya. Sage dapat
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
or
and
not
in, not in
is, is not
< , <=, >, >=,==,! =, <>
+,*,/,%
**, ^
Deskripsi
boolean or
boolean and
boolean not
membership
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.
Download