Untitled 1

download Untitled 1

If you can't read please download the document

Transcript of Untitled 1

SKRIPSI

KONSEP DAN PEMODELAN BERORIENTASI-ASPEK MENGGUNAKAN UMLDALAM ASPECTJ ASPECT-ORIENTED CONCEPTS AND UML MODELING ON ASPECTJ

M. LUKLUK 98/123919/PA/07519

PROGRAM STUDI JURUSAN FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA YOGYAKARTA

SKRIPSI

KONSEP DAN PEMODELAN BERORIENTASI-ASPEK MENGGUNAKAN UMLDALAM ASPECTJ ASPECT-ORIENTED CONCEPTS AND UML MODELING ON ASPECTJ

Diajukan untuk memenuhi salah satu syarat memperoleh derajat

M. LUKLUK 98/123919/PA/07519

PROGRAM STUDI JURUSAN FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA YOGYAKARTA

HALAMAN PENGESAHAN SKRIPSI KONSEP DAN PEMODELAN BERORIENTASI-ASPEK MENGGUNAKAN UMLDALAM ASPECTJ

Telah dipersiapkan dan disusun oleh M. LUKLUK 98/123919/PA/07519

Telah dipertahankan di depan Tim Penguji pada tanggal

Susunan Tim Penguji

PERNYATAAN

Dengan ini saya menyatakan bahwa Skripsi ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu Perguruan Tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.

Yogyakarta,

M. Lukluk

i

Karya ini penulis persembahkan untuk orang tua, kakak-kakak, adikadik, dan seluruh keluarga besar yang selalu memberikan harapan bagi penulis, juga segenap rekan-rekan serta pembaca sekalian.

ii

Katakanlah: Kalau sekiranya lautan menjadi tinta untuk (menulis) kalimat-kalimat Tuhanku, sungguh habislah lautan itu sebelum habis (ditulis) kalimat kalimat Tuhanku, meskipun Kami datangkan tambahan sebanyak itu (pula). (Q.S. Al-Kahfi: 109)

iii

PRAKATAPuji syukur kehadirat Allah SWT atas limpahan rahmat, karunia, serta petunjuk-Nya sehingga tugas akhir berupa penyusunan skripsi ini telah terselesaikan dengan baik. Dalam penyusunan tugas akhir ini penulis telah banyak mendapatkan arahan, bantuan, serta dukungan dari berbagai pihak. Oleh karena itu pada kesempatan ini penulis mengucapan terima kasih kepada: 1. Prof. Dr. Subanar selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Gadjah Mada. 2. Prof. Dr. Dra. Sri Wahyuni, M.S. selaku Ketua Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Gadjah Mada. 3. Drs. G.P. Dalijo. Dipl.Comp. selaku Ketua Program Studi Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Gadjah Mada. 4. Drs. Sri Mulyana, M.Kom selaku Dosen Wali Akademik penulis. 5. Drs. Yohanes Suyanto, M.Kom selaku Dosen Pembimbing yang telah berkenan meluangkan waktu, dan pikiran dalam penyelesaian tugas akhir ini. 6. Nur Rokhman, S.Si, M.Kom dan Aina Musdholifah, S.Si selaku tim penguji. 7. Dr. Pekik Purwantoro, M.Si yang telah menyumbangkan template naskah skripsi FMIPA UGM berbasis LaTeX dan OpenOffice untuk menyusun naskah skripsi ini. 8. Segenap Dosen dan civitas akademik di lingkungan Program Studi Ilmu Komputer, Jurusan Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Gadjah Mada. 9. Kedua Orang Tua, kakak dan adik yang selalu memberikan arahan selama belajar dan menyelesaikan tugas akhir ini. Akhir kata penulis berharap semoga skripsi ini dapat memberikan manfaat bagi kita semua, terutama bagi perkembangan ilmu pengetahuan serta perkembangan Ilmu Komputer dan Teknologi Informasi. Yogyakarta,

Penulis

iv

DAFTAR ISIPRAKATA.............................................................................................................iv INTISARI............................................................................................................viii ABSTRACT...........................................................................................................ix BAB I CONTOH JUDUL BAB.......................................................................................10 1.1 Contoh Judul Sub Bab............................................................................10 1.2 Contoh Sub Bab Berikutnya...................................................................10 1.3 Beberapa Contoh Cara Penyajian...........................................................11 1.4 Cara Melakukan Sitasi Dan Menyusun Daftar Pustaka Secara Otomatis ......................................................................................................................13 BAB II MASUKAN JUDUL BAB....................................................................................15 2.1 Contoh Judul Sub Bab............................................................................15 2.2 Contoh Sub Bab Berikutnya...................................................................15 2.3 Beberapa Contoh Cara Penyajian...........................................................16 2.4 Contoh Berubah Ke Bentuk Halaman Landscape..................................19 2.5 Contoh Berubah Kembali Ke Bentuk Halaman Portrait ........................20 LAMPIRAN A SOURCE CODE...................................................................................................22

v

DAFTAR TABELTabel 1.1 Contoh keterangan tabel.........................................................................11 Tabel 1.2 Contoh keterangan tabel berikutnya.......................................................11 Tabel 2.1 Contoh keterangan tabel.........................................................................16 Tabel 2.2 Contoh tabel bentuk lebar......................................................................19

vi

DAFTAR GAMBARGambar 1.1 Contoh keterangan gambar.................................................................12 Gambar 1.2 Contoh keterangan gambar berikutnya...............................................12 Gambar 2.1 Contoh keterangan gambar.................................................................16 Gambar 2.2 Contoh keterangan gambar berikutnya...............................................17

vii

INTISARI

KONSEP DAN PEMODELAN BERORIENTASI-ASPEK MENGGUNAKAN UMLDALAM ASPECTJ M. Lukluk 98/123919/PA/07519 Contoh untuk Intisari. Pada umumnya sistem perangkat lunak terdiri dari beberapa concern, premis dari masalah ini adalah sebaran concern, di mana kebutuhan rancangan tertentu cenderung memotong-melintasi grup inti fungsional modul. Teknik orientasi-objek yang menerapkan concern tersebut cenderung menghasilkan kode yang tersebar, daya baca yang sulit, serta susah untuk dikembangkan. Metodologi baru, aspect-oriented programming (AOP), memberikan fasilitas modularisasi pemotong-lintasan/cross-cutting concern. Dengan menggunakan AOP, terdapat cara untuk membuat penerapan sistem yang lebih mudah untuk dirancang, dipahami, dan dipelihara. Lebih jauh lagi, AOP menjanjikan produktivitas yang lebih tinggi, peningkatan kualitas, dan kemampuan lebih baik untuk menambahkan feature baru. Contoh paragraf kedua. AspectJ adalah bahasa pemrograman yang digunakan secara luas untuk menerapkan program-program berorientasi aspek di Java. Namun demikian, AspectJ masih belum memiliki bahasa pemodelan yang dapat memenuhi perancangan program berorientasi aspek. Aspect Oriented Design Model (AODM), sebagai sebuah model perancangan baru pada pengembangan program dalam AspectJ, hanya memperluas konsep-konsep UML (Unified Modeling Language) yang telah ada dengan menggunakan mekanisme perluasan UML untuk memberikan konsep orientasi-aspek yang ada di dalam AspectJ. AODM menyediakan spesikasi model rancangan orientasi-aspek untuk ditransformasikan menjadi model rancangan UML biasa.

viii

ABSTRACT

ASPECT-ORIENTED CONCEPTS AND UML MODELING ON ASPECTJ M. Lukluk 98/123919/PA/07519

Example of Abstract. Most software systems consist several concerns, the premise of such thing is separation of concerns, where certain design requirements tend to cut across group of core functional modules. Object-oriented techniques for implementing such concerns result in systems that are invasive to implement, tough to understand, and difficult to evolve. The new aspect-oriented programming (AOP) methodology facilities modularization of crosscutting concerns. Using AOP, there is a way to create implementations that are easier to design, understand, and maintain. Further, AOP promises higher productivity, improved quality, and better ability to implement newer features. Second paragraf. AspectJ is a well-established programming language that is widely used to implement aspect-oriented programs in Java. However, there is no modeling language available for the design aspect oriented programs in AspectJ. Aspect Oriented Design Model (AODM), as a new design model for development of AspectJ programs, extends existing UML (Unified Modeling Language) concepts using standard UML extension mechanisms to provide aspect-oriented concepts as in AspectJ. The AODM species how an aspectoriented design model maybe transformed into an ordinary UML design model.

ix

1

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah Teknologi saat ini sudah sangat pesat perkembangannya dan tuntutan masyarakat terhadap kebutuhan akan teknologi semakin besar bahkan terkadang tak terkendali. Sudah selayaknya mahasiswa sebagai pelaku dalam penemuan dan penerapan teknologi semakin berlomba-lomba dalam rangka melakukan baik upaya penemuan maupun upaya pengembangan lebih lanjut. Semakin banyak dihadapkan terhadap tantangan yang nyata tentang penerapan teknologi secara tepat guna bagi masyarakat maupun institusi maka semakin banyak pula pengalaman dan pengetahuan baru yang akan diperoleh mahasiswa, dan dengan pengetahuan ditambah pengalaman yang kuat akan melahirkan pemikir sekaligus praktisi yang handal dalam menemukan dan menerapkan teknologi bagi masyarakat luas. Sejak terjadinya revolusi ilmu pengetahuan di beberapa negara di dunia, perkembangan teknologi berkembang dengan sangat pesat. Sehingga manusia dituntut untuk aktif mengikuti perkembangan yang terjadi. Dari era revolusi penerbangan dan antariksa sampai dengan era globalisasi ini perubahan pola pikir manusia sangat berbeda. Termasuk dalam hal dalam bidang penelitian telematri dan meteorologi. Sehingga manusia tidak hanya bekerja dengan peralatan yang sederhana, melainkan dengan alat alat yang canggih sesuai dengan kebutuhan

