Pemrograman dan Metode Numerik (Untuk Fisika) Fahrudin Nugroho

Ukuran: px
Mulai penontonan dengan halaman:

Download "Pemrograman dan Metode Numerik (Untuk Fisika) Fahrudin Nugroho"

Transkripsi

1 Pemrograman dan Metode Numerik (Untuk Fisika) Fahrudin Nugroho June 20, 2013

2 Contents Pengantar 4 1 Pendahuluan Motivasi dan Latar Belakang Mengapa Bahasa Pemrograman C? Pengenalan Komputer Komputer Sistem Operasi Linux Struktur direktori Linux Software aplikasi dalam Linux Compiler dan aplikasi Science dalam Linux Paket Program Sage Paket program Matlab dan semisalnya Proses Pemrograman Program dan bahasa pemrograman Penerjemah Bahasa Merancang sebuah program Menganalisa, dan merancang urutan penyelesaian masalah (Algoritma) Menuangkan Algoritma kedalam Kode Sumber

3 CONTENTS Mengeksekusi program dan menguji program Struktur Dasar Algoritma Struktur Berurutan Struktur Seleksi Struktur seleksi If Struktur seleksi If else Struktur Pengulangan Struktur perulangan for Struktur perulangan while Struktur perulangan do while Struktur Kombinasi Quiz Tugas Jawaban Quiz Pemrograman C Bagian-bagian dalam bahasa C Rekursi dalam bahasa C Penerapan pemrograman pada contoh sederhana Tugas Permasalahan Akar Fungsi Metode Bisection Metode Newton PR Metode Newton Orde Dua (Pengayaan) Masalah Integrasi Numerik Metode Trapesium Metode Simpson Interpolasi dan Pendekatan 61

4 CONTENTS Interpolasi Lagrange Interpolasi Hermite Pendekatan Pada Turunan (diferensial)

5 Pengantar Bismillahirohmaannirrahim. Puji syukur penulis panjatkan keharibaan Rabb semesta alam atas selesainya catatan kuliah ini. Tujuan kami dalam menulis catatan kuliah pemrograman dan metode numerik ini adalah sebagai bahan pendamping mata kuliah pemrograman dan metode numerik yang kami ampu. Sesungguhnya mata kuliah metode numerik ini berlaku umum untuk semua jurusan. Hanya saja karena matakuliah ini diberikan untuk mahasiswa dan mahasiswi program studi Fisika, Jurusan Fisika, maka contoh-contoh yang diberikan lebih banyak mengandung keilmuwan Fisika. Akan tetapi sifat Fisika yang menjadi dasar bagi semua bidang keilmuwan khususnya teknik, maka buku ini juga relevan bagi mahasiswa teknik yang tertarik pada topik-topik dimana metode numerik digunakan. Metode numerik biasanya diterapkan pada kasus-kasus khusus dimana penyelesaian analitik sudah sulit dicapai atau bahkan tidak mungkin lagi dilakukan. Secara praktis nampak bahwa metode numerik adalah alternatif bagi metode analitik, akan tetapi jika ditinjau secara lebih dalam akan terlihat bahwa metode numerik sendiri didasarkan pada suatu ide yang fundamental yaitu matematika diskret. Dalam catatan kuliah ini akan akan diperkenalkan konsep dan teknik dasar pemrograman dan akan dibahas pula beberapa metode-metode numerik dasar yang akan sering ditemui oleh mahasiswa calon peneliti. Untuk menghindari kesulitan yang berganda, yaitu kesulitan memahami metode numerik sekaligus kesulitan memahami topik fisika, maka akan dipilih beberapa permasalahan Fisika yang sederhana sebagai contoh kasus. Hal ini dilakukan mengingat bahwa mahasiswa yang mengambil mata kuliah ini 4

6 CONTENTS 5 adalah mahasiswa calon sarjana yang dapat diasumsikan belum mengenal seluk beluk metode numerik dan terapan sesungguhnya, yaitu permasalahan Fisika yang kompleks. Selain itu perlu ditekankan bahwa ketika suatu permasalahan Fisika diselesaikan dengan cara numerik dan setelah suatu program dibangun dan dijalankan, maka hasil keluaran yang biasanya berupa angka harus diuji kebenarannya/kesesuaiaannya dengan keadaan Fisis kasus yang ditinjau. Khusus untuk kasus yang dapat diselesaikan secara analitik, pengujian ini dapat dilakukan dengan membandingkan dengan hasil analitik. Penulis menyadari banyaknya kekurangan dalam catatan yang masih under construction ini, kritik dan saran yang bersifat membangun penulis harapkan dan terima dengan senang hati. Akhirnya penulis berharap bahwa catatan kuliah ini dapat bermanfaat.

7 Chapter 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 diskret 1, 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 memveri- 1 Berbeda dengan kalkulus dan matematika pada umumnya melandaskan prinsipprinsip kalkulasinya pada idea -nya yang bersifat infinitesimal. Hal ini dapat dilakukan dengan cara memperkenalkan bilangan tak hingga ( ). 6

8 CHAPTER 1. PENDAHULUAN 7 fikasi 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 pemanahan fenomena Fisika. Untuk itulah diperlukan satu kuliah tersendiri bagi mahasiswa Fisika 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 saintifik 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

9 CHAPTER 1. PENDAHULUAN 8 mahasiswa dapat naik tingkat kedalam bahasa pemrograman yang bersifat objek oriented C++ yang merupakan varian dari C. Keuntungannya 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 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. 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.

10 Chapter 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. 9

11 CHAPTER 2. PENGENALAN KOMPUTER 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 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 konektifitas, ethernet, SLIP dan PPP dan interope rabilitas. 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, penagkat 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 seharihari. Linux merupakan alternatif sistem oprasi 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 mem-

12 CHAPTER 2. PENGENALAN KOMPUTER 11 berikan 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, memodiflkasi program, proses dan file. 4. Linux/UNIX mendukung struktur file yang bersifat hirarki. 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 kerjaan 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 user yang masuk ke dalam sistem. Bahkan untuk Linux juga mendukung untuk multiconsole dimana pada saat bersamaan di depan komputer langsung tanpa harus melalui jaringan dan memungkinkan lebih dari satu user masuk ke dakam sistem Struktur direktori Linux Direktori root Linux memiliki beberapa direktori yang merupakan standar direktori pada banyak distro Linux. Direktori-direktori utama dalam Linux adalah:

13 CHAPTER 2. PENGENALAN KOMPUTER 12 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 diaunakau unnik booting Linux termasuk kernel image dev berisi file system khusus yang merupakan refleksi 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 sepertrti direktori bin, tetapi hanya super user yang sebaiknya menggunakan binary-binary tersebut mengingat fungsifungsi binary yang terdapat di direktori ini untuk maintenance sistem tmp berisi filc-file sementara yang dibutuhkan scbuah aplikasi yang sedang berjalan usr berisi library, binary, doktunentasi dan file lainnyahasil instalasi user var berisi file-file log. mailbox dan data-data aplikasi 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 OpenOffice. Selain itu, juga sudah tersedia versi Corel untuk Linux dan aplikasi seperti Matlab yang pada Linux dikenal sebagai Scilab. Berikut

14 CHAPTER 2. PENGENALAN KOMPUTER 13 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) MC atau Midnight Commander merupakan aplikasi yang sangat berguna karena hemat memory saat digunakan. Dengan mengetikan mc pada shell maka akanmuncul tampilan sebagai berikut:

15 CHAPTER 2. PENGENALAN KOMPUTER 14 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 help (bantuan) Menyimpan File Untuk memblok bagian yang dipilih Untuk mengganti kata Menyalin satu blok Memindahkan satu blok Mencarai 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

16 CHAPTER 2. PENGENALAN KOMPUTER 15 yang telah ada didalmnya adalah: gcc, g++, g77 dan masih banyak lagi compiler yang lain. Untuk keperluan aplikasi perkantoran/office maka Linux memiliki aplikasi openoffice. Di dalam openoffice telah tersedia fitur-fitur canggih yang bahkan tidak tersedia dalam sistem office yang lain (Ms Offiice) 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 kemamouan untuk menghasilkan persamaan dengan lebih baik. Salah satu contoh bentuk tampilan tex 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.

17 CHAPTER 2. PENGENALAN KOMPUTER Paket Program Sage Sage adalah suatu free open source math software yang relatif baru yang berguna untuk keperluan komputasi numerik, alkabar, geometri, dan bidang lainya. Sage dapat menjalankan beberapa perintah dari berbagai aplikasi diantaranya gnuplot, maxima, ocatave, dan beberapa compiler lainnya. Karenanya Sage dikatakan sebagai alternatif pengganti danpenggabungan 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 local Sage, dan tampilannya adalah sebagai berikut :

18 CHAPTER 2. PENGENALAN KOMPUTER 17 Contoh program Sage Dalam direktori Sage ketikan perintah berikut maka akan anda peroleh kelurannya: sage: sage: A = matrix(4,4, range(16)); A [ ] [ ] [ ] [ ] 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 setalah 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:

19 CHAPTER 2. PENGENALAN KOMPUTER 18 Operator deksripsi 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 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. Yang dimaksud dengan function sesungguhnya adalah program yang telah dibangun dengan tujuan khusus dan kemudian digabungkan kedalam

20 CHAPTER 2. PENGENALAN KOMPUTER 19 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.

