BAB II TEORI DASAR 2.1 Matlab Matlab merupakan sebuah singkatan dari Matrix Laboratory, yang pertama kali dikenalkan oleh University of New Mexico dan University of Stanford pada tahun 1970. software ini pertama kali memang digunakan untuk keperluan analisis numerik, aljabar linier dan teori tentang matriks. Saat ini, kemampuan dan fitur yang dimiliki oleh Matlab sudah jauh lebih lengkap dengan ditambahkannya toolbox-toolbox yang sangat luar biasa. Beberapa manfaat yang didapatkan dari Matlab antara lain:
Perhitungan Matematika
Komputasi numerik
Simulasi dan pemodelan
Visualisasi dan analisis data
Pembuatan grafik untuk keperluan sains dan teknik
Pengembangan aplikasi, misalnya dengan memanfaatkan GU I.
Matlab dapat dipandang sebagai sebuah kalkulator dengan fitur yang lengkap. Kita pernah menggunakan kalkulator dengan degan fasilitas minimal, misalnya hanya terdapat fasilitas penambahan, pengurangan perkalian dan pembagian. Kalkulator yang lebih lengkap lagi adalah kalkulator scientific dimana fasilitas yang diberikan tidak hanya yang disebutkan di atas, melainkan sudah ada fungsi-fungsi trigonometri, bilangan kompleks, akar kuadrat dan logaritma. Nah, Matlab mirip dengan kalkulator tersebut, tetapi dengan fitur-fitur yang lengkap diantaranya dapat digunakan untuk memprogram, aplikasi berbasis GUI dan lengkap dengan toolbox yang dapat dimanfaatkan untuk memecahkan masalah sains dan teknik.
Dokumentasi Matlab Matlab
memberikan
kemudahan
bagi
para
pengguna untuk untu k menemukan
bantuan sehubungan dengan semua fasilitas yang diberikan oleh Matlab. Misalnya, bantuan tentang bagaimana memulai Matlab pertama kali, trik pemrograman, membuat grafik 2 dan 3 dimensi, menggunakan tool akuisisi data, pengolahan sinyal, penyelesaian persamaan diferensial parsial.
Untuk memperoleh bantuan tersebut, kita dapat memilih MATLAB Menu dari menu Help. Untuk bantuan tentang Matlab sendiri, dibagi atas beberapa bagian antara lain
Development Environment, bagian ini akan memberikan informasi yang lengkap mengenai desktop dari Matlab.
Mathematics, bagian yang menjelaskan bagaimana menggunakan fitur yang dimiliki oleh Matlab untuk dalam mengolah data matematis dan statistik. Isi dalam bantuan ini dicakup antara lain: Matrks dan aljabar linier, polinomial dan interpolasi, analisis data dan statistik, fungsi function, matriks jarang ( sparse matrix).
Programming and data type, bagian ini menjelaskan bagaimana membuat script dan fungsi dengan menggunakan Matlab. Bantuan ini mencakup pemrograman M-File, larik, larik multidimensi, optimalisai performance Matlab, tip pemrograman Matlab.
Graphics, bagian ini menjelaskan tentang bagaimana membuat atau mengeplot grafik dari data yang kita miliki. Yang termasuk dalam bagian ini antara lain, dasar-dasar pengeplotan, format grafik, membuat grafik khusus misalnya grafik dalam bentuk gambar, histogram, contour dan lain-lain.
3-D Visualization, bagian ini menjelaskan dengan tuntas bagaimana menampilkan data yang kita miliki dalam grafik 3 dimensi, termasuk didalamnya membuat grafik 3D, menentukan tampilan objek, transparansi objek, lighting dan lain-lain.
Creating Graphical User Interfaces, bagian ini menjelaskan bagaimana kita dapat membuat GUI (Graphical User Interface) berbasis Matlab.
Disamping bagian-bagian yang sudah disebutkan di atas, disini juga disertakan beberapa bagian tambahan yang ikut melengkapi dokumentasi penjelasan tentang Matlab, diantaranya function-By cattegory, function-Alphabetical List, handle graphic property browser, external interfaces/API, external interfaces/API references dan lain-lain.
Dibawah ini diperlihatkan bagian online-help yan dapat diakses dengan cara pilih Menu -> MATLAB Help -> Matlab.
Gambar 2.1 . Daftar bantuan yang disediakan Matlab
Desktop Matlab Ketika kita pertama kali menjalankan Matlab, maka tampilan pertama yang kita temui ini dikenal sebagai Desktop Matlab. Dalam desktop ini terdapat tool-tool yang berfungsi untuk manajemen file, variabel dan aplikasi yang berkaitan dengan Matlab. Dibawah ini ditunjukkan desktop Matlab versi 6.5.
7 5 6
3 4
1
2
10
8
11
9 Gambar 2.1(a). Tool yang disertakan pada Matlab 6.5
Keterangan
1. Tool untuk browse direktori aktif. Dari tool ini kita dapat mengeset direktori mana yang aktif. Direktori aktif berarti bahwa direktori inilah yang siap untuk diakses file didalamnya atau tempat yang siap untuk digunakan sebagai penyimpan data. 2. Tool yang menampilkan direktori aktif. Dari tool ini kita dapat melihat direktori mana
yang
aktif.
Sebagai
default
direktori
aktif
Matlab
adalah
C:\MATLAB6p5\work, jika Matlab diinstal di direktori C:\ , kalau disimpan di D:\ maka direktori aktif defaultnya D:\MATLAB6p5\work, begitu juga di E:\ atau dimana saja. 3. Jendela ini disebut disebut sebagai Command Window. Dari jendela ini kita dapat memasukkan perintah Matlab. Disamping itu kita juga dapat menjalankan atau
mengeksekusi program yang sudah kita buat di editor window dan disimpan di direktori aktif. 4. Tool yang digunakan untuk mendisplay bantuan pada Matlab. 5. Tool yang dapat digunakan untuk menuju ke Simulink Library Browser. 6. Tool untuk membuka file yang ada di direktori aktiv. 7. Tool untuk membuat file baru dengan format M-File. 8. Tool untuk mengatur ukuran jendela. 9. Tool untuk melihat perintah apa saja yang pernah kita jalankan melalui command window. Tool ini diberi nama command history.
10.Tool untuk mendisplay isi file apa saja yang terdapat di direktori aktif. 11.Tool untuk mendisplay nama variabel, ukuran, bytes dan classnya.
Tool-tool yang sudah disebutkan di atas dapat diatur kemunculannya melalui menu View. Misalnya, kita tidak menginginkan tampilnya jendela command history, maka kita kita harus menghilangkan tanda cek yang ada pada submenu command history.
Gambar 2.1(b) Menonaktifkan jendela command history
2.2 Sipat Datar Pengertian Dalam pembuatan jalan maupun pembangunan diperlukan suatu pengukuran beda tinggi agar dapat diketahui perbedaan tinggi yang ada dipermukaan tanah.Sipat datar (levelling) adalah suatu operasi untuk menentukan beda tinggi antara dua titik di permukaan tanah. Sebuah bidang datar acuan, atau datum, ditetapkan dan elevasi diukur terhadap bidang tersebut. Beda elevasi yang ditentukan dikurangkan dari atau ditambah dengan nilai yag ditetapkan tersebut, dan hasilnya adalah elevasi titik-titik tadi.
Prinsip Penentuan Beda Tinggi Dengan Sipat Datar Pengukuran menyipat datar mempunyai maksud untuk menentukan beda tinggi antara titik-titik pada permukaan bumi. Sebagai acuan penentuan tinggi titik-titik tersebut di gunakan muka air laut rata-rata (MSL) atau tinggi lokal. Bayangkan sebuah meja dan kursi di atas lantai (Gambar 5.1). Semuanya dapat diukur ketinggiannya dengan sebuah penggaris dari dasar lantai. Lantai dapat di sebut sebagai datum, dimana ketinggian benda di atasnya dideferensikan. Dalam hubungan ini Levelling dapat di definisikan sebagai suatu metoda untuk menggambarkan ketinggian benda secara relatif terhadap lantai (datum) sebagai referensi.
Gambar 2.2. Ilustrasi Datum dan Beda Tinggi
Dalam aplikasi praktis, levelling di lakukan dengan bantuan instrumen (alat ukur sipat datar) dan suatu bak ukur sebagaimana diperlihatkan pada G ambar 5.2. Tinggi titik A = 1.500 – 0.750 = 0.750 m di atas datum Tinggi titik B = 0.00 m (datum) Tinggi titik C = 1.500 – 1.050 = 0.450 m di atas datum Datum merupakan bidang mendatar yang melewati titik B. Dalam istilah geodesi datum ketinggian yang digunakan adalah berupa tinggi permukaan air laut rata-rata (mean sea level ). Berdasarkan datum tersebut dapat dikembangkan jaringan levelling, sebagai titik kontrol ketinggian yang biasanya di sebut Bench Mak (BM)Pengukuran menyipat datar mempunyai maksud untuk menentukan beda tinggi antara titik-titik pada permukaan bumi. Sebagai acuan terhadap penentuan tinggi titiktitik tersebut di gunakan muka air laut rata-rata (MSL) atau tinggi lokal.
Gambar 2.2(a) Prinsip Pengkuran Beda Tinggi dengan Sipat datar Jenis Peralatan Sipat Datar Berdasarkan Konstruksinya alat ukur penyipat datar dapat di bagi dalam e mpat macam utama:
Alat ukur penyipat datar dengan semua bagiannya tetap. Nivo tetap di tempatkan di atas teropong, sedang teropong hanya dapat di putar dengan sumbu ke satu sebagai sumber putar.
Alat ukur penyipat datar yang mempunyai nivo reversi, dan di tempatkan pada teropong. Dengan demikian teropong selain dapat di putar dengan sumbu ke satu sebagai sumbu putar, dapat pula di putar dengan suatu sumbu yang letak searah dengan garis bidik. Sumbu putar ini di namakan sumbu mekanis teropong. Teropong dapat diangkat dari bagian bawah alat ukur penyipat datar.
Alat ukur penyipat datar dengan teropong yang mempunyai sumbu mekanis, tetapi nivo tidak di letakan pada teropong, melainkan di tempatkan di bawah, lepas dari teropong. Teropong dapat di angkat dari bagian bawah alat ukur penyipat datar.
Alat ukur penyipat datar dengan teropong yang dapat di angkat dari bagian bawah alat ukur penyipat datar dan dapat di letakan di bagaian bawah dengan landasan yang berbentuk persegi, sedang nivo di tempatkan di teropong.
Mengatur Alat Syarat utama : garis visir //garis arah niveau. Syarat ini dapat di pecahkan menjadi 2 bagian, yaitu : a. Garis arah niveau // sumbu mechanis b. Garis visir // sumbu mechanis (1). Mengatur garis arah niveau reversi // sumbu mechanis Pada type tanpa skrup helling, mula-mula niveau berada di atas teropong (n.a = niveau atas) di buat seimbang dengan ketigaskrup penyetel. Kemudian teropong di putar terhadap sumbu mechanismenya. Niveau kini di bawah (n.b = niveau bawah).
Penyimpangan gelembung adalah sama setengah penyimpangan ini di betulkan dengan skrup koreksi niveau yang bekerja vertical. Di samping itu mungkin juga terpenyilangan antara garis niveau dengan sumbu mechanis. Untuk memeriksa ini serta membetulkannya kita putar teropong 45 derajad dengan sumbu mechanis sebagai sumbu perputarannya. Penyimpangannya di buang seluruhnya dengan skrup koreksi tadi. Cara mengatur di atas di lakukan silih berganti, sampai niveau tetap seimbang, jika teropong di putar melalui sumbu mechanisnya. (2). Mengatur garis visir // sumbu mechanis
Yang bekerja tegak lurus terhadap skrup koreksi niveau “a” arahkan teropong pada baak dan baca a1. Putar teropong melalui sumbu mechanisnya, dan berhubung sumbu ini tidak sejajar atau berhimpitan dengan garis visir, maka terbaca pada baak a2. (k1 dan k2 adalah kedudukan benang silang horizontal). Dengan skrup koreksi benang silang yang bekerja vertical, buat pembacaan pada pada baak sebesar ½ (a1 + a2). Jika keadaan ini telah benar, maka visir tetap terpusat pada satu titik pada baak, jika teropong di putar melalui sumbu mechanisnya.
Kesalahan Perorangan dan Alat a. Kekeliruan dalam membaca angka pada rambu dapat diatasi dengan membaca ketiga benang diafragma b. Kekeliruan penulis dalam mencatat data ukur c. Karena kesalahan pemegang rambu waktu menempatkan rambu di atas titik sasaran..
Sedangkan kesalahan dari alat meliputi : a. Karena garis bidik tidak sejajar dengan garis arah nivo.Hal ini dapat di hindarkan dengan menempatkan alat di tengah-tengah rambu belakang dan rambu muka (dp = dm) atau usahakan jumlah jarak rambu belakang = jumlah jarak muka. b. Kesalahan karena Garis Nol Skala dan kemiringan Rambu. Misalnya letak garis nol skala pada rambu A dan B tidak betul,maka hasil pembacaan pada rambu A harus di koreksi Ka dan pada rambu B sebesar Kb.Misalnya dalam keadaan rambu tegak pembacaan akan menunjukan angka a, sedangkan pembacaan pada waktu rambu miring sebesar
. Dari penelitian pengaruh miringnya rambu tidak
dapat dihilangkan sehingga agar mendapatkan hasil beda tinggi yang lebih baik haruslah di gunakan nivo rambu yang baik.
Kesalahan yang Bersumber Pada Alam a. Kesalahan Karena Melengkungnya Sinar (Refraksi) Sinar cahaya yang datang dari rambu ke alat penyipat datar karena melalui lapisan-lapisan udara yang berbeda baik kepadatan, tekanan maupun suhunya maka sinar yang datang bukanlah lurus melainan melengkung. Misalkan pem bacaan
rambu karena melengkungya sinar adalah b’ dan m’.
Pembacaan seharusnya yang mendatar adalah b dan m. Agar mendapatkan harga b
dan m yang mendatar maka harus di beri koreksi sebesar bb’ dan mm’ sehingga beda tinggi. tab =b – a =(b’ + b’ b) -(m’ + m’ m) = (b’ – m’) + (b’ b + m’ m)
Bila (b’ b – mm’) = 0 atau b’ b = m’ m, maka tab = b’ – m’. b’ b akan sama denagn m’ m bilajarak dari alat penyipat datar ke rambu belakang sama denagn jarak ke rambu muka (db = dm) Dengan demikian pengaruh refraksasi dapat di hilangkan bila jarak belakang sama denagn jarak muka atau jumlah jarak belakang sama dengan jumlah jarak muka. b. Kesalahan Karena Melengkungnya Bumi Sesuai dengan prinsip dasar pengukuran beda tinggi, maka beda tinggi antara titik A dan B sama denagn jarak antara bidang nivo melalui titik A dan bidan nivo
yang melalui b. Pengaruh kelengkungan bumi pada rambu belakang adalah bb” sedangkan pada rambu muka adalah mm”. Dapat di lihat pada gambar bahwa pengaruh kelengkungan bumi dapat di
hilangkan jika bb” = mm” atau bila jarak ke rambu belakang sama dengan jarak ke rambu muka (jumlah jarak belakang sama dengan jumlah jarak muka).
c. Kesalahan Karena Masuknya Statip Alat Penyipat Datar ke Dal am Tanah Alat penyipat datar selama pengukuran mungkin saja bergerak ke samping ataupun ke bawah, sehingga gelembung nivo pada alat penyipat datar tidak di tengah lagi, dengan demikian garis bidik tidak mendatar lagi. Meskipun demikian alat penyipat datar dapat saja bergerak ke dalam tanah tetapi gelembung nivo tetap di tengah. Masuknya statip penyipat datar ke dalam tanah akan memberi pengaruh pada hasil pengukuran. Pengaruh masuknya statip penyipat datar ke dalam tanah dapat di hilangkan dengan cara pengukuran sebagai berikut:
-
Baca rambu belakang, kemudian rambu muka,
-
Alat penyipat datar di pindah,
-
Baca rambu muka, kemudian rambu belakang.
d. Kesalahan Karena Panasnya Sinar Matahari Dan Getaran Udara Alat penyipat datar apabila selalu kena sinar matahari maka akan menimbulkan perubahan pada gelembung nivo sehingga akan mengakibatkan kesalahan pada hasil pengukuran. Untuk menghindari hal tersebut pada waktu pengukuran alat penyipat datar harus di lindungi dengan payung. Pengaruh getaran udara ini dapat di hindari dengan melakukan pengukuran pada waktu lapisan udara tenang yaitu waktu pagi dan sore.
Ketelitian dari Levelling Ketelitian dari suatu waterpassing di tentukan oleh suatu bilangan, yang menyatakan kesalahan menengah untuk tiap kilo meter waterpassing tunggal. Kesalahan menengah ini dapat di hitung dari : a. Selisih antara pengukuran pergi dan pulang per seksi b. Selisih antara pengukuran pergi dan pulang pertrayek c. Kesalahan penutup wp-keliling
Kedua cara yang terakhir ini hanya mempunyai arti untuk jaring-jaring besar. Menurut theori ilmu hitung pengamatan kesalahan menengah (k.m) per kilo meter waterpassing tunggal di peroleh rumus :
U = K.m per kilometer waterpassing tunggal di nyatakan dalam mm. d = Selisih dalam mm antara pengukuran pergi dan pulang. n = Jumah seksi di mana waterpassing tersebut di bagi. D = Panjang seksi dalam kilometer. Kesalahan menengah dari hasil pengukuran yang di peroleh dari pukul rata pengukuran pergi dan pulang adalah:
=
...............1
Untuk waterpassing teliti harga m hendaknya di bawah 1 mm, untuk waterpassing lainnya m terletak antara 1 dan 3 mm. Kesalahan menengah dari satu
selisih antara 2 pengukuran tersebut adalah :
= √ 2
.............2
Selisih antara waterpassing pergi dan pulang yang di perbolehkan adalah 3 m S (3 kali kesalahan menengah adalah batas-batas toleransi. Menurut ilmu hitung kemungkinan, selisih di atas 3 m S terjadi satu kali di antara 370 pengamatan. Karena kans ini begitu kecil, maka dalam praktek di anggap selisih lebih besar dari 3 m S tidak terjadi). Misalkan waterpassing primer (teliti)di kehendaki m = 0,6 mm
Maka menurut (1):
0,6 = → = 0,72 menurut (2):
ms
2 =√ 2 ×0,7 2 = √ 1,44 =1,2
√ mm
Selisih yang di bolehkan S = 3 m s = 3,6 √L mm. 2.3 Kondisi If...Else Seperti halnya bahasa pemrograman pada umumnya, kita bisa mengendalikan arah program dengan berbagai cara, berupa percabangan arah program berdasarkan kondisi tertentu, ataupun loop ( perulangan ) ketika kita melakukan iterasi.
Pernyataan Bersyarat if, else, dan elseif Pernyataan if digunakan untuk menyeleksi suatu kondisi yang memungkinkan dua atau lebih pilihan. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok if akan diproses dan dikerjakan. Jika digambarkan dalam diagram alir, maka percabangan if dapat digambarkan sebagaimana terlihat pada gambar 2.3
If(kondisi)
Tidak
Ya Perintah
Gambar 2.3. Alir Percabangan if Bentuk umum struktur kondisi if adalah : pernyataan;
If(kondisi) pernyataan/perintah end
Apabila pernyataan logika berharga benar (true), maka seluruh pern yataan atau perintah yang berada diantara if dan end akan dijalankan. Sebaliknya, jika pernyataan logika berharga salah (false), maka seluruh perintah/pernyataan yang berada diantara if dan end tidak akan dijalankan karena Matlab akan langsung menuju end. contoh:
if rem(a,2) == 0 disp('a adalah bilangan genap') b = a/2; end
Pernyataan Bersyarat if-else Dalam pernyataan bersyarat
if-else paling
tidak terdapat dua pernyataan. Jika
kondisi yang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang dilaksanakan dan jika kondisi yang diperiksa bernilai salah, maka pernyataan kedua yang dilaksanakan. Pernyataan dapat diilustrasikan pada gambar sebagai berikut:
If(kondisi)
Tidak
Ya Perintah
Perintah
Gambar 2.3(a) Alir Percabangan if..else
Bentuk umumnya adalah sebagai berikut :
If(kondisi) perintah_1 else perintah_2 end
%Contoh program if-else x=input(Masukkan harga x:'); if (x>3) disp('Pernyataan benar'); disp('Pernyataan benar sekali..' ); else disp('Pernyataan salah.'); disp('Pernyataan salah sekali..' ); end
Pernyataan Bersyarat elseif Pernyaan elseif akan dieksekusi apabila syarat yang dberikan pada if sebelumnya (atau elseif sebelumnya) berharga salah (0). Pernyaaan ini selanjutnya
akan mengeksekusi perintah/pernyataan di dalamnya apabila syarat logikanya berharga benar (1). Pernyataan ini dapat digambarkan dengan diagram dibawah ini
Ya
if
Perintah....... Perintah.......
Tidak
elseif
Ya
Perintah....... Perintah.......
Tidak
elseif
Ya
Perintah....... Perintah.......
Tidak Perintah.......
elseif
Perintah....... Gambar 2.3(b) Alir Pernyataan elseif
%contoh penggunaan elseif n=input('Masukkan harga n:') if n < 0 % jika n negatif, ada pesan salah. disp('Masukan harus bilangan positif' ); elseif rem(n,2) == 0 % jika n posisif dan bulat, % kemudian bagi dengan 2
A = n/2; else A = (n+1)/2;
% jika n positif dan ganjil % tambahkan 1,kemudian bagi % dg 2.
end
Pernyataan bersyarat if bersarang Pernyataan ini sangat penting untuk masalah-masalah yang memiliki lebih dari dua cabang. Mengapa pernyataan ini disebut pernyataan bersarang, karena di dalam pernyataan if ada pernyataan if lagi. If yang kedua ini dapat berada di dalam if sendiri atau berada di dalam else. Untuk lebih jelasnya lihatlah diagram alir 2.3(c). Bentuk umum dari pernyataan if bersarang adalah if (syarat/kondisi) perintah/pernyataan if (kondisi) perintah/pernyataan else perintah/pernyataan end else perintah/pernyataan if (kondisi) perintah/pernyataan else perintah/pernyataan end end
tidak If(kondisi)
Perintah
Perintah
ya
If(kondisi
Perintah
If(kondisi
Perintah
Perintah
Perintah
Perintah
Perintah
Gambar 2.3(c) Alir Pernyataan if Bersarang
2.4 Sistem Flowchart Yang dimaksud sistem flowchart adalah bagan yang memperlihatkan urutan prosedure dan proses dari beberapa file di dalam media tertentu. Melalui flowchart ini terlihat jenis media penyimpanan yang dipakai dalam pengolahan data.
•
Selain itu juga menggambarkan file yang dipakai sebagai input dan output.
•
Tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah
•
Hanya untuk menggambarkan prosedur dalam sistem yang dibentuk
Contoh System Flowchart Gambar 1. Data jawaban ujian
Koreksi
Daftar Koreksi Data
File utama ujian
Tabel Siswa
Periksa Ujian
File
Ujian siswa
lulus
Laporan Hasil
2.5 Program Flowchart Program flowchart yaitu bagan yang memperlihatkan urutan dan hubungan proses dalam suatu program. Dua jenis metode penggambaran program flowchart : 1)
Conceptual flowchart, menggambarkan alur pemecahan masalah secara global
2)
Detail flowchart, menggambarkan alur pemecahan masalah secara rinci
Start
Start
Input
Input berapa data N
Proses
jml = 0 For K = 1 to N
Output Input bilangan Jml = Jml+bil. End Next K
Gbr.1 Conceptual
print “jumlah=” ; jml
Flowchart End
Gbr.2 Detail Flowchart
2.5.1 Simbol – simbol flowchart Simbol-simbol yang di pakai dalam flowchart dibagi menjadi 3 kelompok :
1)
– –
Flow direction symbols Digunakan untuk menghubungkan simbol satu dengan yang lain Disebut juga connecting line
2) -
Processing symbols Menunjukan jenis operasi pengolahan dalam suatu proses / prosedur
3) -
Input / Output symbols Menunjukkan jenis peralatan yang digunakan sebagai media input atau output.