Tugas 2 Muhammad Attaritsabitsah Gibran

From ccitonlinewiki
Revision as of 18:03, 20 February 2020 by Muhammad.attaritsabitsah (talk | contribs) (Evaluasi)
Jump to: navigation, search

Permasalahan 1

1.png

Analisis Masalah


1. Satelit berevolusi di bumi, bukan di matahari. Karena bumi memiliki bentuk yang oval, maka bumi memiliki nilai eksentrisitas (e = 0,017). Maka asumsi, jalur satelit yang diambil juga memiliki nilai eksentrisitas yang sama.

2. Jarak R adalah jarak dari inti bumi ke satelit. Maka R merupakan kombinasi antara Jari-jari bumi + Ketinggian satelit dari Bumi. R merupakan koordinat polar, Rteta.png. R telah terobservasi di beberapa sudut yaitu -30, 0, dan 30 derajat. Seterusnya R di semua sudut diprediksi. Kemudian setelah itu bisa mendapatkan jarak R terendah.

3. Asumsikan nilai sudut kemiringan bumi diabaikan (yaitu sekitar 23,5 derajat) hal tersebut tidak mempengaruhi nilai (pada perhitungan manual)

Penyelesaian Manual


Dalam menyelesaikan soal, saya menggunakan Excel sebagai alat perhitungan manual. Saya mempertimbangkan mengapa demikian karena saya rasa soal yang saya ambil tidaklah mudah. Dengan itu, saya harus mengerjakan soal tersebut agar dapat keep in track. Saya telah menggunakan python awalnya, akan tetapi saya sering kehilangan arah secara tiba-tiba dikarenakan saya tidak bisa melihat hasil di interface tabel seperti Excel yang memudahkan saya membaca hasil soal. Anotasi 2020-02-18 194252.png

Sebuah lintasan satelit berbentuk elips. Maka dari itu saya menggunakan persamaan elips sebagai acuannya. Referensi yang saya ambil adalah teori hukum pertama Kepler. Telah dijelaskan bahwa lintasan memiliki nilai eksentrisitas.

Saya hanya mengambil interval sudut sebesar 30 derajat. Hal tersebut sebenarnya terlalu sederhana. Seharusnya saya mendapatkan hasil di seluruh sudut. Hal tersebut dapat terealisasi bila menggunakan pemrograman python.

Sebuah elips memiliki persamaan

r = a(1– e^2) / (1+ e cos φ)

a = r (1+ e cos φ)/(1– e^2)

Dimana e adalah nilai eksentrisitas. Nilai e berkisar antara 0<e<1. Jika e = 0, maka elips berbentuk lingkaran sempurna. Kemudian fungsi cos memberikan pengertian nilai yang naik turun yang digambarkan dalam grafik cos.

Saya memasukkan nilai yang telah terobservasi di baris R. Kemudian di baris R terdapat banyak sel kosong, dimaksudkan adalah nilai prediksi dari posisi R satelit.

nilai a adalah nilai R di sudut sebelumnya. Misalnya nilai a di kolom 0 derajat adalah prediksi nilai R di kolom 30 derajat sebelumnya (-30 derajat).

Pada gambar, nilai R tertinggi ada pada sudut 60 derajat. Akan tetapi secara pasti belum tentu. Hal tersebut karena saya mengambil interval 30 derajat. Maka sudut 60 derajat hanyalah pendekatan. R tertinggi secara pasti tidak dapat ditentukan bila tidak mengambil semua data. Maka nilai R tertinggi ada disekitar 60 derajat

Bantuan Programming


Saya menemukan bahwa soal ini lebih mudah bila dikerjakan menggunakan metode newton raphson. Karena hal tersebut yang paling mudah dan cepat. Tetapi saya harus menyiapkan modul newtonRaphson terlebih dahulu karena belum ada di library umum. Untuk menyiapkan modul newtonRaphson (spesifiknya newtonRaphson2), saya mendapat sumber dari buku acuan kelas. Berikut modul newtonRaphson2

Modul newtonraphson

TUGAS2 MAG MODULNEWTONRAPHSON.png

modul raphson2 membutuhkan numpy, dan gaussPivot. Untuk numpy saya hanya tinggal menginstall secara biasa, karena merupakan modul yang sudah umum. Sedangkan modul gaussPivot saya harus membuat modul tersebut sendiri, lagi-lagi dari buku acuan kelas. Berikut modul gaussPivot yang juga membutuhkan modul error handling dan swap, karena berhubungan dengan matriks