21 Chapter 3 Proses Pemrograman 3.1 Program dan bahasa pemrograman Program dalam istilah komputer mempunyai arti sebagai kumpulan perintah yang digunakan untuk mengatur komputer untuk melaksanakan suatu pekerjaan. Melalui program inilah kemudian manusia dapat berinteraksi dengan mesin komputer. Tanpa sebuah program maka komputer tidak akan dapat melakukan sesuatu sesuai dengan yang dikehendaki. Jadi ketika suatu program dibuat dan dijalankan, terjadi interaksi antara manusia dan komputer. Seperti halnya interaksi antar manusia diperlukan suatu bahasa agar setiap ungkapan dapat difahami dan setiap perintah ataupun informasi dapat ditindak lanjuti. Karenanya untuk bisa membuat program, seorang programer (orang yang biasa membuat program komputer) yang ingin berinteraksi dengan komputer memerlukan bahasa pemrograman (lihat ilustrasi yang diambil dari http : //f ooyoh.com/iamchiq living lif estyle/ berikut). 20

22 CHAPTER 3. PROSES PEMROGRAMAN 21 Agar dapat difahami maka seorang programer harus mengikuti kaidah bahasa program tertentu yang kemudian disebut sebagai bahasa pemrograman. Bahasa pemrograman dapat dikategorikan kedalam 1. Bahasa beraras tinggi 2. Bahasa beraras rendah Bahasa beraras tinggi adalah bahasa pemrograman yang berorientasi pada manusia (programer). Artinya bahasa program jenis ini lebih mudah difahami karena mendekati bahasa manusia dan menggunakan kata-kata yang biasa digunakan oleh manusia khususnya bahasa Inggris. Contoh bahasa jenis adalah bahasa Basic, Pascal, C, C++, Java. Sedangkan bahasa beraras rendah adalah bahasa yang berorientasi pada mesin. Bahasa ini menggunakan kode biner yang hanya mengenal angka 0 dan 1. Yang tergolong dalam bahasa ini adalah bahasa Asembler (rakitan). Bahasa semacam ini sulit untuk dibaca dan difahami langsung oleh manusia dan programer yang biasa menggunakan bahasa beraras tinggi. Biasanya bahasa mesin hanya bekerja pada satu jenis mesin tertentu karenanya disebut machine dependent. 3.2 Penerjemah Bahasa Sebagai mana dijelaskan sebelumnya bahwa sebenarnya ada perbedaan antara bahasa manusia dan bahasa mesin. Bahasa mesin sulit dimengerti

23 CHAPTER 3. PROSES PEMROGRAMAN 22 oleh manusia dan sebaliknya mesin tidak bisa memahami bahasa manusia. Singkatnya bahasa program yang di buat dengan bahasa program beraras tinggi tidak bisa difahami langsung oleh mesin. karenanya diperlukan penrjemah bahasa, yang menerjemahkan setiap perintah dari bahasa aras tinggi kedalam bahasa mesin, agar mesin dapat menjalankan perintah-perintah tersebut. Penerjemah bahasa ini kemudian dikelompokan menjadi: 1. Interpreter. Yaitu penerjemah bahasa yang mengerjakan satu baris intruksi bahasa kedalam bahasa mesin untuk kemudian dijalankan oleh mesin. Instruksi berikutnya akan diterjemahkan selanjutnya jika instruksi pertama telah selesai diinstruksikan. Dengan kata lain interpreter menterjemahkan dan menginstruksikan semua perintah satu persatu. 2. Compiler. Berbeda dengan interpreter, Compiler bekerja secara lebih kompak yaitu menerjemahkan semua instruksi kedalam bahasa mesin sekaligus menjadi kode objek. Dan tidak ada proses penerjemahan lagi ketika kode objek dijalankan oleh mesin. Hasil dari proses kompilasi ini biasanya adalah program yang dapat dijalankan tanpa ada translator, atau sering disebut sebagai executable. Sekarang ini program yang executable ini sering disebut sebagai aplikasi. Dengan menggunakan Interpreter seseorang dapat melakukan proses pencarian kesalahan pada kode sumber dengan lebih mudah. Namun kelemahanya adalah bahwa setiap kali menjalankan program dengan interpreter maka kode sumber harus selalu tersedia dan jika jumlah instruksi besar maka proses pengeksekusian menjadi lambat, dan proses ini selau berulang setiap kali program digunakan. Sedangkan dengan Compiler, pengerjaan instruksi bisa berjalan dengan cepat karena setiap kali hanya diperlukan satu program executable yang telah dihasilkan. Program executable ini juga bisa diduplikasi dan dijalankan pada komputer yang lain dengan platform yang sama. Namun secara kebahasaan program yang diproses dengan compiler harus betul secara keseluruhan sebelum benar-benar bisa dikompilasi dan distribusikan.

24 CHAPTER 3. PROSES PEMROGRAMAN Merancang sebuah program Sebuah program dirancang dan dibuat untuk menyelesaikan secara khusus sebuah permasalahan. Terdapat tiga langkah penting dalam menyelesaikan permasalahan: 1. Menganalisa masalah, dan merancang urutan penyelesaian (Algoritma) 2. Menuangkan Algoritma kedalam bentuk program 3. Mengeksekusi dan menguji program Menganalisa, dan merancang urutan penyelesaian masalah (Algoritma) Pada dasarnya permasalahan yang dapat dikerjakan melalui proses pemrograman sangatlah luas. Mulai dari suatu permasalahan yang sederhana sampai dengan permasalahan yang kompeks. Biasanya permasalahan yang kompleks lah yang perlu dikerjakan dengan program komputer. Akan tetapi dalam catatan kuliah kali ini akan dijelaskan beberapa permasalahan yang sederhana dengan tujuan siswa dapat memahami dengan lebih mudah proses mengalisa masalah dan proses merancang suatu urutan kerja (Algoritma) 1. Sebelum merancang suatu urutan kerja, maka biasanya dillakukan indentifikasi masalah dan penyaringan informasi. Berdasarkan hasil identifikasi masalah dan penjaringan informasi maka kemudian langkah kerja dapat dirancang dan untuk selanjutnya dapat dituangkan kedalam bentuk program. Sebagai contoh sederhana, kali ini akan diselesaikan suatu permasalahan menghitung luas lingkaran. Jelas permasalahan ini adalah permasalahan matematik biasa dan melibatkan rumus perhitungan biasa. Sedangkan informasi yang diperlukan untuk dapat menyelesaikan masalah ini adalah yaitu data besarnya nilai π dan panjang jejari lingkaran. Dengan logika sederhana maka rancangan penyelesaian permasalahan ini dapat dituliskan sebagai berikut 1 Istilah Algoritma diambil dari nama seorang ilmuwan Arab bernama Abu Ja far Mohammed Ibn Musa al Khowarizmi

25 CHAPTER 3. PROSES PEMROGRAMAN 24 Luas = nilai pi x panjang jejari x panjang jejari Algoritma bagi penyelesaian masalah ini kemudian dapat dituliskan sebagai berikut: 1. Peroleh panjang jejari 2. Hitung luas lingkaran sesuai dengan rumus 3. Tampilkan nilai luas lingkaran Ada banyak cara untuk menuliskan Algoritma dan Algoritma tidak selalu di tuangkan seperti layaknya bahasa manusia. Diantaranya dengan menuangkan kedalam kode semu (pseudocode). Untuk permasalahan luas lingkaran maka pseudocode yang mungkin adalah sebagai berikut luas <-- pi x panjang jejari x panjang jejari Untuk suatu program yang lebih kompleks maka diperlukan ungkapan kode semu yang lebih panjang dan kompleks, untuk kasus seperti ini maka biasanya kode semu lebih berorientasi dan lebih mirip pada bahasa program dimana permasalahan tersebut akan diselesaikan. Selain kode semu kadangkala Algoritma di tuangkan kedalam bentuk diagram alir. Sebagai contoh diagram alir untuk menghitung luas lingkaran diberikan pada gambar berikut

26 CHAPTER 3. PROSES PEMROGRAMAN 25 Dari gambar di atas dapat kita lihat berbagai macam bentuk yang digunakan dalam diagram alir. Bentuk oval menandakan memulai dan akhir. Bentuk persegi empat yang digunakan untuk melambangkan proses perhitungan. Bentuk jajaran genjang menandakan masukan atau keluaran suatu proses. Bnetuk layang-layang menandakan pengambilan keputusan Menuangkan Algoritma kedalam Kode Sumber Setelah proses analisa masalah dan pembuatan Algoritma selesai dibangun maka proses selanjutnya adalah pembuatan kode sumber. Untuk kasus permasalahan luas lingkaran maka kode sumber dalam bahasa C kurang lebih dapat dilihat sebagai berikut:

27 CHAPTER 3. PROSES PEMROGRAMAN 26 #include <stdio.h> #define PI E0 main() { double radius, area; /* mendefiniskan variabel-veriabel */ printf("enter the radius of a circle \n"); /* perintah memasukan input radius */ scanf("%lf", &radius); /* membaca input radius */ area = radius * radius * PI; /* rumus area */ } printf("radius=%f, area=%f\n", radius, area); /* mencetak hasil */ Mengeksekusi program dan menguji program Setelah kode sbumer diatas di buat dalam editor, maka dapat disimpan dengan extension c. Dan selanjutnya dapat dikompilasi dengan kompiler c. Diantara kompiler c yang dapat digunakan adalah gcc yang telah tersedia di pada sistem operasi Linux. Dengan proses kompilasi akan dapat diketahui apakah program tersebut sudah betil secara sintaks atau belum. Jika terdapat peringatan eror maka dapat dicari bagian/baris mana yang mengakibatkan adanya eror tersebut. Setelah diketahui baris yang menyebabkan eror dan dilakukan perbaikan maka program dapat kembali dikompilasi. Demikian seterusnya sampai program benar-benar selesai dikompilasi tanpa ada peringatan eror. Stelah itu program executable yang diperoleh dapat dijalankan dan nilai keluaran dapat diuji kebenarannya. Khusus untuk kasus sederhana seperti luas lingkaran maka uji keluaran tersebut dapat diperoleh dengan membandingkan dengan hasil perhitungan analitik. Untuk program

28 CHAPTER 3. PROSES PEMROGRAMAN 27 yang dirancang menyelesaikan permasalahan yang kompleks seringkali pencarian kesalahan baik dalam program maupun keluaran tidaklah sederhana. Dalam konteks program kesalahan dalamkode sumber sering disebut dengan bug, dan proses pencarian kesalahan ini sering disebut sebagai debugging.

29 Chapter 4 Struktur Dasar Algoritma Setidaknya ada tiga macam struktur dasar dalam algoritma, seperti yang akan dijelaskan sebagai berikut. 4.1 Struktur Berurutan Struktur dasar berurutan datau sekuensial merupakan struktur dasar algoritma yang memproses langkah-langkah dengan cara berurutan. Jika dalam sebuah program terdiri dari sepuluh baris maka setiap baris akan dikerjakan satu persatu secara berurutan. Salah satu contoh bentuk diagram alir bagi struktur sekuensial ditunjukan oleh gambar berikut 28

30 CHAPTER 4. STRUKTUR DASAR ALGORITMA 29 Dalam bagian terdahulu pada bagian contoh algoritma perhitungan luas lingkaran telah digunakan jenis algoritma ini. 4.2 Struktur Seleksi Dalam struktur seleksi terjadi sebuah pemilihan langkah kerja (pengambilan keputusan) yang didasarkan pada suatu kondisi. Dalam proses ini jika suatu kondisi dipenuhi maka akan dilakukan langkah 1 sedangkan jika tidak dipenuhi maka akan dilakukan langkah 2. Struktur seperti ini diilustrasikan dalam gambar berikut Setidaknya ada tiga jenis struktur seleksi yang dapat dikategorikan sebagai berikut: Struktur seleksi If Struktur seleksi ini adalah struktur paling sederhana dimana tedapat satu kondisi dan seleksi didasarkan pada kondisi yang diberikan tersebut. Bentuk umum struktur seleksi dengan if adalah If (kondisi) pernyataan

31 CHAPTER 4. STRUKTUR DASAR ALGORITMA 30 Salah satu diagram alir bagi operasi bersyarat ini ditunjukan oleh gambar berikut Struktur seleksi If else Struktur seleksi bersyarat menyediakan pernyataan alternatif yang harus di eksekusi jika kondisi tidak dipenuhi. Artinya jika kondisi dipenuhi maka akan dilakukan perintah 1 dan jika kondisi salah maka akan dilakukan perintah 2. Bentuk umum pernyataan seleksi If else adalah sebagai berikut If (kondisi) pernyataan 1; else pernyataan 2; Adapun struktur seleksi If else di tunjukan oleh diagram alir sebagai berikut

32 CHAPTER 4. STRUKTUR DASAR ALGORITMA 31 Contoh riil bagi struktur seleksi ini adalah proses pencarian nilai maksimal dari dua buah bilangan yang diberikan misalnya 10 dan 12. Anggap angka 10 sebagai A dan angka 12 sebagai B, maka kode semu bagi penyelesaian masalah ini sebagai berikut 1. Masukan nilai A dan B 2. Bilangan terbesar A 3. JIKA Bilangan terbesar < B MAKA Bilangan terbesar B Akhiri JIKA 4. Tampilkan Bilangan terbesar Diagram alir bagi penyelesaian permasalahan ini adalah.

33 CHAPTER 4. STRUKTUR DASAR ALGORITMA Struktur Pengulangan Struktur pengulangan atau yang biasa disebut loop pada dasarnya adalah kondisi khusus bagi struktur seleksi dimana dengan kondisi tertentu maka proses akan diulang sedangkan untuk kasus sebaliknya maka suatu proses dapat diberhentikan atau diganti dengan proses yang lain. Salah satu bentuk struktur pengulangan sederhana dapat ditunjukan dengan diagram alir sebagai berikut

34 CHAPTER 4. STRUKTUR DASAR ALGORITMA 33 Seperti struktur seleksi maka ada beberapa jenis struktur perulangan, diantaranya: Struktur perulangan for Perintah for adalah perintah untuk melakukan perulangan satu jenis perintah atau beberapa pernyataan ketika kondisi masih dipenuhi. Perintah ini dimulai dari suatu nilai awal pencacah tertentu dan diakahiri setelah kondisi yang diberikan terlampaui, dengan cara keluar dari loop. Adapun bentuk umm dari operasi perulangan menggunakan perintah for adalah for (inisialisasi, kondisi, pencacah) pernyataan Bentuk diagram alir untuk perulangan for adalah

35 CHAPTER 4. STRUKTUR DASAR ALGORITMA Struktur perulangan while Perintah while pada dasarnya serupa dengan perintah for. Dimana suatu perulangan akan terus dilakukan selama kondisi yang diberikan masih terpenuhi. Adapan bentuk umum perulangan menggunakan perintah while adalah sebagai berikut while (kondisi) pernyataan Bentuk diagram alir bagi perulangan menggunakan perintah while adalah sama dengan diagram alir perintah for Struktur perulangan do while Pada dasarnya perintah do while adalah perintah perulangan yang serupa dengan perintah for dan while yang memberikan perintah untuk melakukan

36 CHAPTER 4. STRUKTUR DASAR ALGORITMA 35 perulangan selama kondisi masih terpenuhi. Bisa dikatakan perintah ini adalah alernatif sintaksis yang tersedia dalam bahasa pemrograman untuk melakukan perulangan. 4.4 Struktur Kombinasi Selain ketiga struktur dasar di atas dalam program seringkali digunakan kombinasi tiga struktur tersebut secara bersamaan. 4.5 Quiz Buatlah kode semu dan diagram alir yang digunakan untuk menampilkan angka 1 sampai dengan 10 disertai dengan nilai kwadratnya. 4.6 Tugas Buatlah kode semu dan diagram alir yang digunakan untuk menampilkan bilangan Fibonacci. 4.7 Jawaban Quiz Kode semu 1. Bilangan 1 2. Ulang selama Bilangan < 11 Tampilkan (Bilangan, Bilangan x Bilangan) Bilangan Bilangan Akhiri Ulangan Diagram Alir

37 CHAPTER 4. STRUKTUR DASAR ALGORITMA 36

38 Chapter 5 Pemrograman C 5.1 Bagian-bagian dalam bahasa C Dalam bab ini akan diuraikan secara ringkas mengenai pemrograman C. Terutama bagian-bagian dalam tubuh program, dan masalah sitaksis (kebahasaan) yang digunakan dalam bahasa C. Untuk memulainya mari kita tinjau suatu program yang sangat sederhana berikut #include <stdio.h> int main() { printf("mari kita mulai belajar C\n"); return 0; } Gambar berikut menjelaskan bagian-bagian yang ada dalam program di atas: 37

39 CHAPTER 5. PEMROGRAMAN C 38 Berikut adalah penjelasan atas bagian-bagian dalam program sederhana di atas 1. Berkas header dengan ekstensi.h adalah berkas berisi prototipe fungsi, definisi konstanta, dan definisi variabel. Prototipe fungsi berupa judul suatu fungsi yang dilengkapi argumen dan tipe argumen serta tipe nilai balik, untuk fungsi yang memberikan nilai balik. Bagian ini adalah bagian yang menjadi prasyarat agar suatu program dapat dikompilasi. 2. Praposesor include adalah suatu perintah yang digunakan untuk mengatur kompiler agar membaca berkas header yang disertakan setelahnya. 3. main adalah fungsi yang akan dijalankan pertama kali ketika program dieksekusi. Int menunjukan bahwa program memberikan nilai balik yang bertipe integer yang berarti bilangan bulat 4. printf pda program di atas adalah sebuah fungsi yang digunakan untuk menampilkan tulisan pada layar. Adapun tulisan yang akan ditampilkan adalah tulisan yang berada dalam tanda kurung dan tanda petik. Tulisan yang ditampilkan mempunyai tipe data string.

40 CHAPTER 5. PEMROGRAMAN C Nilai balik program ditentukan oleh pernyataan return. Pada contoh di atas nilai balik adalah nol, yang berarti jika berhasil maka nilai balik inilah yang akan dikeluarkan. Selain pembahasan secara ringkas mengenai pemrograman C di atas, sebenarnya masih banyak sekali hal-hal yang perlu dipelajari oleh mahasiswa agar benar-benar menguasai bahasa pemrograman C. Beberapa hal yang perlu dipelajari tersebut adalah: pengenal (identifier), penunjuk (pointer), tipe data, variabel dan deklarasinya, literal, karakter escape, operator dan lain sebagainya. Bagian tersebut tidak akan dibahas secara detail dalam buku ini. Dalam bagian berikutnya akan ditunjukan suatu konsep yang penting dalam pemrograman yaitu konsep rekursi khususnya rekursi dalam bahasa C. 5.2 Rekursi dalam bahasa C Rekursi adalah suatu konsep yang sangat penting dalam pemrograman. Suatu fungsi dalam program disebut sebagai rekursif jika fungsi tersbut memanggil dirinya sendiri. Berikut adalah contoh penggunaan konsep rekursi dalam program C. #include <stdio.h> int sum(int n); int main(){ int num,add; printf("enter a positive integer:\n"); scanf("%d",&num); add=sum(num); printf("sum=%d",add); } int sum(int n){ if(n==0) return n; else return n+sum(n-1); /*self call to function sum() */

41 CHAPTER 5. PEMROGRAMAN C 40 } Contoh program di atas menunjukan bahwa fungsi sum pada dasarnya memanggil dirinya sendiri. Karenanya fungsi sum dalam program tersebut menunjukan sesuatu yang bersifat rekursif Penerapan pemrograman pada contoh sederhana Setelah contoh di atas kali ini akan dibahas suatu ungkapan matematik sederhana yang disebut dengan logistic map. Perlu ditekankan bahwa meskipun secara ungkapan matematik tampak sederhana namun permasalahan ini sebenarnya mengandung kompleksitas yang tinggi. Berikut adalah ungkapan matematik logistic map yang dimaksud x n+1 = rx n (1 x n ) (5.1) Berikut ini adalah contoh program yang digunakan untuk menampilkan nilai dari x sebagai fungsi n dengan nilai masukan x 0 dan r tertentu. #include <stdio.h> #include <math.h> void main(void) { float const a = 2.80; float const b = 3.10; float const x0 = 0.312; float x = x0; float y = x0; int i; for (i = 0; i <= 60; i++) { printf("%d\t%f\t%f\n",i,x,y); x = a * x * (1.0-x);

