Selasa, 06 September 2011

Pengembungan Waktu atau Waktu Dilatasi

-->
Berdasarkan postulat kedua dari teori relativitas khusus, kedua pengamat pasti menggunakan c sebagai kelajuan cahaya. Oleh karena cahaya merambat lebih jauh menurut O, ini berarti selang waktu dt yang diukur oleh O lebih panjang daripada selang waktu dtp  yang diukur oleh O’. Untuk memperoleh hubungan antara kedua selang waktu ini, maka baik bagi kita untuk menggunakan segitiga siku-siku, seperti yang ditunjukan pada gambar. Teorema Pytagoras memberikan :

Oleh karena selalu lebih besar dari 1, hasil ini menyatakan bahwa selang waktu   yang diukur oleh pengamat yang bergerak relative terhadap sebuah jam adalah lebih panjang daripada waktu    yang diukur oleh pengamat diam relative terhadap jam tersebut. Efek ini dikenal sebagai penggembungan waktu.
Contoh Soal Dilatasi Waktu :
1.     Periode pendulum terukur 3,00 s di dalam kerangka acuan pendulum. Berapa periodenya ketika diukur oleh pengamat yang bergerak dengan kelajuan 0,950c relative terahadap pendulum?

Pengenalan Matrix Laboratory


 I. PENDAHULUAN

