P. 1
Buku Ajar Dasar Pemrograman Komputer

Buku Ajar Dasar Pemrograman Komputer

|Views: 848|Likes:
Published by Sholhan Aziz

More info:

Published by: Sholhan Aziz on Feb 25, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

01/13/2013

pdf

text

original

Sections

  • 1.1 PENDAHULUAN
  • 1.2.1.1 Central Processing Unit (CPU)
  • 1.2.1.2 Memori
  • 1.2.1.3 Input Dan Output Device
  • 1.2.2 Perangkat Lunak (Software)
  • 1.3.1 Pendahuluan
  • 1.3.2 Kategori Bahasa Pemrograman
  • 1.4.1 Definisi Permasalahan
  • 1.4.2 Analisis Permasalahan
  • 1.4.3 Desain Algoritma dan Representasi
  • 1.4.4 Pengkodean, Uji Coba dan Pembuatan Dokumentasi
  • 1.5.1 Sistem Bilangan Desimal
  • 1.5.2 Sistem Bilangan Biner
  • 1.5.3 Sistem Bilangan Oktal
  • 1.5.4 Sistem Bilangan Heksadesimal
  • 1.5.5.1 Desimal ke Biner / Biner ke Desimal
  • 1.5.5.2 Desimal ke Oktal/Heksadesimal dan Oktal/Heksadesimal ke Desimal
  • 1.5.5.3 Biner ke Oktal dan Oktal ke Biner
  • 1.5.5.4 Biner ke Heksadesimal dan Heksadesimal ke Biner
  • 1.6.1 Algoritma
  • 1.6.2 Konstruktor (elemen) Pemrograman Prosedural
  • 1.6.3 Input, Proses, dan Output
  • 2.1 PENDAHULUAN
  • 2.2.1 Bagian-bagian Jendela Matlab
  • 2.2.2 Getting Help
  • 2.2.3 Interupting dan Terminating dalam Matlab
  • 2.3 Variabel pada Matlab
  • 2.4. Operator
  • 2.5. Fungsi Matematika lainnya
  • 2.6.1 Fungsi
  • 2.6.2 Flow Control
  • 3.1 PENDAHULUAN
  • 3.2 ARRAY SEDERHANA
  • 3.3 ARRAY N DIMENSI
  • 3.4 CONTOH APLIKASI ARRAY
  • 4.1 PENDAHULUAN
  • 4.2 METODA NEWTON
  • 4.3 FUNGSI fZero
  • 5.1 PENDAHULUAN
  • 5.2 DIFERENSIASI NUMERIK
  • 5.3 INTEGRASI NUMERIK
  • 6.1 PENDAHULUAN
  • 6.2 GRAFIK DUA DIMENSI
  • 6.3 GRAFIK TIGA DIMENSI
  • 7.1.1 Representasi Polinomial
  • 7.1.2 Akar-akar Polinomial
  • 7.1.3 Turunan Polinomial
  • 7.1.4. Pencocokan Kurva Polinomial
  • 7.2.1.1 Interpolasi Polinomial
  • 7.2.1.2 Interpolasi Berbasis-FFT
  • 7.2.2 Interpolasi Dua-Dimensi
  • 7.2.3 Perbandingan Metode-metode Interpolasi
  • 7.2.4 Interpolasi dan Larik Multidimensi
  • 8.1.1 Penyimpanan dan Pemanggilan Data
  • 8.1.2 Penggambaran Kontur 2-Dimensi
  • 8.1.3 Penggambaran Citra 2-Dimensi
  • 8.2 STUDI KASUS: PREDIKSI PERTUMBUHAN PENDUDUK
  • 8.3 STUDI KASUS: ANALISIS DAN VISUALISASI GAMPA BUMI

Dasar Pemrograman Komputer

Bab 1 KONSEP DASAR KOMPUTER DAN PEMROGRAMAN KOMPUTER

1.1 PENDAHULUAN Dewasa ini komputer sudah menjadi suatu kebutuhan penting. Hampir seluruh aspek kehidupan manusia saat ini tidak dapat dilepaskan dari teknologi komputer. Dimulai dari rumah tangga, sekolah, kantor, pertokoan, hingga industri-industri baik kecil, sedang maupun besar sudah tergantung kepada komputer. Oleh karenanya sudah menjadi kewajiban bagi mahasiswa untuk memahami dan dapat mengaplikasikan teknologi komputer untuk keperluan studi maupun keperluan nonstudinya, terutama terkait dengan pemrograman. Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung. Dalam bahasa Inggris disebut to compute. Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama, dapat menerima data (input), mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya. Sesuai dengan definisi tersebut, maka cara kerja komputer dapat diilustrasikan sesuai pada Gambar 1.1.

Gambar 1.1. Skema kerja komputer.

Sebelum membahas lebih lanjut mengenai teknologi komputer, perlu diketahui definisi-definisi terkait dengan komputer dan aplikasinya:

Jurusan Teknik Sipil Fakultas Teknik UMY

1

Dasar Pemrograman Komputer

a. Data adalah fakta tercatat tentang suatu objek. Pencatatan dapat dilakukan melalui cakram magnetis (soft-file) atau media kertas (hard-copy). b. Compiler berfungsi menerjemahkan dulu seluruh perintah dalam bahasa mesin. Baru kemudian terjemahan tersebut dijalankan oleh komputer. Contoh : FORTRAN, C, PASCAL. c. Informasi adalah tambahan pengetahuan yang diperoleh melalui usaha pengolahan data. d. Interpreter berfungsi menerjemahkan perintah baris demi baris dan langsung melaksanakannya. contoh : BASIC. e. Program adalah “resep” tentang bagaimana pengolahan harus dilaksanakan, yang berupa himpunan instruksi untuk dilaksanakan oleh komputer untuk menyelesaikan masalah yang diberikan. f. Pemrograman adalah kegiatan menyusun program dengan suatu bahasa pemrograman komputer untuk menyelesaikan suatu masalah. Tujuan pokok dari sistem komputer adalah mengolah data untuk menghasilkan informasi sehingga perlu didukung oleh elemen-elemen yang terdiri dari perangkatkeras (hardware), perangkat-lunak (software), dan manusia (brainware). Ketiga elemen sistem komputer tersebut harus saling berhubungan dan membentuk satu kesatuan. Perangkat keras tanpa perangkat lunak tidak akan berarti apa-apa, hanya berupa benda mati. Kedua perangkat keras dan lunak juga tidak dapat berfungsi jika tidak ada manusia yang mengoperasikannya. Setiap mesin yang mampu menerima data, memproses data, menyimpan data, dan menghasilkan bentuk keluaran berupa teks, gambar, simbol, angka dan suara dapat dikategorikan sebagai komputer. Dalam pengoperasian, bentuk, sistem dan fungsinya komputer dapat dibagi menjadi dua (2) bagian yaitu hardware dan software. Perangkat keras komputer (hardware) adalah semua bagian fisik komputer yang bertugas melakukan operasi sesuai yang diinstruksikan perangkat-lunak, sedang perangkat lunak (software) adalah bagian yang menyediakan instruksi untuk perangkat keras dalam menyelesaikan tugasnya. Batasan antara perangkat keras dan perangkat lunak akan sedikit buram jika kita berbicara mengenai firmware. Firmware adalah perangkat lunak yang "dibuat" ke dalam perangkat keras. Firmware ini merupakan wilayah dari bidang ilmu komputer dan teknik komputer, yang jarang dikenal oleh pengguna umum.

Jurusan Teknik Sipil Fakultas Teknik UMY

2

Dasar Pemrograman Komputer

1.2 KOMPONEN DASAR KOMPUTER Secara umum komputer memiliki dua komponen utama. Yang pertama adalah hardware (perangkat keras) yang tersusun atas komponen elektronik dan mekanik. Komponen utama yang lain yaitu software (perangkat lunak). Komponen ini terdiri atas data dan aplikasi – aplikasi komputer. 1.2.1 Perangkat Keras (Hardware) 1.2.1.1 Central Processing Unit (CPU) Processor, merupakan bagian dari perangkat keras komputer yang melakukan pemprosesan aritmatika dan logika serta pengendalian operasi komputer secara keseluruhan. Prosesor terdiri atas dua bagian utama, yaitu ALU (Arithmetic Logic Unit) dan Control Unit. Kecepatan kerja prosesor biasanya ditentukan oleh kecepatan clock dari Control Unit-nya. Contoh : jika prosesor memiliki frekuensi clock 350 MHz, berarti kecepatan pemprosesan satu instruksinya = T = 1/f = 1/(350 x 10 Hz), = 0,286 x 10 detik. 1.2.1.2 Memori Memori adalah media penyimpan data pada komputer. Memory, berdasarkan fungsinya dibagi menjadi dua yaitu : a. Primary Memory Dipergunakan untuk menyimpan data dan instruksi dari program yang sedang dijalankan. Biasa juga disebut sebagai RAM. Karakteristik dari memori primer adalah : o Volatil (informasi ada selama komputer bekerja. Ketika komputer dipadamkan, informasi yang disimpannya juga hilang) o Berkecepatan tinggi o Akses random (acak) b. Secondary Memory Dipergunakan untuk menyimpan data atau program biner secara permanen. Karakteristik dari memori sekunder adalah o Non volatil atau persisten o Kecepatan relatif rendah (dibandingkan memori primer) o Akses random atau sekuensial
6 -8

Jurusan Teknik Sipil Fakultas Teknik UMY

3

Dasar Pemrograman Komputer

Contoh memori sekunder : floppy, harddisk, CD ROM, magnetic tape, optical disk, dll. Dari seluruh contoh tersebut, yang memiliki mekanisme akses sekuensial adalah magnetic tape. Tabel 1.1. Perbandingan antara memori utama dan memori sekunder

1.2.1.3 Input Dan Output Device Input-Output Device, merupakan bagian yang berfungsi sebagai penghubung antara komputer dengan lingkungan di luarnya. Dapat dibagi menjadi dua kelompok, yaitu: a. Input Device (Piranti Masukan) Berfungsi sebagai media komputer untuk menerima masukan dari luar. Beberapa contoh piranti masukan : o Keyboard o Mouse o Touch screen o Scanner o Camera

b. Output Device (Piranti Keluaran) Berfungsi sebagai media komputer untuk memberikan keluaran. Beberapa contoh piranti keluaran : o Monitor o Printer o Speaker o Plotter

Jurusan Teknik Sipil Fakultas Teknik UMY

4

2 Perangkat Lunak (Software) Perangkat lunak merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki. PC Tools. Merupakan program yang khusus melakukan suatu pekerjaan tertentu. MS Word. Payroll. Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi. misalnya PC Tools dapat melakukan perintah format sebagaimana DOS. Bahasa mesin adalah terdiri dari nilai 0 dan 1.2. Program Paket Merupakan program yang dikembangkan untuk kebutuhan umum. Compiler. seperti Norton Utility. seperti DOS. Program utility berfungsi untuk membantu atau mengisi kekurangan/kelemahan dari system operasi. PhotoShop 5. dll o Presentasi : MS PowerPoint o Desain grafis : CorelDraw. yaitu bahasa mesin. seperti program gaji pada suatu perusahaan. Umumnya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaan/kebutuhan seseorang/lembaga/perusahaan guna keperluan interennya. Word Perfect.Dasar Pemrograman Komputer 1. File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan. yaitu : 1. QuattroPro. 4. maka dicarilah suatu cara Jurusan Teknik Sipil Fakultas Teknik UMY 5 . MS Excell. Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer. Tanpa ada sistem operasi maka komputer tidak dapat difungsikan sama sekali. MYOB. Scandisk. tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan. 2. 3. seperti GL. AmiPro o Pengolah angka / lembar kerja : Lotus123. Program dapat dianalogikan sebagai instruksi yang akan dijalankan oleh prosessor. Unix. Program Utility. Software terdiri dari beberapa jenis. Program Aplikasi. Sistem Operasi. seperti : o Pengolah kata /editor naskah : Wordstar. Komputer hanya memahami satu bahasa. Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain. Sangatlah tidak praktis dan efisien bagi manusia untuk membuat program yang terdiri dari nilai 0 dan 1. OS/2. Windows. Novell.