42 CHAPTER 5. PEMROGRAMAN C 41 } y = b * y * (1.0-y); } Setelah dijalankan maka untuk parameter r = 1.8 dan x 0 = Setelah dijalankan maka untuk parameter r = 2.8 dan x 0 = 0.312

43 CHAPTER 5. PEMROGRAMAN C 42 Sedangkan untuk parameter untuk parameter r = 3.1 dan x 0 = 0.312

44 CHAPTER 5. PEMROGRAMAN C Tugas Ubahlah kode sumber logistic map di atas (jika bisa gunakanlah logika rekursif). Dengan kode sumber tersebut, tunjukan grafik x n versus r dengan memvariasi r dari 0 sampai dengan 4 dengan selang 0.01.

45 CHAPTER 5. PEMROGRAMAN C 44 clue:

46 Chapter 6 Permasalahan Akar Fungsi Pada bab 7 ini akan mulai dibahas mengenai suatu metode numerik yang didasarkan pada matematika diskret dan algoritma dan pemrograman yang telah dibahas pada bab yang telah lalu. Lebih lanjut akan disajikan pula suatu permasalahan fisis yang dapat diselesaikan melalui metode numerik yang dimaksud. Topik yang akan disajikan pada bab ini adalah permasalahan akar fungsi yang merupakan permasalahan yang cukup fundamental dalam matematika. Suatu nilai disebut sebagai akar dari sebuah fungsi jika nilai tersebut menghasilkan luaran 0 (nol) saat dimasukan ke dalam fungsi yang dimaksud. Oleh karenanya permasalahan akar ini seringkali disebut sebagai pencarian titik nol. Untuk suatu fungsi linear maka nilai akar (titik nol) baginya dapat diperoleh dengan mudah, oleh karenanya dalam bab ini akan dibahas mengenai pencarian akar pada fungsi-fungsi yang tak linear. Banyak contoh fungsi yang tak linear dalam metematik diantaranya adalah fungsi polinom dan fungsi-fungsi trigonometrik. Untuk jenis fungsi-fungsi nonlinear tersebut terdapat beberapa metode numerik dapat digunakan untuk memperoleh nilai akarnya, berikut adalah beberapa metode yang dimaksud. 45

47 CHAPTER 6. PERMASALAHAN AKAR FUNGSI Metode Bisection Metode bisection merupakan metode paling sederhana bagi penyelesaian akar fungsi tak linear pada suatu interval yang diketahui. Kelebihan dari metode ini adalah bisa digunakan bagi sembarang fungsi termasuk pada suatu fungsi-fungsi yang tidak bisa diselesaikan secara analitik. Berdasarkan namanya seseungguhnya kita bisa menebak secara intuitif maksud dari metode ini, yaitu jika pada suatu interval tertentu terdapat suatu akar dari fungsi maka interval tersebut dibagi menjadi dua interval baru. Lalu dapat dipastikan diantara kedua interval yang terbentuk tersebut terdapat satu interval yang memuat akar (titik nol) fungsi. Pertama asumsikan bahwa pada interval x = a dan x = c atau dapat dituliskan [a, c], terdapat satu buah akar bagi sebuah fungsi seperti ditunjukan gambar di atas (perhatikan panah biru pada gambar). Kemudian metode Bisection bekerja berdasarkan fakta bahwa tanda pada dua sisi yaitu kiri dan kanan titik nol adalah berlawanan, yaitu f(a) positif dan f(c) negatif. Maka langkah dalam metode Bisection untuk memdekati nilai akar adalah sebagai berikut: 1. Pertama membagi interval menjadi dua (Bisect) yaitu [a, b] dan [b, c] dimana b = (a + c)/2.

48 CHAPTER 6. PERMASALAHAN AKAR FUNGSI Mencari interval yang masih mengandung akar fungsi dengan cara melakukan perkalian antara f(a)f(b) dan f(b)f(c). Jika f(a)f(b) 0 maka interval [a, b] mengandung akar fungsi. (lihat gambar) 3. Interval [a, b] dibagi menjadi dua lagi di-bisect dan prosedur pencarian interval yang mengandung akar fungsi dilakukan secara berulang. 4. Pada setiap langkah titik tengah interval akan digunakan sebagai nilai pendekatan bagi akar fungsi yang dimaksud/dicari Setelah n langkah perulangan maka akan diperoleh c a 2 n (6.1) Nilai ini dapat digunakan untuk menentukan batas toleransi bagi program untuk melakukan iterasi sampai mencapai interval terkecil. Jika diberikan toleransi ɛ maka berlaku atau dapat dituliskan sebagai c a 2 n (6.2) n ln c a ɛ (6.3) Sebagai contoh jika interval awal adalah [0, 1] dan ɛ = maka n = 14. Quiz: Hitunglah akar fungsi berikut dengan menggunakan metode bisect pada interval [0, 2] dan toleransi ɛ = 0, 01 e x 2 = 0 (6.4) Berikut ini adalah kode program yang berdasarkan pada metode Bisection untuk menyelesaikan permasalahan persamaan di atas. #include <stdio.h> #include <math.h>

49 CHAPTER 6. PERMASALAHAN AKAR FUNGSI 48 double func(double x){ return exp(x) -2.0; } int main(void){ double leftpt, rightpt, midpt, epsilon = ; double midvalue, rtvalue, root; printf("\nenter values for starting left and right points:\n"); scanf("%lf %lf", &leftpt, &rightpt); printf(" Left and right starting points are: %lf, %lf\n", leftpt,rightpt); do { midpt = (leftpt + rightpt)/2; rtvalue = func(rightpt); midvalue = func(midpt); if (rtvalue * midvalue >= 0) rightpt = midpt; else leftpt = midpt; } while ((rightpt - leftpt) > epsilon); root = (rightpt+leftpt)/2; printf("\nroot is: %15.10lf\n", root); return 0; } Ubahlah kode sumber di atas untuk mencari akar fungsi polinomial f(x) = x 3 3x 2 x Metode Newton Pada bagian sebelumnya telah dijelaskan mengenai suatu metode yang sangat sederhana penyelesaian numerik bagi permasalahan pencarian akar suatu fungsi. Pada bagian ini akan dijelaskan metode yang lain yaitu metode Newton atau yang dikenal pula dengan metode Newton-Raphson. Kelebihan dari metode ini adalah dapat digunakan untuk menyeleaikan permasalahan akar kompleks dan bahkan bisa diterapkan pada persamaan-persamaan nonlinear secara simultan. Akan tetapi ada satu titik kelemahan dalam

50 CHAPTER 6. PERMASALAHAN AKAR FUNGSI 49 metode ini yaitu diperlukan suatu titik tebakan awal bagi nilai akar dari suatu fungsi. Metode Newton dapat diperoleh dari deret Taylor sebagai berikut f(x) = f(a) + hf (a) + h2 2 f (a) + h3 6 f (a) + h4 24 f (a) + h5 5! f (a) hm m! f (m) (a) (6.5) Dimana h = x a dan f, f, adalah beturut-turut turunan pertama, kedua dan seterusnya dari fungsi f. Untuk suatu nilai tebakan x 0 dan pendekatan dua suku pertama maka berlaku f(x) = 0 = f(x 0 ) + (x x 0 )f (x 0 ) + 0(h 2 ) (6.6) Dimana h = x x 0. Dengan menyelesaikan persamaan di atas maka dapat diperoleh 0 = f(x 0 ) + (x x 0 )f (x 0 ) (6.7) f(x 0 ) f (x 0 ) + (x x 0) = 0 (6.8) x = x 0 f(x 0) f (x 0 ) (6.9) Yang kemudian secara suksesif dapat diperoleh kaitan: x i = x i 1 f(x i 1) f (x i 1 ) (6.10) Dari uraian di atas maka sesungguhnya proses pencarian akar dengan metode Newton ini dapat diilustrasikan sebagai berikut