Sejarah pemrograman komputer tidak seperti yang dibayangkan oleh kebanyakan orang. Kebanyakan orang mengira bahwa pemrograman komputer ini mulai berkembang atau ditemukan pada akhir abad duapuluhan. Namun dalam kenyataannya, sejarah pemrograman modern dan bahasa pemrograman mulai berkembang sejak 1940 an, yaitu sekitar 68 tahun yang lalu.
Sebelum kita menengok pada tahun 1940 an, sejenak kita lihat ke belakang terlebih dahulu pada tahun 1822. Pada tahun tersebut hidup seseorang bernama Charles Babbage. Ketika belajar di Universitas Cambridge Inggris, ia melihat bahwa pada saat itu banyak terdapat berbagai macam tabel perhitungan seperti tabel yang terkait dengan astronomi, kelautan, navigasi dan sebagainya. Meskipun tabel-tabel perhitungan ini tersedia, namun yang terjadi adalah banyak sekali kejadian musibah seperti kapal tenggelam, kecelakaan dan kapal hilang. Dalam hal ini, Charles Babbage mengira bahwa musibah ini disebabkan oleh faktor kesalahan manusia yaitu keterbatasan kemampuan dalam mengimplementasikan tabel perhitungan yang ada. Hal inilah yang memicunya untuk memikirkan bagaimana cara mengelola data-data yang ada dalam tabel perhitungan tersebut supaya mudah digunakan. Bagaimana caranya? yaitu menggunakan sebuah ‘mesin’. Mesin ini ia beri nama ‘Difference Engine’.
Setelah bekerja selama 10 tahun pada mesinnya, Charles Babbage menyadari bahwa mesin yang dia ciptakan ini merupakan sebuah mesin yang hanya punya satu tujuan (single-purpose machine) artinya hanya bisa menghasilkan satu jenis keluaran (output). Selanjutnya ia ingin mengembangkan mesin lain yang bersifat multi-purpose. Mesin ini diberi nama ‘Analytical Engine’. Pekerjaan untuk membuat ‘Analytical Engine’ ini ia lakukan sampai dengan tahun 1942. Pada tahun 1947, Charles Babbage kembali menyempurnakan ‘Difference Engine’ dan akhirnya pada tahun 1949 ia berhasil membuat versi keduanya. Pekerjaan untuk terus menyempurnakan hasil-hasil karyanya terus ia lakukan, bahkan diteruskan oleh anaknya, Henry Prevost. Charles Babbage sendiri meninggal pada tahun 1871. Untuk melindungi karya-karya ayahnya, Henry Prevost membuat beberapa kopian unit perhitungan aritmatika sederhana dari mesin yang dihasilkan ayahnya dan mengirimkannya ke beberapa institusi di dunia, termasuk ke Universitas Harvard.
Perkembangan dunia komputasi berlanjut pada tahun 1980-an tepatnya pada tahun 1854, yaitu ketika seseorang bernama Charles Boole telah mampu menciptakan sebuah sistem logika simbolik yang diberinama Logika Boole. Sistem ini mencakup pula logika untuk menyatakan hubungan lebih besar, lebih kecil, sama dengan dan tidak sama dengan. Sistem logika ini masih digunakan sampai dengan saat ini.
Sebuah penemuan dapat dikatakan berawal dari sebuah ‘kebutuhan’. Begitu pula dengan pemrograman komputer ini. Pada tahun 1890, Amerika Serikat ingin melakukan sensus penduduk. Namun kendala yang muncul adalah keterbatasan alat yang ada pada waktu itu, mengingat jumlah penduduk yang semakin meningkat tahun demi tahun. Akhirnya diadakanlah sebuah kompetisi komputasi untuk mencari solusinya. Kompetisi ini dimenangkan oleh Herman Hollerith, yang akhirnya ia mendirikan sebuah perusahaan Hollerith Tabulating, Co. yang akhirnya berubah nama menjadi CTR (Calculating Tabulating Recording Company) setelah 3 perusahan lain ikut bergabung. Sepuluh tahun berikutnya perusahaan ini berganti nama lagi menjadi IBM (International Business Machine) hingga saat ini.
Perkembangan komputasi digital selanjutnya mulai berjalan pelan dan jarang digunakan dalam dunia bisnis sampai dengan pertengahan tahun 1920 an. Hingga akhirnya pada tahun 1925 MIT (Massachusette Institute of Technology) telah mengembangkan sebuah mesin yang mampu menganalisis perhitungan differensiasi dan integrasi. Mesin yang didanai oleh Yayasan Rockefeller ini dapat dikatakan sebuah komputer terbesar di dunia pada tahun 1930.
Pemain berikutnya yang memiliki andil dalam perkembangan komputasi komputer digital ini adalah seorang ilmuan Jerman bernama Konrad Zuse. Pada tahun 1935, Zuse telah mengembangkan komputer Z-1 nya. Apa keistimewaan Z-1 ini? Komputer ini adalah awal mula diterapkannya sistem biner dalam kinerjanya. Selain itu, Zuse juga berjasa dalam komputasi komputer digital ketika ia menciptakan bahasa pemrograman komputer pertama ‘Plankalkul’.
Pada tahun 1945, terjadi pula peristiwa penting dalam sejarah perkembangan komputasi komputer digital yaitu ketika mesin Mark II yang ada di Universitas Harvard terjadi kerusakan. Seseorang yang bernama Grace Murray Hopper yang mengetahui hal ini langsung menyelidiki sebab kerusakannya. Akhirnya dia menemukan sebuah ngengat yang terjebak dalam mesin tersebut. Dalam catatan hariannya, Hopper menuliskan: “First actual case of bug being found”. Dia menyebut ngengat ini sebagai sebuah kutu busuk (bug), mungkin karena jengkel. Kata ‘bug’ inilah yang selanjutnya sering dikaitkan dengan adanya ketidakberesan dalam program. Dari kata ‘bug’ ini muncul pula istilah ‘debugging’ yang artinya proses pembetulan kesalahan program.
Pada tahun 1954, IBM mulai mengembangkan bahasa pemrograman FORTRAN (FORmula TRANslator) yang akhirnya dipublikasikan pada tahun 1959. Bahasa FORTRAN merupakan bahasa pemrograman level tinggi pertama yang dikomersialkan. Pemrograman level tinggi maksudnya adalah perintah atau kodenya mudah dibaca dan dipahami oleh manusia.
Pada tahun 1958, FORTRAN II dan ALGOL dipublikasikan bersamaan dengan diluncurkannya LISP. Sedangkan pada tahun 1959, bahasa pemrograman COBOL juga diluncurkan. Sejak saat itu perkembangan bahasa pemrograman sangat cepat. Pada tahun 1970, bahasa PASCAL mulai dipublikasikan dan saat ini masih banyak digunakan untuk keperluan pendidikan.
Pada tahun 1970 muncul pula dua bahasa pemrograman yang dapat dikatakan sangat penting yaitu SMALLTALK dan B-Languange. SMALLTALK penting karena merupakan bahasa pemrograman berbasis obyek yang pertama. Sedangkan B-Languange dikatakan penting karena merupakan cikal bakal munculnya bahasa C. Dengan bahasa C, pemrograman akan lebih mudah, efisien, dan fleksibel.
Pada tahun 1975, Dr. Wong merilis bahasa pemrograman hasil ciptaannya bernama TinyBASIC. TinyBASIC merupakan bahasa pemrograman pertama yang bersifat free alias tidak membayar dalam penggunaannya.
Sedangkan pada saat yang bersamaan pada tahun 1975, Bill Gates dan Paul Allen membuat bahasa pemrograman yang diberi nama BASIC. BASIC ini selanjutnya mereka jual ke MIT.
Perkembangan bahasa pemrograman ini terus bergerak demikian pesat hingga saat ini. Hal ini ditandai dengan semakin banyaknya bahasa pemrograman yang bermunculan.
Setiap bahasa pemrograman memiliki kelebihan dan kekurangan sendiri-sendiri. Bagi Anda yang ingin belajar bahasa pemrograman, jangan bingung dengan banyaknya bahasa pemrograman yang ada. Saya hanya bisa bilang, ’semuanya cocok bagi Anda’. Semua bahasa pemrograman berjalan atas dasar logika dan algoritma. Sehingga kedua hal inilah yang harus diasah lebih dulu. Selanjutnya pilih salah satu bahasa pemrograman untuk belajar, Pascal atau C misalnya. Kemudian fokus, fokus dan fokus pada bahasa tersebut. Apabila sudah menguasai dengan baik, cobalah untuk menambah wawasan dengan belajar bahasa pemrograman yang lain.
Kemudian pada akhir tahun 1970-an MATLAB (matrix laboratory) diciptakanoleh Cleve Moler, yang kemudian menjadi ketua Departemen Ilmu Komputer di Universitas New Mexico. Ia merancangnya untuk memberikan akses bagi mahasiswa dalam memakai LINPACK dan EISPACK tanpa harus mempelajari Fortran. Karyanya itu segera menyebar ke universitas-universitas lain dan memperoleh sambutan hangat di kalangan komunitas matematika terapan. Jack Little, seorang insinyur, dipertemukan dengan karyanya tersebut selama kunjungan Moler ke Universitas Standford pada tahun 1983. Menyadari potensi komersialnya, ia bergabung dengan Moler dan Steve Bangert. Mereka menulis ulang MATLAB dalam bahasa pemrograman C, kemudian mendirikan The Math Works pada tahun 1984 untuk melanjutkan pengembangannya. Pustaka yang ditulis ulang tadi kini dikenal dengan nama JACKPAC. Pada tahun 2000, MATLAB ditulis ulang dengan pemakainan sekumpulan pustaka baru untuk manipulasi matrikx, LAPACK.
Matlab merupakan bahasa pemrograman yang hadir dengan fungsi dan karakteristik yang berbeda dengan bahasa pemrograman lain yang sudah ada lebih dahulu seperti Delphi, Basic maupun C++. Matlab merupakan bahasa pemrograman level tinggi yang dikhususkan untuk kebutuhan komputasi teknis, visualisasi dan pemrograman seperti komputasi matematik, analisis data, pengembangan algoritma, simulasi dan pemodelan dan grafik-grafik perhitungan. Matlab hadir dengan membawa warna yang berbeda. Hal ini karena matlab membawa keistimewaan dalam fungsi-fungsi matematika, fisika, statistik, dan visualisasi. Matlab dikembangkan oleh MathWorks, yang pada awalnya dibuat untuk memberikan kemudahan mengakses data matrik pada proyek LINPACK dan EISPACK. Saat ini matlab memiliki ratusan fungsi yang dapat digunakan sebagai problem solver mulai dari simple sampai masalah-masalahyang kompleks dari berbagai disiplin ilmu.