Sebuah pernyataan program diterjemahkan kepada sebuah atau beberapa mesin dengan menggunakan compiler. .2 Kategori Bahasa Pemrograman Bahasa pemrograman dapat diklasifikasikan sebagai berikut: 1. Bahasa pemrograman dapat diklasifikasikan menjadi tingkat rendah.Dasar Pemrograman Komputer untuk menterjemahkan sebuah bahasa yang dipahami oleh manusia menjadi bahasa mesin. Layaknya bahasa manusia. dan apa yang akan dilakukan apabila terjadi kondisi yang variatif. Yang tergolong dalam bahasa ini adalah Fortran. Bahasa pemrograman memfasilitasi seorang programmer untuk secara spesifik apa yang akan dilakukan oleh komputer selanjutnya. setiap bahasa memiliki tata tulis dan aturan tertentu.3 BAHASA PEMROGRAMAN 1. walaupun masih cukup sulit untuk dimengerti karena menggunakan singkatan – singkatan seperti STO yang berarti simpan (STORE) dan MOV yang artinya pindah (MOVE). Bahasa jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin.3. 3. Bahasa Pemrograman Tingkat Rendah Bahasa pemrograman generasi pertama. bagaimana data tersebut disimpan dan dikirim. Pergeseran tingkat dari rendah menuju tinggi menunjukkan kedekatan terhadap ”bahasa manusia”. Setiap intruksi assembly diterjemahkan dengan menggunakan assembler. Sebagai contoh adalah : JAVA. 1.NET.1 Pendahuluan Bahasa pemrograman adalah teknik komunikasi standar untuk mengekspresikan instruksi kepada komputer. Disebut juga dengan bahasa assembly merupakan bahasa dengan pemetaan satu – persatu terhadap instruksi komputer.3. Matlab. Bahasa Pemrograman Tingkat Menengah Dimana penggunaan instruksi telah mendekati bahasa sehari – hari. 1. C++. menengah. Bahasa Pemrograman Tingkat Tinggi Merupakan bahasa tingkat tinggi yang mempunyai ciri-ciri mudah dimengerti karena kedekatannya terhadap bahasa sehari – hari. dan tingkat tinggi. diciptakan compiler. 2. Jurusan Teknik Sipil Fakultas Teknik UMY 6 . Dengan tujuan inilah.

Pemrograman komputer mempersyaratkan untuk mendefiniskan program terlebih dahulu sebelum membuat suatu penyelesaian masalah. Mendefiniskan masalah 2. namun mengikuti perencanaan dan metodologi yang terstruktur yang memisahkan proses suatu aplikasi menjadi beberapa bagian. Sebelum sebuah program dapat terdesain dengan baik untuk menyelesaikan beberapa permasalahan. masalah – masalah yang terjadi harus dapat diketahui dan terdefinisi dengan baik untuk mendapatkan detail persyaratan input dan output.4 ALUR PEMBUATAN PROGRAM Seorang programmer tidak melakukan pembuatan dan pengkodean program secara begitu saja. Sebuah pendefinisan yang jelas adalah sebagian dari penyelesaian masalah. Masalah yang akan kita selesaikan akan didefinisikan pada bagian selanjutnya. Pengkodean.1 Definisi Permasalahan Seorang programmer umumnya mendapatkan tugas berdasarkan sebuah permasalahan. Mari kita definisikan sebuah contoh permasalahan : ”Buatlah sebuah program yang akan menampilkan berapa kali sebuah nama tampil pada sebuah daftar” Jurusan Teknik Sipil Fakultas Teknik UMY 7 .Dasar Pemrograman Komputer 1. Berikut ini langkah – langkah sistematis dasar dalam menyelesaikan permasalahan pemrograman : 1. Desain Algoritma dan Representasi 4. Menganalisa dan membuat rumusan pemecahan masalah 3.4. Uji Coba dan pembuatan dokumentasi Untuk memahami langkah dasar dalam pemecahan masalah dalam sebuah komputer mari kita mendefinisikan sebuah permasalahan yang akan diselesaikan langkah demi langkah sebagaimana metodologi pemecahan masalah yang akan dibahas selanjutnya. 1. Proses yang sistematis ini harus dilakukan untuk mendapatkan hasil yaitu program sesuai dengan yang diinginkan.

Langkah – langkah dalam algoritma harus logis dan bernilai benar atau salah. Algoritma dapat diekpresikan dalam bahasa manusia. Berdasarkan permasalahan yang terjadi pada bagian sebelumnya. a. Umumnya. langkah selanjutnya yaitu membuat rumusan algoritma untuk menyelesaikan permasalahan. menggunakan presentasi grafik melalui sebuah FlowChart (diagram alir) ataupun melalui PseudoCode yang menjembatani antara bahasa manusia dengan bahasa pemrograman. langkah paling ringkas dan efisien dalam penyelesaian harus dirumuskan.2 Analisis Permasalahan Setelah sebuah permasalahan terdefinisi secara memadai. Mengekspresikan cara penyelesaian melalui bahasa manusia : 1. langkah berikutnya meliputi memecahkan masalah tersebut menjadi beberapa bagian kecil dan ringkas. Algoritma adalah urutan langkah – langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Contoh masalah : Menampilkan jumlah kemunculan sebuah nama pada daftar Input Terhadap Program : Daftar Nama. Tentukan daftar nama 2. Nama yang akan dicari Output Dari Program : Jumlah kemunculan nama yang dicari 1.4. bagaimanakah kita dapat memberikan solusi penyelesaian secara umum dalam sebuah alur yang dapat dengan mudah dimengerti? Berikut ini adalah cara-cara penyelesaian masalah melalui pembuatan program komputer yang umum dilakukan oleh seorang programmer. Dalam pemrograman komputer penyelesaian masalah didefinisikan dalam langkah demi langkah. Tentukan nama yang akan dicari.4.3 Desain Algoritma dan Representasi Setelah kita mengetahui dengan baik dan jelas mengenai permasalahan yang ingin diselesaikan. anggaplah ini merupakan sebuah kata kunci Jurusan Teknik Sipil Fakultas Teknik UMY 8 .Dasar Pemrograman Komputer 1. Logis merupakan kunci dari sebuah algoritma.

Jika seluruh nama telah dibandingkan. Mengekspresikan cara penyelesaian melalui Diagram alir (FlowChart): Gambar 1.Dasar Pemrograman Komputer 3. Jurusan Teknik Sipil Fakultas Teknik UMY 9 . tambahkan nilai 1 pada hasil perhitungan 5. Bandingkan kata kunci terhadap setiap nama yang terdapat pada daftar 4. tampilkan hasil perhitungan (output) b.1 Simbol Flowchart dan Artinya Flowchart adalah representasi grafis dari langkah – langkah yang harus diikuti dalam menyelesaikan suatu permasalahan yang terdiri atas sekumpulan simbol.2: Contoh Flowchart Mengekspresikan solusi melalui Pseudocode : listNama = Daftar Nama keyNama = Nama yang dicari hitung = 0 Untuk setiap nama pada Daftar Nama lakukan : Jika nama == keyNama Hitung = Hitung + 1 Tampilkan Hitung 1.4. Jika kata kunci tersebut sama dengan nama yang terdapat pada daftar.3.

Simbol-simbol untuk Flowchart Jurusan Teknik Sipil Fakultas Teknik UMY 10 . Sebuah flowchart pada umumnya tidak menampilkan instruksi bahasa pemrograman. Flowchart diawali dengan penerimaan input dan diakhiri dengan penampilan output.Dasar Pemrograman Komputer dimana masing – masing simbol merepresentasikan kegiatan tertentu. nama. namun menetapkan konsep solusi dalam bahasa manusia ataupun notasi matematis. dan kegiatan yang diwakili serta aturan yang diterapkan dalam penggunaan simbol tersebut. Tabel 1.2 ditunjukkan simbol – simbol yang digunakan dalam menyusun flowchart. Pada tabel 1.2.

maka proses pengkodean dapat dimulai.4. Menggunakan algoritma sebagai pedoman. maka kode program dapat ditulis sesuai bahasa pemrograman yang dipilih. Jurusan Teknik Sipil Fakultas Teknik UMY 11 .4 Pengkodean. Uji Coba dan Pembuatan Dokumentasi Setelah membentuk algoritma.Dasar Pemrograman Komputer 1.