51 CHAPTER 6. PERMASALAHAN AKAR FUNGSI 50 Suatu hal yang perlu diingat pada metode ini adalah diperlukan turunan bagi suatu fungsi yang ingin diketahui nilai akarnya menggunakan metode ini. Oleh karenanya tidak sembarang fungsi dapat diselesaikan, melainkan hanya fungsi yang mempunyai turunan yang kontinyu. Quiz: Dengan menggunakan metode Newton carilah hasil akar pangkat tiga berikut x = 3 a untuk nilai a = 155. Contoh lain program pencarian titik nol dengan metode Newton Raphson #include <stdio.h> #include <math.h> float fung(float x); float dfung(float x); int main(int argc, char * argv[]) { float x0, x1, delta, tol; int i, imak; imak = 20; tol= 1.0e-4;

52 CHAPTER 6. PERMASALAHAN AKAR FUNGSI 51 printf("berikan masukan nilai x0 = "); scanf("%f", &x0); printf("\n"); i = 0; do { i = i + 1; x1 = x0 - fung(x0)/dfung(x0); delta = x1 - x0; if (delta < 0) delta = -delta; printf("hasil iterasi ke-%d adalah %f\n", i, x1); x0 = x1; } while ((delta > tol) && (i < imak)); } printf("\nnilai akar = %f\n", x1); float fung(float x) { return x*x*x-155; } float dfung(float x) { return 3*x*x; } Berikut hasil luaran setelah program dijalankan Berikan masukan nilai x0 = 4

53 CHAPTER 6. PERMASALAHAN AKAR FUNGSI 52 Hasil iterasi ke-1 adalah Hasil iterasi ke-2 adalah Hasil iterasi ke-3 adalah Hasil iterasi ke-4 adalah Hasil iterasi ke-5 adalah Nilai akar = Perlu diketahui bahwa nilai tersebut merupakan nilai eksak bagi fungsi tersebut PR Berikut disajikan permasalahan fisika terkait masalah Gravitasi: Dua buah benda bermasa m1 = 10 3 kg dan m2 = kg mempunyai jarak 10 km. Di antara keduanya diletakan benda lain dengan massa m3 = 10kg. Dengan menggunakan metode Bisection dan Newton tentukan posisi benda ketiga agar terjadi kesetimbangan gaya gravitasi padanya. Gunakanlah kode program yang telah ada pada catatan kuliah ini Metode Newton Orde Dua (Pengayaan) Setelah memahami metode Newton Raphson di atas ikutilah peunjuk dibawah ini untuk bisa memahami metode yang sama pada orde yang lebih tinggi yitu orde dua 1. Ubah program kode jika sistem yang ditinjau empat muatan listrik yang sejajar 2. Bagaimana jika dicoba suatu nilai tebakan posisi tidak diantara kedua/empat muatan 3. Bagaimana pula jika nilai tebakan sangat dekat pada satu titik muatan?

54 CHAPTER 6. PERMASALAHAN AKAR FUNGSI Ubah kode program menggunakan metode Newton Raphson orde dua sebagai berikut: X i+1 = X i f(x i ) f (X i ) f(x i)f (X i ) 2f (X i ) (6.11) bandingkan hasil ini dengan metode Newton Raphson orde Apa yang dapat anda simpulkan dari hasil case 1 s/d 4?

55 Chapter 7 Masalah Integrasi Numerik Dalam dunia sains dan teknik sudah sangat dikenal bahwa bentuk model bagi sistem fisis sering kali dapat berupa persamaan integral. Untuk beberapa kasus, permasalahan integral ini tidak bisa diselesaikan secara analitik. Pada keadaan demikian diperlukan suatu pendekatan numerik. Selain itu untuk kasus yang bisa diselesaikan secara analitik, melalui penyelesaian numerik seringkali dapat dihasilkan perhitungan operasi integral dengan cepat dan dengan akurasi yang dapat diterima. Karenanya perhitungan Integral bisa dikatakan sebagai permasalahan umum yang elementer dalam komputasi numerik. Seiring dengan itu terdapat banyak pendekatan numerik yang bisa dilakukan untuk menyelesaikan permasalahan integral. Dalam bab ini akan dibahas metode numerik untuk menyelesaikan permasalahan integral, khususnya integral tunggal I = b 7.1 Metode Trapesium a f(x)dx (7.1) Ketika sebuah fungsi kontinyu f(x) akan diintegralkan secara numerik, maka sesungguhnya fungsi tersebut akan didiskritisasi menjadi banyak bagian. Setiap bagian itu akan di integrasikan secara independen sebelum kemudian dilakukan penjumlahan terhadap hasil integrasi seluruh bagian. Proses 54

56 CHAPTER 7. MASALAH INTEGRASI NUMERIK 55 tersebut ditunjukan pada gambar berikut Gambar di atas secara instruktif menunjukan bahwa setiap bagian diskret di bawah fungsi f(x) merupakan suatu trapesium. Dari fakta ini dibuatlah suatu metode integrasi yang paling sederhana bagi permasalahan integral yaitu metode trapesium. Pada metode trapesium, proses integrasi dilakukan dengan cara menghitung luas setiap trapesium kemudian seluruh luasan trapesium dijumlahkan untuk menghasilkan nilai integrasi fungsi yang diinginkan. Secara matematis dapat dijelaskan sebagai berikut. Luasan sebuah trapesium sebut saja trapesium pertama yaitu wilayah I 1 (lihat gambar) akan dihitung dengan persamaan berikut I 1 = h 2 (f 0 + f 1 ). (7.2) Dengan h = x 1 x 0 dan f 0 = f(x 0 ) dan f 1 = f(x 1 ). Secara umum untuk sejumlah n cacah trapesium maka dapat dapat dituliskan h = x n x 0 n (7.3) Luasan setiap trapesium dapat dihitung menggunakan rumus umum

57 CHAPTER 7. MASALAH INTEGRASI NUMERIK 56 sebagai berikut I i = h 2 (f i 1 + f i ). (7.4) Maka seluruh luasan dibawah fungsi f(x) adalah jumlahan I untuk seluruh nilai i. Dan dapat dirumuskan sebagai I i = i i h 2 (f i 1 + f i ). (7.5) Jika bentuk di atas diuraikan maka akan diperoleh bentuk eksplisit sebagai berikut xn x 0 f(x) h 2 (f 0 + f 1 ) + h 2 (f 1 + f 2 ) h 2 (f N 1 + f N ) = h( f f f N 1 + f N 2 ) (7.6) Mewujudkan proses integrasi di atas kedalam bahasa pemrograman (coding) tidaklah terlalu rumit. Ini dikarenakan kita telah melalui beberapa contoh coding yang telah melibatkan definsi fungsi. Dari persamaan terakhir dapat dilihat bahwa yang perlu dilakukan dalam program adalah menentukan cacah trapesium yang berarti cacah diskretisasi fungsi. Selain itu adalah nilai fungsi pada setiap batas kiri dan kanan dari setiap trapesium. Berikut adalah contoh program untuk menyelesaikan integrasi fungsi f(x) = x 2 (7.7) #include<stdio.h> float y(float x){ return 2/(2+x*x); } int main(){ float x0,xn,h,s; int i,n; printf("enter x0, xn, no. of subintervals: ");

58 CHAPTER 7. MASALAH INTEGRASI NUMERIK 57 } scanf("%f%f%d",&x0,&xn,&n); h = (xn-x0)/n; s = y(x0) + y(xn); for(i = 1; i < n; i++){ s += 2*y(x0+i*h); } printf("value of integral is %6.4f\n",(h/2)*s); return 0; Tugas: Ubahlah kode sumber permasalahan kode sumber untuk menyelesaikan integral di atas untuk fungsi sinusoidal f(x) = sin(x) dengan batas integral 0 sampai dengan π. Jelaskan kendala yang anda hadapi dan bandingkan hasil perhitungan numerik yang anda peroleh dengan hasil perhitungan analitik. 7.2 Metode Simpson Dari bentuk persamaan (7.6), dapat dikembangkan suatu pendekatan numerik yang lebih teliti. Berikut akan diilustrasikan secara lebih grafis. Tijau sebuah fungsi parabolik y = ax 2 +bx+c pada posisi ( h, y 0 ), (0, y 1 )- ( h, y 2 ) seperti ditunjukan gambar berikut

59 CHAPTER 7. MASALAH INTEGRASI NUMERIK 58 Dan mengingat bentuk integral dari fungsi tersebut adalah I = Dengan mengingat bahwa dapat dibuktikan bahwa h h (ax 2 + bx + c)dx (7.8) = ( ax3 3 + bx2 2 + cx) h h = 2ah ch = h 3 (2ah2 + 6c) y 0 = ah 2 bh + c (7.9) y 1 = c (7.10) y 0 = ah 2 + bh + c (7.11) y 0 + 4y 1 + y 0 = (ah 2 bh + c) + 4c + ah 2 + bh + c (7.12) sehingga diperoleh kaitan = 2ah 2 + 6c, (7.13) I = h 3 (y 0 + 4y 1 + y 0 ) (7.14) Untuk kasus sembarang fungsi yang dintegralkan pada interval [a, b] berikut b Dapat diilustrasikan sebagai berikut a f(x)dx (7.15)

60 CHAPTER 7. MASALAH INTEGRASI NUMERIK 59 b a Dan akan diperoleh bentuk integral f(x)dx = h 3 (y 0 + 4y 1 + y 2 ) + h 3 (y 2 + 4y 3 + y 4 ) h 2 (y n 2 + 4y n 1 + y n ) Setelah diurutkan berdasarkan suku masing-masing dapat diperoleh b a f(x)dx = h 3 (y 0 + 4y 1 + 2y 2 + 4y 3 + 2y y n 1 + y n ) (7.17) Bentuk ungkapan matematis di atas disebut sebagai bentuk pendekatan numerik metode Simpson. Untuk n cacah diskretisasi yang genap maka ungkapan di atas bisa diubah kedalam bentuk jumlahan dapat diberikan sebagai berikut b a f(x)dx = h y n/2 1 j=1 n/2 y 2j + 4 y 2j 1 + y n (7.18) Adapun kode program yang menggunakan metode ini dapat dilihat sebagai berikut: Contoh program integrasi numerik metode Simpson untuk fungsi j=1 f(x) = x 2 (7.19) (7.16)

61 CHAPTER 7. MASALAH INTEGRASI NUMERIK 60 #include<stdio.h> float y(float x){ return 2/(2+x*x); } int main(){ float x0,xn,h,s; int i,n; printf("enter x0, xn, no. of subintervals: "); scanf("%f%f%d",&x0,&xn,&n); h = (xn - x0)/n; s = y(x0)+y(xn)+4*y(x0+h); for(i = 3; i<=n-1; i+=2){ s += 4*y(x0+i*h) + 2*y(x0+(i-1)*h); } printf("value of integral is %6.4f\n",(h/3)*s); return 0; } Soal Tugas: 1. Ubah program kode untuk fungsi f(x) = 1/x dengan batas integral 1 sampai Ubah program kode untuk fungsi f(x) = sin(x) dengan batas integral 0 sampai dengan π. 3. Apa yang dapat kelompok anda simpulkan?

62 Chapter 8 Interpolasi dan Pendekatan Pada dua bab sebelumnya telah ditunjukan suatu metode pendekatan yang dapat digunakan ntuk menyelesaikan permasalahan pencarian nilai akar dan nilai integrasi fungsi secara numerik. Pada bagian ini akan akan dijelaskan beberapa metode pendekatan untuk suatu fungsi dan/atau turunannya. Dengan interpolasi, pendekatan polinomial terhadap suatu fungsi dapat dilakukan dengan cara mendekatinya pada beberapa titik nilai. Beberapa titik nilai ini bisa jadi merupakan suatu hasil pengukuran dalam sebuah percobaan atau bahkan hasil sebuah interasi numerik yang keduanya tidak dapat dengan mudah untuk di plot menggunakan fungsi-fungsi yang sederhana. Dua jenis metode interpolasi yang umum digunakan, yaitu Interpolasi Lagrange dan Hermite akan dibahas secara lebih detail pada bab ini. 8.1 Interpolasi Lagrange Pada Bab sebelumnya telah ditunjukan bahwa untuk suatu fungsi sembarang maka dapat dilakukan suatu pendekatan yang disebut dengan pendekatan deret Taylor. Dalam deret Taylor, ungkapan matematis dan turunan nya perlu diketahui sebelum dilakukan pendekatan. Hal ini tentu merupakan suatu kondisi yang belum tentu bisa dipenuhi dalam setiap kasus. Oleh karenanya perlu dikembangkan suatu metode pendekatan yang bisa digunakan untuk menyelesaikan permasalahan dimana fungsi dan ben- 61

