BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah Banyak persoalan yang melibatkan model matematika sering kali muncul dalam berbagai permasalahan kehidupan sehari-hari, misalnya saja menghitung kecepatan pesawat udara saat mendarat, menghitung suhu logam saat dipanaskan dalam batasan waktu tertentu, perhitungan dalam arus listrik, reaksi kimia maupun reaksi nuklir, dan sebagainya. Kadang kala banyak orang tidak mempedulikan hal tersebut. Akan tetapi hal seperti ini sangat perlu diperhatikan dan dikaji lebih lanjut agar tidak mengakibatkan kesalahan perhitungan yang dapat menimbulkan masalah yang nantinya dapat merugikan banyak pihak. Dalam ilmu ini pun, biasanya proses perhitungan terdapat aturan persamaan atau pertidak-samaan yang mengandung fungsi linier maupun fungsi non-linier. Sering kali, dengan menggunakan perhitungan matematika biasa yang disediakan pada kalkulator, tidak dapat membantu dalam perhitungan untuk menyelesaikan kedua jenis persamaan tersebut. Ada banyak cara penyelesaian persamaan yang kompleks. Salah satunya ada yang membutuhkan turunan fungsi sehingga baru dapat menyelesaikan perhitungan suatu persamaan. Perhitungan kemiringan garis singgung dan kecepatan sesaat merupakan manifestasi dari pemikiran dasar yang sama dengan prinsip turunan. Proses perhitungan turunan dapat dilakukan berkali-kali. Akan tetapi, pada prinsipnya perhitungan turunan setiap langkah sama, perhitungan turunan pertama sama seperti perhitungan turunan kedua, ketiga, keempat, dan seterusnya. Jika perhitungan turunan pertamanya dapat diperoleh maka untuk perhitungan turunan kedua, ketiga, dan seterusnya dapat diperoleh juga. Proses perhitungan turunan fungsi itu sendiri tidaklah mudah. Hal ini dikarenakan, proses perhitungan turunan fungsi membutuhkan tingkat ketelitian yang tinggi. Melihat permasalahan ini, penulis mencoba membuat suatu sistem 1
komputer yang dapat membantu dan mempercepat proses pencarian turunan pertama fungsi linier dan non-linier. 1.2. Rumusan Masalah Berdasarkan uraian pada abstraksi dan latar belakang masalah di atas, maka dapat disimpulkan masalah yang terdapat pada proyek Tugas Akhir ini adalah sebagai berikut : dapatkah metode parsing atas bawah (top-down parsing) diterapkan dalam program pencarian turunan pertama suatu fungsi, agar program yang dihasilkan dapat mempercepat proses perhitungan? apakah sistem dapat membaca input yang berupa fungsi persamaan linier dan non-linier? apakah data yang telah dibaca oleh sistem dapat dipilah-pilah berdasarkan prioritas perhitungan sehingga sistem dapat melakukan proses perhitungan yang akurat dan cepat sesuai prioritasnya? apakah data yang telah dibaca oleh sistem dapat dimasukkan dalam array yang selanjutnya dapat menghasilkan turunan dari setiap array? apakah sistem dapat menghasilkan output, berupa turunan pertama fungsi yang tentunya harus bernilai benar? 1.3. Batasan Masalah Dalam pembuatan proyek Tugas Akhir ini, penulis memberi batasan terhadap sistem yang akan dibuat. Batasan-batasan tersebut antara lain : 1. Sistem hanya dapat mencari turunan pertama fungsi linier dan non-linier saja, tidak turunan kedua, ketiga, atau seterusnya. 2. Sistem hanya dapat melakukan proses perhitungan dengan input data yang operator, dan fungsinya sudah tersedia pada tampilan form pencarian turunan pertama fungsi linier dan non-linier. Aturan dalam menginputkan persamaan agar sistem dapat menghitung turunan pertama persamaan adalah menggunakan pemisah berupa spasi dan operator yang digunakan (tanda +, -, /, *, dan ^). 2
3. Untuk proses perkalian dan pembagian, output yang dihasilkan hanya berupa proses perhitungan terakhir, tidak sampai bentuk persamaan yang paling sederhananya, misalnya saja : Input : sin(9x 5 +3x) * 52x 15x Output : sin(9x^5+3x)*52 + ((45x^4)+(3))(cos(9x^5+3x))*52x 15 4. Di dalam kurung tidak boleh ada kurung lagi, misalnya : sin(12x 3-6x) Persamaan yang tidak boleh yakni seperti : sin( 9x 5 -ln(e 2 +1)+( 3x*cos(5x) ) ). 5. Sistem dapat menyelesaikan beberapa fungsi yakni : eksponensial (e ax ), trigonometri (sin(x),cos(x),tan(x)), logaritma natural (ln(x)), dan fungsi polinomial (x ax ). 6. Sistem hanya dapat menyelesaikan penyelesaian yang disajikan secara eksplisit ( y=f(x) ), dimana variabel yang digunakan adalah variable tunggal yaitu : x. 1.4. Tujuan Penelitian Tujuan dari penelitian Tugas Akhir ini adalah untuk memenuhi beberapa hal antara lain : Salah satu syarat kelulusan untuk memperoleh gelar sarjana dari Fakultas Teknik Program Studi Teknik Informatika, Universitas Kristen Duta Wacana. Untuk menerapkan metode parsing atas bawah (top-down parsing) ke dalam program pencarian turunan pertama suatu fungsi, guna membantu dan mempercepat proses perhitungan logika serta menghasilkan output yang bernilai benar, dimana user hanya memasukkan perhitungan logikanya (bentuk persamaannya) saja. Untuk mengimplementasikan perhitungan turunan menggunakan program bantu yang terkomputerisasi. 1.5. Spesifikasi Program 1. Perangkat lunak (software) Sedangkan, perangkat lunak yang mendukung dalam proses pembuatan proyek Tugas Akhir ini adalah sebagai berikut : 3
Sistem Operasi Microsoft Windows XP Bahasa pemrograman yang digunakan : Bahasa PHP: untuk melakukan proses perhitungan Bahasa Javascript : untuk menampilkan input Software pendukung pembuatan sistem : XAMPP versi 1.4.14 (PHP versi 5.0.4) Javascript versi 1.2 Macromedia Dreamweaver MX 2004 untuk mendesain halaman website Apache sebagai web server Mozilla Forefox sebagai browser 2. Kemampuan dan fasilitas yang disediakan oleh sistem Proses input data tidak hanya dengan menggunakan tombol/ command yang telah tersedia oleh sistem saja, melainkan dapat juga menggunakan hardware pendukung yaitu : keyboard. Sistem dapat menampilkan langkah-langkah perhitungan sehingga dapat menghitung turunan pertama persamaan fungsi linier dan non-linier yang bernilai benar. 1.6. Tahapan Penelitian Proses pembuatan proyek Tugas Akhir ini dilakukan melalui beberapa tahapan yakni sebagai berikut : 1. Studi literatur, sebagai langkah awal penyusunan dan sumber informasi yang luas, lengkap, dan aktual. Dilakukan dengan mencari dan mempelajari bukubuku referensi maupun pancarian lewat internet tentang regular ekspresi, khususnya tentang metode parsing dan juga panduan dari software-software pendukung pembuatan sistem yaitu : PHP versi 5.0.4, Javascript, dan Macromedia Dreamweaver MX 2004. 2. Pembuatan program dan pengerjaan laporan, antara lain : 4
mempelajari tentang metode parsing untuk membaca input, dan mengembalikan ekspresi output membuat konsep utama penyajian sistem melakukan perancangan program yang akan dibuat melakukan pengimplementasian program dengan menerapkan masalah yang sudah dipelajari ke dalam bahasa pemrograman menguji dan melakukan perbaikan program yang telah dibuat untuk memastikan bahwa tidak ada kesalahan/error menyusun laporan Tugas Akhir 1.7. Sistematika Penulisan Pada sistematika penulisan laporan Tugas Akhir ini, penulis akan mengemukakan tentang Pendahuluan, yang berisi latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, spesifikasi program, tahapan penelitian, dan sistematika penulisan yang akan dijelaskan pada Bab 1 yang merupakan bab pembuka. Berikutnya yakni pembahasan mengenai Landasan Teori yang menjadi dasar dalam proses pembuatan program pencarian turunan pertama suatu fungsi ini dan sedikit penjelasan tentang metode parsing dan aturan antrian, yang merupakan dasar dari pembuatan program tersebut beserta beberapa teori pendukung lainnya, yang dibahas pada Bab 2. Bab berikutnya, yaitu Bab 3, yang berjudul Perancangan Sistem akan membahas mengenai analisis kebutuhan sistem, perancangan yang akan dilakukan untuk mengembangkan sistem, dan cara kerja sistem. Penulis juga akan menuliskan implementasi dari sistem program yang dibuat pada Bab 4 dengan judul Implementasi Sistem, berisi tentang penjelasan tentang implementasi, dan analisis sistem yang merupakan hasil perancangan sistem. Untuk Kesimpulan dan Saran Tugas Akhir yang diperlukan untuk pengembangan sistem serta perkembangannya pada masa mendatang, akan penulis sajikan pada Bab 5. 5
Untuk di bagian akhir terdapat Daftar Pustaka yang berisi buku-buku dan alamat-alamat situs web yang dijadikan referensi oleh penulis serta lampiran source code dari program yang dibuat. 6