10

11 penelitian. Hal ini sangat berimbas dalam perkembangan teknologi di bidang antariksa. Dengan persaingan ilmu pengetahuan yang sangat ketat, berbagai peneliti telah memanfaatkan alat kerja bantu berupa roket yang berisi muatan (payload) agar dapat bekerja secara optimal. Dalam menyelesaikan tugas yang membutuhkan keakuratan yang tinggi, tenaga yang besar dan resiko yang tinggi, sangat dibutuhkan alat kerja bantu berupa Roket beserta payloadnya. Sehingga dapat mengurangi dampak resiko kecelakaan kerja dan Mencapai hasil maksimal. Oleh karena itu, pengembangan payload Roket harus dimulai dari riset yang mendalam, agar payload roket senantiasa dapat memberikan nilai yang lebih dalam bidang penelitian antarikas dan penerbangan.

1.2 Rumusan Masalah Berdasarkan latar belakang diatas, penulis merumuskan permasalahan sebagai berikut: Bagaimana merancang systim dan pengendalian Payload Korindo dengan Modul YS-1020 berbasiskan mikrokontroler AVR Atmega 32 yang baik Untuk Mendapatkan Sample Data di Udara

1.3 Batasan Masalah Agar skripsi ini lebih bertujuan secara mendalam kearah sasaran yang diharapkan, maka penulis memberikan batasan-batasan masalah dalam merancang system Payload Korindo dan pembuatan mengacu pada peraturan Korindo 2010.

12 Ruang lingkup terhadap masalah yang diambil untuk perancangan system Payload Roket adalah : 1. Menggunakan mikrokontroller ATmega32 2. Payload Roket dikendalikan dengan wireless modem RF YS-1020 3. Payload Roket adalah sebuah rangkaian elektronik dan sistem akruator robotic utuk telemetri untuk meteorologi 4. Fungsi Payload Roket ini adalah untuk pengukuran suhu, tekanan udara, dan kelembapan di udara 5. Bahasa pemrograman yan digunakan adalah Bascom AVR 6. Aplikasi desktop yang digunakan Delphi 7. Energi listrik menggunakan batu baterai 8. Cuaca keadaan baik 9. Peluncuran tidak menggunakan roket 10. Dimensi ruatan roket Diameter : 100 mm Tinggi 200 mm

1.4 Tujuan Penelitian Tujuan dari penulisan skripsi ini adalah : 1. Sebagai syarat untuk memperoleh gelar Sarjana Komputer(S.Kom) pada jurusan Teknik Informatika STMIK AMIKOM Yogyakarta 2. Menjadikan skripsi ini sebagai pembelajaran mahasiswa dengan mempraktekkan ilmu yang telah didapat selama di dalam kuliah. Sehingga diharapkan mahasiswa memiliki cukup ilmu untuk mengaplikasikan pada kehidupan sehari hari dan dunia kerja

13 nantinya. 3. Mengembangkan pola keilmuan dan membuka wawasan pengetahuan baru mahasiswa untuk membantu keilmuan Indonesia dalam bidang teknologi informatika khususnya dalam bidang penerbangan dan Antariksa. 4. Menjadikan skripsi ini sebagai koleksi buku referensi pada

perpustakan STMIK AMIKOM Yogyakarta.

1.5 Metode Pengambilan Data Metode pengumpulan data yang dilakukan penulis antara lain: 1. Kepustakaan (library) Penulis membaca literature atau buku yang berkaitan dengan permasalahan yang akan diteliti. 2. Wawancara (interview) Penelitian dilakukan dengan cara mewawancarai kepada beberapa orang yang mengalami kesulitan seputar komunikasi untuk mendapatkan informasi yang nantinya sebagai acuan laporan penelitian. 3. Studi Literatur Metode ini menggunakan literatur yang dapat di manfaatkan seperti manfaat internet yaitu mengunjungi situs yang berhubungan dengan Roket, Payload Roket, Sensor, telematri dan meteorologi.

14 1.6 Sistematika Penulisan Laporan penelitian ini akan disusun secara sistematik kedalam 5 bab masing-masing bab akan diurutkan sebagai berikut: BAB I PENDAHULUAN Pada bab ini akan diuraikan mengenai latar belakang masalah yang diteliti, rumusan masalah, batasan masalah, tujuan dan manfaat, metode pengumpulan data,sistematik penulisan. BAB II Landasan Teori Pada bab ini menerangkan teori mikrokontroler ATMEGA 32, rangkaian elektronika, motor DC, Wriless Modem, Sensor Kompas, Sensor ac-celerometer, Sensor Suhu, Sensor Tekanan, Sensor Kelembapan, Bascom AVR, Delphi. BAB III Perancangan Sistem Pada bab ini menguraikan rancangan elektronis, mekanis dan perancangan program dari sistem. BAB IV Hasil Dari Pembahasan Pada bab ini membahas hasil implementasi dan pengujian PayLoad yang dibuat. BAB V Penutup Pada bab ini meliputi kesimpulan yang didapat dari pembuatan Payload dan saran untuk pengembangan lebih lanjut. pemrograman

2

BAB II

LANDASAN TEORI

Seperti halnya sebuah computer dan robot, payload roket juga terdiri dari dua bagian yang saling terhubung, dimana setiap bagian mempunyai bagian dan fungsi yang berbeda. Begitu pula payload roket, dalam pembuatannya membutuhkan kedua bagian tersebut yaitu hardware atau perangkat keras, dan software atau perangkat lunak. 2.1 Hardware Hardware merupakan perangkat fisik dari sebuah system sehingga dapat dilihat secara kasat mata. Hardware dalam sebuah robot masih dikelompokan menjadi dua bagian yaitu : 1. 2. 2.1.1 Bagian Mekanis Bagian Elaktronis

Bagian Mekanis Bagian Mekanis merupakan bagian bagian robot yang bergerak secara

langsung, untuk melakukan gerakan gerakan itu diperlukan yang sesuai dan tepat dalam penggunaannya. Motor DC Contoh isian paragraf untuk anak dari anak sub bab yang nampak tidak ada penomoran lagi. AspectJ adalah bahasa pemrograman yang digunakan secara luas untuk menerapkan program-program berorientasi aspek di Java. Namun demikian, AspectJ masih belum memiliki bahasa pemodelan yang dapat memenuhi 15

16 perancangan program berorientasi aspek. Motor DC digunakan dalam rangka yang memerlukan kepresisian yang tinggi untuk pengaturan kecepatan, pada torsi yang konstan. Semua motor DC beroprasi atas dasar arus yang melewati konduktor yang berbeda dalam magnet. Motor DC disini digunakan sebagai penggerak motor utama. Terdapat dua tipe motorD C berdasarkan prinsip medannya yaitu : 1. 2. Motor DC dengan Magnet Permanen Motor DC dengan Lilitan yang terdapat pada Stator

A) Teori Motor DC Prinsip dasar dari motor arus searah adalah kalau sebuah kawat berarus diletakkan antara kutub magnet (U-S) maka dalam kawat itu akan terjadigaya yang menggerakan kawat itu. Arah gerakan kawat dapat ditentukan dengan menggunakan kaidah tangan kiri yang berbunyi Apabila tangan kiri terbuka diletakakan di antara ktutb U dan S, sehingga ggaris gaya yang keluar dari kutub utara menembus telapak tangan kiri dan arus di dalam kawat mengalir searah dengan arah keempat jari, maka kawat itu akan mendapat gaya yang arahnya sesuai dengan arah ibu jari.

Gambar 2.1 Prinsip Kerja Moror DC

17 Konversi dari energi listrik menjadi energi mekanik (motor) maupun sebaliknya berlangsung melalui medan magnet, dengan demikian medan magnet disini selain berfungsi sebagai tempat untuk menyimpan energi, sekaligus berfungsi sebagai tempat berlangsungnya proses perubahan energi. Dengan mengacu pada hukum kekekalan energi : Proses energi listrik = energi mekanik + energi panas + energi didalam medan magnet Maka dalam medan magnet akan dihasilkan kumparan medan kerapatan fluks sebesar B dengan arus adalah I serta panjang dengan L maka diperoleh gaya sebesar F, dengan dengan

konduktor sama

persamaan sebagai berikut :

F = B I L..................................................................................(pers .1) Arah dari gaya ini ditentukan oleh aturan kaidah tangan kiri, adapun kaidah tangan kiri tersebut adalah sebagai berikut : Ibu jari sebagai arah gaya ( F ), telunjuk jari sebagai fluks ( B ), dan jari tengah sebagai arus ( I ). Bila motor dc mempunyai jari-jari dengan panjang sebesar ( r ), maka hubungan persamaan dapat diperoleh : Tr = Fr = B I L r.....................................................................(pers 2.) Saat gaya ( F ) tersebut dibandingkan, konduktor akan bergerak kumparan medan magnet dan menimbulkan gaya gerak listrik merupakan reaksi lawan terhadap tegangan sumber. Agar proses perubahan energi mekanik tersebut dapat berlangsung secara sempurna, maka tegangan sumber harus lebih besar dari pada yang disebabkan reaksi lawan. tegangan gerak yang didalam

18 Dengan memberi arus pada kumparan jangkar yang dilindungi oleh medan maka menimbulkan perputaran pada motor.

B) Torsi Torsi motor didefinisikan sebagai aksi dari suatu gaya pada motor yang dapat mempengaruhi beban untuk ikut bergerak. Ketika sumber tegangan dihubungkan pada brush (sikat) motor, maka arus yang mengalir masuk ke kutub positif brush, melalui komutator dan kumparan armatur, serta keluar melalui daerah kutub negatif dari brush. Pada saat yang bersamaan, arus juga mengalir melalui kumparan medan magnet. Penerapan kaidah tangan kanan pada konduktor armatur yang berada dibawah kutub utara (D) memperlihatkan kumparan medan magnet yang memperkuat gaya keatas agar dapat mendorong konduktor.