II. Lingkungan Kerja Matlab
II.1 Beberapa Bagian dari Window Matlab

·      Current Directory
Window ini menampilkan isi dari direktori kerja saat menggunakan matlab. Kita dapat mengganti direktori ini sesuai dengan tempat direktori kerja yang diinginkan. Default dari alamat direktori berada dalam folder works tempat program files Matlab berada.

·      Command History
Window ini berfungsi untuk menyimpan perintah-perintah apa saja yang sebelumnya dilakukan oleh pengguna terhadap matlab.

·      Command Window
Window ini adalah window utama dari Matlab. Disini adalah tempat untuk menjalankan fungsi, mendeklarasikan variable, menjalankan proses-proses , serta melihat isi variable.

·      Workspace
Workspace berfungsi untuk menampilkan seluruh variabel-variabel yang sedang aktif pada saat pemakaian matlab. Apabila variabel berupa data matriks berukuran besar maka user dapat melihat isi dari seluruh data dengan melakukan double klik pada variabel tersebut. Matlab secara otomatis akan menampilkan window “array editor” yang berisikan data pada setiap variabel yang dipilih user.

Gambar berikut menampilkan tampilan antar muka dari matlab versi 7.0


II.2 Getting Help.

Matlab menyediakan fungsi help yang tidak berisikan tutorial lengkap mengenai Matlab dan segala keunggulannya. User dapat menjalankan fungsi ini dengan menekan tombol pada toolbar atau menulis perintah ‘helpwin’ pada command window. Matlab juga menyediakan fungsi demos yang berisikan video tutorial matlab serta contoh-contoh program yang bias dibuat dengan matlab.