Pada kasus tersebut compiler tidak cukup cerdas untuk menangkap kesalahan tipe ini pada saat proses kompilasi. Yang pertama adalah compile-time error. Cara penyajiannya tergantung pada Basis (BASE) bilangan tersebut.) pada akhir sebuah pernyataan program atau kesalahan ejaan pada beberapa perintah dapat disebut juga sebagai compile – time error. disebut juga sebagai bugs. dan yang kedua adalah runtime error. Sehingga saat program dijalankan. kemudian memperbaiki implementasi kode program yang mungkin keliru. Tipe kesalahan ini disebut dengan runtime error.Dasar Pemrograman Komputer Setelah menyelesaikan seluruh kode program. kita juga perlu membuat suatu dokumentasi dari program yang dibuat. Jurusan Teknik Sipil Fakultas Teknik UMY 12 . bagian yang sama pada kode tereksekusi berulang – ulang tanpa akhir. Umumnya kesalahan yang terjadi adalah kesalahan logika seperti perulangan tak berakhir. maka kita perlu untuk mengkaji ulang rumusan / algoritma yang telah dibuat. Compile-time errors muncul jika terdapat kesalahan penulisan kode program.5 SISTEM NUMERIK DAN KONVERSI Bilangan dapat disajikan dalam beberapa cara. Contoh lain dari run-time errors adalah perhitungan atas nilai yang salah. Compiler tidaklah sempurna sehingga tidak dapat mengidentifikasi seluruh kemungkinan kesalahan pada waktu kompilasi. Proses ini disebut dengan debugging. aplikasi atau bahkan keseluruhan komputer mengalami hang karena mengalami proses perulangan yang tidak berakhir. 1. Untuk memudahkan dalam memeriksa suatu kesalahan suatu program ataupun memahami jalannya program. algoritma. penulisan kode pada program terlihat tanpa kesalahan. Dokumentasi tersebut berisi informasi mulai dari tujuan dan fungsi program. Compiler akan mendeteksi kesalahan yang terjadi sehingga kode tersebut tidak akan bisa dikompilasi. Terdapat 4 cara utama dalam penyajian bilangan. Terdapat dua tipe kesalahan (errors) yang akan dihadapi seorang programmer. serta cara penggunaannya. Sebagai contoh. langkah selanjutnya yaitu menguji program tersebut apakah telah berfungsi sesuai tujuannya untuk memberikan suatu solusi untuk menyelesaikan suatu masalah. Terlupakannya penulisan semi-colon (. kesalahan penetapan kondisi dan lain sebagainya. Bilamana terjadi kesalahan – kesalahan logika atas program. namun pada saat anda menelusuri struktur logika kode tersebut.

5.5. Berikut ini contoh penulisan dari bilangan oktal : 1768 138 1.1 Sistem Bilangan Desimal Manusia umumnya menggunakan bilangan pada bentuk desimal.5. atau a – f karena perbedaan kapital huruf tidak memiliki efek apapun. Ini menyatakan bahwa bilangan yang terdapat dalam sistem ini hanya 0 dan 1.Dasar Pemrograman Komputer 1. dan menggunaan huruf A – F. Bilangan heksadesimal dan perbandingannya terhadap desimal Jurusan Teknik Sipil Fakultas Teknik UMY 13 . Hal ini berarti bilangan – bilangan yang diperbolehkan hanya berkisar antara 0 – 7. Berikut ini contoh penulisan bilangan pada sistem heksadesimal : 7E16 B16 Tabel 1.3 Sistem Bilangan Oktal Bilangan dalam bentuk oktal adalah sistem bilangan yang berbasis 8.5. Sistem ini hanya memperbolehkan penggunaan bilangan dalam skala 0 – 9.2 Sistem Bilangan Biner Bilangan dalam bentuk biner adalah bilangan berbasis 2. Bilangan desimal adalah sistem bilangan yang berbasis 10. Berikut ini beberapa contoh bilangan dalam bentuk desimal : 12610 (umumnya hanya ditulis 126) 1110 (umumnya hanya ditulis 11) 1.3.4 Sistem Bilangan Heksadesimal Bilangan dalam sistem heksadesimal adalah sistem bilangan berbasis 16. Berikut ini contoh penulisan dari bilangan biner : 11111102 10112 1. Hal ini berarti bilangan – bilangan pada sistem ini terdiri dari 0 sampai dengan 9.

Sebagai Contoh : 12610 = ? 2 Dengan menuliskan nilai sisa mulai dari bawah ke atas. Contoh Konversi Antar Sistem Bilangan 1.5. Sebagai Contoh : 110011012 = ? 10 Jurusan Teknik Sipil Fakultas Teknik UMY 14 . Kemudian susun nilai – nilai sisa dimulai dari nilai sisa terakhir sehingga diperoleh bentuk biner dari angka bilangan tersebut. Konversi bilangan biner ke desimal didapatkan dengan menjumlahkan perkalian semua bit biner dengan perpangkatan 2 sesuai dengan posisi bit tersebut.5.Dasar Pemrograman Komputer Berikut adalah perbandingan keseluruhan sistem penulisan bilangan: Tabel 1.4.5 Konversi 1. Ambil hasil bagi dari proses pembagian sebelumnya.5. dan bagi kembali bilangan tersebut dengan angka 2.1 Desimal ke Biner / Biner ke Desimal Untuk mengubah angka desimal menjadi angka biner digunakan metode pembagian dengan angka 2 sambil memperhatikan sisanya. Ulangi langkah – langkah tersebut hingga hasil bagi akhir bernilai 0 atau 1. didapatkan angka biner 11111102.

Dasar Pemrograman Komputer Angka desimal 205 diperoleh dari penjumlahan angka yang di arsir. Jika sistem Biner menggunakan basis 2.5. Perbedaannya terletak pada bilangan pembagi. Contoh konversi Oktal : 12610 = ? 8 Dengan menuliskan nilai sisa dari bawah ke atas. maka pada bilangan Oktal. 1. maka pada konversi oktal pembaginya adalah angka 8. kita peroleh bilangan oktal 1768 Contoh konversi Heksadesimal : 12610 = ? 16 Dengan menuliskan nilai sisa dari bawah ke atas. Setiap biner yang bernilai 1 akan mengalami perhitungan.2 Desimal ke Oktal/Heksadesimal dan Oktal/Heksadesimal ke Desimal Pengubahan bilangan desimal ke bilangan oktal atau bilangan heksadesimal pada dasarnya sama dengan konversi bilangan desimal ke biner. sedangkan yang bernilai 0 tidak akan dihitung karena hanya akan menghasilkan nilai 0. basis yang digunakan adalah 8 dan pada bilangan Heksadesimal adalah angka 16. Perbedaanya hanya terdapat pada penggunaan angka basis. Jika pada konversi biner pembaginya adalah angka 2. kita peroleh bilangan Heksadesimal7E16 Konversi bilangan Oktal dan Heksadesimal sama dengan konversi bilangan Biner ke Desimal. sedangkan pada konversi heksadesimal pembaginya adalah 16. Contoh konversi Oktal : 1768 = ? 10 Jurusan Teknik Sipil Fakultas Teknik UMY 15 .5.

Bilangan octal dan perbandingannya dalam sistem biner Sebagai contoh : 11111102 = ? 8 Jurusan Teknik Sipil Fakultas Teknik UMY 16 .5.Dasar Pemrograman Komputer Contoh konversi Heksadesimal : 7E16 = ? 10 1.5.3 Biner ke Oktal dan Oktal ke Biner Untuk mengubah bilangan biner ke oktal. kita pilah bilangan tersebut menjadi 3 bit bilangan biner dari kanan ke kiri. Tabel 1.5.5 menunjukkan representasi bilangan biner terhadap bilangan oktal : Tabel 1.

Bilangan heksadesimal dan konversinya dalam biner Jurusan Teknik Sipil Fakultas Teknik UMY 17 .6. Sebagai contoh : 1768 = ? 2 1.4 Biner ke Heksadesimal dan Heksadesimal ke Biner Pengubahan bilangan Biner ke Heksadesimal dilakukan dengan pengelompokan setiap empat bit Biner dimulai dari bit paling kanan. Tabel 1. Kemudian konversikan setiap kelompok menjadi satu digit Heksadesimal. Dalam hal ini masing – masing digit bilangan oktal diubah langsung menjadi bilangan biner dalam kelompok tiga bit. kemudian merangkai kelompok bit tersebut sesuai urutan semula.5.6 menunjukkan representasi bilangan Biner terhadap digit Heksadesimal : Tabel 1.5.Dasar Pemrograman Komputer Mengubah sistem bilangan oktal menjadi bilangan biner dilakukan dengan cara kebalikan dari konversi biner ke oktal.

Satu digit Heksadesimal dikonversi menjadi 4 bit Biner.Dasar Pemrograman Komputer Sebagai contoh : 11111102 = ? 16 Konversi bilangan Heksadesimal ke Biner dilakukan dengan membalik urutan dari proses pengubahan Biner ke Heksadesimal. Sebagai contoh : 7E16 = ? 2 Jurusan Teknik Sipil Fakultas Teknik UMY 18 .

1. ulangi ambil air. harus diperinci). dan Output yang sangat lazim dalam dunia pemrograman prosedural.1 Algoritma Algoritma adalah serangkaian langkah-langkah yang tepat. Dalam bab ini akan dibahas hal-hal yang menjadi dasar dalam pemrograman prosedural. Langkah yang tidak memberikan hasil yang benar untuk domain masalah yang diberikan bukanlah sebuah algoritma. Proses. Variabel 5. Program utama 2. Struktur Data 7. Ekspresi. serta konsep Input. Tipe 3. Langkah yang terperinci artinya setiap langkah diberikan secara detail dan dapat dieksekusi oleh komputer. Konstanta 4.2 Konstruktor (elemen) Pemrograman Prosedural Konstruktor (elemen) bahasa pemrograman prosedural yang penting di antaranya adalah: 1. Langkah yang tepat artinya serangkaian langkah tersebut selalu benar untuk menyelesaikan masalah yang diberikan. masukkan ke bak mandi.Dasar Pemrograman Komputer 1. Program Moduler Jurusan Teknik Sipil Fakultas Teknik UMY 19 . namun langkah ambil air. karena “sedikit” tidak menyatakan sesuatu yang tepat. Instruksi dasar 8.6. maka bisa disebut algoritma. artinya suatu saat langkah harus berhenti. dan operand 6. masukkan ke bak mandi. terperinci.6 PEMROGRAMAN PROSEDURAL Pemrograman dalam paradigma prosedural dilakukan dengan memberikan serangkaian perintah yang berurutan. operator. masukkan ke bak mandi. meliputi definisi algoritma dan konstruktor pemrograman prosedural.6. ulangi ambil air sampai bak mandi penuh”. jika langkah tidak pernah berhenti (misalnya: “ambil air. 1. Langkah yang diberikan harus terbatas. instruksi seperti “angkat sedikit ke kiri” merupakan contoh instruksi yang tidak tepat. dan seterusnya”) maka serangkaian langkah itu tidak disebut sebagai algoritma (jika: “ambil air. dan terbatas untuk menyelesaikan suatu masalah.

Rekurens Konstruktor ini tidak untuk dipelajari secara berurutan. dan Output Sekumpulan aksi dalam pemrograman prosedural bisa dibagi menjadi tiga bagian penting yaitu: input.6. dan output dikerjakan secara sekuensial. 1. dan dalam setiap bagian mungkin akan ada input. proses. Bagian input. Proses. dan output.3 Input. Jurusan Teknik Sipil Fakultas Teknik UMY 20 . dan output.Dasar Pemrograman Komputer 9. namun semua perlu dipelajari dan dimengerti untuk dapat membuat program dengan baik. File eksternal 10. proses. proses.

Dasar Pemrograman Komputer Bab 2 PENGENALAN MATLAB 2. Matlab hadir dengan membawa warna yang berbeda. statistik. visualisasi dan pemrograman seperti komputasi matematik.1 Bagian-bagian Jendela Matlab a. analisis data. Current Directory Jendela (window) ini menampilkan isi dari direktori kerja saat menggunakan matlab. mendeklarasikan variable. Basic maupun C++. yang pada awalnya dibuat untuk memberikan kemudahan mengakses data matrik pada proyek LINPACK dan EISPACK. Matlab merupakan bahasa pemrograman aras tinggi yang dikhususkan untuk kebutuhan komputasi teknis. software yang dibuat dengan menggunakan bahasa ini dibuat oleh The Mathworks. dan visualisasi. serta melihat isi variable. Hal ini karena matlab membawa keistimewaan dalam fungsi-fungsi matematika. c. Command Windows Jendela ini adalah jendela utama dari Matlab.1 PENDAHULUAN Matlab adalah singkatan dari Matrix Laboratory. fisika. menjalankan proses-proses . Jurusan Teknik Sipil Fakultas Teknik UMY 21 . Command History Jendela ini berfungsi untuk menyimpan perintah-perintah apa saja yang sebelumnya dilakukan oleh pengguna terhadap matlab. Di sini adalah tempat untuk menjalankan fungsi.2. Saat ini matlab memiliki ratusan fungsi yang dapat digunakan sebagai problem solver mulai dari simple sampai masalah-masalah yang kompleks dari berbagai disiplin ilmu.2 LINGKUNGAN KERJA MATLAB 2. b. Default dari alamat direktori berada dalam folder works tempat program files Matlab berada. pengembangan algoritma.inc dan telah memasuki versi 8 Rilis 16. Matlab dikembangkan oleh MathWorks. Kita dapat mengganti direktori ini sesuai dengan tempat direktori kerja yang diinginkan. 2. simulasi dan pemodelan dan grafik-grafik perhitungan. Matlab merupakan bahasa pemrograman yang hadir dengan fungsi dan karakteristik yang berbeda dengan bahasa pemrograman lain yang sudah ada lebih dahulu seperti Delphi.

Ciri dari window ini adalah adanya prompt (>>) yang menyatakan matlab siap menerima perintah.Dasar Pemrograman Komputer d. Matlab secara otomatis akan menampilkan jendela “array editor” yang berisikan data pada setiap variabel yang dipilih pengguna. debugger atau fungsi. : Digunakan untuk melihat direktori yang sedang aktif mkdir : Digunakan untuk membuat sebuah direktori what who : Digunakan untuk melihat nama file m dalam direktori aktif : Digunakan untuk melihat variabel yang sedang aktif 22 Jurusan Teknik Sipil Fakultas Teknik UMY . Berikut ini beberapa fungsi pengaturan file dalam MATLAB : dir/ls : Digunakan untuk melihat isi dari sebuah direktori aktif. Workspace Workspace berfungsi untuk menampilkan seluruh variabel-variabel yang sedang aktif pada saat pemakaian matlab. Perintah dapat berupa fungsi-fungsi pengaturan file (seperti perintah DOS/UNIX) maupun fungsi-fungsi bawaan/toolbox MATLAB sendiri.0 Command windows juga digunakan untuk memanggil tool Matlab seperti editor.0 Gambar 2. Gambar berikut menampilkan tampilan antar muka dari matlab versi 7. Apabila variabel berupa data matriks berukuran besar maka user dapat melihat isi dari seluruh data dengan melakukan double klik pada variabel tersebut. cd pwd : Digunakan untuk melakukan perpindahan dari direktori aktif.1 Tampilan antar muka Matlab versi 7.

Contoh pembuatan variabel pada matlab: Jurusan Teknik Sipil Fakultas Teknik UMY 23 . User dapat langsung menuliskan variabel baru tanpa harus mendeklarasikannya terlebih dahulu pada command window.2 Getting Help Matlab menyediakan fungsi help yang tidak berisikan tutorial lengkap mengenai Matlab dan segala keunggulannya. Matlab juga menyediakan fungsi demos yang berisikan video tutorial matlab serta contoh-contoh program yang bisa dibuat dengan Matlab.2. Inc. 2.Dasar Pemrograman Komputer whos : Digunakan untuk menampilkan nama setiap variabel delete : Digunakan untuk menghapus file clear : Digunakan untuk menghapus variabel clc doc : Digunakan untuk membersihkan layar : Digunakan untuk melihat dokumentasi The MathWorks.2. 2. Apabila terdapat variabel lama dengan nama yang sama maka matlab secara otomatis akan me-replace variabel lama tersebut dengan variabel baru yang dibuat user.3 Variabel pada Matlab Matlab hanya memiliki dua jenis tipe data yaitu Numeric dan String. demo : Digunakan untuk mencoba beberapa tampilan demo yang disediakan oleh Matlab 2.3 Interupting dan Terminating dalam Matlab Untuk menghentikan proses yang sedang berjalan pada matlab dapat dilakukan dengan menekan tombol Ctrl-C. Dalam matlab setiap variabel akan disimpan dalam bentuk matrik. Penamaan variabel pada matlab bersifat caseSensitif karena itu perlu diperhatikan penggunaan huruf besar dan kecil pada penamaan variabel. dalam format html secara online. Sedangkan untuk keluar dari matlab dapat dilakukan dengan menuliskan perintah exit atau quit pada comamnd window atau dengan menekan menu exit pada bagian menu file dari menu bar. User dapat menjalankan fungsi ini dengan menekan tombol pada toolbar atau menulis perintah ‘helpwin’ pada command window.

Untuk membuat variabel dengan data yang terdiri beberapa baris. setiap isi data harus dimulai dari kurung siku ‘[‘ dan diakhiri dengan kurung siku tutup ‘]’.3. gunakan tanda ‘titik koma’ (.) untuk memisahkan data tiap barisnya. Contoh pembuatan data matriks pada matlab: Matlab menyediakan beberapa fungsi yang dapat digunakan untuk menghasilkan bentuk-bentuk matriks yang diinginkan.1 Matriks Dapat diasumsikan bahwa didalam matlab setiap data akan disimpan dalam bentuk matriks.Dasar Pemrograman Komputer 2. di antaranya: • zeros : untuk membuat matriks yang semua datanya bernilai 0 • ones : matriks yang semua datanya bernilai 1 • rand : matriks dengan data random dengan menggunakan distribusi uniform • randn : matris dengan data random dengan menggunakan distribusi normal • eye : untuk menghasilkan matriks identitas Jurusan Teknik Sipil Fakultas Teknik UMY 24 . Dalam membuat suatu data matriks pada matlab.

Contoh penggunaan: c(2:5) = memanggil data matrik baris 2 sampai baris 5 a(1.2.3) dapat disingkat dengan menggunakan tanda titik dua ‘:’ sehingga menjadi a(1:2).Dasar Pemrograman Komputer Contoh penggunaan fungsi-fungsi diatas: Untuk pemanggilan data berurutan seperti a(1.3) = memanggil data matriks pada kolom ketiga Jurusan Teknik Sipil Fakultas Teknik UMY 25 .:) = memanggil data matriks pada baris pertama b(:. Penggunaan tanda titik dua ‘:’ juga dapat digunakan untuk memanggil data matriks perbaris atau perkolom.

6. atau mengetikkan nama M-File yang kita buat pada Jurusan Teknik Sipil Fakultas Teknik UMY 26 . 0 jika x=0 dan 1 jika x>1 Bentuk Aljabar XxY X:Y X+Y X–Y XY Bentuk Matlab X*Y X/Y X+Y X–Y X^Y Contoh 7*2 9/2 3+5 8–4 3^5 • exp(x) : untuk menghasilkan nilai eksponensian natural.Dasar Pemrograman Komputer 2. M-File Di dalam Matlab.m. x e • log(x) : untuk menghasilkan nilai logaritma natural x. Di dalam M-File. Contoh gambar M-File (lembar kerja Matlab) diberikan pada Gambar 2. M-File dapat dipanggil dengan memilih menu file->new->M-File. kita dapat menyimpan semua script yang akan digunakan dalam file pada Matlab dengan ekstensi . Operator Beberapa penggunaan operator aritmatika antara dua operand (A dan B) ditunjukkan pada tabel berikut ini: Operasi Perkalian Pembagian Penjumlahan Pengurangan Eksponensial 2.5. Fungsi Matematika lainnya Beberapa fungsi matematika lainnya yang dapat kita gunakan untuk operasi matematika antara lain: • abs(x) : fungsi untuk menghasilkan nilai absolut dari x • sign(x) : fungsi untuk menghasilkan nilai -1 jika x<0.2.4. x • rem(x.y) : untuk menghasilkan nilai modulus (sisa pembagian) x terhadap y 2. ln x • log10(x) : untuk menghasilkan nilai logaritma dengan basis 10. x 10 log • sqrt(x) : untuk menghasilkan akar dari nilai x. kita dapat menyimpan semua perintah dan menjalankannya dengan menekan tombol command window.

d. Bentuk penulisan nama fungsi Contoh penggunaan: fungsi yang akan dibuat bernama ‘testfungsi’ memiliki tiga nilai masukan ‘c. Jurusan Teknik Sipil Fakultas Teknik UMY 27 .6.Dasar Pemrograman Komputer Gambar 2.e’ dan dua nilai keluaran ‘a.2 Tampilan lembar kerja Matlab (M-File) 2.25.b’: Selanjutnya Fungsi tersebut akan dijalankan melalui command window dengan nilai masukan ’15. Perhatikan penulisan kurung siku ‘[ ]’ pada nilai keluaran dan kurung biasa ‘( )’ pada nilai masukan. kita dapat menuliskan fungsi-fungsi yang berisikan berbagai operasi sehingga menghasilkan data yang diinginkan.3’.1 Fungsi Di dalam M File.

6. end Ekspresi akan bernilai 1 jika benar dan bernilai 0 jika salah.Dasar Pemrograman Komputer 2.2 Flow Control Matlab memiliki empat macam statement yang dapat digunakan untuk mengatur aliran data pada fungsi yang akan dibuat. Contoh penggunaan: Funsi disp digunakan untuk menampilkan pesan pada command window. else statements3. If. Fungsi tersebut setelah dijalankan melalui command window: Jurusan Teknik Sipil Fakultas Teknik UMY 28 . a. Elseif Bentuk dasar penggunaan statement jenis ini adalah sebagai berikut: if ekspresi1 statements1. elseif ekspresi2 statements2. Else.

. Bentuk dasar penggunaan while adalah while ekspresi statements . end Contoh penggunaan Jurusan Teknik Sipil Fakultas Teknik UMY 29 . otherwise statementN end Contoh penggunaan: c......Dasar Pemrograman Komputer b. while Statement while digunakan untuk aliran data yang bersifat perulangan. Switch Bentuk dasar penggunaan statement switch switch switch_ekspresi case case_ekspresi1 statement1 case case_ekspresi2 statement2 . .

. statement end Default dari nilai increment (penambahan nilai setiap perulangan) jika tidak ditentukan oleh user adalah 1. for Bentuk dasar penggunaan bentuk for: for index = start:increment:stop statement .. Jurusan Teknik Sipil Fakultas Teknik UMY 30 .. .Dasar Pemrograman Komputer Hasil setelah dijalankan d..

5 Operator Berikut ini adalah jenis-jenis operator pada matlab yang dapat digunakan untuk operasi ekspresi pada statement yang membutuhkan perbandingan seperti if atau while.2. Operator X<Y X>Y X <= Y X >= Y X == Y X ~= Y Keterangan X lebih kecil dari Y X lebih besar dari Y X lebih kecil atau sama dengan Y X lebih besar atau sama dengan Y X sama dengan Y X tidak sama dengan Y 2.Dasar Pemrograman Komputer Contoh fungsi : Hasil setelah fungsi dijalankan 2.25. Jurusan Teknik Sipil Fakultas Teknik UMY 31 . y = 15. z = 8.6 Contoh Penyelesaian Masalah Contoh 1: Persamaan fungsi Tentukan nilai fungsi dibawah ini dengan nilai-nilai t = 25 . x = 43.

25.4518e+003 N=exp(2*x)+x N = 2.762.3169 Jurusan Teknik Sipil Fakultas Teknik UMY 32 . v=4/3*pi*(re^3-ri^3).6223e-023 Contoh 2 : Penentuan volume silinder berlubang Sebuah silinder mempunyai diameter luar 6.2175 P=4*(exp(-x/2))*sin(pi*x) P = 1.3125.3125 dan diameter dalam 5.2352e+037 O=sqrt((1/(x+y))+(1/(t+z))) O = 0.Dasar Pemrograman Komputer Untuk penyelesaian di atas adalah sbb: Pertama kita buat dulu variable-variabelnya t=25.2. tentukan volumenya bila diketahui rumus untuk mencari volumenya: Dimana RE adalah diameter luar dan RI adalah diameter dalam Penyelesaian : re=6.762 .x=43.num2str(v)]) Volume = 252.y=15. Lalu masukkan nilai tersebut ke masing-masing fungsinya M=4*x^2+3*y+10 M = 7.z=8. disp(['Volume = '.ri=5.

Untuk mengatasi masalah ini matlab menyediakan operasi pada array data. tidak mungkin kita menghitung semua titik yang kita perlukan secara satu persatu.1 PENDAHULUAN Variabel dengan tipe data tunggal (skalar) hanya dapat digunakan untuk menyimpan sebuah nilai saja.2194 -0. Variabel array dapat digunakan untuk menampung data-data sejenis (numeric atau string). 3. Namun jika dalam sesaat kita ingin melakuakan operasi yang sama pada beberapa bilangan.9802 Columns 9 through 10 0. Semua komputasi yang dikerjakan sejauh ini hanya melibatkan bilangan tunggal yang disebut skalar. sehingga untuk menyimpan beberapa nilai sekaligus dalam suatu variable khusus dibutuhkan variable array atau variable berindeks.Dasar Pemrograman Komputer Bab 3 OPERASI ARRAY 3.9939 -0.2 ARRAY SEDERHANA Perhatikan masalah saat kita diharuskan untuk menggambar grafik dengan fungsi y = sin(x) . 0 ≤ x ≤ π . Opeasi skalar memang merupakan dasar matematika.x merupakan variabel yang menampung array . Sintaks sederhana untuk menunjukan semua titik tersebut adalah >> x=0:20:180 x = 0 20 40 60 80 100 120 140 160 180 >> y=sin(x) y = Columns 1 through 8 0 0.9129 0.3048 -0.5064 0.0 merupakan batas bawah dari array 0.8012 Pada tulisan x=0:10:180 dimaksudkan dengan : . perulangan operasi skalar akan menghabiskan waktu dan tentu saja tidak praktis.7451 -0.5806 Jurusan Teknik Sipil Fakultas Teknik UMY 33 .

gabuangan dari array merupakan sebuah matriks.9939. 3.Dasar Pemrograman Komputer . Contoh: > A=[1 2 3.7 8 9] A = 1 2 3 4 5 6 7 8 9 Jurusan Teknik Sipil Fakultas Teknik UMY 34 .y merupakan variabel array yang menampung perhitungan dengan sin x dimana x dari 0 sampai 180 dengan interval 10 Jika kita hanya membutuhkan nilai dari interval tertentu maka kita bisa menuliskannya dengan sintaks: >> x(4) % elemen array ke 4 ans = 60 Maksudnya adalah nilai dari x yang ke empat dari array x adalah 60 >> y(5) % nilai array ke 5 ans = -0. sekarang kita akan menuliskan bagaimana menuliskan array dalam n dimensi.3 ARRAY N DIMENSI Array yang kita bahas diatas merupakan array 1 dimensi. Kita juga bisa menuliskan nilai array tertentu dengan menunjukan indeksnya contoh: >> x(2:4) ans = 20 40 60 maksudnya adalah semua nilai dengan indeks 2 sampai dengan 4 pada array x .4 5 6.180 merupakan batas atas dari array Pada tulisan y=sin(x) dimaksudkan dengan : .9939 maksudnya adalah nilai array y yang ke 5 adalah -0. 2:4 berarti menghitung dari 2 sampai 5.10 merupakan selang atau interval .

:)=0 B = 7 8 0 0 0 0 1 2 3 Untuk membuat transpose dari matriks B kita gunakan sintaks: >> E=B' E = 7 0 1 8 0 2 0 0 3 Jurusan Teknik Sipil Fakultas Teknik UMY 35 .3 menjadi 0. Menciptakan matriks B dengan urutan baris A yang dibalik >> B=A(3:-1:1.3)=0 A = 1 2 3 4 5 6 7 8 0 maksudnya mengganti elemen 3. Untuk mengetahui jumlah array kita gunakan sintaks size: contoh: >> size(A) ans = 3 3 maksudnya matriks A merupakan matriks 3 x 3.:) B = 7 8 0 4 5 6 1 2 3 mengganti semua elemen baris ke 2 dari matriks B dengan 0 maka sintaksnya: >> B(2.Dasar Pemrograman Komputer merupakan matriks dengan 3 kolom dengan 3 baris dalam array kita juga bisa memanipulasi elemen elemen yang ada dalam array tersebut contohnya: >> A(3.

solusi dari MATLAB adalah : >> initial_amount=10. >> plot(time/7.5.4 CONTOH APLIKASI ARRAY Contoh 3. Data ini dengan mudah digambarkan dengan matlab. Jika dimiliki 10 gram polonium hari ini. yang berarti bahwa.Dasar Pemrograman Komputer sehingga bentuk dari perkalian manual yang ada dimatriks ada yang langusng digunakan pada sintaks matlab.amount_left) >> xlabel(‘Jumlah Minggu’).5786 Columns 9 through 10 7. berapa banyak yang tersisa pada akhir setiap minggu selama 10 minggu ? Penyelesaian : Menggunakan persamaan : Jumlah_tinggal = jumlah_semula*0. jumlah polonium yang tertinggal setelah 140 hari adalah setengah dari jumlah semula.5 waktu/waktu_paruh Untuk masalah ini.0125 8.6594 7.1225 7.1: Elemen radioaktif polonium mempunyai waktu paruh 140 hari.7055 8.ylabel(‘Jumlah Polonium tersisa’) hasilnya: 9. karena radoaktif meluruh.8458 Jurusan Teknik Sipil Fakultas Teknik UMY 36 .3303 9. >> half_life=140.0711 Dengan matematika array sangat mudah untuk mengevaluasi suatu ekspresi dengan banyak nilai untuk satu ariable. 3. >> time=7:7:70 %akhir dari 10 minggu pertama time = 7 14 21 28 35 42 49 56 63 70 >> amount_left=initial_amount*0.4090 8.^ digunakan karena kita ingin menghitung 0.^(time/half_life) amount_left Columns 1 through 8 9. Perhatikan bahwa pemangkatan titik .5 yang akan dipangkatkan dengan setiap elemen pada array eksponen.3204 7.

suku cadang tersebut dicelupkan ke air untuk pendinginan. Untuk memelihara kualitas./log(1+lost/100)) stem(lost.Dasar Pemrograman Komputer Gambar 3. Jika konsentrasi minimum adalah 50%.1 Hasil eksekusi contoh 3. kemudian dicelup dibak air asam untuk membersihkan. dan 1 % dari larutan terbuang saat suku cadang dikeluarkan. berapa banyak suku cadang dapat dicelupkan ke bak air asam sebelum keasaman larutan dalam bak berada di bawah batas minimum? Penyelesaian : %Script M file example. Dimulai dengan konsentrasi asam 90%. Setelah beberapa lama. konsentrasi larutan asam menurun karena air saat pencelupan bertambah dan larutan yang terbuang saat suku cadang tadi diambil dari bak.2: Perhitungan Konsentrasi dengan Matematika Array Sebagai bagian dari suatu proses pembuatan suku cadang di suatu proses pembuatan suku cadang di suatu pabrik otomatis. lost=1:10 % 1% sampai 10% dengan kenaikan 1% n=floor(log(initial_con/min_con). min_con=50. keasaman larutan asam tidak boleh kurang dari suatu batas minimum.m initial_con=90. Contoh 3. air yang bertambah ke bak asam adalah 1% dari volume bak.1.n) xlabel('Persentase yang hilang setiap kali pencelupan') Jurusan Teknik Sipil Fakultas Teknik UMY 37 .

2 Hasil eksekusi contoh 3.2. Jurusan Teknik Sipil Fakultas Teknik UMY 38 .Dasar Pemrograman Komputer ylabel('Jumlah Pencelupan') title('Contoh Pencelupan Bak Air-Asam') hasil : >> example lost 1 2 3 4 5 6 7 8 9 10 n = 59 29 19 14 12 10 8 7 6 6 Gambar 3.

dimana f adalah sembarang fungsi nonlinear x. Bentuk umum permasalahannya secara sederhana adalah menemukan sebuah nilai variabel x sedemikian sehingga f(x) = 0. plot(x.1: Gambarkan fungsi berikut: y=(x – 1) (x + 2) ( x – 3) .*((x + 2). sedangkan x merupakan solusi atau akar persamaan ini. y=((x + 1).y) xlabel('Sumbu x') ylabel('Sumbu y') 3 2 Running : >>gambar1 Jurusan Teknik Sipil Fakultas Teknik UMY 39 . 0 ≤ x ≤ 4 Penyelesaian: % Gambar1.^3).^2) .3). terlebih dahulu akan diulas sedikit tentang bagaimana menggambarkan sebuah fungsi.*( x .m x=0:0.Dasar Pemrograman Komputer Bab 4 AKAR-AKAR PERSAMAAN 4.1:4.1 PENDAHULUAN Permasalahan dalam penyelesaian persamaan nonlinear sering muncul pada berbagai persoalan praktis. Contoh 4. Sebelum membahas lebih jauh tentang akar-akar persamaan.

plot(x.y) xlabel('Sumbu x') ylabel('Sumbu y') Running : >>gambar2 Jurusan Teknik Sipil Fakultas Teknik UMY 40 .1:20. 0 ≤ x ≤ 4 3 2 Contoh 4.m x=0:0.*sin(10*x). 0 ≤ x ≤ 20 Penyelesaian: % Gambar2. y=exp(-x/10).1 Fungsi y=(x – 1) (x + 2) ( x – 3) .Dasar Pemrograman Komputer Gambar 4.2: Gambarkan fungsi berikut: y=exp(-x/10) sin(x).

tugas mencari akar akar merupakan pekerjaan yang cukup sulit apalagi ketika jumlah akar akarnya tidak diketahui atau mungkin tak terbatas banyak akarnya.2 METODA NEWTON Metoda ini merupakan solusi persamaan f(x) = 0 berdasarkan pada sifat geometri sederhana tangen. 0 ≤ x ≤ 20 Untuk persamaan non linear seperti diatas yang melibatkan fungsi transenden. Metode ini membutuhkan beberapa aprokimasi awal untuk turunan f(x)nya berada pada daerah yang diinginkan. 4. dapat ditulis : Jurusan Teknik Sipil Fakultas Teknik UMY 41 .Dasar Pemrograman Komputer Gambar 4.2 Hasil dari plot fungsi y=exp(-x/10) sin(x). (Lihat contoh 4.2) . Sebetulnya secara sederhana kita ias mencari titik di x yang berpotongan dengan sumbu y = 0 secara grafik( solusi grafik merupakan solusi juga) tapi itu masih terlalu kasar dan tidak terlalu akurat apalagi untuk fungsi fungsi yang tidak diketahui solusinya terletak di x berapa.

0*x-20. F=x.0*x.x. xo=x1. res=xo Kita coba mencari sebuah akar persamaan(x – 1) (x + 2) ( x – 3) = 0 untuk menggunkan metoda newton kita harus mendefinisikan fungsi dan turunannya sehingga : function F=f302(x).xo). F=2*x.0. xo=x.^3 – 10. Function F=f303(x). end. while abs(d)>tol x1=xo – d.xo).tol) % x adalah nilai awal. tol adalah akurasi yang diinginkan it=0.^2 + 29.xo)/feval(dfunc. d=feval(func. d=feval(func. it=it+1.^2-20*x+29.it]=fnewton(func.xo)/feval(dfunc. Maka kita panggil f newton tadi sebagai berikut : 3 2 Jurusan Teknik Sipil Fakultas Teknik UMY 42 .Dasar Pemrograman Komputer Coba akar1 Function[res.dfunc.

Jawab: function F=f307(x). xlabel('Sumbu X'). Variasi metode ini secara langsung tersedia pada matlab yaitu fzero.00005).7. Jurusan Teknik Sipil Fakultas Teknik UMY 43 .’f303’.root).^3. F=(exp(x)-cos(x)).grid on.it]=fnewton(‘f302’. 0.3 FUNGSI fZero Beberapa metoda di pencarian akar ini punya kelebihan dan kekurangannya. Misalnya untuk (ex – cos x)3 = 0 dengan toleransi 0.f307(x)).65. Metode Brent mengkombinasikan interpolasi kuadratik inversi dengan bisection untuk mendapatkan metode yang powerfull yang terbukti cukup sukses yang mempunyai jangkauan yang luas pada permasalahan yang cukup sulit.4f \n'.0:0.0000 it=6 Permasalahan yang sering muncul dalam mencari akar adalah : 1. Diskontinuitas pada persamaan yang dipecahkan 4.Dasar Pemrograman Komputer >>[x. root=fzero('f307'. Mencari aprokimasi awal yang baik 2. Memutuskan pada kriteria konvergensi yang paling cocok 4. plot(x. %file utama x=-4:.5.00005) x=5.ylabel('Sumbu Y').1.00005.. fprintf('Akar persamaan ini adalah %6. Fungsi berkondisi ‘sakit’ 3.

Dasar Pemrograman Komputer Gambar 4.3 Aplikasi fungsi fZero. Jurusan Teknik Sipil Fakultas Teknik UMY 44 .

c(2. q = q/(12*h^n). if ((n=1)|(n==2)|(n==3)|(n==4)) c=zeros(4.1 PENDAHULUAN Diferensial dan Integral merupakan operasi fundamental dalam kalkulus dan hampir setiap bidang matematika.:)=[0 -1 16 -30 16 -1 0]. 5.5 -12 19.n. c(1. Pembalikan dari proses ini akan menentukan integral fungsi. sains dan teknik.Dasar Pemrograman Komputer Bab 5 DIFERENSIASI DAN INTEGRASI NUMERIK 5. 5 4 2 Jurusan Teknik Sipil Fakultas Teknik UMY 45 .1: >> g=[1 2 5 7 3] g = 1 2 5 7 3 >> h=polyder(g) h = 4 6 10 7 Bentuk-bentuk deferensial lain juga bisa diperoleh apalag jika menggunakan symbolyc math toolbox. tapi lebih sering sulit jika secara analitik atau bahkan tidak mungkin.2 DIFERENSIASI NUMERIK function q=diffgen(func.:)=[-2 24 -78 112 -78 24 -2].7). q=c(n.x.:)=[ 0 1 -8 0 8 -1 0]. diferensial untuk fungsi polinom adalah relatif mudah. Tapi tidak setiap matlab dilengkapi dengan toolbox ini. y=feval(func. kita akan coba membuat sendiri penyelesaiannya dengan memanfaatkan deret Taylor.x+ [-3:3]*h). c(3. Dalam Matlab.:)=[1. Namun itu tidak masalah. Menentukan turunan fungsi secara analitik mungkin menyulitkan meskipun relatif langsung. Misalnya f(x) = x + 2x + 5x + 7x + 3 maka ambilah koefisien koefisiennya.h).5].5 12 -1. c(4.5 0 -19. Contoh 5.:)*y' .

01 maka dituliskan: >> hasil=diffgen('cos'.2.3624 Jika kita ingin menghitung sebuah diferensial disuatu titik maka kita harus mendefinisikan fungsinya terlebih dahulu.2 dengan h atau ketelitian 0. Banyak metode numerik untuk integrasi didasarkan pada impretasi untuk mendapatkan aprokimasi integralnya./((x-9)./(x-3). 1.. Kita akan mencoba menghitung integral dengan berbagai metoda numerik untuk menghitung integral fungsi Penyelesaian: Pertama kita buat dulu fungsi dari persamaan diatas function y=humps(x) y=1.17:2.break end Penggunaan fungsi diatas: Jika kita mempunya y = cos(x) dan kita akan menghitung turunan kedua dengan x = 1.01) hasil = -0. >> area=trapz(x. >> y=humps(x).3 INTEGRASI NUMERIK Integral biasanya didefinisikan sebagai proses penjumlahan tetapi juga diinterpretasikan sebagai daerah dibawah kurva y = f(x) dari a ke b daerah diatas x dihitung positif sementara dibawah x dihitung negatif.01)+1.2. Misalnya fungsi trapz berdasarkan impretasi bangunan trapesium.Dasar Pemrograman Komputer else disp('n harus 1. 2.1.04)-6. 5.^2+.^2+.y) Jurusan Teknik Sipil Fakultas Teknik UMY 46 . 3 atau 4 '). Mengitung menggunakan trapz >> x=-1:.

17:2. Fungsi kontinu pada daerah integral tetapi turunannya diskontinu atau singular.2104 Permasalahan yang mungkin muncul adalah : 1. >> y=humps(x). Fungsi diskontinue pada daerah integrasi.6475 2. Fungsi mempunyai singularitas pada daerah integrasi. 4. Jurusan Teknik Sipil Fakultas Teknik UMY 47 . 3. Menghitung menggunakan quad >> x=-1:. Daerah integrasi tak berhingga.Dasar Pemrograman Komputer area = -16. >> area=quad('humps'.-1. 2.2) area = -17.

perintah plot sering digunakan untuk menggambarkan grafik dua dimensi. Warna digunakan untuk mewakili dimensi keempat. maka kita dapat menggambar permukaan dan menempatkan bingkai pada grafik tersebut. 6. Jurusan Teknik Sipil Fakultas Teknik UMY 48 . Matlab menyediakan berbagai fungsi untuk menampilkan data secara grafis dua dimensi maupun tiga dimensi. x=pi/100:pi/100:10*pi.Dasar Pemrograman Komputer Bab 6 MEMBUAT GRAFIK 6. Perintah plot menggambarkan data dalam array pada sumbu yang bersesuaian dan menghubungkan titik-titik tersebut dengan garis lurus.y) grid on Hasil eksekusi program di atas dapat dilihat pada Gambar 6.2 GRAFIK DUA DIMENSI Sebagaimana telah disinggung pada bab-bab sebelumnya. y=sin(x). Sebagai contoh pertama grafik dua dimensi akan dibuat visualisasi dari fungsi y = sin(x) / x dengan nilai x berada pada rentang [π/100./x. Perintah ini didasarkan dari jumlah argumen variabel input.1. 10π]. Pada kasus di mana akan dibuat grafik dalam tiga dimensi. plot(x.1 PENDAHULUAN Pada pembahasan ini akan diuraikan penggunaan fasilitas grafis di Matlab. Fungsi dasar untuk membuat grafik dua dimensi di matlab adalah perintah plot. Untuk keterangan lebih lanjut mengenai fungsi plot dapat dilihat dengan mengetikkan help plot pada command windows.

.’r’) title([‘Plot Fungsi dengan Banyak Data n = ‘. Jurusan Teknik Sipil Fakultas Teknik UMY 49 .2.2.n10)./(1+x.1 Hasil eksekusi grafik y = sin(x) / x dengan rentang x [π/100.2. buatlah grafik dari fungsi f(x) = x/(1+x2).^2). y=x. Perintah Matlab yang biasa digunakan adalah subplot. subplot(2.num2str(n10)]) axis([-2. dengan nilai x dari –2 sampai 2 menggunakan jumlah data yang berbeda. k=k+1.8. for n=1:2:7 n10=10*n.y.Dasar Pemrograman Komputer Gambar 6.8]) xlabel(‘x’) ylabel(‘y’) grid end Hasil eksekusi program di atas dapat dilihat pada Gambar 6.k) plot(x. 10π] Selanjutnya akan diberikan contoh mengenai grafik yang berjumlah lebih dari satu dalam satu tampilan sekaligus. k=0.2. Sebagai contoh aplikasi subplot. x=linspace(-2.-.

Input dari perintah xlabel berupa string. dengan sintaks sebagai berikut: xlabel(‘string’) Fungsi ylabel digunakan untuk memberi label sumbu pada sumbu y. Fungsi title digunakan untuk memberi judul pada gambar. Pada contoh berikut akan diperagakan penggunaan function fill untuk membuat suatu objek.Dasar Pemrograman Komputer Gambar 6. Sintaks title adalah: title(‘string’) Fungsi xlabel digunakan untuk memberi label sumbu pada sumbu x. Perintah subplot dideklarasikan sebagai: Subplot(n.m. Fungsi subplot digunakan untuk membuat suatu gambar yang dapat memuat lebih dari satu gambar sekaligus. Subplot dinomori dari kiri ke kanan dimulai dari baris teratas. Input dari perintah ylabel berupa string.2 Hasil eksekusi grafik fungsi f(x) = x/(1+x2).i) Perintah tersebut membagi suatu gambar menjadi suatu matriks m x n area grafik dan i berfungsi sebagai indeks penomoran gambar. dengan sintaks sebagai berikut: ylabel(‘string’) Fungsi lain yang sering digunakan dalam grafik dua dimensi maupun grafik tiga dimensi adalah fungsi fill. Input dari perintah title berupa string. Jurusan Teknik Sipil Fakultas Teknik UMY 50 .

y. yaitu sumbu yang tegak lurus dengan bidang x-y. Gambar 6. Sebelum menggunakan perintah ini.Y]=meshgrid(x. fill(x.Dasar Pemrograman Komputer n=-6:6. ‘r’) axis(‘square’) title(‘Graph of the n-gone’) text(-0. 6.’What is a name of this object ?’) Hasil eksekusi program di atas dapat dilihat pada Gambar 6.0. x=sin(n*pi/6).3 GRAFIK TIGA DIMENSI Matlab mendefinisikan suatu permukaan jala dengan koordinat z. Perintah meshgrid didefinisikan sebagai berikut: [X. sebaiknya dipelajari dahulu mengenai perintah meshgrid.3 Hasil eksekusi penggunaan fungsi fill. x=[0 1 2] Jurusan Teknik Sipil Fakultas Teknik UMY 51 .45. y=cos(n*pi/6).3.y) menciptakan suatu matriks X dengan baris-barisnya adalah duplikat dari array x dan suatu matriks Y dengan kolomnya adalah duplikat dari array y. Berikut ini akan diberikan penggunaan fungsi mesh dan meshgrid. Perintah mesh digunakan untuk menggambarkan permukaan tiga dimensi.

05:1. maka gunakan perintah meshc seperti ditunjukkan pada contoh berikut.Dasar Pemrograman Komputer y=[10 12 14] Perintah meshgrid akan membuat array x dan y menjadi dua matriks [xi. mesh(xi.x2 Untuk memplot grafik mesh disertai konturnya. yi. zi) axis off Hasil eksekusi program di atas dapat dilihat pada Gambar 6. [xi. zi=(yi. y=x. Pada contoh ini akan diplot permukaan parabola z = y2 .5. yi. yi]=meshgrid(x.y).y).^2). Jurusan Teknik Sipil Fakultas Teknik UMY 52 .x2 dengan nilai –1 ≤ x ≤ 1 dan –1 ≤ y ≤ 1 .^2)-(xi.4 Hasil eksekusi grafik parabola z = y2 .4. yi]=meshgrid(x. x=-1:0. meshc(xi. Gambar 6. zi) axis off Hasil eksekusinya ditunjukkan pada Gambar 6.

5 Hasil eksekusi grafik parabola z = y2 .Dasar Pemrograman Komputer Gambar 6.x2 yang disertai kontur. Jurusan Teknik Sipil Fakultas Teknik UMY 53 .

1.Dasar Pemrograman Komputer Bab 7 POLINOMIAL DAN INTERPOLASI 7. diberikan persamaan sebagai berikut: p(x) = x3 – 2x – 5 Untuk menyatakan polynomial di dalam Matlab. dan diferensiasi. Dalam Matlab juga disediakan fungsi-fungsi yang lebih aplikatif seperti pencocokan kurva dan ekspansi fraksi parsial.1 POLINOMIAL Matlab menyediakan berbagai fungsi untuk operasi-operasi polinomial standar seperti akar-akar polinomial. Fungsi polinomial terletak dalam direktori polyfun MATLAB. Jurusan Teknik Sipil Fakultas Teknik UMY 54 .1. gunakan p = [1 0 -2 -5]. 7. Fungsi conv deconv poly polyder polyfit polyval polyvalm residue roots Polinomial perkalian Polinomial pembagian Polinomial dengan akar-akar khusus Turunan polinomial Pencocokan kurva polinomial Evaluasi polinomial Evaluasi polinomial matriks Ekspansi fraksi parsial (residu) Pencarian akar-akar polinomial Deskripsi 7.1 Ringkasan fungsi polinomial. Sebagai contoh. evaluasi.1 Representasi Polinomial Matlab merepresentasikan polynomial sebagai koefisien berisi vector baris yang diurutkan berdasarkan pangkat tertinggi berturut-turut diikuti dengan pangkat yang lebih rendah.2 Akar-akar Polinomial Fungsi roots menghitung akar-akar polynomial. Tabel 7.

Sebagai contoh.b) q = -2 -8 -2 d = 4 16 40 48 36 q/d adalah hasil operasinya. maka gunakan: q = polyder(p) q = 3 0 -2 polyder juga menghitung turunan hasil kali atau hasil bagi dua polynomial. 7. c = polyder(a.3 Turunan Polinomial Fungsi polyder menghitung turunan setiap polinomial.8818e-16 -2 -5 poly dan roots merupakan fungsi kebalikan (inverse functions).1. buatlah dua polynomial a dan b. p2 = poly(r) p2 = 1 8.b) c = 8 30 56 38 Hitung turunan hasil bagi a/b dengan memanggil polyder dengan dua argument keluaran. Untuk mendapatkan turunan polinomial p = [1 0 -2 -5]. a = [1 3 5]. b = [2 4 6]. [q. Jurusan Teknik Sipil Fakultas Teknik UMY 55 .0473 + 1.0473 .1.1359i -1. Hitung turunan hasil kali a*b dengan memanggil polyder dengan argument keluaran tunggal.0946 -1.Dasar Pemrograman Komputer r = roots(p) r = 2.1359i Matlab menyimpan akar-akar dalam vector kolom. Fungsi poly mengembalikannya ke koefisien-koefisien polinomial.d] = polyder(a.

Pencocokan Kurva Polinomial Fungsi polyfit mencari koefisien polynomial yang mencocokkan himpunan data dalam pengertian kuadrat terkecil.1 128 290. y = [5.4.n) x dan y adalah vector yang berisi data x dan y yang akan dicocokkan.'o'.1:5.5 43.3) p = -0. tinjaulah data uji x-y berikut.7 498.1917 31.y.x2.2 INTERPOLASI Matlab menyediakan sejumlah teknik interpolasi yang memungkinkan Anda untuk menyeimbangkan kehalusan pencocokan data dengan kecepatan eksekusi dan penggunaan memori.1. x = [1 2 3 4 5]. y2 = polyval(p.y. x2 = 1:. p = polyfit(x.x2). plot(x.1 Hasil pencocokan kurva data uji x-y 7.3262 35.5821 -60. Polinomial ordo ketiga sebagai pendekatan pencocokan data adalah p = polyfit(x. dan n adalah urutan polynomial.4]. Jurusan Teknik Sipil Fakultas Teknik UMY 56 .y2) grid on Gambar 7.3400 Hitung nilai estimasi polyfit pada rentang yang diingiunkan dan plot estimasi pada nilai data nyata sebagai perbandingan. Sebagai contoh.Dasar Pemrograman Komputer 7.y.

Dasar Pemrograman Komputer Fungsi interpolasi tersimpan dalam direktori polyfun Matlab.y. mencocokkan data yang suplai dengan fungsi polinomial antara titik-titik data dan mengevaluasi fungsi yang tepat pada titik interpolasi yang diinginkan.method) Jurusan Teknik Sipil Fakultas Teknik UMY 57 . suatu operasi penting untuk analisis data dan pencocokan kurva.xi.1. Tabel 7.2 Ringkasan fungsi interpolasi. Interpolasi berbasis-FFT 7. yaitu: 1. Interpolasi polinomial 2. Fungsi griddata griddata3 griddatan interp1 interp2 interp3 interpft interpn pchip spline Deskripsi Data gridding dan pencocokan permukaan Data gridding dan pencocokan permukaan data 3 dimensi Data gridding dan pencocokan permukaan data n dimensi Interpolasi satu dimensi Interpolasi dua dimensi Interpolasi tiga dimensi Interpolasi satu dimensi menggunakan metode FFT Interpolasi N-D Piecewise Cubic Hermite Interpolating Polynomial (PCHIP) Interpolasi data spline kubik 7.2. Fungsi ini menggunakan teknik polinomial. Bentuk umum interpolasi polinomial adalah yi = interp1(x.2.1 Interpolasi Satu-Dimensi Ada dua macam interpolasi satu-dimensi dalam Matlab.1 Interpolasi Polinomial Fungsi interp1 membentuk interpolasi satu dimensi.

Ada tiga metode interpolasi berbeda untuk data dua dimensi.Y. Nearest neighbor interpolation (method = 'nearest'). Metode ini menghitung alihragam Fourier dari suatu vector yang mengandung fungsi periodik.YI. method adalah string pilihan yang menyatakan metode interpolasi. 4. 2.2 Interpolasi Dua-Dimensi Fungsi interp2 membentuk interpolasi dua -dimensi. dicuplik pada titik-titik dengan rentang yang sama.XI.Z. Cubic spline interpolation (method = 'spline'). method adalah string pilihan yang menyatakan metode-metode interpolasi yaitu: 1. Bentuk umum interpolasi dua dimensi adalah ZI = interp2(X. yaitu: 1.2 Interpolasi Berbasis-FFT Fungsi interpft membentuk interpolasi satu dimensi menggunakan metode berbasis FFT.n) x adalah sebuah vector yang berisi nilai-nilai fungsi periodik.2. 3.Dasar Pemrograman Komputer y adalah vector yang mengandung nilai-nilai suatu fungsi. dan x adalah vector yang mempunyai panjang yang sama yang berisi titik-titik dimana nilai y diberikan. XI dan YI adalah matriks yang mengandung titik-titik pada interpolasi data. Linear interpolation (method = 'linear'). Jurusan Teknik Sipil Fakultas Teknik UMY 58 . 2. 3. xi adalah sebuah vector yang berisi titik-titik yang diinterpolasi. Kemudian dapat dihitung alihragam Fourier balik (inverse).1. dan X dan Y adalah larik ukuran yang sama yang berisi titik-titik data dimana nilai-nilai dalam Z diberikan. n adalah jumlah titik-titik pada rentang yang sama untuk dikembalikan. Nearest neighbor interpolation (method = 'nearest'). 7. Bicubic interpolation (method = 'cubic'). yang merupakan operasi penting untuk pengolahan citra dan visualisasi data.2. 7. Bilinear interpolation (method = 'linear').method) Z adalah larik (array) persegi panjang yang berisi nilai-nilai fungsi dua-dimensi. Bentuk umumnya adalah y = interpft(x. Cubic interpolation (method = 'pchip' or 'cubic').

z = peaks(x. 1. 2. zi1 = interp2(x. surf(x.yi.y.z.25:3). [xi.Dasar Pemrograman Komputer 7.xi. 4.y.'nearest'). 3. Gambar 7. Jurusan Teknik Sipil Fakultas Teknik UMY 59 . Bangkitkan fungsi peaks pada resolusi rendah. Interpolasi menggunakan nearest neighbor. [x.yi] = meshgrid(-3:0.xi.y. Interpolasi menggunakan bicubic.xi.z) Gambar 7.y).'bicubic').'bilinear'). 5. Bangkitkan mesh terbaik untuk interpolasi.y] = meshgrid(-3:1:3).z.3 Plot untuk berbagai metode interpolasi. zi3 = interp2(x.2.3 Perbandingan Metode-metode Interpolasi Contoh berikut membandingkan metode-metode interpolasi dua dimensi pada matriks data 7x7.yi. Interpolasi menggunakan bilinear: zi2 = interp2(x.y.z.yi.2 Hasil eksekusi fungsi peaks.

4 Interpolasi dan Larik Multidimensi Beberapa multidimensi. Gambar 7. 7.25:2. x2 = -2:0. Tinjau fungsi berikut: z = x2 e fungsi tersebut.2.Dasar Pemrograman Komputer 6.3 Fungsi interpolasi untuk data multidimensi.2:2. Bandingkan plot-plot permukaan untuk metode-metode interpolasi tersebut. Jurusan Teknik Sipil Fakultas Teknik UMY 60 . maka 2 2 2 ( − x1 − x2 − x3 ) Untuk -2π ≤ x1 ≤ 0. Bandingkan kontur untuk metode-metode interpolasi tersebut. Untuk mengevaluasi dan memplot x1 = -2:0. asumsikan Anda ingin mengevaluasi fungsi dari tiga variabel pada rentang yang diberikan. Tabel 7.4 Kontur untuk berbagai metode interpolasi. dan 0 ≤ x3 ≤ 2π. 2π ≤ x2 ≤ 4π. 7. Fungsi interp3 interpn ndgrid Deskripsi Interpolasi data tiga dimensi Interpolasi data n dimensi Data gridding multidimensi fungsi interpolasi beroperasi secara khusus pada data Sebagai contoh.

z.^2).8 2].x2.x3). z = X2.2. slice(X2.X2.*exp(-X1. [X1.2]) Gambar 7.X3.Dasar Pemrograman Komputer x3 = -2:0.X3] = ndgrid(x1. Jurusan Teknik Sipil Fakultas Teknik UMY 61 .[-1.5 Hasil eksekusi plotting untuk fungsi z = x2 e 2 2 2 ( − x1 − x2 − x3 ) .^2 -X2.2.X1.[-2 0.^2 -X3.16:2.

Variabel topo berisi data ketinggian Bumi. NOAA US Department of Commerce under data announcement 88MGG-02. 8.Dasar Pemrograman Komputer Bab 8 CONTOH-CONTOH APLIKASI 8.mat.'b') axis equal Jurusan Teknik Sipil Fakultas Teknik UMY 62 . Variabel topomap1 berisi peta warna (colormap) untuk ketinggian permukaan tanah. load('topo.1. dan proses penggambaran citra 3dimensi (3-D) 8. Dalam contoh kasus ini terdapat tiga proses yang akan dilakukan yaitu proses penyimpanan dan pemanggilan data. Dalam subbab ini akan ditunjukkan bagaimana cara merepresentasikan topografi Bumi.1 Penyimpanan dan Pemanggilan Data Data disimpan dalam suatu file MAT yang dinamakan topo. kita akan membuat kontur berdasar titik-titik pada peta yang mempunyai ketinggian nol.2 Penggambaran Kontur 2-Dimensi CONTOUR membuat plot kontur Bumi dari data yang telah diberikan.topo.-89:90.[0 0]. whos topo topomap1 Name topo topomap1 Size 180x360 64x3 Bytes 518400 1536 Class double array double array Total keseluruhan adalah 64992 elemen menggunakan 519936 byte. Dalam pembahasan ini. Data topografi yang digunakan dikutip dari the National Geophysical Data Center.'topo'.'topomap1'). contour(0:359.1 STUDI KASUS: TOPOGRAFI BUMI MATLAB dapat digunakan untuk membuat berbagai macam peta bumi (maps). proses penggambaran citra 2-dimensi (2-D).mat'.1. proses penggambaran kontur 2-dimensi (2-D).

[0 360]. Dalam hal ini. 'scaled').[-90 90]. sedang kedalaman laut ditentukan oleh bayangan biru.[-90 -60 -30 0 30 60 90]).topo..[-90 90].1 Kontur 2-dimensi Bumi 8. 'Ytick'.. Gambar 8.Dasar Pemrograman Komputer box on set(gca. hold on image([0 360].. .3 Penggambaran Citra 2-Dimensi IMAGE akan membuat plot citra 2-D dari data dalam topo dan topomap1. colormap(topomap1)..1. . 'XTick'.'XLim'.[0 60 120 180 240 300 360]. ketinggian tanah ditentukan oleh bayangan hijau.'CDataMapping'. Jurusan Teknik Sipil Fakultas Teknik UMY 63 .'YLim'.

props.5]. y dan z.SpecularStrength = 1. props. view(3) Jurusan Teknik Sipil Fakultas Teknik UMY 64 .AmbientStrength = 0. [. [x.EdgeColor = 'none'.5 0.2 .Dasar Pemrograman Komputer Gambar 8.FaceLighting = 'phong'. props.3 Penggambaran Citra 2-Dimensi Fungsi SPHERE mengembalikan data x.SpecularExponent = 20.Cdata = topo. props. y. Dua sumber cahaya menyinari globe.FaceColor= 'texture'. light('position'. 8.2]). props. props.z.[-1.1. z yang merupakan titik-titik pada permukaan bidang bola (dalam kasus ini 50 titik).5 -0. props.y. surface(x. Tinjau data ketinggian dalam topo yang dipetakan ke koordinat bola yang berisi x.SpecularColorReflectance = . 'color'.2 Citra Bumi 2-dimensi. props.5.DiffuseStrength = 1.[-1 0 1]).1.6 .y.props). light('position'.z] = sphere(50). cla reset axis square off props.

972 105. % Time interval t = (1900:10:2000)'.p.505 249.669 .. axis([1900 2020 0 400]). Jurusan Teknik Sipil Fakultas Teknik UMY 65 . % Population p = [75.. xlabel(‘Tahun’) ylabel('Juta'). title('Populasi Penduduk AS Tahun 1900-2000'). Dalam studi kasus ini ditampilkan data Sensus Penduduk Amerika Serikat dari tahun 1900 hingga 2000.2 STUDI KASUS: PREDIKSI PERTUMBUHAN PENDUDUK MATLAB dan Handle Graphics membuatnya lebih mudah untuk memvariasikan parameter-parameter dan melihat hasilnya. tetapi prinsip dasar matematiknya tidak berubah. % Plot plot(t.203 131.Dasar Pemrograman Komputer Gambar 8.3 Citra Bumi 3-dimensi 8.422]'.995 91. 150.711 123.212 226.697 179.323 203. Dalam hal ini diperlihatkan penggunaan polynomial derajat rendah untuk memprediksi suatu data di masa yang akan datang dengan ekstrapolasi data.'bo').633 281.

5050 249.2120 226.9720 105.4220 Jurusan Teknik Sipil Fakultas Teknik UMY 66 .6690 150.2030 131.3230 203.6970 179.6330 281.7110 123.Dasar Pemrograman Komputer Gambar 8.4 Data populasi penduduk AS tahun 1900 – 2000 Berapakah perkiraan populasi penduduk Amerika Serikat pada tahun 2010? >>p p = 75.9950 91.

j+1). A(:. plot(2010.j) = s(i)^(n-j).x). Jurusan Teknik Sipil Fakultas Teknik UMY 67 .'k-').2629 23. for j = n-1:-1:1. A = zeros(n). hold on plot(v.z.* A(:.'ks').y.end) = 1. persamaan tersebut dapat diselesaikan secara eksak dan polinomial secara aktual menginterpolasi data. end Koefisien c untuk sebuah polynomial derajat d yang mencocokkan data p diperoleh dengan menyelesaikan sistem persamaan linear dari kolom terakhir d+1 matriks Vandermonde: A(:. dengan elemen-elemennya adalah pangkat derajat waktu. Koefisien pada polynomial diperoleh dengan menyelesaikan sistem linear dari persamaan yang meliputi matriks Vandermonde 11-kali-11 matrix.3659 155.9043 Sekarang kita evaluasi polynomial pada setiap tahun dari tahun 1900 hingga tahun 2010 dan plot hasilnya. s = (t-1950)/50. w = (2010-1950)/50.j) = s .Dasar Pemrograman Komputer Lakukan pencocokan data dengan polinomial dalam t dan gunakan untuk extrapolasi pada t = 2010. v = (1900:2020)'. A(i.w). A(:. x = (v-1950)/50. maka akan ada lagi persamaan yang belum diketahui dan diselesaikan dengan solusi kuadrat terkecil. z = polyval(c. n = length(t).n-3:n)\p c = 1. Jika d sama dengan 10. c = A(:. y = polyval(c.7261 100.n-d:n)*c ~= p Jika d kurang dari 10.