63 CHAPTER 8. INTERPOLASI DAN PENDEKATAN 62 tuk turunan dari fungsi yang ingin didekati tidak diketahui ungkapan matematisnya. Yang perlu diketahui adalah beberapa nilai fungsi pada beberapa titik uji saja. Salah satu metode yang bisa digunakan pada kondisi tersebut adalah metode Interpolasi Lagrange. Untuk memformulasikan interpolasi Lagrange tinjau suatu fungsi sembarang pada dua buah titik x 1 dan x 2, dan melalui deret Taylor pada sekitar x dapat diperoleh bentuk f(x 1 ) = f(x) + (x 1 x)f (x) +... f(x 2 ) = f(x) + (x 2 x)f (x) +... (8.1) Selanjutnya, dilakukan suatu pendekatan suatu fungsi p(x) (yang diketahui turunannya) terhadap f(x) pada deret Taylor di atas sehingga diperoleh bentuk f(x 1 ) = p(x) + (x 1 x)p (x) +... f(x 2 ) = p(x) + (x 2 x)p (x) +... (8.2) Syarat utama yang perlu diperhatikan bagi p(x) adalah mempunyai nilai yang sama dengan f(x) pada beberapa titik uji termasuk x 1 dan x 2. Dengan syarat ini setidaknya diperoleh suatu kondisi awal yang menunjukan bahwa p(x) adalah suatu fungsi pendekatan yang masuk akal setidaknya pada beberapa titik uji tersebut. Persamaan (8.2) menunjukan dua buah persamaan dengan dua buah variabel yang tidak diketahui yaitu p(x) dan p (x). Dengan penyelesaian untuk p(x) sebagai berikut p(x) = x x 2 x 1 x 2 f(x 1 ) + x x 1 x 2 x 1 f(x 2 ), (8.3) yang merupakan fungsi linear terhadap x. Persamaan (8.3) di atas merupakan fungsi linear yang menghubungkan dua buah titik yaitu (x 1, f(x 1 )) dan (x 2, f(x 2 )). Pendekatan pada suku yang lebih tinggi pada bentuk deret Taylor tentu saja dapat dilakukan dengan syarat bahwa titik ketiga sebagai titik uji diketahui. Dengan pendekatan suku ketiga pada deret Taylor akan dapat diper-

64 CHAPTER 8. INTERPOLASI DAN PENDEKATAN 63 oleh f(x 1 ) = f(x) + (x 1 x)f (x) + (x 1 x) 1 f (x) f(x 2 ) = f(x) + (x 2 x)f (x) + (x 1 x) 2 f (x) f(x 3 ) = f(x) + (x 3 x)f (x) + (x 3 x) 3 f (x) +... (8.4) 2 Dengan penyelesaian p(x) p(x) = (x x 2)(x x 3 ) (x 1 x 2 )(x 1 x 3 ) f(x 1) + (x x 1)(x x 3 ) (x 2 x 1 )(x 2 x 3 ) f(x 2) + (x x 1)(x x 2 ) (x 3 x 1 )(x 3 x 2 ) f(x 3) (8.5) Sekali lagi syarat yang harus dipenuhi oleh p(x) adalah setidaknya mempunyai nilai yang sama pada tiga buah titik uji x 1, x 2 dan x 3. Pendekatan yang paling sederhana untuk fungsi yang melalui tiga buah titik adalah suatu fungsi parabolik p(x) = ax 2 + bx + c. Dengan merubah nilai-nilai a, b dan c maka akan dapat diperoleh suatu parabola yang melalui tiga buah titik. Perlu diingat bahwa hanya tedapat satu buah parabola yang bisa memenuhi tiga buah titik sekaligus, maka bentuk pendekatan parabolik ini merupakan suatu pendekatan yang relatif cukup ideal. Bentuk ungkapan terakhir ini sesungguhnya telah digunakan pada Bab sebelumnya yaitu pendekatan numerik pada proses integrasi. Khususnya pada metode Simpson di mana untuk sembarang fungsi dilakukan diskretisasi dan setiap tiga buah titik dilakukan pendekatan dengan menggunakan suatu fungsi parabolik.(lihat sub bab 7.2). Dari persamaan (8.3) dan (8.4) dapat diformulasikan suatu bentuk umum interpolasi polinomial berorde (n 1) sebagai berikut p(x) = n l j,n (x)f(x j ), (8.6) j=1 Dimana fungsi f(x j ) telah diketahui pada sejumlah titik n pada x j dan l j,n (x) = (x x 1)(x x 2 )...(x x j 1 )(x x j+1 )...(x x n ) (x j x 1 )(x j x 2 )...(x j x j 1 )(x j x j+1 )...(x j x n ). (8.7)

65 CHAPTER 8. INTERPOLASI DAN PENDEKATAN 64 Dengan bentuk umum ini, dapat dipilih pendekatan untuk sembarang fungsi dengan polinomial yang diperkirakan sesuai atau mendekati fungsi tersebut. 8.2 Interpolasi Hermite Tinjau sebuah sembarang fungsi f(x) yang diketahui turunannya. Kemudian fungsi tersebut didekati dengan sebuah fungsi polinom sebagai berikut p(x) = ax 3 + bx 2 + cx + d. (8.8) Kemudian konstanta-konstanta a, b, c dan d di peroleh dengan menggunakan syarat p(x 1 ) = f(x 1 ), p(x 2 ) = f(x 2 ) p (x 1 ) = f (x 1 ), p (x 2 ) = f (x 2 ), (8.9) pendekatan ini tidak lain adalah metode interpolasi terhadap suatu fungsi yang kontinyu dan mempunyai derifatif yang kontinyu. Dengan perhitungan matematik dapat diperoleh p(x) = (1 2(x x 1))(x x 2 ) 2 (x 1 x 2 ) 2 f(x 1 ) + (1 2(x x 2))(x x 1 ) 2 (x 2 x 1 ) 2 f(x 2 ) + ((x x 1))(x x 2 ) 2 (x 1 x 2 ) 2 f (x 1 ) + ((x x 2))(x x 1 ) 2 (x 2 x 1 ) 2 f (x 2 ) (8.10) Selanjutnya pendekatan ini disebut sebagai Interpolasi Hermite menggunakan fungsi kubik (pangkat tiga). Tentu saja berbagai fungsi yang lain dapat digunakan untuk melakukan pendekatan tergantung pada sejumlah informasi yang diketahui tentang fungsi yang akan dicari pendekatannya. Misalnya diketahui nilai fungsi pada sejumlah n titik dan nilai turunannya disejumlah r titik, maka dapat digunakan polinomial berorde n + r 1 yang memenuhi sejumlah n + r syarat, untuk mendekati fungsi tersebut. Secara umum bentuk interpolasi Hermite dapat dituliskan sebagai p(x) = n n h j,n (x)f(x j ) + h j,n (x)f (x j ), (8.11) j=1 j=1

66 CHAPTER 8. INTERPOLASI DAN PENDEKATAN 65 dimana h dan h memenuhi dan h j,n (x) = [1 2(x x j )l j,n(x j )]l 2 j,n(x) (8.12) h j,n (x) = (x x j )l 2 j,n(x). (8.13) Dimana l j,n (x) didefinisikan melalui proses interpolasi Lagrange sesuai dengan persamaan (8.7). 8.3 Pendekatan Pada Turunan (diferensial) Terdapat banyak cara yang dapat digunakan untuk melakukan turunan secara numerik. Salah satu cara yang paling sederhana adalah dimulai dari definisi turunan dalam kalkulus f (x) = df(x) dx = lim h 0 Ungkapan di atas menghasilkan suatu pendekatan f h(x) = f(x + h) f(x). (8.14) h f(x + h) f(x), (8.15) h yang mana f h (x) merupakan pendekatan bagi f (x) pada nilai h 0. Pertanyaan yang muncul dengan pendekatan ini adalah bagaimana jika nilai h tidak mendekati 0. Pada situasi ini maka dapat dilakukan pendekatan dengan menggunakan deret Taylor terhadap f(x + h) disekitar titik f(x). dan untuk f (x) f(x + h) = f(x) + hf (x) + h2 2 f (x) +... (8.16) f (x) = 1 h2 [f(x + h) f(x) h 2 f (x) +...] (8.17)

67 CHAPTER 8. INTERPOLASI DAN PENDEKATAN 66 Persamaan terakhir (8.17) merupakan ungkapan turunan yang diperoleh dari deret Taylor dengan suku terakhir memberikan akurasi lebih dibandingkan dengan persamaan (8.18). Untuk itu perlu dituliskan f (x) = f(x + h) f(x) h + O(h), (8.18) dengan O(h) menunjukan orde terakhir pendekatan yang dilakukan. Lebih lanjut persamaan (8.18) disebut sebagai pendekatan Forward Difference terhadap turunan. Dengan cara yang sama, yaitu menggunakan deret Taylor terhadap f(x h) maka akan diperoleh ungkapan f (x) = 1 h2 [f(x) f(x h) h 2 f (x) +...]. (8.19) Persamaan (8.19) tersebut menghasilkan pendekatan turunan yang disebut Backward Difference. Dan untuk mengindikasikan orde tertinggi pada proses pendekatan perlu dituliskan sebagai berikut f (x) = f(x) f(x h) h + O(h). (8.20) Perbedaan nilai O(h) pada persamaan (8.18) dan persamaan (8.20) adalah pada perbedaan tanda (plus atau minus). Nilai dari keduanya bersifat simetris (sama). Karenanya semestinya dapat dihasilkan suatu pendekatan yang lebih akaurat dari siafat tersebut. Untuk itu, tinjau deret Taylor suatu fungsi dengan memperhatikan suku-suku berode tinggi sebagai berikut dan f(x + h) = f(x) + hf (x) + h2 2 f (x) + h3 6 f (x) + h4 24 f (a) +..., (8.21) f(x h) = f(x) + hf (x) h2 2 f (x) h3 6 f (x) + h4 24 f (a) +... (8.22)

68 CHAPTER 8. INTERPOLASI DAN PENDEKATAN 67 Dari kedua unkapan di atas dapat diperoleh ungkapan f (x) dengan cara mengurangkan kedua persamaan di atas sehingga diperoleh f (x) = f(x + h) f(x h) 2h + O(h 2 ). (8.23) Dengan bentuk ini dapat diperoleh pendekatan yang lebih akurat terhadap turunan suatu fungsi.

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

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024 UNIVERSITAS GADJAH MADA PROGRAM STUDI FISIKA FMIPA Bahan Ajar 5: Permasalahan Akar Suatu Fungsi (Minggu ke-9 dan ke-10) PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024 Oleh Dr. Fahrudin Nugroho

Lebih terperinci

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

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024 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

Lebih terperinci

Pemrograman dan Metode Numerik (Untuk Fisika) Fahrudin Nugroho

Pemrograman dan Metode Numerik (Untuk Fisika) Fahrudin Nugroho Pemrograman dan Metode Numerik (Untuk Fisika) Fahrudin Nugroho April 11, 2013 Contents Pengantar 4 1 Pendahuluan 6 1.1 Motivasi dan Latar Belakang.................. 6 1.2 Mengapa Bahasa Pemrograman C?..............

Lebih terperinci

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

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024 UNIVERSITAS GADJAH MADA PROGRAM STUDI FISIKA FMIPA Bahan Ajar 2: Proses Pemrograman (Minggu ke-3) PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024 Oleh Dr. Fahrudin Nugroho Didanai dengan dana

Lebih terperinci

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

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024 UNIVERSITAS GADJAH MADA PROGRAM STUDI FISIKA FMIPA Bahan Ajar 4: Pemrograman C (Minggu ke-5 dan ke-6) PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024 Oleh Dr. Fahrudin Nugroho Dr. Iman Santosa

Lebih terperinci

MODUL 11 PENGENALAN LINUX

MODUL 11 PENGENALAN LINUX MODUL 11 PENGENALAN LINUX 11.1 Pengertian Linux Linux adalah salah satu system software yang OPEN SOURCE, yang berarti kode sumber (source) nya terbuka untuk semua orang. Sehingga Linux dapat di modifikasi

Lebih terperinci