Gambar 2.2 Bagian bagian Motor DC Ketika kumparan medan magnet berada dibawah posisi kutub selatan E,

19 gaya akan memotong kearah kanan, kemudian menekan kebawah, sedangkan kutub utara F dan selanjutnya akan bergerak mendorong kearah kiri dibawah kutub selatan G, sehingga terbentuk suatu arah gaya yang dapat mengakibatkan konduktor armatur yang bergerak searah dengan arah jarun jam seperti pada Gambar 2.2. Dalam kondisi armatur yang berputar, dimana konduktor bergerak dibawah kutub menuju ke kondisi neutralplane, kondisi arus menjadi reverse karena komutator. Dari proses tersebut diperoleh suatu kenyataan yang sama, bila arus yang mengalir melalui kumparan armatur dalam kondisi reverse dengan proses membalik posisi armatur. Namun arahnya akan meninggalkan polaritas medan yang bersangkutan, maka torsi yang dibangkitkan akan bergerak kearah yang berlawanan dengan arah jarum jarum jam. Sedangkan torsi yang dibangkitkan pada motor dc merupakan gabungan aksi dari fluks medan ( ), arus armatur ( Ia ) yang menghasilkan medan magnet didaerah sekitar konduktor. Oleh karena itu diperoleh persamaan torsi ( T ) sebagai berikut : T = k Ia

C) Konstruksi Motor DC Pembagian dari fluks yang terdapat pada daerah celah udara yang

20 dihasilkan oleh lilitan medan secara simetris yang berada disekitar daerah tengah kutub kumparan medan. Kumparan penguat dihubungkan secara seri, letak kumparan jangkar berada pada slot besi yang berada disebelah luar permukaan jangkar. Pada jangkar terdapat komutator yang berbentuk silinder dan isolasi sisi kumparan yang dihubungkan dengan komutator pada beberapa bagian yang berbeda sesuai dengan jenis belitan.

D) Rugi rugi dan Efisiensi Rugi-rugi daya yang terjadi pada sebuah motor arus searah dapat dibagi ke dalam: (1) Rugi-Rugi Tembaga atau Listrik Rugi tembaga terjadi karena adanya resistansi dalam belitan jangkar dan menjadi belitan medan magnet. Rugi tembaga akan diubah panas dalam kawat jangkar maupun kawat penguat motor DC dilengkapi dengan kipas rotor

magnet. Desain tujuannya untuk

menghembuskan udara luar masuk ke panas yang terjadi akibat rugi-

dalam jangkar dan mendinginkan rugi tembaga.

21 (2) Rugi-Rugi Besi atau Magnet Rugi Histerisis Ph = Bmax X f V Watt = Steinmetz Hysterisis Coefficient

Arus Pusar (Eddy Current) Inti pada stator dan inti pada jangkar motor terdiri dari tumpukan pelat tipis dari bahan ferromagnetis. Tujuan dari pemilihan plat menekan rugi-rugi arus Eddy yang terjadi

tipis adalah untuk pada motor DC.

Pe = Ke Bmax 2 f2 V t2 watt Ke = Konstanta arus pusa t = Ketebalan inti magnet (m) (3) Rugi Mekanis Rugi mekanis yang terjadi pada motor disebabkan oleh adanya gesekan motor. (4) Efisiensi Motor Efisiensi adalah prosentase perbandingan daya keluar dan daya masuk yang terjadi pada motor. =Daya Keluar : Daya Masuk 100% = Daya Keluar: Daya Masuk rugi dan hambatan angin, seperti pada bagian poros

22 2.2 Bagian Elektronis Bagian elektronis tersebut terdiri dari komponen komponen elektroniuka yang terangkai sedemikian rupa sehingga bisa mendukung kinerja robot. Bagian elektronis pada robot manual ini terdiri dari tiga bagian penting, yaitu : 1. 2. 3. 4. 5. 6. 2.2.1 Mikrokontroller Wireless Transceiver Sensor Suhu & Kelembaban Sensor Tekanan Udara Memori EEPROM Catu Daya DC

Mikrokontroller Mikrokontroller merupakan system computer yang seluruh atau sebagian

besar elemennya dikemas dalam satu chip IC sehingga sering juga disebut single chip microcomputer. Suatu kontroler digunakan untuk mengontrol suatu proses atau aspek-aspek dari lingkungan. Satu contoh aplikasi dari mikrokontroler adalah untuk memonitor rumah kita. Ketika suhu naik kontroler membuka jendela dan sebaliknya. Pada masanya, kontroler dibangun dari komponen-komponen logika secara

keseluruhan, sehingga menjadikannya besar dan berat. Setelah itu barulah dipergunakan mikrokprosesor sehingga keseluruhan kontroler masuk kedalam PCB yang cukup kecil. Hingga saat ini masih sering kita lihat kontroler yang dikendalikan oleh mikroprosesor biasa (Zilog Z80, Intel 8088, Motorola 6809, dsb).

23 Proses pengecilan komponen terus berlangsung, semua komponen yangdiperlukan guna membangun suatu kontroler dapat dikemas dalam satu keping. Makalahirlah komputer keping tunggal (one chip microcomputer) atau disebut jugamikrokontroler. Mikrokontroler adalah suatu IC dengan kepadatan yang sangattinggi, dimana semua bagian yang diperlukan untuk suatu kontroler sudah dikemasdalam satu keping, biasanya terdiri dari: 1. 2. 3. 4. 5. 6. CPU (Central Processing Unit) RAM (Random Access Memory) EEPROM/EPROM/PROM/ROM I/O, Serial & Parallel Timer Interupt Controller

Rata-rata mikrokontroler memiliki instruksi manipulasi bit, akses ke I/Osecara langsung dan mudah, dan proses interupt yang cepat dan efisien. Dengankata lain mikrokontroler adalah " Solusi satu Chip" yang secara drastis mengurangi jumlah komponen dan biaya disain (harga relatif rendah). A) Mikrokontroler ATMEGA 32 Mikrokontroler AVR (Alf and Vegard's Risc processor) standar memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock. AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing). AVR dapat dikelompokkan menjadi empat

24 kelas, yaitu keluarga ATtiny, keluarga ATSOSxx, keluarga ATMega, dan AT86RFxx. Pada dasamya, yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya.

Gambar 2.3 Blok Diagram ATMega32 (www.atmel.com)

25 Dari gambar tersebut dapat dilihat bahwa ATMega32 memiliki bagian sebagai berikut: 1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D. 2. 3. 4. 5. 6. 7. 8. 9. ADC 10 bit sebanyak 8 saluran. Tiga buah Timer/Counter dengan kemampuan pembandingan. CPU yang terdiri atas 32 buah register. 131 intruksi andalan yang umumnya membutuhkan 1 siklus clock. Watchdog Timer dengan osilator internal. Dua buah timer/counter 6bit, satu buah timer/counter 16 bit. SRAM sebesar 1KB. Memori Flash sebesar 32 kb dengan kemampuan Read While Write. 10. 11. 12. 13. 14. Unit interupsi internal dan eksternal. Port antarmuka SPI. EEPROM sebesar 512 byte yang dapat diprogram saat operasi. Antarmuka komparator analog. Port USART untuk komunikasi serial. Fitur ATMega32 Kapabilitas detail dari ATMega32 adalah sebagai berikut: 1. Memiliki internal EPROM, anda tidak perlu lagi memakai batere untuk mem-backup isi RAM.

26 2. 3. Memiliki 8 channel ADC 10 bit. Memiliki internal oscilator, sehingga bisa dikonfigurasikan tanpa Xtal. 4. 5. 6. Ram internal 2kb (bandingkan 89C51 yang hanya 128byte). 32KB EEPROM untuk program (89C51 hanya 4kb). Internal watch dog. Nah ini penting, sehingga bisa mencegah sistem hang. 7. 8. 9. 10. Real Time Counter with Separate Oscillator Brown-out detector, juga mencegah hang. In-system programming, tidak perlu programmer khusus. Four PWM Channels 8-channel, 10-bit ADC 8 Single-ended Channels 7 Differential Channels in TQFP Package Only 2 Differential Channels with Programmable Gain at 1x, 10x, or 200x 11. 12. 13. 14. 15. Byte-oriented Two-wire Serial Interface Programmable Serial USART Master/Slave SPI Serial Interface Programmable Watchdog Timer with Separate On-chip Oscillator On-chip Analog Comparator

27 a) KONFIGURASI PIN AT MEGA 32

(1) (2) (3)

Gambar 2.4 Konfigurasi Pin VCC (power supply) GND (ground) Port A Port A berfungsi sebagai input analog pada A/D Konverter.

Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah, jika A/DKonverter tidak digunakan. Pin - pin Port dapat menyediakanresistor internal pull-up (yang dipilih untuk masing-masing bit).Port A output buffer mempunyai karakteristik gerakan simetrisdengan keduanya sink tinggi dan kemampuan sumber. Ketika pinPA0 ke PA7 digunakan sebagai input dan secara eksternal ditarikrendah, pin pin akan memungkinkan arus sumber jika resistor internal pull-up diaktifkan. Pin Port A adalah tristated manakalasuatu kondisi reset menjadi aktif, sekalipun waktu habis. (1) Port B (PB7..PB0)