hold off Jurusan Teknik Sipil Fakultas Teknik UMY 68 . c = A(:.y. Perhatikan bahwa titik-titik terekstrapolasi sangatlah berbeda. text(2010.x). plot(2010.z.'k-').w). hold off Gambar 8.'ks'). z = polyval(c.5 Hasil plot evaluasi polynomial pada setiap tahun (1900-2010) Bandingkan pencocokan kubic (cubic fit) dengan quartic.z+15.num2str(z)).n-4:n)\p. y = polyval(c.z-15.num2str(z)).Dasar Pemrograman Komputer text(2010. hold on plot(v.

:)).x). end legend(labels.n-d:n)). maka extrapolasi menjadi lebih tidak menentu.2) % Same as c = A(:. cla plot(t. labels = {'data'}. Dengan meningkatnya derajat.'color'.p. y = polyval(c. for d = 1:8 [Q.1:d+1). c = R\(Q'*p). colors = hsv(8).n-d:n)\p. z = polyval(c. labels{end+1} = ['degree = ' int2str(d)]. plot(v.:).y.6 Perbandingan cubic fit dan quartic. Jurusan Teknik Sipil Fakultas Teknik UMY 69 .Dasar Pemrograman Komputer Gambar 8. Q = Q(:.11). R = R(1:d+1.R] = qr(A(:.colors(d. hold on.'bo'). axis([1900 2020 0 400]).

MAT berisi data 200Hz dari gempa bumi Loma Prieta yang terjadi pada tanggal 17 Oktober 1989 di Gunung Santa Cruz.3 STUDI KASUS: ANALISIS DAN VISUALISASI GAMPA BUMI Dalam studi ini akan ditampilkan bagaimana menganalisis dan memvisualisasikan data gempa bumi real-world. 8. University of California. load quake e n v whos e n v Name e n v Size 10001x1 10001x1 10001x1 Bytes 80008 80008 80008 Class double array double array double array Total keseluruhan adalah 30003 elemen menggunakan 240024 byte. Jurusan Teknik Sipil Fakultas Teknik UMY 70 . Data ini diperoleh atas jasa yang sangat besar dari Joel Yellin yang bekerja di the Charles F. Mulai dengan loading data. Richter Seismological Laboratory.7 Perbandingan derajat polinomial untuk solusi kasus.Dasar Pemrograman Komputer Gambar 8. File QUAKE. Santa Cruz.

yang berisi basis waktu. acceleration') subplot(3.e. subplot(3. delt = 1/200. plot(t.n. Berikut ini adalah plot-plot percepatan.3).Dasar Pemrograman Komputer Kini dalam workspace terdapat tiga variabel yang berisi jejak waktu dari accelerometer pada the Natural Sciences' building di UC Santa Cruz.1. g = 0. buat variabel keempat. axis(limits). title('North-South acceleration') subplot(3. Variabel-variabel n.2).0980. n = g*n. title('Vertical plot(t. e = g*e. limits = [0 50 yrange]. t = delt*(1:length(e))'. v = g*v.v. Lakukan penskalaan data dengan percepatan gravitational. title('East-West Jurusan Teknik Sipil Fakultas Teknik UMY 71 .'r'). axis(limits).1.1). axis(limits). t. Accelerometer merekam goncangan terkuat dari gempa bumi yang terjadi.1. acceleration') plot(t.'g'). v menunjukkan tiga komponen arah yang diukur oleh alat ukur (instrument). Juga. dengan arah N menunjukkan arah Sacramento. e. yrange = [-250 250].'b'). yang bersesuaian paralel dengan gangguan.

Dasar Pemrograman Komputer

Gambar 8.8 Hasil plot-plot percepatan grafitasi.

Perhatikan pada interval dari t = 8 deting hingga t = 15 detik. Gambarkan garis hitam pada plot-plot terpilih. Seluruh perhitungan berikutnya mencakup g pada interval ini. t1 = 8*[1;1]; t2 = 15*[1;1]; subplot(3,1,1), hold on, plot([t1 t2],yrange,'k','LineWidth',2); hold off subplot(3,1,2), hold on, plot([t1 t2],yrange,'k','LineWidth',2); hold off subplot(3,1,3), hold on, plot([t1 t2],yrange,'k','LineWidth',2); hold off

Jurusan Teknik Sipil Fakultas Teknik UMY

72

Dasar Pemrograman Komputer

Gambar 8.9 Hasil plotting percepatan grafitasi pada rentang terpilih.

Perbesar tampilan pada interval yang dipilih. trange = sort([t1(1) t2(1)]); k = find((trange(1)<=t) & (t<=trange(2))); e = e(k); n = n(k); v = v(k); t = t(k); ax = [trange yrange];

subplot(3,1,1), acceleration') subplot(3,1,2), acceleration') subplot(3,1,3), acceleration')

plot(t,e,'b'),

axis(ax),

title('East-West

plot(t,n,'g'),

axis(ax),

title('North-South

plot(t,v,'r'),

axis(ax),

title('Vertical

Jurusan Teknik Sipil Fakultas Teknik UMY

73

Dasar Pemrograman Komputer

Gambar 8.10 Hasil pembesaran plotting pada rentang terpilih.

Fokuskan pada satu detik di tengah interval tersebut, plot "East-West" terhadap "North-South" menunjukkan percepatan horizontal.

subplot(1,1,1) k = length(t); k = round(max(1,k/2-100):min(k,k/2+100)); plot(e(k),n(k),'.-') xlabel('East'), ylabel('North'); title('Acceleration During a One Second Period');

Jurusan Teknik Sipil Fakultas Teknik UMY

74

Dasar Pemrograman Komputer

Gambar 8.11 Percepatan pada periode satu detik.

Gabungkan dua kali percepatan untuk menghitung kecepatan (velocity) dan posisi titik dalam ruang 3-D. edot = cumsum(e)*delt; ndot = cumsum(n)*delt; vdot = cumsum(v)*delt; edot = edot - mean(edot); ndot = ndot - mean(ndot); vdot = vdot - mean(vdot); epos = epos - mean(epos); npos = npos - mean(npos); vpos = vpos - mean(vpos);

epos = cumsum(edot)*delt; npos = cumsum(ndot)*delt; vpos = cumsum(vdot)*delt; subplot(2,1,1); plot(t,[edot+25 max(edot+30)]) ndot

vdot-25]);

axis([trange

min(vdot-30)

xlabel('Time'), ylabel('V - N - E'), title('Velocity') subplot(2,1,2); plot(t,[epos+50 npos vpos-50]);

Jurusan Teknik Sipil Fakultas Teknik UMY

75

'b'). xlabel('North'). subplot(1. Trajectory didefinisikan oleh data posisi dapat ditampilkan dengan tiga proyeksi 2dimensi.05*[-na na].1.['o ' int2str(t(j))]). title('Position') Gambar 8.Dasar Pemrograman Komputer axis([trange min(vpos-55) max(epos+55)]) xlabel('Time'). ea = 1. axis([na va]). na = 1.1) plot(npos.vpos.05*[-va va].2. ylabel('V . subplot(2.E'). ea = max(abs(epos)).12 Grafik perbandingan percepatan dan posisi. end Jurusan Teknik Sipil Fakultas Teknik UMY 76 .05*[-ea ea].N . na = max(abs(npos)). nt = ceil((max(t)-min(t))/6). va = max(abs(vpos)). for j = k. Dala studi ini proyeksi pertama dengan sedikit nilai t. text(npos(j).1). k = find(fix(t/nt)==(t/nt))'.vpos(j). cla. va = 1. ylabel('Vertical').

['o ' int2str(t(j))]). text(epos(j). text(npos(j). ylabel('East').2) plot(npos.'g'). for j = k.Dasar Pemrograman Komputer Gambar 8. end axis([ea va]).14 Dua sudut pandang untuk proyeksi kedua.'r'). Jurusan Teknik Sipil Fakultas Teknik UMY 77 .['o ' int2str(t(j))]).2.2.vpos(j). xlabel('East'). Kode yang sama akan menghasilkan dua sudut pandang 2-D.13 Grafik proyeksi pertama.epos. end axis([na ea]).epos.3) plot(npos. for j = k.epos(j). ylabel('Vertical'). xlabel('North'). Gambar 8. subplot(2. subplot(2. Subplot keempat adalah sudut pandang 3-D dari trajectory tersebut.

Sebagai penutup.text(npos(j). zlabel('Vertical'). box on Gambar 8. Spasi antara titiktitik mengindikasikan kecepatan (velocity).1.epos(j).1) plot3(npos.['o ' int2str(t(j))]). subplot(1. xlabel('North').'.') Jurusan Teknik Sipil Fakultas Teknik UMY 78 .Dasar Pemrograman Komputer subplot(2.vpos(j).vpos(1:step:end).vpos. ylabel('East').2. plot titik-titik pada setiap titik posisi ke sepuluh.epos.vpos.epos. end axis([na ea va]).15 Dua sudut pandang untuk proyeksi ketiga. plot3(npos(1:step:end).'k') for j = k.epos(1:step:end).'r') hold on step = 10.4) plot3(npos.

Dasar Pemrograman Komputer hold off box on axis tight xlabel('North-South') ylabel('East-West') zlabel('Vertical') title('Position (cms)') Gambar 8.16 Sudut pandang kecepatan 3-D. Jurusan Teknik Sipil Fakultas Teknik UMY 79 .

. Using Matlab: Version 6. 1989. 3. Informatika Bandung. Jurusan Teknik Sipil Fakultas Teknik UMY 80 .Dasar Pemrograman Komputer DAFTAR PUSTAKA 1. “Basics of Matlab and Beyond”. Knight. Firmansyah. 2000. A Comprehensive Tutorial and Reference. 6. Matlab User’s Guide. 1999. The Math Works inc. IlmuKomputer. 2007. Mastering Matlab 5. Away. 4.A. 5. The Math Works inc.. 2.. “Dasar-dasar Pemrograman Matlab”. Prentice Hall.. “The Shortcut of Matlab. A. CHAPMAN & HALL/CRC.com. G. 1998. A. 2006.

Jurusan Teknik Sipil Fakultas Teknik UMY 81 .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->