II.3 Interupting dan Terminating dalam Matlab.

Untuk menghentikan proses yang sedang berjalan pada matlab dapat dilakukan dengan menekan tombol Ctrl-C. Sedangkan untuk keluar dari matlab dapat dilakukan dengan menuliskan perintah exit atau quit pada comamnd window atau dengan menekan menu exit pada bagian menu file dari menu bar.

III. Variabel Pada Matlab

Matlab hanya memiliki dua jenis tipe data yaitu Numeric dan String. Dalam matlab setiap variabel akan disimpan dalam bentuk matrik. User dapat langsung menuliskan variabel baru tanpa harus mendeklarasikannya terlebih dahulu pada command window.

Contoh pembuatan variabel pada matlab:
>> varA = 1000
varA =
1000
>> varB = [45 2 35 45]
varB =
45 2 35 45
>> varC = 'test variabel'
varC =
test variabel



Penamaan variabel pada matlab bersifat caseSensitif karena itu perlu diperhatikan penggunaan huruf besar dan kecil pada penamaan variabel. Apabila terdapat variabel lama dengan nama yang sama maka matlab secara otomatis akan me-replace variabel lama tersebut dengan variabel baru yang dibuat user.

III.1 Matriks

Dapat diasumsikan bahwa didalam matlab setiap data akan disimpan dalam bentuk matriks. Dalam membuat suatu data matriks pada matlab, setiap isi data harus dimulai dari kurung siku ‘[‘ dan diakhiri dengan kurung siku tutup ‘]’. Untuk membuat variabel dengan data yang terdiri beberapa baris, gunakan tanda ‘titik koma’ (;) untuk memisahkan data tiap barisnya.

Contoh pembuatan data matriks pada matlab:

>> DataMatriks = [1 2 3;4 5 6]
DataMatriks =
1          2          3
4          5           6

Matlab menyediakan beberapa fungsi yang dapat kita gunakan untuk menghasilkan
bentuk-bentuk matriks yang diinginkan. Fungsi-fungsi tersebut antara lain:
• zeros : untuk membuat matriks yang semua datanya bernilai 0
• ones : matriks yang semua datanya bernilai 1
• rand : matriks dengan data random dengan menggunakan distribusi uniform
• randn : matris dengan data random dengan menggunakan distribusi normal
• eye : untuk menghasilkan matriks identitas
>> a = zeros(2,3)
a =
0          0         0
0          0         0

>> b = ones(1,3)
b =
1          1         1

>> c = rand(2,2)
c =
0.9501             0.6068
0.2311             0.4860

>> d = rand (1,4)
d =
0.8214             0.4447             0.6154             0.7919

>> e = eye(3,3)
e =
1          0         0
0          1         0
0          0         1

Untuk memanggil isi dari suatu data matriks, gunakan tanda kurung ‘()’ dengan isi indeks dari data yang akan dipanggil. Contoh penggunaan :

>> c(2,2)
ans =
0.4860

Untuk pemanggilan data berurutan seperti a(1,2,3) dapat disingkat dengan menggunakan tanda titik dua ‘:’ sehingga menjadi a(1:2). Penggunaan tanda titik dua ‘:’ juga dapat digunakan untuk memanggil data matriks perbaris atau perkolom.
Contoh penggunaan:
c(2:5) = memanggil data matrik baris 2 sampai baris 5
a(1,:) = memanggil data matriks pada baris pertama
b(:,3) = memanggil data matris pada kolom ketiga
IV. Operator