Praktikum I Pengenalan Sistem Operasi Linux

Praktikum I Pengenalan Sistem Operasi Linux Praktikum I Pengenalan Sistem Operasi Linux I. Tujuan Setelah melaksanakan praktikum ini mahasiswa diharapkan mampu : 1. Mengenal sistem operasi Linux 2. Memahami proses login/logout pada sistem operasi

Lebih terperinci

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

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024 UNIVERSITAS GADJAH MADA PROGRAM STUDI FISIKA FMIPA Bahan Ajar 6: Masalah Integral Numerik (Minggu ke-11 dan ke-12) PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024 Oleh Dr. Fahrudin Nugroho Dr.

Lebih terperinci

Pengenalan Linux. Kata "Linux" untuk saat ini sudah tidak asing lagi bagi para pengguna internet

Pengenalan Linux. Kata Linux untuk saat ini sudah tidak asing lagi bagi para pengguna internet Pengenalan Linux Kata "Linux" untuk saat ini sudah tidak asing lagi bagi para pengguna internet dan komunitas mahasiswa yang memiliki hobby untuk mencoba software-software baru. Secara teknis dan singkat

Lebih terperinci

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

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024 UNIVERSITAS GADJAH MADA PROGRAM STUDI FISIKA FMIPA Bahan Ajar 3: Struktur Dasar Algoritma (Minggu ke-4) PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024 Oleh Dr. Fahrudin Nugroho Didanai dengan

Lebih terperinci

DASAR PEMROGRAMAN. PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom

DASAR PEMROGRAMAN. PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom DASAR PEMROGRAMAN PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom https://www.facebook.com/groups/dasarpemrogramanc TUJUAN Mengenal sejarah, struktur, sintaks

Lebih terperinci

BAB I PENGANTAR LINUX

BAB I PENGANTAR LINUX BAB I PENGANTAR LINUX 1.1. Apakah LINUX itu LINUX adalah nama sistem operasi yang dapat diterapkan pada berbagai jenis mesin, dari PC hingga mainframe. Linux diciptakan oleh Linus Torvard. Sistem operasi

Lebih terperinci

Chapter 1 KONSEP DASAR C

Chapter 1 KONSEP DASAR C Chapter 1 KONSEP DASAR C Sejarah Dan Standar C Akar dari bahasa C adalah BCPL (dikembangkan oleh Martin Richard tahun 1967). Kemudian Tahun 1970, Ken Thompson mengembangkan bahasa tersebut yang di kenal

Lebih terperinci

BAB 4 PENGENALAN BAHASA C

BAB 4 PENGENALAN BAHASA C Bab 4 Pengenalan Bahasa C 35 BAB 4 PENGENALAN BAHASA C TUJUAN PRAKTIKUM 1. Mengetahui sejarah perkembangan bahasa C. 2. Mengerti struktur program bahasa C. 3. Mengerti konsep tipe data, variabel, & operator

Lebih terperinci

BAB I SEKILAS TENTANG C

BAB I SEKILAS TENTANG C BAB I SEKILAS TENTANG C Tujuan : 1. Menjelaskan sejarah dan ruang lingkup pemakaian bahasa C 2. Menjelaskan kelebihan dan kekurangan bahasa C 3. Menjelaskan proses kompilasi dan linking program C 4. Menjelaskan

Lebih terperinci

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi MODUL 10 Fungsi 10.1 Kompetensi 1. Mahasiswa mampu membagi logika program dengan menggunakan fungsi. 2. Mahasiswa memahami konsep rekursif serta mengimplementasikan dengan menggunakan fungsi. 10.2 Alat

Lebih terperinci

Fungsi : Dasar Fungsi

Fungsi : Dasar Fungsi PRAKTIKUM 13 Fungsi : Dasar Fungsi A. TUJUAN PEMBELAJARAN 1. Memecah program dalam fungsi fungsi yang sederhana. 2. Menjelaskan tentang pemrograman terstruktur. B. DASAR TEORI Fungsi adalah suatu bagian

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI 7 BAB II LANDASAN TEORI 2.1 SISTEM OPERASI Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Sebelum ada sistem operasi, orang hanya mengunakan komputer

Lebih terperinci

Bab 2. Dasar-Dasar Pemrograman C

Bab 2. Dasar-Dasar Pemrograman C Bab 2. Dasar-Dasar Pemrograman C Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 Overview Tipe Data Standar (Standart Data Type) Aturan Pendefinisian Identifier Variabel Mendeklarasikan

Lebih terperinci

BAB 1 KONSEP DASAR BAHASA C

BAB 1 KONSEP DASAR BAHASA C BAB 1 KONSEP DASAR BAHASA C 1. Sejarah dan Standar C Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richard pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian

Lebih terperinci

IT234 - Algoritma dan Struktur Data. Ramos Somya

IT234 - Algoritma dan Struktur Data. Ramos Somya IT234 - Algoritma dan Struktur Data Ramos Somya Asal kata Algoritma berasal dari nama seorang ilmuan Persian yang bernama Abu Ja far Mohammed lbn Musa al-khowarizmi, yang menulis kitab al jabr w al-muqabala

Lebih terperinci

P - 3 Bab 2 : Pengantar Pemrograman C

P - 3 Bab 2 : Pengantar Pemrograman C P - 3 Bab 2 : Pengantar Pemrograman C 2.1 Tujuan Mahasiswa dapat mengetahui dan memahami sejarah bahasa C, struktur program C dan alur eksekusi program C 2.2 Materi 1. Sejarah C 2. Interprenter dan Compiler

Lebih terperinci

Sekilas C DAN C++ DISUSUN OLEH. Sebuah bahasa, yaitu: 1. Bahasaa tingkat tinggi. High. dapat. lunak

Sekilas C DAN C++ DISUSUN OLEH. Sebuah bahasa, yaitu: 1. Bahasaa tingkat tinggi. High. dapat. lunak DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S..Kom. DIKTAT MATAA KULIAH PEMROGRAMAN I BAB I PENDAHULUAN C DAN C++ IF Sekilas Tentang C dan C+ ++ Sebuah bahasa pemrograman dapat dikategorikan ke dalam tiga level

Lebih terperinci

Konsep Dasar Pemrograman Dan Pengenalan C++

Konsep Dasar Pemrograman Dan Pengenalan C++ PRAKTIKUM 1 DAN 2 Konsep Dasar Pemrograman Dan Pengenalan C++ I. KONSEP DASAR PEMROGRAMAN Program adalah deretan instruksi yang digunakan untuk mengendalikan komputer, sehingga komputer dapat melakukan

Lebih terperinci

Pendahuluan. Komputasi Nuklir. 29 Oktober Komputasi Nuklir Pendahuluan 29 Oktober / 41

Pendahuluan. Komputasi Nuklir. 29 Oktober Komputasi Nuklir Pendahuluan 29 Oktober / 41 Pendahuluan Komputasi Nuklir 29 Oktober 2015 Komputasi Nuklir Pendahuluan 29 Oktober 2015 1 / 41 Outline 1 Pendahuluan 2 Algoritma 3 Bahasa Pemrograman 4 Implementasi aturan trapesium menggunakan bahasa

Lebih terperinci

Part 2 - Algoritma & Pemrograman Konsep dasar Pemrograman

Part 2 - Algoritma & Pemrograman Konsep dasar Pemrograman Part 2 - Algoritma & Pemrograman Konsep dasar Pemrograman Apa itu Program? Program adalah deretan instruksi yang digunakan untuk mengendalikan komputer, sehingga komputer dapat melakukan tindakan sesuai

Lebih terperinci

P3 Pengantar Pemrograman C

P3 Pengantar Pemrograman C P3 Pengantar Pemrograman C A. Sidiq Purnomo Prodi Teknik Informatika & Prodi Sistem Informasi Universitas Mercu Buana Yogyakarta Tujuan Mahasiswa dapat mengetahui dan memahami sejarah bahasa C, struktur

Lebih terperinci

AP2B Dini Triasanti STRUKTUR PEMROGRAMAN PYTHON

AP2B Dini Triasanti STRUKTUR PEMROGRAMAN PYTHON STRUKTUR PEMROGRAMAN PYTHON 1. Aturan Penulisan Program-program yang ditulis dalam Python secara khas jauh lebih pendek dibandingkan dengan program-program C atau C++, karena beberapa pertimbangan: tipe

Lebih terperinci

PENGENALAN BAHASA C. Praktikum 3

PENGENALAN BAHASA C. Praktikum 3 Praktikum 3 PENGENALAN BAHASA C A. TUJUAN 1. Mengenal sintaks dan fungsi-fungsi dasar dalam bahasa C 2. Mampu membuat flowchart untuk algoritma untuk memecahkan suatu masalah sederhana, selanjutnya mengimplementasikannya

Lebih terperinci

Sekilas Tentang C. Dasar Pemrograman & Algoritma

Sekilas Tentang C. Dasar Pemrograman & Algoritma Sekilas Tentang C Dasar Pemrograman & Algoritma Objectives Setelah menyelesaikan bab ini, anda diharapkan dapat: Menjelaskan sejarah dan ruang lingkup pemakaian bahasa C Menjelaskan kelebihan dan kekurangan

Lebih terperinci

KONSEP DASAR PROGRAM BAHASA C