28 Port B adalah suatu Port I/O 8-bit dua arah dengan resistor internalpull-up (yang dipilih untuk beberapa bit). Port B output buffermempunyai karakteristik gerakan simetris dengan keduanya sinktinggi dan kemampuan sumber. Sebagai input, pin port B yangsecara eksternal ditarik rendah akan arus sumber jika resistor pullupdiaktifkan. Pin Port B adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. (4) Port C (PC7..PC0) Port C adalah suatu Port I/O 8-bit dua arah dengan resistor internalpull-up (yang dipilih untuk beberapa bit). Port C output buffermempunyai karakteristik gerakan simetris dengan keduanya sinktinggi dan kemampuan sumber. Sebagai input, pin port C yangsecara eksternal ditarik rendah akan arus sumber jika resistor pullupdiaktifkan. Pin Port C adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. (5) Port D (PD7..PD0) Port D adalah suatu Port I/O 8-bit dua arah dengan resistor internalpull-up (yang dipilih untuk beberapa bit). Port D output buffermempunyai karakteristik gerakan simetris dengan keduanya sinktinggi dan kemampuan sumber. Sebagai input, pin port D yangsecara eksternal ditarik rendah akan arus sumber jika resistor pullupdiaktifkan. Pin Port D adalah tri-stated manakala suatu kondisireset menjadi aktif,

29 sekalipun waktu habis. (6) (7) (8) RESET (Reset input) XTAL1 (Input Oscillator) XTAL2 (Output Oscillator) AVCC adalah pin penyedia tegangan untuk port dan A/D Konverter (9) AREF adalah pin referensi analog untuk A/D konverter

b) Sistem minimum Atmega 32

Gambar 2.5 : Sistem Minimum AT Mega 32 Kapasitor C2 dan Resistor R2 digunakan untuk sistem Reset, saat pertama suplay diberikan ke mikrokontroler maka kaki 9 akan berlogika 1, selama 2 siklus mesin. Setelah itu pin 9 akan berlogika 0 kembali. Proses

30 seperti ini bisa terjadi berdasarkan proses pengisian dan pengosongan kapasitor. Kapasitor C1 dan C5, dipasang bersamaan dengan keramik resonator (x-tal) untuk menghasilkan Clock internal. Nilai dari clok ini tergantung dari keramik resonator (x-tal) yang diberikan c) SISTEM CLOCK Mikrokontroler, mempunyai sistem pewaktuan CPU, 12 siklus clock. Artinya setiap 12 siklus yang dihasilkan oleh ceramic resonator maka akan menghasilkan satu siklus mesin. Nilai ini yang akan menjadi acuan waktu operasi CPU. Untuk mendesain sistem mikrokontroler kita memerlukan sistem clock, sistem ini bisa di bangun dari clock eksternal maupun clock internal. Untuk clock internal, kita tinggal memasang komponen seperti di bawah ini:

Gambar 2.6 : Sistem Clock d) Organisasi memori AVR ATMega32 AVR ATMega32 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Sebagai tambahan, ATmega32 memiliki fitur suatu EEPROM Memori untuk penyimpanan data. Memori data

31 sebesar 2 kilobyte SRAM Internal. Register keperluan umum menempati space data pada alamatter bawah, yaitu $00 sampai $1F. Sementara itu, register khusus unutk menangani I/O dan kontrol terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebutmerupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti kontrol register,timer/counter, fungsi fungsi I/O, dan sebagainya. Alamatmemori berikurnya digunakan untuk SRAM 2 kilobyte ATmega32 berisi 32 Kilobytes On-Chip di dalam sistem Memoriflash Reprogrammable untuk penyimpanan program. Karena semuaAVR instruksi adalah 16 atau 32 bits lebar, Flash adalah berbentuk 16K x16. Untuk keamanan perangkat lunak, Flash Ruang program memori adalah dibagi menjadi dua bagian, bagian boot program dan bagian aplikasi program dengan alamat mulai dari $000 sampai $FFF.Flash Memori mempunyai suatu daya tahan sedikitnya 10,000write/erase Cycles. ATmega32 Program Counter (PC) adalah 14 bitlebar, alamat ini 16K lokasi program memori.

32 e) Port ATmega32 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur bidirectional dengan pilihan internal pull-up. Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf x mewakili nama huruf dari port sedangkan huruf n mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam regiter DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi Sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1)atau kondisi output low (DDxn=1, PORTxn=0). Biasanya, kondisi pull-up

33 enabled dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver dengan sebuah pull-up. Jika ini bukan suatu masalah, maka bit PUD pada register SFIOR dapat diset 1 untuk mematikan semua pull-up dalam semua port. Peralihan dari kondisi input dengan pull-up ke kondisi output low juga menimbulkan masalah yang sama. Maka harus menggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau kondisi output high (DDxn=1, PORTxn=0) sebagai kondisi transisi. Lebih detil mengenai port ini dapat dilihat pada manual datasheet dari IC ATmega8535. f) Konfigurasi Pin Port DDxn 0 0 0 1 1 PORTxn 0 1 1 0 1 PUD I/O (in SFIOR) x 0 1 x x Input Input Input Output Output Pull-Up No Yes No No NO Commnet Tri-State (HI-Z) Pxn Will Source Curent if ext. pulled Low. Tri-State (HI-Z) Output Low (Sink) Output (Source) high

BitReadWride InitialValue

7ADTs2

6ADTS1

5RW 0

4R 0

3ACME

2PUD

1RSR2

0RSR10 $FIOR

ADTS0 -

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

34 g) Bit 2 PUD : Pull-up Disable Bila bit diset bernilai 1 maka pull-up pada port I/O akan dimatikan walaupun register DDxn dan PORTxn dikonfigurasikan untuk menyalakan pull-up (DDxn=0, PORTxn=1).

2.2.2

Wireless Transceiver Untuk melakukan komunikasi nirkabel menggunakan media

elektromagnetik dengan format komunikasi data serial tak sinkron. Untuk melakukan komunikasi wireless RF menggunakan perangkat YS-1020UB. YS1020 merupakan modul RF dengan konsumsi daya rendah ( 50 mW) yang didisain untuk sistem transmisi data dalam jangkauan jarak yang relatif dekat yaitu sekitar 1km. Modul ini juga memiliki 8 kanal frekuensi, dimana pengaturan frekuensi dapat dilakukan secara digital.

Gambar 2.8: Modul RF YS-1020 Untuk melakukan antarmuka dengan modul ini terdapat bagian-bagian pin yang memiliki fungsi tertentu, adapun konfigurasi pin modul RF YS-1020 adalah:

35Pin 1 2 3 4 5 6 7 8 9 Pin Name GND Vcc RXD/TTL TXD/TTL DGND A(TXD) B(RXD) Sleep Test Description Ground of power suplay Power suplay DC Serial data receiving and Digital grounding A of RS-485 or TXD of RS-232 A of RS-485 or TXD of RS-232 Sleep Control (input) Ex-factory testing TTL Sleep Signal Low level sleep +3,3-5,5V TTL TxD RxD A(RxD) B(TxD) Level Connection terminal ground with Remands

Serial data trasnmiting and TTL

2.2.3

Sensor Suhu & Kelembaban Dalam melakukan pengukuran kelembaban dan suhu udara pada

PAYLOAD menggunakan piranti SHT11 produksi SENSIRION. SHT11 adalah keping tunggal (chip) mutisensor untuk mengukur kelembaban relatif (RH%) dan suhu yang terdiri dari modul yang sudah dikalibrasi dengan keluaran digital. Dengan menggunakan metode pengolahan CMOSens untuk memastikan kehandalan dan stabilitas jangka panjang yang sangat baik. Masukan besaran kelembaban dan suhu secara internal akan diolah menggunakan ADC (analog to digital) 14-bit kemudian diproses oleh pengendali dan hasil pengukuran dibaca dengan antarmuka komunikasi data serial pada satu chip yang sama. Hal ini mengakibatkan kualitas sinyal lebih bagus, waktu respon yang cepat dan memiliki kekebalan yang tinggi terhadap gangguan eksternal (EMC).

36

Gambar 2.9: Sensor SHT11 Antarmuka terhadap sensor SHT11 menggunakan metode komunikasi Two Wire Interface (TWI) yang terdiri dari jalur DATA dan jalur CLOCK.

Gambar 2.10: Blok Diagram Sensor SHT11 Sebagai bahan informasi, sensor SHT11 memiliki spesifikasi teknis seperti ditunjukkan pada tabel 2 berikut:

37 Tabel 2.3 Spesifikasi Sensor SHT11

2.2.4

Sensor Tekanan Udara Untuk melakukan pengukuran terhadap tekanan udara yang dialami

PAYLOAD digunakan sensor MPX5050 produksi FreescaleTM. Sensor ini merupakan jenis transduser piezoresistive yang menjadi acuan dari sebuah sensor tekanan berbahan silicon monolithic dan didisain untuk jangkauan aplikasi yang luas. Untuk antarmuka dengan mikrokontroler dibutuhkan sebuah ADC (analog to digital converter) untuk membaca besaran tekanan yang terbaca oleh sensor MPX5050.

38 Disain sensor yang sudah dipatenkan dengan transduser elemen tunggal yang sudah dikombinasikan dengan teknik micromachining tingkat tinggi, pelapisan film logam tipis, pemrosesan bipolar yang menghasilkan output analog yang akurat dan proporsional terhadap tekanan yang dirasakan oleh transduser.

Gambar 2.11: Sensor MPX5050

Adapun sensor MPX5050 memiliki beberapa fasilitas dalam rangka antarmuka untuk membaca besaran tekanan udara, yaitu: Error maksimal sebesar 2.5% pada rentang suhu 0C s/d 85C Ideal untuk aplikasi berbasis mikrokontroler Terkompensasi suhu pada rentang -40C s/d 125C Menggunakan irisan silikon strain gauge tekan yang dipatenkan Menggunakan elemen unibody epoxy yang kuat Menggunakan pembungkus yang mudah dioperasikan