Beberapa penggunaan operator aritmatika antara dua operand (A dan B) ditunjukkan pada table berikut ini
Operasi Bentuk Aljabar Bentuk Matlab Contoh:

Perkalian
A x B
A * B
5*3
Pembagian          
A ÷ B
A ¥ B
2¥3
Penambahan
A + B
A + B  
1+2
Pengurangan
A – B
A – B   
4-3
Eksponensial
AB
A ^ B   
4^3

V. Fungsi Matematika lainnya

Beberapa fungsi matematika lainnya yang dapat kita gunakan untuk operasi matematika antara
lain sebagai berikut:

• abs(x)            : fungsi untuk menghasilkan nilai absolut dari x
• sign(x)           : fungsi untuk menghasilkan nilai -1 jika x<0, 0 jika x=0 dan 1 jika x>1
• exp(x)            : untuk menghasilkan nilai eksponensian natural, e x
• log(x) : untuk menghasilkan nilai logaritma natural x, ln x
• log10(x)         : untuk menghasilkan nilai logaritma dengan basis 10, x 10 log
• sqrt(x)           : untuk menghasilkan akar dari nilai x, x
• rem(x,y)        : untuk menghasilkan nilai modulus (sisa pembagian) x terhadap y

VI. Lima Bagian Utama MATLAB
1.     Development Environment.
Merupakan sekumpulan perangkat dan fasilitas yang membantuanda untuk menggunakan fungsi-fungsi dan file-file MATLAB. Beberapa perangkat ini merupakan sebuah graphical user interfaces (GUI). Termasuk didalamnya adalah MATLAB desktop dan Command Window, command history, sebuah editor dan debugger, dan browsers untuk melihat help, workspace, files, dan search path.

2. MATLAB Mathematical Function Library.
Merupakan sekumpulan algoritma komputasi mulai dari fungsi-fungsi dasar sepertri: sum, sin, cos, dan complex arithmetic, sampai dengan fungsi-fungsi yang lebih kompek seperti matrix inverse, matrix eigenvalues, Bessel functions, dan fast Fourier transforms.

3. MATLAB Language.
Merupakan suatu high-level matrix/array language dengan control flow statements, functions, data structures, input/output, dan fitur-fitur object-oriented programming. Ini memungkinkan bagi kita untuk melakukan kedua hal baik "pemrograman dalam lingkup sederhana " untuk mendapatkan hasil yang cepat, dan "pemrograman dalam lingkup yang lebih besar" untuk memperoleh hasil-hasil dan aplikasi yang komplek.

4. Graphics.
MATLAB memiliki fasilitas untuk menampilkan vector dan matrices sebagai suatu grafik. Didalamnya melibatkan high-level functions (fungsi-fungsi level tinggi) untuk visualisasi data dua dikensi dan data tiga dimensi, image processing, animation, dan presentation graphics. Ini juga melibatkan fungsi level rendah yang memungkinkan bagi anda untuk membiasakan diri untuk memunculkan grafik mulai dari benutk yang sederhana sampai dengan tingkatan graphical user interfaces pada aplikasi MATLAB anda.

5. MATLAB Application Program Interface (API).
Merupakan suatu library yang memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran mampu berinterakasi dengan MATLAB. Ini melibatkan fasilitas untuk pemanggilan routines dari MATLAB (dynamic linking), pemanggilan MATLAB sebagai sebuah computational engine, dan untuk membaca dan menuliskan MAT-files.

Kehadiran Matlab memberikan jawaban sekaligus tantangan. Disini kita bisa memilih apa aja yg ingin kita pelajari, mempelajari metoda visualisasi saja, pemrograman saja, atau kedua2nya... di sini intinya Matlab memang dihadirkan bagi mereka yang tidak ingin disibukkan dengan rumitnya sintak dan alur2 logika pemrograman sementara pada saat yang sama membutuhkan hasil komputasi dan visualisasi yang maksimal untuk mendukung pekerjaanya. Selain itu Matlab juga memberikan keuntungan bagi programmer n developer program yaitu menjadi programpembanding yang sangat handal, hal tersebut karena kekayaannya akan fungsi matematika, fisika, statistik dan visualisasi.

http://fhandypandey.com/12-turki/67-kilas-balik-trojan-war-di-troia-%E2%80%93-canakkale.html