Modul gausspivot

TUGAS2 MAG MODULGAUSSPIVOT.png

Modul Error dan Swap

Modul Error Modul Swap

Setelah penyiapan modul newtonraphson, saya bisa memulai menulis coding untuk program ini. Setelah menelisik beberapa referensi kasar, saya dapat menyelesaikan proses programming tersebut.

Pemrograman

TUGAS2 MAG CODING1.png TUGAS2 MAG CODING2.png

Hasil

TUGAS2 MAG HASIL.png TUGAS2 MAG HASIL2.png

Pertama-tama saya harus menyimpan nilai yang telah diketahui. Yaitu hasil observasi yang telah ada di soal. Yaitu data jari-jari jalur satelit dan sudutnya (dalam bentuk derajat). Kemudian diberikan fungsi f(x), dimana setiap x adalah sudut-sudut hasil observasi tersebut. Lalu saya dapat nilai C, e, dan sudut a dengan mengolah data tersebut. Kemudian dengan menggunakan metode Newton Raphson. Metode ini menurunkan fungsi, sehingga didapat X(n)- X(n-1) bernilai 0, sehingga akar persamaan f dapat ditarik. Dengan x adalah C, e, dan sudut a awal. Untuk menentukan nilai sudut maksimum dan minimum saya masih belum mengerti konsepnya.

Saya menggunakan alat tambahan matplotlib untuk memplot lintasan satelit. Algoritma tersebut saya dapatkan dari hasil penelusuran.

Komentar


Saya cukup puas dengan hasil yang diberikan algoritma tersebut. Akan tetapi hasil dari programming di phyton sedikit berbeda dengan perhitungan manual. Dalam perhitungan manual misalnya, sudut saat R maksimum di kisaran 60-90 derajat. Kemudian di algoritma, nilai R maksimum secara spesifik pada 70 derajat. Sedangkan titik terendah, pada perhitungan manual tidak sesuai dengan perhitungan numerik secara coding.

Evaluasi


Saya belum mengerti secara lengkap mengenai newton raphson. Masih banyak sumber yang saya pakai untuk mengerjakan soal tersebut. Maka dari itu saya harus mendalami metode yang saya gunakan, atau secara umumnya pada Bab 4, roots of equation dimana banyak metode-metode lain yang bisa saya gunakan.

Permasalahan 2

Dalam permasalahan ini saya mengambil contoh kasus kecepatan dan percepatan sesaat. Dengan diberikan persamaan posisi, kita dapat menentukan posisi, kecepatan sesaat, dan percepatan sesaat

Manual


TUGAS2 1 MAG MANUAL.jpg

Programming


Coding TUGAS2 1 MAG KODING.png

Hasil TUGAS2 1 MAG HASIL.png

Komentar


Hasil yang dikeluarkan secara manual dan programming sama. Pada python saya menggunakan sympy sebagai library untuk sebuah persamaan turunan (diferensial). Kemudian saya membuat waktu initial t dapat dimodifikasi atau diubah sendiri dengan cara input.

Disini saya belajar untuk mengambil keputusan, misalnya seperti apa saya akan mengeksekusi program tersebut. Kemudian saya belajar menggunakan dan memanggil sympy lagi seperti pada tugas 1 dengan berbeda fungsi, dan mengerti bahwa banyaknya fungsi-fungsi sympy yang dapat di eksplor, misalnya fungsi diferensial, integrate, dan substitution. Seterusnya saya berusaha membuat program sesimple mungkin.

Sementara itu, saya sebenarnya masih agak bingung dengan perintah tugas ke-2 apakah saya harus memilih jalan metode yang ada di Bab 7 misalnya seperti Euler, dan lain-lain, atau dapat menggunakan fungsi apapun.

Evaluasi


Program yang saya buat hanya menggunakan pemrograman simpel. Sedangkan di Bab 7 terdapat banyak metode-metode yang dapat saya gunakan untuk menyelesaikan masalah initial value problem. Maka, sebetulnya saya harus mempelajari lebih dalam tentang initial value problem kedepannya.



Kembali ke halaman awal Muhammad Attaritsabitsah Gibran