39 Sebagai bahan informasi, sensor MPX5050 memiliki spesifikasi teknis seperti ditunjukkan pada tabel 3 berikut:

2.2.5

Sensor Kompas Digital Untuk mengetahui arah gerakan (heading) dari PAYLOAD yang sedang

melayang digunakan sensor kompas CMPS03. Sensor ini memiliki dua aksis pengukuran terhadap medan magnet. Seperti layaknya kompas analog, sensor CMPS03 mendeteksi setiap resolusi sudut ukur tertentu. Dengan dilengkapi regulator tegangan 3 volt yang tergabung dalam satu kemasan yang sama, memungkinkan antarmuka secara aman terhadap sistem berbasis mikrokontroler dengan catu tegangan 5 volt.

40

Gambar 2.12: Sensor Kompas Digital HM55B Spesifikasi untuk modul CMPS03 Devantech Magnetic Compass, yaitu: Catu daya Konsumsi arus Antarmuka Akurasi Resolusi Waktu konversi :+5 VDC, :15 mA, :I2C atau PWM, :3-4 derajat, :0,1 derajat, : 40ms atau 33,3ms dapat dipilih,

Telah dikalibrasi pada daerah dengan sudut inklinasi 67 derajat.

2.2.6

Catu Daya DC Catu daya adalah bagian paling penting dari semua sistem elektronik, hal

ini karena semua sub sistem elektronik pasti memerlukan suplai daya agar bisa bekerja dengan benar. Prinsip kerja catu daya ini adalah memberikan catu tegangan yang stabil pada kisaran +5 volt dengan potensi catu arus yang besar

41 sehingga untuk keperluan konsumsi daya yang cepat dengan level fluktuasi yang tinggi, masih tetap bisa dilakukan suplai daya dengan mantap dan stabil. Efisiensi adalah hal utama yang harus diperhatikan, jika bisa menerapkan efisensi catu daya hingga lebih dari 80% akan sangat menghemat energi dalam durasi aktif yang lebih lama lagi. Untuk itu digunakan regulator catu daya dengan tegangan keluaran stabil IC LM2576 produksi nasional. Regulator ini akan menerima masukan catu tegangan dari baterai pada PAYLOAD dengan nominal masukan antara tegangan DC 7 volt hingga 40 volt.

Gambar 2.15: IC Power Supply LM2576 Dengan menggunakan teknik PWM dalam mengatur suplai arus dan tegangan pada beban, diperoleh tingkat efisiensi yang tinggi sehingga diperoleh suplay daya yang stabil, kuat dan rendah disipasi.

Gambar 2.16: Pengoperasian IC Power Supply LM2576

42 2.3 Software Secara umum, Payload digerakan dengan menggunakansebuah program yang dimasukkan ke dalam mikrokontroller. Program yang dijalankan oleh mikro controller tersusun dari bahasa pemrograman tingkat rendah (low level language) atau disebut juga bahasa mesin.agar pembuatan program lebih mudah dipahami manusia, maka diperlukan bahasa pemrograman tingkat itnggi (high level language), salah satunya adalah bahasa pemrograman Basic. Bahasa tingkat tinggi tersebut kemudian decompile dengan menggunakan software pendukung sehingga mempunyai output yang dikenal oleh mesin. 2.3.1 Bahasa Pemrograman Basic Basic merupakan bahasa tingkat menengah, artinya adalah kemampuan mengakses fungsi fungsi dan perintah perintah dasar bahasa mesin. Dalam presepektifnya mudah dipahami manusia, Basic juga bias digolongkan menjadi bahasa tingkat tinggi, namun Basic juga menyediakan kemampuan untuk melakukan operasi bit, operasi byte, pengaksesan memori yang bdilakukan oleh bahasa tingkat rendah. Bila melihat sejarahnya, BASIC adalah bahasa interpreter. Artinya, akan diterjemahkan ke dalam machine code saat program di-eksekusi. Positif-nya, kita bisa memberikan perintah pada command line, dan langsung melihat hasilnya. Negatif-nya, lambat. Namun, sekali lagi, soal cepat atau lambat, tergantung pada kebutuhan. Bila jeda yang terjadi masih dalam batas-batas yang dapat diterima, berarti kelambatan yang terjadi dapat diabaikan. PBASIC dikembangkan oleh Parallax, Inc. untuk mendukung produk

43 mereka, BASIC Stamp. Program yang ditulis dengan PBASIC akan disimpan dalam bentuk token, dalam sebuah EEPROM eksternal, kemudian akan dibaca, diterjemahkan dan di-eksekusi saat program dijalankan. Interpreter BASIC ditanam dalam memori program di dalam chip mikrokontroler yang mereka jual (berbasis PIC atau Ubicom). Dalam penggunaannya, Parallax menjual modul yang terdiri dari mikrokontroler, EEPROM serial, dan komponen pendukung lainnya. Modul ini dapat langsung dihubungkan dengan port serial atau USB komputer, dan melalui BASIC Stamp Editor, kita bisa langsung menggunakannya. Harus diakui, menggunakannya cukup mudah. Hanya saja, kemudahan dan kesederhanaan yang ditawarkan, harus dibayar dengan harga yang lumayan. Referensi dari situs Parallax Inc. menunjukkan harga USD 49 untuk satu modul BASIC Stamp 2, namun untuk versi OEM bisa diperoleh dengan harga sekitar 275 ribu. BASCOM dikembangkan oleh MCS Electronics, dan merupakan BASIC compiler. Program yang dibuat dalam bahasa BASIC, akan di-kompilasi menjadi machine code, untuk kemudian dimasukkan ke dalam mikrokontroler melalui sebuah programmer. Saat ini, sesuai dengan referensi dari situs web MCS Electronics, BASCOM baru mendukung mikrokontroler keluarga MCS51 (BASCOM-8051) dan keluarga AVR (BASCOM-AVR), keduanya produk dari Atmel Corp. Beberapa alas an mengapa memakai bahasa basic adalah : a) Basic adalah bahasa yang paling popular saat ini.

44 b) c) Basic adalah bahasa pemrograman yang memiliki fleksibilitas Basic adalah bahasa yang mudah dipahami

Struktur Bahasa Basic A) CharacterSet Basic Bascom Character Set terdiri dari huruf, angka karakter, dan

karakter khusus. Para huruf A-Z di Bascom adalah huruf besar (AZ) dan huruf kecil (az) dari alphabet, numerik adalah angka 0-9. Karakter berikut memiliki arti khusus dalam pernyataan-pernyataan dan ekspresi Bascom:

Character ENTER ' * + , . / : ; \

45

B) Relational Operators Operator Relation tasted Equality Inequality Less than Greater then Les then and equal to Greater than or equal to xperession X=Y X Y XY X = Y

= < > = C) Logic Operator

Operator NOT AND OR XOR

Meanig Logical complement Conjunction Disjunction Exclusive or

Contoh A = 63 And 19 PRINT A A = 10 Or 9 PRINT A Output 16

D) Arrays Array adalah kumpulan elemen diindeks secara berurutan memiliki tipe

46 yang sama. Setiap elemen array memiliki nomor indeks yang unik yang akan mengidentifikasi hal itu. Perubahan yang dilakukan ke elemen array tidak mempengaruhi unsur-unsur lain. Indeks numerik harus konstanta , sebuah byte, integer atau char. Ini berarti bahwa sebuah array dapat menampung 65.535 elemen sebagai maksimum. Nilai minimum adalah 1 dan bukan nol seperti dalam Basic. Contoh : Dim a(10) as byte 'membuat sebuah array bernama a, dengan 10 elemen (1 sampai 10) Dim c as Integer For C = 1 To 10 a(c) = c........................................ ....................... 'menetapkan elemen array Print a(c) Next 'print

E) Strings String dapat berisi hingga 254 karakter di Bascom. Untuk menghemat memori Anda harus menentukan berapa lama masing-masing string harus dengan pernyataan DIM. Dim S As String * 10

Ini akan membuat cadangan ruang untuk string S dengan panjang 10 bytes. Panjang yang sebenarnya adalah 11 byte karena nul (0) digunakan untuk mengakhiri string. Anda dapat menggabungkan string dengan tanda +.

47 Dim S As String * 10, Z As String * 10 S = "test" Z = S + "abc" + var

Dalam QB Anda dapat menetapkan string dengan nilai dan tambahkan string asli (atau bagian dari itu) juga: S = "test" S = "a" + s

Ini akan menghasilkan string "atest" F) BASCOM Statements #IF Syntax

(1) #IF test [#ELSE] #ENDIF Contoh Const DEMO = 1 ' 0 = normal , 1= demo #If Demo Print "Demo program" #Else Print "Full version" #Endif

(2) $CRYSTAL Syntax

48 $CRYSTAL = var Contoh $baud = 2400 $crystal = 1400 crystal Print "Hello" End ' 14 MHz

(3) $INCLUDE Syntax$INCLUDE "file"

Contoh '-------------------------------------------------------------' (c) 1995-2006 MCS Electronics '-------------------------------------------------------------' file: INCLUDE.BAS ' demo: $INCLUDE '-------------------------------------------------------------Print "INCLUDE.BAS" $include "123.bas" 'include file that prints Hello Print "Back in INCLUDE.BAS" End

(4) DO Syntax DO statements LOOP [ UNTIL expression ] Contoh

49 Dim A As Byte Do A=A+1 Print A Print A 'start the loop 'increment A 'print it 'Repeat loop until A = 10 'A is still 10 here

Loop Until A = 10

(5) FORFOR var = start TO/DOWNTO end [STEP value]

Contoh Dim Y As Byte , A As Byte,x as byte y = 10 'make y 10 'do this 10 times

For A = 1 To 10 Print X ; A Next

For X = Y To 1 ...................'this one also ................'print the values ...........'next x (count down)