KONSEP DASAR PROGRAM BAHASA C KONSEP DASAR PROGRAM BAHASA C AGENDA Pengantar Kelebihan Kekurangan Penulisan Program Bahasa C Fungsi Penyusun Pengantar (1) Bahasa C merupakan perkembangan dari bahasa BCPL (Basic Combine Programming

Lebih terperinci

dilakukan oleh bahasa mesin dapat dilakukan oleh C dengan penyusunan program yang lebih sederhana dan mudah. Bahasa C dalam pemakainnya memerlukan

dilakukan oleh bahasa mesin dapat dilakukan oleh C dengan penyusunan program yang lebih sederhana dan mudah. Bahasa C dalam pemakainnya memerlukan I. PENDAHULUAN Perkembangan bahasa C erat kaitannya dengan perkembangan sistem operasi UNIX, dimana keduanya dikembangkan di AT&T Bell Lab (USA). Pertama kali bahasa C diimplementasikan pada komputer DEC

Lebih terperinci

METODE NUMERIK 3SKS-TEKNIK INFORMATIKA-S1. Mohamad Sidiq PERTEMUAN-1

METODE NUMERIK 3SKS-TEKNIK INFORMATIKA-S1. Mohamad Sidiq PERTEMUAN-1 METODE NUMERIK 3SKS-TEKNIK INFORMATIKA-S1 Mohamad Sidiq PERTEMUAN-1 KONTRAK KULIAH METODE NUMERIK TEKNIK INFORMATIKA S1 3 SKS Mohamad Sidiq MATERI PERKULIAHAN SEBELUM-UTS Pengantar Metode Numerik Sistem

Lebih terperinci

TUTORIAL DASAR C++ BELAJAR C++ DARI NOL. Nor Kandir. Lab B201 - Teknik Elektro ITS Surabaya

TUTORIAL DASAR C++ BELAJAR C++ DARI NOL. Nor Kandir. Lab B201 - Teknik Elektro ITS Surabaya TUTORIAL DASAR C++ BELAJAR C++ DARI NOL Nor Kandir Lab B201 - Teknik Elektro ITS Surabaya Daftar Isi Daftar Isi... 1 Pendahuluan... 2 Kegunaan... 2 Persiapan... 3 Mulai Belajar... 3 Tipe Data... 6 Ekpresi

Lebih terperinci

BAB I PENGENALAN BAHASA C

BAB I PENGENALAN BAHASA C DIKTAT MATA KULIAH PEMROGRAMAN I BAB I PENGENALAN BAHASA C IF Pendahuluan Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Bahasa ini memberikan ide kepada

Lebih terperinci

ilmu bahasa pemrograman ilmu c++ Copyright izie ilmu c++

ilmu bahasa pemrograman ilmu c++ Copyright izie  ilmu c++ ilmu c++ Tutorial ini untuk siapa saja, walaupun anda belum pernah melakukan pemrograman, atau jika andapun berpengalaman dalam pemrograman dengan bahasa pemrograman lain tapi ingin mempelajari bahasa

Lebih terperinci

PRAKTIKUM 2 SEKILAS TENTANG C

PRAKTIKUM 2 SEKILAS TENTANG C PRAKTIKUM 2 SEKILAS TENTANG C A. TUJUAN 1. Mengenal sintaks dan fungsi-fungsi dasar dalam bahasa C 2. Mampu membuat flowchart untuk algoritma untuk memecahkan suatu masalah sederhana, selanjutnya mengimplementasikannya

Lebih terperinci

Review: Algoritme dan Program 12/29/2011. Algoritme dan Pemrograman. Review: Bagaimana memecahkan masalah dengan komputer?????

Review: Algoritme dan Program 12/29/2011. Algoritme dan Pemrograman. Review: Bagaimana memecahkan masalah dengan komputer????? Algoritme dan Pemrograman Kuliah #3 Implementasi algoritme Struktur program C Elemen program * * * * Masalah Review: Bagaimana memecahkan masalah dengan komputer????? Logika Berpikir Logika Pemrograman

Lebih terperinci

Bahasa C-M6 By Jamilah, Skom 1

Bahasa C-M6 By Jamilah, Skom 1 BAB 1 KONSEP DASAR BAHASA C 1.1 SEJARAH DAN STANDAR C Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richard pada tahun 1967. Bahasa ini memberkan ide kepada ken thompson yang kemudian

Lebih terperinci

PENGENALAN PROGRAM C++

PENGENALAN PROGRAM C++ 1 PENGENALAN PROGRAM C++ SEJARAH BAHASA C C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa beraras rendah (bahasa yang berorientasi kepada mesin) dan bahasa beraras tinggi (bahasa

Lebih terperinci

BAHASA PEMROGRAMAN C

BAHASA PEMROGRAMAN C BAHASA PEMROGRAMAN C A. Pengenalan Bahasa C diciptakan oleh Dennis Ritchie tahun 1972 di Bell Laboratories. Kelebihan Bahasa C: - Bahasa C tersedia hampir di semua jenis computer. - Kode bahasa C sifatnya

Lebih terperinci

Kurikulum Qt. Chapter 4 Function. Fungsi

Kurikulum Qt. Chapter 4 Function. Fungsi Chapter 4 Function Fungsi Fungsi (Function) adalah sekumpulan program yang diberi nama, sehingga dengan demikain jika program itu diperlukan dapat dipanggil kembali. Walaupun Pemrograman Berorientasi Objek

Lebih terperinci

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual Praktikum 7 FUNGSI 1 A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual B. DASAR TEORI Fungsi adalah suatu bagian dari program yang dirancang

Lebih terperinci

MODUL I PENGENALAN IDE C++, ALGORITMA DAN PEMROGRAMAN

MODUL I PENGENALAN IDE C++, ALGORITMA DAN PEMROGRAMAN MODUL I PENGENALAN IDE C++, ALGORITMA DAN PEMROGRAMAN A. TUJUAN Setelah mempelajari bab ini diharapkan mahasiswa akan mampu : 1. Mengenali dan menggunakan IDE C++ dengan baik. 2. Mengenal dan memahami

Lebih terperinci

Tujuan. Pengenalan. Pengenalan Pemrograman Komputer. Komponen Dasar pada Komputer : Hardware. Komponen Dasar pada Komputer : Hardware

Tujuan. Pengenalan. Pengenalan Pemrograman Komputer. Komponen Dasar pada Komputer : Hardware. Komponen Dasar pada Komputer : Hardware Tujuan JAVA Education Network Indonesia Pengenalan Pemrograman Komputer Pengenalan Pemrograman 1 Pada akhir pelajaran, siswa diharapkan dapat: Mengidentifikasi perbedaan komponen-komponen pada komputer

Lebih terperinci

PETUNJUK PENGERJAAN SOAL ULUM TIK

PETUNJUK PENGERJAAN SOAL ULUM TIK PETUNJUK PENGERJAAN SOAL ULUM TIK A. ISILAH NAMA PESERTA, NOMOR PESERTA, PILIHAN PROGRAM STUDI, DAN NAMA UJIAN DENGAN MENULIS DAN MENGHITAMKAN PADA LEMBAR JAWABAN YANG TERSEDIA B. BACALAH SOAL DENGAN TELITI

Lebih terperinci

9/9/2011 ILKOM IPB 1 ALGORITME DAN PEMROGRAMAN. Review: Algoritme dan Program. Bahasa tingkat rendah (low level language)

9/9/2011 ILKOM IPB 1 ALGORITME DAN PEMROGRAMAN. Review: Algoritme dan Program. Bahasa tingkat rendah (low level language) * * * * Masalah Review: Bagaimana memecahkan masalah dengan komputer????? ALGORITME DAN PEMROGRAMAN Kuliah #3 Implementasi algoritme Struktur program C Elemen program Logika Berpikir Implementasi Algortime

Lebih terperinci

Kernel. Sistem Operasi. STMIK Indonesia Padang Yayasan Amal Bakti Mukmin LINATI IFFAH ( )

Kernel. Sistem Operasi. STMIK Indonesia Padang Yayasan Amal Bakti Mukmin LINATI IFFAH ( ) Kernel Sistem Operasi LINATI IFFAH (151100098) STMIK Indonesia Padang Yayasan Amal Bakti Mukmin 2016 Kernel A. Pengertian Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem

Lebih terperinci

Konsep Pemrograman Prosedural

Konsep Pemrograman Prosedural Konsep Pemrograman Prosedural Urutan pengerjaan kegiatan Pemrograman Pengenalan bahasa C 9/20/2010 Minggu 1 1 Urutan Pengerjaan Kegiatan(1) Manusia selalu berusaha menyelesaikan masalah yang dihadapi Penyelesaian

Lebih terperinci

PRAKTIKUM 7 FUNGSI 1

PRAKTIKUM 7 FUNGSI 1 PRAKTIKUM 7 FUNGSI 1 A. Tujuan 1. Menjelaskan pengertian fungsi 2. Membuat Fungsi 3. Mengerti parameter dalam fungsi 4. Memahami cara melewatkan parameter ke dalam fungsi B. DASAR TEORI Fungsi adalah suatu

Lebih terperinci

SUMBER BELAJAR PENUNJANG PLPG

SUMBER BELAJAR PENUNJANG PLPG SUMBER BELAJAR PENUNJANG PLPG 2017 [TIK] BAB VIII PEMROGRAMAN BERORIENTASI OBJEK [Alfa Faridh Suni] KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN 2017 BAB VIII

Lebih terperinci

Implementasi OOP Pada Perangkat Lunak Pemrograman

Implementasi OOP Pada Perangkat Lunak Pemrograman Silabus Pertemuan ke- Pokok Bahasan Keterangan 1 Pengenalan Dasar Pemrograman 2 Konsep Dasar Pemrograman 3 Tahapan Pembuatan Program 4 Elemen-Elemen Bahasa Pemrograman 5 Analisa Struktur Program 6 Analisa

Lebih terperinci

1.1. Sejarah Bahasa C

1.1. Sejarah Bahasa C Bab 1 Pendahuluan 1.1. Sejarah Bahasa C Sejarah perkembangan dan latar belakang munculnya bahasa C adalah seperti dalam Gambar 1. Gambar 1: Sejarah Bahasa C Boleh dikatakan bahwa akar dari bahasa C adalah

Lebih terperinci

1. Algoritma & Pemrograman

1. Algoritma & Pemrograman 1. Algoritma & Pemrograman A. Teori algoritma Suatu himpunan hingga Intruksi yang secara jelas memperinci langkahlangkah proses pelaksanaan pemecahan suatu masalah. Himpunan intruksi yang dimaksud harus

Lebih terperinci

BAB I ARTI PENTING ANALISIS NUMERIK

BAB I ARTI PENTING ANALISIS NUMERIK BAB I ARTI PENTING ANALISIS NUMERIK Pendahuluan Di dalam proses penyelesaian masalah yang berhubungan dengan bidang sains, teknik, ekonomi dan bidang lainnya, sebuah gejala fisis pertama-tama harus digambarkan

Lebih terperinci

Teknik Pemrograman Terstruktur 1 PENGENALAN BAHASA C

Teknik Pemrograman Terstruktur 1 PENGENALAN BAHASA C 1 PENGENALAN BAHASA C Paradigma Pemrograman Pemrograman Deklaratif/Fungsional Persoalan diselesaikan dengan mengekspresikan logika persoalan Pemrograman Prosedural/Terstruktur Persoalan diselesaikan dengan

Lebih terperinci

Artikel BERKENALAN DENGAN MAXIMA

Artikel BERKENALAN DENGAN MAXIMA Artikel BERKENALAN DENGAN MAXIMA Oleh Muda Nurul Khikmawati PUSAT PENGEMBANGAN DAN PEMBERDAYAAN PENDIDIK DAN TENAGA KEPENDIDIKAN (PPPPTK) MATEMATIKA 2010 Abstrak Maxima merupakan salah satu software open

Lebih terperinci

BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa latin computere yang berarti

BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa latin computere yang berarti BAB 2 LANDASAN TEORI 2.1 Pengertian Komputer Istilah komputer (computer) berasal dari bahasa latin computere yang berarti menghitung. Dalam bahasa Inggris komputer berasal dari kata to compute yang artinya

Lebih terperinci

Objectives Menjelaskan sejarah dan ruang lingkup pemakaian bahasa C Menjelaskan kelebihan dan kekurangan bahasa C Menjelaskan proses kompilasi dan lin

Objectives Menjelaskan sejarah dan ruang lingkup pemakaian bahasa C Menjelaskan kelebihan dan kekurangan bahasa C Menjelaskan proses kompilasi dan lin Sekilas Tentang C Objectives Menjelaskan sejarah dan ruang lingkup pemakaian bahasa C Menjelaskan kelebihan dan kekurangan bahasa C Menjelaskan proses kompilasi dan linking program C Menjelaskan struktur

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA No. EKA/EKA255 Revisi:01 30 Agu 2014 Hal 1 / 8 A. TUJUAN Setelah melakukan praktik mahasiswa diharapkan dapat: 1. memahami struktur penulisan bahasa C 2. memahami perintah dasar bahasa C B. TEORI DASAR

Lebih terperinci

SISTEM OPERASI LINUX

SISTEM OPERASI LINUX SISTEM OPERASI LINUX Linux adalah sistem operasi seperti Unix, yang merupakan implementasi independen dari POSIX, meliputi true multitasking, virtual memory, shared libraries, demand-loading, proper memory

Lebih terperinci

Program. Instruksi-instruksi yang diberikan kepada komputer agar dapat melaksanakan tugas-tugas tertentu

Program. Instruksi-instruksi yang diberikan kepada komputer agar dapat melaksanakan tugas-tugas tertentu Pengenalan QBasic 1 Program Instruksi-instruksi yang diberikan kepada komputer agar dapat melaksanakan tugas-tugas tertentu 2 Bahasa Pemrograman Bahasa yang digunakan untuk membuat program Klasifikasi

Lebih terperinci

LAPORAN RESMI PRAKTIKUM SISTEM OPERASI MODUL I SHELL INTERAKTIF DAN SKRIP

LAPORAN RESMI PRAKTIKUM SISTEM OPERASI MODUL I SHELL INTERAKTIF DAN SKRIP LAPORAN RESMI PRAKTIKUM SISTEM OPERASI MODUL I SHELL INTERAKTIF DAN SKRIP TGL PRAKTIKUM : 27 September 2012 NAMA : M. ANANG SETIAWAN NRP : 11.04.111.00061 KELAS : C2 DOSEN PENGAMPU : Faikul Umam, S.Kom.

Lebih terperinci

Gambar 1.1. Logo Linux

Gambar 1.1. Logo Linux Sejarah Linux & Debian Pendahuluan Linux saat ini menjadi acuan dalam penggunaannya sebagai sistem operasi untuk server. Berdasarkan hasil riset dari Gartner Group, beberapa vendor server seperti HP, IBM,

Lebih terperinci

PRAKTIKUM 6 PENGULANGAN PROSES 2

PRAKTIKUM 6 PENGULANGAN PROSES 2 PRAKTIKUM 6 PENGULANGAN PROSES 2 A. Tujuan 1. Menjelaskan loop di dalam loop (nested loop) dan contoh kasusnya 2. Menjelaskan penggunaan pernyataan break 3. Menjelaskan penggunaan pernyataan continue 4.

Lebih terperinci

Komputer & Software Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika.

Komputer & Software Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Komputer & Software Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas i Pasundan Caca E Supriana S Si MT Caca E. Supriana, S.Si., MT. [email protected] Komputer Komputer

Lebih terperinci

Pengenalan Bahasa C++, Algoritma Pemrograman, Integrated Development Equipment (IDE) Visual C++ dan Dasar Dasar Bahasa C++

Pengenalan Bahasa C++, Algoritma Pemrograman, Integrated Development Equipment (IDE) Visual C++ dan Dasar Dasar Bahasa C++ MODUL 1 Pengenalan Bahasa C++, Algoritma Pemrograman, Integrated Development Equipment (IDE) Visual C++ dan Dasar Dasar Bahasa C++ Modul Praktikum C++ Dasar Pemrograman Komputer Semester Genap 2017/2018

Lebih terperinci

Perbandingan Kecepatan Komputasi Beberapa Algoritma Solusi Persamaan Nirlanjar

Perbandingan Kecepatan Komputasi Beberapa Algoritma Solusi Persamaan Nirlanjar Perbandingan Kecepatan Komputasi Beberapa Algoritma Solusi Persamaan Nirlanjar Bernardino Madaharsa Dito Adiwidya - 13507089 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya : VI. FUNGSI 6.1. FUNGSI Fungsi adalah sekumpulan perintah operasi program yang dapat menerima argumen input dan dapat memberikan hasil output yang dapat berupa nilai ataupun sebuah hasil operasi. Hasil

Lebih terperinci

Pengantar Sistem Komputer

Pengantar Sistem Komputer Pengantar Sistem Komputer Aplikasi Komputer I (Pertemuan Ke 2) Mata Kuliah Universitas Universitas Mercu Buana Yogyakarta Tahun 2013 Sistem Komputer Pengertian Sistem Sistem berasal dari bahasa Latin (systema)

Lebih terperinci

BAB I PENGANTAR Pendahuluan Penyajian 1.1 Latar Belakang 1.2 Algoritma dan Struktur Data

BAB I PENGANTAR Pendahuluan Penyajian 1.1 Latar Belakang 1.2 Algoritma dan Struktur Data BAB I PENGANTAR Pendahuluan Program komputer dibuat berdasarkan langkah-langkah logis untuk menyelesaikan masalah. Lagkah-langkah tersebut ditulis dalam suatu instruksi yang bisa dipahami oleh komputer,

Lebih terperinci

Implementasi Metode Jumlah Riemann untuk Mendekati Luas Daerah di Bawah Kurva Suatu Fungsi Polinom dengan Divide and Conquer

Implementasi Metode Jumlah Riemann untuk Mendekati Luas Daerah di Bawah Kurva Suatu Fungsi Polinom dengan Divide and Conquer Implementasi Metode Jumlah Riemann untuk Mendekati Luas Daerah di Bawah Kurva Suatu Fungsi Polinom dengan Divide and Conquer Dewita Sonya Tarabunga - 13515021 Program Studi Tenik Informatika Sekolah Teknik

Lebih terperinci

1 - Bahasa Pemrograman

1 - Bahasa Pemrograman 1 - Bahasa Pemrograman Pendahuluan Pada dasarnya, komputer difungsikan sebagai alat bantu untuk melakukan pengolahan data (berdasarkan operasi aritmatika dan logika). Komputer memerlukan suatu program

Lebih terperinci

Apakah Anda sering kesulitan untuk

Apakah Anda sering kesulitan untuk Seringkali bagi kebanyakan orang permasalahan matematika merupakan suatu hal yang cukup memusingkan. Bahasa C dapat mempermudah kita dalam perhitungan matematika. Apakah Anda sering kesulitan untuk menyelesaikan

Lebih terperinci

KATA PENGANTAR. Penulis. Raizal Dzil Wafa M.

KATA PENGANTAR. Penulis. Raizal Dzil Wafa M. i KATA PENGANTAR Buku ini dibuat untuk memudahkan siapa saja yang ingin belajar MATLAB terutama bagi yang baru mengenal MATLAB. Buku ini sangat cocok untuk pemula terutama untuk pelajar yang sedang menempuh

Lebih terperinci

Konsep Pemrograman. Bab 7. Fungsi1. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

Konsep Pemrograman. Bab 7. Fungsi1. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah Bab 7. Fungsi1 Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 Overview Pendahuluan Tujuan Fungsi Dasar Fungsi Jenis Fungsi : memiliki return value Integer Selain integer Tidak memiliki

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data Algoritma dan Struktur Data Program Program: sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah. 3 level bahasa pemrograman: 1. Bahasa tingkat rendah 2. Bahasa

Lebih terperinci

Pemrograman Dasar C. Minggu 6

Pemrograman Dasar C. Minggu 6 Pemrograman Dasar C Minggu 6 Topik Bahasan Fungsi Menulis sekali digunakan berulang kali Tugas yang dikompartemenkan Variabel lokal dalam fungsi Teknik Mendesain Top-Down Kode Pseudo Struktur dan Diagram

Lebih terperinci

Sistem Administrasi Linux

Sistem Administrasi Linux Sistem Administrasi Linux pertemuan 2 Struktur Direktori Linux Perintah dasar linux Helmy Faisal M, S.Kom Direktori di linux Direktori /bin /boot /dev /etc /home /lib /mnt Isi Direktori berisi file-file

Lebih terperinci

KOMPONEN SISTEM KOMPUTER HARDWARE & SOFTWARE

KOMPONEN SISTEM KOMPUTER HARDWARE & SOFTWARE KOMPONEN SISTEM KOMPUTER HARDWARE & SOFTWARE TIM DOSEN PENGENALAN KOMPUTER & IT SEKOLAH TINGGI EKONOMI (STIE) PANCA BHAKTI PALU Perangkat Keras (Hardware) Perangkat Keras (Hardware) yaitu suatu perangkat

Lebih terperinci

Materi Pelajaran : Algoritma Pemrograman. Siswa memahami tentang dasar dasar Algoritma Pemrograman

Materi Pelajaran : Algoritma Pemrograman. Siswa memahami tentang dasar dasar Algoritma Pemrograman Materi Pelajaran : Algoritma Pemrograman 1. Tujuan : Siswa memahami tentang dasar dasar Algoritma Pemrograman 2. Teori Singkat A. Algoritma Sejarah Algoritma Ditinjau dari asal usul katanya, kata Algoritma

Lebih terperinci

Bab 1. Pengenalan Pemrograman C

Bab 1. Pengenalan Pemrograman C Bab 1. Pengenalan Pemrograman C Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 Overview Sejarah dan Ruang Lingkup C Proses Kompilasi dan Linking dalam C Struktur Penulisan Program C Sejarah

Lebih terperinci

Perulangan, Percabangan, dan Studi Kasus

Perulangan, Percabangan, dan Studi Kasus Perulangan, Percabangan, dan Studi Kasus Perulangan dan percabangan merupakan hal yang sangat penting dalam menyusun suatu program Pada pertemuan kali ini akan dibahas secara detail tentang perulangan

Lebih terperinci

Pengantar Teknologi Informasi. Software Komputer

Pengantar Teknologi Informasi. Software Komputer Pengantar Teknologi Informasi Software Komputer Apa yang dimaksud dengan software? Contoh software dan jenisnya? Software = program Program adalah deretan intruksi yang digunakan untuk mengendalikan komputer

Lebih terperinci

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar Bahasa Pemrograman Pascal Page 1 / 11 Pengenalan Pascal Pascal merupakan salah satu bahasa pemrograman tingkat tinggi. Pemrograman

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data Algoritma dan Struktur Data Algoritma Pemrograman Bekti Wulandari, M.Pd Kelas B TE 2014 Program Program: sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah. 3 level

Lebih terperinci

KOTLIN, SIAPA SUKA. Dasar. P. Tamami BPPKAD Kab. Brebes

KOTLIN, SIAPA SUKA. Dasar. P. Tamami BPPKAD Kab. Brebes KOTLIN, SIAPA SUKA KOTLIN, SIAPA SUKA Dasar P. Tamami BPPKAD Kab. Brebes BAB 1 MEMULAI Perlu diketahui bahwa Kotlin ini adalah bahasa pemrograman yang berjalan di atas JVM, sehingga diperlukan Java Runtime

Lebih terperinci

Akar-Akar Persamaan. Definisi akar :

Akar-Akar Persamaan. Definisi akar : Akar-Akar Persamaan Definisi akar : Suatu akar dari persamaan f(x) = 0 adalah suatu nilai dari x yang bilamana nilai tersebut dimasukkan dalam persamaan memberikan identitas 0 = 0 pada fungsi f(x) X 1

Lebih terperinci

Pengenalan Pemrograman Komputer (Software)

Pengenalan Pemrograman Komputer (Software) Pengenalan Pemrograman Komputer (Software) Software Software atau perangkat lunak adalah data yang disimpan pada media penyimpanan data permanen seperti harddisk/disket/cd-r. Perangkat lunak ini dibuat

Lebih terperinci

MODUL 1 STANDAR INPUT DAN OUTPUT

MODUL 1 STANDAR INPUT DAN OUTPUT MODUL 1 STANDAR INPUT DAN OUTPUT A. TUJUAN 1. Memahami input dan output dasar pada bahasa pemrograman C/C++ 2. Memahami operasi dasar untuk input dan output pada bahasa pemrograman C/C++ 3. Mampu menciptakan

Lebih terperinci

Software Engineering atau yang diartikan Rekayasa Perangkat Lunak adalah:

Software Engineering atau yang diartikan Rekayasa Perangkat Lunak adalah: PEMROGRAMAN dalam SOFTWARE ENGINEERING Materi Pertemuan Minggu ke 3 DEFINISI Software Engineering atau yang diartikan Rekayasa Perangkat Lunak adalah: Suatu disiplin ilmu yang membahas semua aspek produksi

Lebih terperinci

BAB 2 LANDASAN TEORI. Istilah komputer ( computer ) berasal dari bahasa latin computere yang berarti

BAB 2 LANDASAN TEORI. Istilah komputer ( computer ) berasal dari bahasa latin computere yang berarti BAB 2 LANDASAN TEORI 2.1 Pengertian Komputer Istilah komputer ( computer ) berasal dari bahasa latin computere yang berarti menghitung. Dalam bahasa Inggris berasal dari kata computer yang artinya menghitung.

Lebih terperinci

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1 MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1 Disusun oleh : Tim Asisten JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SUNAN KALIJAGA YOGYAKARTA 2011 0 A. Pengantar

Lebih terperinci

Dasar Pemrograman. Nisa ul Hafidhoh

Dasar Pemrograman. Nisa ul Hafidhoh Dasar Pemrograman Nisa ul Hafidhoh [email protected] 08156114760 Rencana Kuliah W Pokok Bahasan 1 Pendahuluan 2 Notasi Algoritmik, Tipe Data 3 Perintah Dasar 4 Aksi Sekuensial 5 Analisa Kasus 6 Analisa

Lebih terperinci

PENGENALAN C++ Bab 1

PENGENALAN C++ Bab 1 PENGENALAN C++ Bab 1 1.1 SEJARAH C++ Bahasa C++ diciptakan oleh Bjarne Stroustrup di AT&T Bell Laboratories awal tahun 1980-an berdasarkan C ANSI (American National Standard Institute). Pertama kali, prototype

Lebih terperinci

Pemrograman Dasar C. Minggu 8

Pemrograman Dasar C. Minggu 8 Pemrograman Dasar C Minggu 8 Topik Bahasan Fungsi Fungsi main dan keseluruhan kontrol program Prototype fungsi Cakupan (scope) dari deklarasi variabel Teknik Desain Implementasi Bottom Up Testing dengan

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN 62 BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis 3.1.1 Analisis Masalah yang Dihadapi Persamaan integral merupakan persamaan yang sering muncul dalam berbagai masalah teknik, seperti untuk mencari harga

Lebih terperinci

ALGORITMA DALAM KAITANNYA DENGAN KOMPUTER

ALGORITMA DALAM KAITANNYA DENGAN KOMPUTER ALGORITMA DALAM KAITANNYA DENGAN KOMPUTER I. Pendahuluan Algoritma digunakan dalam banyak hal, mulai dari hal-hal kecil dalam kehidupan seharihari sampai pada ilmu pengetahuan modern. Saat ini, algoritma

Lebih terperinci

Algoritme dan Pemrograman

Algoritme dan Pemrograman Kuliah #2 Struktur program C Tipe data Input / Output Algoritme dan Pemrograman Beberapa Catatan Lakukan KRS B jika: Belum mendaftar di KRS A Mendaftar di KRS A, tapi nama tidak muncul di absen Pindah

Lebih terperinci

MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN

MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN 1 MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN A. MAKSUD DAN TUJUAN 1. MAKSUD Mengenal cara menggunakan bahasa pemrograman C++ dengan menggunakan C++ Builder dan mengenala pernyataan

Lebih terperinci