Next ..................................... ..............................'next a (count up) Dim S As Single For S = 1 To 2 Step 0.1 Print S Next End

(6) REM SyntaxREM atau '

Contoh

50 REM TEST.BAS version 1.00 PRINT a ' " this is comment : PRINT " hello" not be executed! ^--- this will

(7) $REGFILE yntax $REGFILE = "file" Contoh $REGFILE = "8052.DAT" 'use the 8052.DAT file............................

2.3.2

Bascom-AVR Compiler Sebuah mikrokontroler hanya dapat mengeksekusi sebuah program dalam

bentuk bahasa mesin. Oleh karena itu, jika sebuah program ditulis dalam bentuk bahasa tingkat tinggimaka program itu harus diproses terlebih dahulu sebelum dimasukkan ke dalam mikrokontroler. Hal ini merupakan salah satu kekurangan dari bahasa tingkat tinggi, yaitu perlu waku untuk memproses program sebelum program tersebut dijalankan. Bascom AVR merupakan compiler yang bias mengopile bahasa pemrograman Basic ke dalam bahasa mesin. Bascom AVR juga dapat digunakan untuk memindahkan program yang sudah decompile ke dalam memori mikrokontroler atau disebut juga software downloader. Dlam program downloader pada umumnya mempunyai pendeteksi mikrokontroler, upload program dan pengecekan program yang sudah ada dalam mikrokontroler apakah sama dengan program yang sebelumnya telah di upload. 2.3.3 Diptrace

51 Software ini memiliki keunggulan dalam kemudahan pemakaiannya dan tentunya kelengkapan pustaka komponen yang dimilikinya. Seluruh komponen elektronika yang saya butuhkan dimiliki oleh pustaka software ini. Setelah selesai menggambar skema hanya dengan beberapa klik saja maka dapat dibentuk layout PCB dari skema tersebut. dapat Dan dengan fasilitas dengan tata autorouting letak maka

jalur yang dihasilkan

menyesuaikan

komponen

tersebut. Softwareyang wajib dimiliki, apalagi Diptrace juga mempunyai versi free-nya. Versi free memiliki keterbatasan dalam jumlah lubang (pin) kaki komponen yaitu sebanyak 200. 2.3.4 Delphi Delphi adalah pengembangan perangkat sebuah bahasa lunak. pemrograman dan Produk ini lingkungan dikembangkan

oleh CodeGear sebagai divisi pengembangan perangkat lunak milik Embarcadero, divisi tersebut sebelumnya adalah milik Borland. Bahasa Delphi, atau dikenal pula sebagai object pascal (pascal dengan ekstensi pemrograman berorientasi

objek (PBO/OOP)) pada mulanya ditujukan hanya untuk Microsoft Windows, namun saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk Linux dan Microsoft .NETframework (lihat di bawah). Dengan

menggunakan Free Pascal yang merupakan proyek opensource, bahasa ini dapat pula digunakan untuk membuat program yang berjalan di sistem operasi Mac OS X dan Windows CE Pada tanggal 8 Februari 2006, Borland mengumumkan akan melepas

52 seluruh jajaran produk pengembangan aplikasi komputernya termasuk di antaranya Delphi. Saat ini Delphi menjadi bagian dari jajaran IDE milik Embarcadero Technologies setelah Embarcadero Technologies mengakuisisi CodeGear, anak perusahaan Borland yang menangani tool pengembangan aplikasi.

3

BAB III

PERANCANGAN SISTEM

Pada bab ini akan dibahas mengenai perencanaan : 1. Perancangan sistem 2. Perangkat keras elektronik. 3. Pembuatan mekanik 4. Pembuatan perangkat lunak Pembuatan perangkat mekanik terdiri dari perancangan desain mekanis yang mendukung aksi gerak payload dan berkarakter sesuai dengan muatan roket KORINDO pada kondisi sesungguhnya. Perancangan ini terdiri dari pengaturan mainboard, sensor, servo sebagai pengerah sirip muatan, YS-1020 sebagai kendali, peletakan sumber daya listrik, kalibrasi sensor untuk mendeteksi suhu di udara. Perancangan elektronika terdiri dari perancangan JoyStick, Board Mikrokontroler dan aplikasi pembacaan data. Perangkat lunak ini dibuat dengan bahasa pemrograman Basic Bascom AVR atau yang sering disebut dengan Bascom dan delphi untuk membuat aplikasi pembacaan data sensor.

53

54 3.1 Perancangan Sistem Dalam merancang sistem PAYLOAD baik untuk akuisisi data maupun kendali gerak, harus digambarkan terlebih dahulu menggunakan blok diagram tentang konfigurasi dan sebaran pengkawatan yang akan diterapkan. Hal ini akan sangat membantu dalam mengetahui kelemahan dan pencarian kesalahan jika terjadi kegagalan kerja sistem. Selain itu blok diagram juga akan membantu untuk lebih memahami perancangan sistem yang akan dilakukan. Terdapat berbagai metode antarmuka untuk beberapa perangkat baik sensor maupun aktuator menuju ke pengendali utama berupa mikrokontroler, dan yang perlu diperhatikan adalah pengaturan pewaktuan dalam melakukan antarmuka pada tiap-tiap perangkat oleh mikrokontroler agar tidak terjadi kesalahan pembacaan atau pengendalian perangkat. Pengendali utama berfungsi sebagai inisiator antarmuka, sehingga untuk pembacaan sensor dilibatkan di awal dan di akhir proses dari kerja sensor. Khusus untuk aktuator pengendalian motor baling-baling, dilakukan hanya saat setelah terjadi separasi roket dan antarmuka dilakukan secara kontinyu sesuai dengan posisi yang diinginkan.

55

A) Prinsip Kerja Pada bagian ini akan dijelaskan prinsip kerja secara keseluruhan maupun sub sistem penyusun seperti yang di ilustrasikan pada gambar 4. Terdapat beberapa pembagian prinsip kerja yang akan dijelaskan, yaitu: a) Power Suplay Prinsip kerja pada bagian power suplay adalah menurunkan tegangan dari 7,4 menjadi 5 volt, untuk mensuplay tegangan ke mikro, servo, motor, dan sensor. Dari penurunan tegangan 7,4 menjadi 5 volt menjadikan kinerja sistem menjadi normal dan tidak kelebihan tegangan yang mengakibatkan terbakarnya sensor, servo ataupun mikrokonroler.

56 b) Servo servo merupakan motor DC yang bertorque di mana servo pada bagian ini di gunakan untuk menggerakkan sirip payload. Dan arah payload dapat di kendalikan, servo mendapat tegangan 5 Volt dari regulator. Pin data servo masuk ke pin PD5 (pin 19) yang merupakan pin PWM sehingga servo dapat di kendalikan dengan perintah yang sudah di tanamkan di kikro. c) Driver Motor dan Motor

Driver motor pada bagian payload menggunakan relay yang berfungsi sebagai saklar on of untuk menggerakkan motor. Pin data driver motor masuk ke pin mikro PD4 (Pin 18) yang merupakan pin PWM. Prinsik kerja dari driver motor ini PD4 di set sebagai output dan jika output 1 maka relay hidup motor berputar, dan jika output 0 maka relay mati motor berhenti. d) SHT11 SHT11 adalah sebuah single chip sensor suhu dan kelembaban relatif dengan multi modul sensor yang outputnya telah dikalibrasi secara digital. Dibagian dalamnya terdapat kapasitas polimer sebagai eleman untuk sensor kelembaban relatif dan sebuah pita regangan yang digunakan sebagai sensor temperatur. Output kedua sensor digabungkan dan dihubungkan pada ADC 14 bit dan sebuah interface serial pada satu chip yang sama. Sensor ini mengahasilkan sinyal keluaran yang baik dengan waktu respon yang cepat. SHT11 ini dikalibrasi pada ruangan denagn

57 kelembaban yang teliti menggunakan hygrometer sebagai referensinya. Koefisien kalibrasinya telah diprogramkan kedalam OTP memory. Koefisien tersebut akan digunakan untuk mengaklibrasi keluaran dari sensor selama proses pengukuran. Sistem sensor yang digunakan untuk mengukur suhu dan kelembaban adalah SHT11 dengan sumber tegangan 5 Volt dan komunikasi bidirectonal 2-wire. Sistem sensor ini mempunyai 1 jalur data yang digunakan untuk perintah pengalamatan dan pembacaan data. Pengambilan data untuk masing-masing pengukuran dilakukan dengan memberikan perintah pengalamatan oleh mikrokontroler. Kaki serial Data yang terhubung dengan mikrokontroler memberikan perintah pengalamatan pada pin Data SHT11 00000101 untuk mengukur kelembaban relatif dan 00000011 untuk pengukuran temperatur. SHT11 memberikan keluaran data kelembaban dan temperatur pada pin Data secara bergantian sesuai dengan clock yang diberikan mikrokontroler agar sensor dapat bekerja. Sensor SHT11 memiliki ADC (Analog to Digital Converter) di dalamnya sehingga keluaran data SHT11 sudah terkonversi dalam bentuk data digital dan tidak memerlukan ADC eksternal dalam pengolahan data pada mikrokontroler. Skema pengambilan data SHT11 dapat dilihat pada gambar berikut ini. e) Kompas Digital

Kompas Elektronik CMPS-03 buatan Devantech Ltd ini menggunakan sensor medan magnet Philips KMZ51 yang cukup sensitif untuk

58 mendeteksi medan magnet bumi. Modul ini bekerja dengan mendeteksi magnetik bumi. Data yang dihasilkan dari kompas elektronik ini berupa data biner. Sebagai contoh jika modul menghadap utara maka data yang dihasilkan adalah data 00H, dan arah selatan data keluarannya adalah 7FH. Koneksi dari modul ke mikrokontroller dapat dilakukan dengan 2 cara yaitu dengan mengunakan data PWM (Pulse Width Modulation), atau dengan I2C (Inter Intergrated Circuit). Jika menggunakan interface PWM, pulsa keluaran memiliki rentang 1mS untuk 0 atau arah utara sampai dengan 36.99 mS untuk 359.90. Cara yang kedua mengunakan I2C, metode ini dapat digunakan langsung sehingga data yang dibaca tepat 0 360 sama dengan 0 255. f) Sensor Tekanan Udara MPX5050DP

Sensor tekanan MPX5050 DP merupakan tranduser piezoresistif yang terbuat dari bahan silicon dan dirancang untuk berbagai aplikasi terutama yang menggunakan mikrokontroler. Sensor ini dilengkapi dengan chip signal conditioned, temperature compensated dan calibrated. Prinsip kerja Sensor ini adalah tekanan udara yang di baca Sensor MPX5050DP menghasilkan data analog sehingga untuk memudahkan proses data di mikro data analog di ubah menjadi digital. Dengan menggunakan IC MAX 178 setealha data berubah menjadi digital pin MAX 178 masuk ke mikro melalui jalur I2C pada pin PC0 dan PC1. g) ATMEGA 32

59 ATMEGA 32 di dalam sistem ini berperan penting dalam mejalankan semua aktifitas sensor, servo, motor serta YS-1020 prinsip kerja mikro di dalam payload korindo ini adalah mikro di tanamkan program-program untuk mengendalikan motor dan servo serta program untuk membaca sensor sehingga dapat berkomunikasi antara mikro dengan sensor-sensor. h) YS-1020 YS-1020 merupakan modul sinyal RF di mana modul ini digunakan untuk berkomunikasi payload korindo dengan komputer. Sinyal in bekerja pada chanel......... dan frekuensi..... Cara kerja dari modul ini dapat di lihat pada gambar di bawah ini :

60 Diperlukan dua modul RF yang terpasang di payload korindo dan komputer, masing-masing modul mendapatkan tegangan 5 Volt untuk bekerja. Pin 6 dan 7 pada YS-1020 masuk ke mikro melalui jalur komunikasi RX dan TX pada pin PD0 dan PD1 dan dengan program yang di tanamkan di mikro payload dapat mengirimkan data yang di proses mikro ke komputer dan komputer dapat mengendalikan payload.

3.2 Rancangan Elektronis Skema rangkaian PAYLOAD terdiri dari 2 komponen utama, yaitu : 1. Mikrokontroler dan Sensor 2. Kendali dengan YS-1020 3. Pembuatan Layout PCB 3.2.1 Bord utama Board Mikrokontroler ini digunakan untuk meletakan mikrokontroler Atmega 32 dan sebagai tempat inputan voltase dari sumber tegangan maupun pulsa dari sensor dan kendali motor yang nanti akan diolah dan disalurkan ke motor penggerak dan output data yagn di kirimkan ke groun atau komputer pengendali.

61

Board ini juga berfungsi untuk memasukkan code program yang telah dikompile dari komputer untuk bisa ditanamkan ke mikrokontroler Atmega 32, sehingga bisa juga disebut jembatan interface antara komputer dan mikrokontoler. Komponen yang dibutuhkan untuk membuat board mikrokontroler adalah:

62 a) Bord MPX 5050DP

Pada rancangan elektronis terutama pada bagian sensor tekanan yaitu MPX 5050DP menggunakan PC0 (Pin 22) dan PC1 (Pin 23) yang merupakan pin I2C untuk jalur komunikasi data MPX yang sudah di konfersi manjadi data digital oleh MAX 187. b) Bord CMPS03

CMPS03 merupakan sensor kompas digital di mana pada rancangan sistem elektronika CMPS 03 menggunakan pin PC4 dan PC5 sebagai jalur

63 komunikasi antara kompas dengan mikrokontroler agar dapat

berkomunikasi. c) Board SHT11

SHT11 dalam bagian mekanis ini berperan sebagai pendeteksi suhu dan kelembapan dan untuk berkomunikasi dengan mikrokontroler

menggunakan PC2 (pin 24) dan PC3 (pin 25).

64 d) Kristal

Sebuah osilator kristal adalah osilator elektronik sirkuit yang menggunakan mekanik resonansi dari bergetar kristal dari bahan piezoelectric untuk menghasilkan sinyal listrik dengan sangat tepat frekuensi . Frekuensi ini biasanya digunakan untuk melacak waktu (seperti pada jam tangan kuarsa ), untuk memberikan yang stabil sinyal clock untuk digital sirkuit terpadu , dan untuk menstabilkan frekuensi untuk pemancar radio dan penerima . Yang umum jenis yang paling resonator piezoelektrik digunakan adalah kristal kuarsa , sirkuit osilator didesain sekitar mereka menjadi dikenal sebagai "osilator kristal."

kristal Quartz yang dibuat untuk frekuensi dari beberapa puluhan kilohertz untuk puluhan megahertz. Lebih dari dua miliar (2 10 9) kristal yang diproduksi setiap tahunnya. Sebagian besar digunakan untuk perangkat konsumen seperti jam tangan , jam , radio , komputer , dan ponsel . kristal kuarsa juga ditemukan di dalam dan pengukuran alat uji,

65 seperti counter, generator sinyal , dan osiloskop . e) Transistor

Transistor adalah semikonduktor perangkat yang digunakan untuk memperkuat dan beralih elektronik sinyal. Ini adalah terbuat dari sepotong padat semikonduktor material, dengan setidaknya tiga terminal untuk koneksi ke sebuah sirkuit eksternal. Sebuah tegangan atau arus diterapkan ke satu pasangan perubahan transistor terminal arus yang mengalir melalui sepasang terminal. Karena) dikontrol (output daya bisa jauh lebih banyak daripada daya (input) pengawasan, transistor menyediakan amplifikasi dari sinyal. Hari ini, beberapa transistor dikemas secara individu, tetapi banyak ditemukan lebih banyak tertanam dalam sirkuit terpadu .

66 3.2.2 Kendali YS-1020

Dalam komunikasi payload dengan groud atau komputer, penerima di butuhkan dua YS-1020. Di mana satu di pasang di payload dedangkan yang satu di pasang di komputer dan dibuatkan sebuah interfasing antara RF YS-1020 yang di gabungkan dengan VCC disertai Serial USB untuk komunikasi RF dengan komputer .

3.2.3

Pembuatan Layout PCB Papan sirkuit cetak (printed circuit board atau PCB) adalah sebuah papan

yang

penuh

dengan

sirkuit

dari

logam

yang

menghubungkan

komponen elektonik satu sama lain tanpa kabel. Papan sirkuit ini mendapatkan namanya karena diproduksi secara massal dengan cara pencetakan. Sedangkan yang dimaksud jalur konduktor adalah sistem perkabelan antar komponen sebagai bagian dari hubungan data dan kelistrikan

67 pada komponen tersebut. Banyak cara yang digunakan untuk membuat layout PCb, diantaranya : 1. Menggambar layout PCB menggunakan spidol dengan tinta tahan air 2. Menggambarkan layout PCB secara langsung menggunakan rugos elektronik 3. Menggambar PCB dengan software desain PCB Ditinjau dari segi ekonomis, menggunakan spidol untuk menggambar layout PCB lebih murah dan lebih mudah. Namun cara ini hanya bisa digunakan untuk membuat rangkaian elektronika yang sederhana. Apabila cara ini digunakan untuk mendesain rangkaian elektronik Payload, akan membutuhkan waktu yang lama. Cara pembuatan PCB kedua adalah dengan menggunakan rugos elektronika. Dengan cara ini dapat diperoleh variasi bentuk garis dan pola garis dengan berbagai ukuran dan bentuk komponen. Cara ini cukup mudah, yaitu cukup dengan menggosok lembaran PCB polos. Cara ini cocok digunakan untuk membuat rangkaian elektronik yang menggunakan banyak jalur garis dan rangkaian yang sangst komplek. Namun, akan memnghabiskan waktu yang lama dan ketelitian yang tinggi. Oleh karena itu apabila ditinjau dari segi fisiansi waktu dan proses pengerjaan, cara ini kurang efektif. Metode yang digunakan dalam merancang Payload Roket adalah dengan menggunakan software desain PCB. Dibanding dengan cara sebelumnya, cara ini mempunyai keunggulan yaitu :

68 1. Selain digunakan untuk merancang desain PCB, software dapat digunakan untuk merancang skema elektronik. 2. Dapat membuat, menghapus dan mengedit standar ukuran dan betuk komponen sesuai yang kita butuhkan. 3. Sebelum digunakan dapat disimulasikan, sehingga mengurangi kesalahan dalam peletakan maupun pembuatan jalur PCB. 4. Mudah untuk didokumentasikan. Setelah desain PCB selesai, maka langkah selanjutnya adalah mencetak desain yang telah dibuat kedalam kertas glossy polos sesuai dengan desain aslinya. Kertas yang telah tedapat desain PCB dapat langsung digunakan untuk mencetak layout PCB dengan cara mentarsfer gambar layout ke PCB polos. Cara yang biasa digunakan adalah dengan memanasi kertas glossy dengan PCB polos sampai cetakan dari glossy tersebut benar benar sudah menempel ke dalam PCB. Apabila sudah benar benar menempel, kertas glossy boleh dilepas, dan PCB siap dilarutkan dengan pelarut khusus (toner) untuk membentuk jalur jalur yang telah kita buat. Setelah PCB rata terlarut oleh toner langkah selanjutnya adalah membersihkan sisa sisa tinta yang menempel dengan minyak premium atau tiner agar jalur komponen benar benar telah bersih. Kemudian PCB tersebut dilubangi sesuai dengan gambar kaki komponen yang telah kita buat dengan menggunakan bor khusus PCb dengan mata bor 0.5 mm. juga

69 3.3 Rancangan Sistem Mekanis Dalam rancangan mekanis ini terdiri beberapa bagian yaitu : 1. Kerangka Payload Korindo 2. Dimensi Payload Korindo 3. Struktur material Payload Korindo 3.3.1 Kerangka Payload Korindo

Payload ini dirancang agar dapat melaksanakan fungsi fungsi nacigasi dan gerak bebas di udara. Untuk mencapai kondisi di atas, perlu pemilihan bahan baku yang kuat dan tahan terhadap aksi dali luar dan tekanan udara. Kerangka payload terbuat dari almunium, dengan alasan bahan ini mudah dicari, murah dan kuat secara konstruksi. Untuk menggerakan baling-baling, payload ini menggunakan motor RC, dengan pertimbangan mempunya RPM yang

70 tinggi dan mempunyai torsi relatif rendah. Untuk menggerakan sayap, payload ini menggunakan servo mini dengan torsi 3 Kg. Untuk menarik payload bergerak maju, belok kanan dan kiri. 3.3.2 Dimensi Payload Korindo Dimensi Payload saat start adalah : Diameter Tingggi 3.3.3 : 100 mm : 200 mm

Struktur material Payload Korindo a) b) c) d) e) Kawat las Diameter 5 mm Plat Alumunium tebal 2mm Akrelik tebal 2 mm Baling-Baling RC Motor DC RC

3.4 Perancangan Perangkat Lunak Perancangan perangkat lunak terdiri dua bagian yaitu perrangkat lunak di sisi harware dan software yaitu: 1. Flowchart Program Payload Korindo 2. Use case dan class diagram aplikasi payload korindo

71 3.4.1 Flowchart Program Payload Korindo Dalam melakukan kerja sesaat setelah roket diluncurkan hingga PAYLOAD kembali ke landasan (ground), terdapat banyak proses yang terjadi. Untuk mengetahui proses kerja dari PAYLOAD, dapat di fahami dari diagram alir berikut ini.

Dari gambar 2 dapat difahami bahwa terdapat dua proses yang terjadi pada PAYLOAD, pertama proses pembacaan data oleh 4 sensor kemudian ditransmisikan menuju ground segment sebagai informasi baik sebelum separasi maupun setelah separasi. Dan kedua proses pengendalian heading PAYLOAD berdasarkan masukan yang diterima dari ground segment sebagai perintah agar

72 PAYLOAD bisa mendarat pada posisi dimana dia diluncurkan (home) secara manual, namun proses pengendalian heading ini hanya dilakukan setelah terjadi separasi saja. 3.4.2 Use Case dan Class Diagram Aplikasi Payload Krindo

Use case

Start Stop Keluar Set Comport

Di menu ini user dapat memulai program, sebelum melakukan start user harus setcomport. Menu ini digunakan untuk memutus koneksi atau jalur komunikasi antara komputer dengan Payload. Menu keluar untuk keluar dari aplikasi Menu set com port di gunakan untuk menentukan jalur komunikasi yang di gunakan dalam komputer agar dapat berkomunikasi dengan payload. Menu kontrol dimana user dapat mengontrol motor yang berada di payload roket untuk menentukan arah gerakan payload Dari jalur komunikasi yang terjadi, user dapat melihat

Control

View Data

73 hasil pembacaan sensor di udara yang tampil di layar komputer. Abaut Sebuah menu untuk melihat keteranga software

Class Diagram

Class User Class Komputer

Clas user ini adaalah sebuah kelas di mana user dapat mengakses aplikasi pada komputer Di dalam komputer terdapat aplikasi untuk menjebatani antara user dengan payload untuk melakukan komunikasi data dimana aplikasi tersebut dapat konfigurasi port komunikasi, menampilkan data dari payload, memulai dan menghentikan program dan keluar dari program. Di dalam klas ini terdapat atribut yang merupakan komponen utama untuk membaca suhu, kelembapan udara dan dapat berkomunikasi dengan komputer user.

Class Payload

74

75 3.5 Contoh Berubah Ke Bentuk Halaman Landscape Tabel 3.1 Contoh tabel bentuk lebarNo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Sem I Kode MFS 1501 MFS 1502 MFS 1503 MFS 1504 MFS 1553 MKS 1101 MKS 1151 MFS 1505 MFS 1506 MFS 1507 MFS 1557 MFS 1508 MFS 1509 MMS 1103 UNU 1000 UNU 1010 UNU 3000 MFS 2511 MFS 2561 MFS 2512 MFS 2513 MFS 2514 Nama Matakuliah Bahasa Inggris Ketrampilan Sukses Fisika Dasar I Metode Pengukuran Fisika Praktikum Fisika Dasar I Kimia Dasar Praktikum Kimia Dasar Kalkulus I Filsafat Fisika Fisika Dasar II Praktikum Fisika Dasar II Mekanika Matematika Fisika I Kalkulus II Agama Pancasila Kewarganegaraan Komputasi Fisika Eksperimen Komputasi Fisika Matematika Fisika II Termodinamika Mekanika klasik SKS 2 2 3 2 /2 3 /1 2 2 3 /2 3 3 2 2 2 2 3 /1 3 3 2 K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 K11 K12

II

III

76 3.6 Contoh Berubah Kembali Ke Bentuk Halaman Portrait 3.6.1 Cara melakukan sitasi dan menyusun daftar pustaka secara otomatis Metode penulisan sitasi dan pembangkitan Daftar Pustaka secara otomatis dapat diilustrasikan pada Sub Bab (3.6.1) ini. Contoh sitasi Buku (Braur dan Castillo-Chaves, 2001), artikel dalam Majalah Ilmiah atau Jurnal ((Finnen, 1987), artikel dalam Prosiding Seminar ((Salmah, 2006), bentuk Skripsi, Tesis atau Disertasi ((Husna, 2002), bentuk Laporan Penelitian ((Jumina dan Tahir, 2001), artikel dalam Surat Kabar ((Soenjoto, 2009)), artikel dari Internet ((Leung dan Tang, 2000).

77

DAFTAR PUSTAKABrauer, F. dan Castillo-Chaves, C., 2001, Mathematical Models in Population Biology and Epidemiology, 12, 2, Springer-Verlag, Inc., New York Finnen, M.J., 1987, Skin Metabolism by Oxydation and Conjugation, J. Pharmacol. Skin, 72, 4, 69-88 Husna, A., 2002, Sistem Linear dan Beberapa Aplikasinya, Skripsi, Jurusan Matematika FMIPA, Universitas Gadjah Mada, Yogyakarta Jumina dan Tahir, I., 2001, Synthesis of New C-9154 Antibiotics Based on Quantitative Structure-Activity Relationship, Laporan Penelitian, Indonesian Torray Scientific Foundation, Torray Japan, Jakarta Leung, D.H. dan Tang, W., 2000, Function of Baire Class One, http://www.arXiv.math.CA/0005013v1, 2 May, diakses 12 November 2007 Salmah, 2006, Aplikasi Permainan Dinamis Linear Kuadratis Sistem Deskriptor pada Interaksi Fiskal di EMU, Prosiding Konferensi Nasional Matematika XIII, UNNES Semarang, 24-27 Juli 2006 Soenjoto, 2009, Dikepung Bahaya Lewat Pangan, Kedaultan Rakyat, 12 September, 12-12

78

LAMPIRAN A SOURCE CODE

A.1 Perhitungan distrbusi muatan program project_distribusi_potensial_1 c------------------------------------------------------------c Program untuk mencari distribusi potensial melalui persamaan c Poisson. Penyelesaian dengan eleminasi Gauss termodifikasi c yaitu memanfaatkan kenyataan bahwa semua unsur matrik A c adalah nol kecuali pada diagonal utama dan satu larik di c atas dan di bawahnya c------------------------------------------------------------parameter (mak=500) integer n,i double precision h, phi_a, phi_b, phi(mak), r, y(mak), 1 a1(mak), a2(mak), a3(mak), skala, 1 phi_eksak(mak) intrinsic exp c masukan h dan n write(*,*)'Ukuran langkah ?' read(*,*)h write(*,*)'Cacah titik ?' read(*,*)n Syarat batas pada r di pusat dan r di tak berhingga phi_a=0.0d0 phi_b=2.0d0 Masukan unsur-unsur matrik y r=h y(1)=-r*exp(-r)*h**2-phi_a r=n*h y(n)=-r*exp(-r)*h**2-phi_b do i=2,(n-1) r=i*h y(i)=-r*exp(-r)*h**2

c

c

79 end do Masukan unsur matrik A dengan mengambil a1(i)=a(i,i-1) a2(i)=a(i,i) dan a3(i)=a(i,i+1). Dengan trik ini maka memori dapat efisien karena kebanyakan unsur matrik memang bernilai nol a2(1)=-2.0d0 a3(1)=1.0d0 a1(n)=1.0d0 a2(n)=-2.0d0 do i=2,(n-1) a1(i)=1.0d0 a2(i)=-2.0d0 a3(i)=1.0d0 end do Eliminasi unsur di bawah diagonal do i=2,n skala=a1(i)/a2(i-1) y(i)=y(i)-skala*y(i-1) a1(i)=a1(i)-skala*a2(i-1) a2(i)=a2(i)-skala*a3(i-1) end do Bagian substitusi balik phi(n)=y(n)/a2(n) do i=(n-1),1,-1 phi(i)=(y(i)-a3(i)*phi(i+1))/a2(i) end do Perbandingan antara nilai phi eksak dan komputasi do i=1,n r=i*h phi_eksak(i)=2.0d0-(r+2.0d0)*exp(-r) write(*,*)r,phi(i) end do stop end

c c c c

c

c

c