BAB II LANDASAN TEORI
2.1
Pengertian dan fungsi dari Bendungan
Dengan perkembangan masyarakat di wilayah kota jakarta, maka berbagai tatanan kehidupan berubah dengan cepat mengikuti berbagai kebutuhan masyarakat Salah satu dampak dari perubahan tersebut adalah pola pemanfaatan sumber daya alam yang berada disekitar. untuk itu Keinginan memanfaatkan sumber daya alam semaksimal mungkin sangat diperlukan, pada umumnya manusia kurang memperhatikan dampak yang muncul dikemudian hari. Selain itu perkembangan penduduk dan pemukiman semakin padat mendesak pola penggunaan lahan di wilayah hulu sungai berubah yang biasanya dikonversi dari penggunaan lahan pertanian ke non-pertanian sebagai contoh pembangunan perumahan perkantoran bahkan hal yang lagi sering dibahas dikawasan ibu kota ini tentang pembangunan apartemen sebagi lahan hunian yang mewah dan terjamin kwalitasnya sehingga banyak orang memilih hunian yang begitu nyaman tanpa memperhatikan bagaimana lahan disekitar lingkungan terutama bagaimana cara pembuangan air nantinya dampak akan terjadi pula akibat pemanfaatan sumber daya alam yang kurang seimbang, salah satu dampak yang terjadi di wilayah-wilayah daerah aliran sungai kawasan ibu kota Jakarta ini
Tingkat pertambahan penduduk yang begitu pesat, sebaliknya luas daerah aliran sungai relatif tetap tidak mengalami perubahan atau mengalami perluasan daerah, ditambah lagi dengan faktor kemiskinan penduduk yang mengakibatkan semakin meningkatnya perubahan penggunaan lahan yang pada umumnya kurang memperhatikan faktor konservasi tanah dan air dalam pengelolaannya. Pemanfaatan potensi daerah aliran sungai baik sumber daya lahan maupun sumberdaya air yang tidak mengindahkan kaidah-kaidah konservasi yang mengakibatkan degradasi terhadap kondisi daerah aliran sungai. Pesatnya pembangunan membutuhkan sumber daya alam yang sangat besar. Sering pula terlihat bahwa dalam pembangunan terjadi pengelolaan terhadap penggunaan sumber daya alam yang berlebihan, hal tersebut dapat mengakibatkan terganggunya keseimbangan tata air dan turunnya kemampuan tanah produksi lahan yang tergambar dengan menurunnya aliran rendah, naiknya aliran maksimal, dan naiknya hasil air tahunan, selain itu juga akan meningkatkan tingkat erosi dan sedimentasi. Berbagai dampak akan terjadi sebagai akibat pemanfaatan sumber daya alam yang kurang seimbang, salah satu dampak yang terjadi di wilayah jakarta ini sering terjadi banjir sebagai akibat air hujan yang melimpah memasuki wilayah Jakarta dari arah hulu sedangkan daerah lain yang kemiringannya kurang seperti daerah pantai tidak cukup untuk mengalirkan air kelaut dengan lancar sehingga menimbulkan genangan
2.1.1
Pemeliharaan Sungai-Sungai Pemeliharaan sungai saat ini hendaknya mulai diperhatikan, yang pertama
ialah pemeliharaan terhadap bangunan pengendali banjir yaitu bangunan yang berfungsi untuk pengaturan aliran air yang sering disebut juga dengan bendungan. Pemeliharaan terhadap bangunan pengatur aliran seperti bendung dan pintu air dimaksudkan agar bangunan tersebut dapat berfungsi dengan baik pada saat diperlukan. Sebagai contoh kasus terjadinya banjir akibat kerusakan pintu air dari pemukiman yang telah diproteksi dengan tanggul. Semula tanggul dimaksudkan untuk menghindari limpasan air sungai akan tetapi pada saat banjir justru pintu air tersebut menjadi jalan masuknya air dari sungai karena tidak dapat berfungsi dengan baik akibat kurangnya pemeliharaan. Pemeliharaan terhadap bangunan pengaturan air perlu dilaksanakan secara rutin agar dapat berfungsi pada saat diperlukan. Pemeliharaan bangunan pengendali banjir dapat dilakukan oleh Dinas yang terkait atau melibatkan partisipasi masyarakat yang berada di daerah permukiman. Kedua, pemeliharaan saluran pengendali banjir atau saluran drainase untuk mempertahankan kapasitas dan menampung aliran air sungai atau saluran drainase sebagai satu kesatuan sistem dengan bangunan pengendali banjir. Seperti yang diuraikan di atas berkurangnya kapasitas alur dan tampung disebabkan oleh tumbuhnya pemukiman liar di bantaran sungai, pengendapan sampah, dan sedimen hasil erosi di hilir. Penyelesaian masalah pemukiman liar di bantaran merupakan masalah khusus dan membutuhkan pendekatan sosial masyarakat, untuk itu diperlukan waktu serta anggaran biaya yang memadai.
Masalah ini tidak dapat secara langsung dimasukan kedalam pemeliharaan rutin akan tetapi harus ditangani secara khusus dengan melibatkan berbagai instansi yang terkait. Penyempitan kapasitas sungai akibat adanya endapan sampah dan sedimen dapat dilakukan dengan dua hal yaitu pengelontoran secara rutin dan pengerukan. Pengelontoran dapat dilakukan apabila sistem drainase mempunyai kemiringan yang memadai sehingga air dapat mengalir secara grafitasi, sehingga endapan dapat terbawa aliran ke arah muara. Sebagian besar sistem drainase di Jakarta berada di daerah cekungan, sehingga prinsip pengelontoran kurang efektif secara efektif bekerja untuk membersihkan sungai-sungai dan sistem drainase di kota Jakarta. Selain itu perlu diperhatikan ekosistem daerah muara yang akan menerima berbagai limbah padat di sepanjang sungai. 2.1.2
Bendungan dan Waduk Bendungan atau dam adalah sebuah kontruksi bangunan yang digunakan
untuk menahan laju air. Sementara kolam tempat air yang terkumpul inilah yang disebut dengan waduk. Jadi, bendungan dan waduk adalah dua hal yang berbeda. Tujuan dibangunnya sebuah bendungan adalah untuk keperluan irigasi untuk persawahan. Juga, sebagai cadangan air di daerah perkotaan. Beberapa bendungan di Indonesia juga digunakan sebagai pembangkit tenaga listrik karena dapat dimanfaatkan sebagai penghasil daya hidroelektrik. Di beberapa daerah, bendungan juga dijadikan objek wisata, contohnya Waduk Jatiluhur di Jawa Barat. Berikut Cara Kerja Bendungan Secara Manual dan berkembang menjadi secara otomatis :
Pada awalnya bendungan-bendungan yang sudah ada saat ini, digunakan untuk menampung dan mengatur banyaknya air yang mengalir dari berbagai hulu sungai. Pintu air yang ada saat ini juga masih dikendalikan oleh manusia, yang bertugas menjaga supaya air dalam bendungan tetap stabil. Dalam hal ini air tidak kurang dan tidak melebihi batas normal yang sudah ada, pengendalian pintu air juga masih menggunakan teknik manual, dengan menggunakan tenaga manusia untuk membuka dan menutup pintu air itu. Oleh karena itu, petugas penjaga pintu air harus siap siaga setiap saat dan setiap waktu. Tapi sangat tidak mungkin petugas itu setiap saat bahkan setiap waktu harus ada untuk menjaga pintu air. Oleh sebab itu dibuat alat ini untuk meringankan pekerjaan serta memudahkan dalam pegawasan terhadap air yang berada dalam bendungan tersebut. Alat ini bertujuan memudahkan setiap saat dan setiap waktu untuk mengawasi ketinggian air pada bendungan, menggunakan sensor LDR (Light dependent resistor) dan dibantu dengan mikokontroler. Yang nantinya akan secara otomatis membuka pintu air, dengan cara kerja jika ketinggian air telah melewati batas normal atau batas yang telah ditentukan, dan akan menutup jika ketinggian air sudah mencapai normal. Sehingga didapatkan suatu ketinggian air yang sesuai dengan keinginan user/operator. Dengan adanya sistem irigasi pengendalian ketinggian air secara otomatis, diharapkan akan menghasilkan pelayanan yang baik serta efisiensi waktu yang baik serta responsive yang tinggi. Sebuah tindakan penyelesaian akan diambil secara cepat tanpa harus menunggu terlalu lama. Selain itu mengurangi pengeluaran biaya yang terlalu banyak untuk pembiayaan pembayaran sipenjag pintu air tersebut, Selain itu juga mengurangi permasalahan yang disebabkan kesalahan dari faktor manusia.
2.1.3 Rancangan sistem yang ada pada alat yang dibuat : 1.
Data Input Pertama catu daya memberikan tegangan arus listrik kemasing-masing bagian
alat seperti pada sensor LDR, Microkontroler, motor, LED. PC/Laptop yang nantinya digunakan untuk monitoring rangkaian sehingga dapat mengetahui berapa besar volume air yang masuk, Data awal juga dimasukkan melalui bagian ini, data ini digunakan sebagai data pembanding. Sehingga nanti data yang dimasukkan ini akan dibandingkan dengan data yang terbaca oleh sensor LDR memberikan masukan berupa inputan berupa sinyal digital kemicrokontroler. Data yang dimasukkan adalah data biner yang akan dimasukkan ke mikrokontroler. Selanjutnya oleh mikrokontroler data tesebut akan diterjemahkan. 2.
Output Output berupa motor DC apabila air telah melewati batas normal atau
batas yang sudah ditentukan maka otomatis motor akan terbuka sendiri dengan cara kerja sensor LDR air sudah mencapai level tertinggi maka air akan menyentuh sensor dari kepekaan sensor LDR tersebut akan mengirimkan logika kemotor sehingga menyebabkan bergeraknya motor dan akan membuang kelebihaan air yang ada didalam bendungan dan apabila level air kembali pada kondisi normal maka secara otomatis pula menyentuh kepekaan sensor sehingga memunginkan untuk mengirimkan logika kembali kepada motor memberi perintah untuk kembali menutup.
2.2
Mikrokontroler Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah
chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program, atau keduanya), dan perlengkapan input output. Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca dan menulis data. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut “pengendali kecil” dimana sebuah sistem elektronik
yang
sebelumnya
banyak
memerlukan
komponen-komponen
pendukung seperti IC TTL dan CMOS dapat direduksi atau diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini. Mikrokonktroler digunakan dalam produk dan alat yang dikendalikan secara automatis, seperti sistem kontrol mesin, remote controls, mesin kantor, peralatan rumah tangga, alat berat, dan mainan. Dengan mengurangi ukuran, biaya, dan konsumsi tenaga dibandingkan dengan mendesain menggunakan mikroprosesor memori, dan alat input output yang terpisah, kehadiran mikrokontroler membuat kontrol elektrik untuk berbagai proses menjadi lebih ekonomis.
2.2.1 Perkembangan Mikrokontroler Mikrokontroler pertama kali dikenalkan oleh Texas Instrument dengan seri TMS 1000 pada tahun 1974 yang merupakan mikrokontroler 4 bit pertama. Mikrokontroler ini mulai dibuat sejak 1971. Merupakan mikrokomputer dalam sebuah chip, lengkap dengan RAM dan ROM. Kemudian, pada tahun 1976 Intel mengeluarkan mikrokontroler yang kelak menjadi populer dengan nama 8748 yang merupakan mikrokontroler 8 bit, yang merupakan mikrokontroler dari keluarga MCS 48. Sekarang di pasaran banyak sekali ditemui mikrokontroler mulai dari 8 bit sampai dengan 64 bit, sehingga perbedaan antara mikrokontroler dan mikroprosesor sangat tipis. Masing-masing vendor mengeluarkan mikrokontroler dengan dilengkapi fasilitas yang cenderung memudahkan user untuk merancang sebuah
sistem
dengan
komponen
luar
yang
relatif
lebih
sedikit.
Saat ini mikrokontroler yang banyak beredar dipasaran adalah mikrokontroler 8 bit varian keluarga MCS51(CISC) yang dikeluarkan oleh Atmel dengan seri AT89Sxx, dan mikrokontroler AVR yang merupakan mikrokontroler RISC dengan seri ATMEGA8535 (walaupun varian dari mikrokontroler AVR sangatlah banyak, dengan
masing-masing
memiliki
fitur
yang
berbeda-beda).
Dengan
mikrokontroler tersebut pengguna (pemula) sudah bisa membuat sebuah sistem untuk keperluan sehari-hari, seperti pengendali peralatan rumah tangga jarak jauh yang
menggunakan
remote
control
televisi,
radio
frekuensi,
maupun
menggunakan ponsel, membuat jam digital, termometer digital dan sebagainya.
2.2.2 Jenis-jenis Mikrokontroller Secara umum mikrokontroler terbagi menjadi 3 (tiga) keluarga besar yang ada di pasaran. Setiap keluarga memepunyai ciri khas dan karekteriktik sendiri sendiri, berikut pembagian keluarga dalam mkrokontroler: a.
Keluarga MCS51
Mikrokonktroler ini termasuk dalam keluarga mikrokonktroler CISC. Sebagian besar instruksinya dieksekusi dalam 12 siklus clock. Mikrokontroler ini berdasarkan arsitektur Harvard dan meskipun awalnya dirancang untuk aplikasi mikrokontroler chip tunggal, sebuah mode perluasan telah mengizinkan sebuah ROM luar 64KB dan RAM luar 64KB diberikan alamat dengan cara jalur pemilihan chip yang terpisah untuk akses program dan memori data. Salah satu kemampuan dari mikrokontroler 8051 adalah pemasukan sebuah mesin pemroses boolean yang mengijikan operasi logika boolean tingkatan-bit dapat dilakukan secara langsung dan secara efisien dalam register internal dan RAM. Karena itulah MCS51 digunakan dalam rancangan awal PLC (programmable Logic Control). b.
AVR Mikrokonktroler Alv and Vegard’s Risc processor atau sering disingkat
AVR merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian besar kode instruksinya dikemas dalam satu siklus clock. AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang elektronika dan instrumentasi. Secara umum, AVR dapat dikelompokkan dalam 4 kelas. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral
dan fungsinya. Keempat kelas tersebut adalah keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx. c.
PIC
PIC ialah keluarga mikrokontroler tipe RISC buatan Microchip Technology.
Bersumber
Mikroelektronika
General
dari
PIC1650
Instruments.
yang
dibuat
Teknologi
oleh
Divisi
Microchip
tidak
menggukana PIC sebagai akronim,melaikan nama brandnya ialah PICmicro. Hal ini karena PIC singkatan dari Peripheral Interface Controller, tetapi General Instruments mempunyai akronim PIC1650 sebagai Programmabel Intelligent Computer. PIC pada awalnya dibuat menggunakan teknologi General Instruments 16 bit CPU yaitu CP1600. bit PIC dibuat pertama kali 1975 untuk meningkatkan performa sistem peningkatan pada I/O). Saat ini PIC telah dilengkapi dengan EPROM dan komunikasi serial, UAT, kernel kontrol motor dll serta memori program dari 512 word hingga 32 word. 1 Word disini sama dengan 1 instruki bahasa assembly yang bervariasi dari 12 hingga 16 bit, tergantung dari tipe PICmicro tersebut. PIC merupakan kependekan
dari
Programmable
Interface
Controller.
Tetapi
pada
perkembangannya berubah menjadi Programmable Intelligent Computer. PIC termasuk keluarga mikrokonktroler berarsitektur Harvard yang dibuat oleh Microchip Technology. Awalnya dikembangkan oleh Divisi Mikroelektronik General Instruments dengan nama PIC1640. Sekarang Microhip telah mengumumkan
pembuatan
PIC-nya
yang
keenam.
PIC cukup popular digunakan oleh para developer dan para penghobi ngoprek karena biayanya yang rendah, ktersediaan dan penggunaan yang luas,
database aplikasi yang besar, serta pemrograman (dan pemrograman ulang) melalui hubungan serial pada komputer. Masing-masing mempunyai keluarga mempunyai
turunan
sendiri-sendiri.
Sekarang
kita
akan
membahas
pembagian jenis-jenis mikrokonktroler yang telah umum digunakan. 2.2.3
Mikrokontroler AT89S52
Mikrokontroler merupakan sistem komputer kecil yang biasa digunakan untuk sistem pengendali atau pengontrol yang dapat diprogram sesuai kebutuhan. Mikrokontroller memiliki 4KB Flash Programmable dan Erasable Read Only Memory (PEROM) didalamnya. Mikrokontroler AT89S52 merupakan pengembangan dari mikrokontroler MCS-51. Mikrokontroler ini biasa disebut juga dengan mikrokomputer CMOS 8 bit dengan 8 Kbyte yang dapat dIprogram sampai 1000 kali pemograman. Selain itu AT89S52 juga mempunyai kapasitas RAM sebesar 256 bytes, 32 saluran I/O, Watchdog timer, dua pointer data, tiga buah timer atau counter 16-bit, Programmable UART (Serial Port). Memori Flash digunakan untuk menyimpan perintah (instruksi) berstandar MCS-51, sehingga memungkinkan mikrokontroler ini bekerja sendiri tanpa diperlukan tambahan chip lainnya (single chip operation), mode operasi keping tunggal yang tidak memerlukan external memory dan memori flashnya mampu diprogram hingga seribu kali. Hal lain yang menguntungkan adalah sistem pemogramanan menjadi lebih sederhana dan tidak memerlukan rangkaian yang rumit. Sebuah mikrokontroler dapat berfungsi atau bekerja, apabila telah terisi oleh program. Program terlebih dahulu dimasukan kedalam memori sesuai
dengan kebutuhan penggunaaan pengontrolan yang diperlukan dan yang hendak dijalankan. Program yang dimasukkan kedalam mikrokontroler Atmel 89S52 adalah berupa file heksa (Hex File), dan program tersebut berisikan instruksi atau perintah untuk menjalankan sistem kontrol. Mikrokontroler merupakan single chip computer yang memiliki kemampuan untuk diprogram dan digunakan untuk tugas-tugas yang berorientasi kontrol, Dalam
perkembangannya
sampai
saat
ini,
sudah
banyak
produk
mikrokontroller yang telah diproduksi oleh berbagai perusahaan pembuat IC (Integrated Circuit) diantara salah satunya adalah jenis mikrokontroller yang digunakan dalam perancangan alat ini yaitu mikrokontroller seri 8052 yang dibuat oleh ATMEL, dengan kode produk AT89S52. Secara fisik, mikrokontroler AT89S52 mempunyai 40 pin, 32 pin diantaranya adalah pin untuk keperluan port masukan atau keluaran. Satu port paralel terdiri dari 8 pin, dengan demikian 32 pin tersebut membentuk 4 buah portparalel, yang masing-masing dikenal dengan Port 0, Port1, Port2 dan Port3. Dengan keistimewaan di atas perancangan dengan menggunakan mikrokontroler AT89S52 menjadi lebih sederhana dan tidak memerlukan komponen pendukung yang lebih banyak lagi. “(Sulhan Setiawan.Belajar Mikrokontroler, Graha Ilmu Jakarta, 2008) Mikrokontroler AT89S52 memiliki beberapa fitur, diantaranya : 1. Kompatibel dengan produk MCS-51 2. 8 kybte in system programmable flash memory 3. Dapat diprogram sampai dengan 1000 kali pemograman 4. Tegangan kerja 4.0 – 5.5 V
5. Beroperasi antara 0 – 33 MHz 6. Tiga tingkatan program memory clock 7. 256 x 8 bit RAM internal 8. 32 saluran I/O 9. Delapan buah sumber interupsi 10. Tiga buah timer / counter 16 bit 11. Saluran UART Serial Full Duplex 12. Mode low-power Idle dan Power-Down 13. Interrupt recovery dari mode power-down 14. Watchdog timer 2.2.4 Konfigurasi Pin Mikrokontroler AT89S52 memiliki 40 pin, 32 pin diantaranya adalah directional I/O yang terbagi dalam 4 port. Konfigurasi dari pin-pin tersebut, yaitu :
Gambar 2.1. Konfigurasi Pin AT89S52 ( Sumber : www.atmel.com/dyn/resources/prod_documents/doc3390.pdf ) Adapun keterangan fungsi dari masing-masing pin adalah sebagai berikut :
-
Port 0 (39-32)
Port 0 merupakan sebuah port 8 bit, bersifat open drain dan dapat digunakan untuk masukan dan keluaran. Port 0 dapat digunakan sebagai high input impedance, ketika logika 1 diberikan ke kaki port tersebut. P0 mempunyai internal pullups. -
Port 1 (1-8)
Port ini merupakan 8 bit jalur I/O dengan internal pull-ups. Keluaran Port 1 dapat dihubungkan ke empat buah TTL. Port 1 juga dapat menerima alamat dan data selama penulisan dan pembacaan flash. -
Port 2 (21-28)
Port ini merupakan 8 bit jalur I/O, dengan internal pull-ups. Keluaran Port 2 dapat dihubungkan ke empat buah TTL. Port 2 mengeluarkan alamat data tinggi selama pengambilan data menuju external memory. Selama pengaksesan ke external memory menggunakan 16 bit alamat (MOVX @DPTR). -
Port 3 (10-17)
Mempunyai 8 bit saluran I/O dengan internal pull-ups. Port 3 mempunyai fungsi sampingan, yaitu: Tabel 2.1. Fasilitas Spesial Port 3 AT89S52 (Sumber: Interfacing Komputer dan Mikrokontroler, 2004) Port Pin
Fungsi sampingan
P3.0
RXD (serial input port)
P3.1
TXD (serial output port)
P3.2
INT0 (external interrupt 0)
-
P3.3
INT1 (external interrupt 1)
P3.4
T0 (timer 0 external input)
P3.5
T1 (timer 1 external input)
P3.6
WR (external data memory write strobe)
P3.7
RD (external data memory read strobe)
PSEN (Program Store Enable) (29)
PSEN adalah sinyal kontrol yang mengizinkan untuk mengakses program (code) memori eksternal. Pin ini dihubungkan ke pin OE (Output Enable) dari EPROM. Sinyal PSEN akan “0” (LOW) pada tahap fetch (penjemputan) instruksi. PSEN akan selalu bernilai “1” (HIGH) pada pembacaan program memori internal. -
ALE (Address Latch Enable)(30)
ALE digunakan untuk men-demultiplex address (alamat) dan data bus. ketika menggunakan program memori eksternal, port 0 akan berfungsi sebagai address (alamat) dan data bus. Pada setengah paruh pertama memori cycle ALE akan bernilai “1” (HIGH) sehingga mengizinkan penulisan address (alamat) pada register eksternal. Dan pada setengah paruh berikutnya akan bernilai “1” (HIGH) sehingga port 0 dapat digunakan sebagai data bus. -
EA (External Access) (31)
Jika EA diberi input “1” (HIGH), maka mikrokontroller menjalankan program memori internal saja. Jika EA diberi input “0” (LOW), maka AT89S52
menjalankan
program
memori
eksternal
(PSEN
akan
bernilai“0”). -
RST (Reset) (9)
Jika pada pin ini diberi input “1” (HIGH) selama minimal 2 machine cycle, maka sistem akan di-reset dan register internal AT89S52 akan berisi nilai default tertentu. Proses reset merupakan proses untuk mengembalikan sistem kekondisi semula. Reset tidak mempengaruhi internal program memory. Reset terjadi jika pin RST bernilai high selama minimal dua siklus lalu kembali bernilai low. Power on reset merupakan proses reset yang berlangsung secara otomatis pada saat sistem pertama kali diberi suplai. Proses ini mempengaruhi semua register dan internal data memory. Untuk mendapatkan proses ini, maka pin RST harus diberi tambahan rangkaian seperti : -
VCC (40)
VCC merupakan masukan sumber tegangan positif bagi mikrokontroler -
XTAL1 (19)
XTAL1 berfungsi sebagai masukan dari rangkaian osilasi mikrokontroler. -
XTAL2 (18)
XTAL2 berfungsi sebagai keluaran dari rangkaian osilasi mikrokontroler. Mikrokontroler ini mempunyai sumber detak dalam (on chip oscilator), yang digunakan untuk clock bagi AT89S52. Diperlukan tambahan kristal atau resonator keramik dalam penggunaan internal oscillator, yang diletakkan antara pin XTAL1 dan XTAL2 dengan sebuah kapasitor menuju ground. Kristal yang digunakan memiliki frekwensi antara 3-24 MHz. Sedangkan kapasitornya bernilai 30 pF. Bila menggunakan external clock, maka sumber
dihubungkan dengan XTAL1 dan XTAL 2 tidak berhubungan. 2.2.5 Arsitektur Mikrokontroler Mikrokontroler
AT89S52
dibangun
berdasarkan
arsitektur
seperti
ditunjukkan gambar dibawah ini. Seluruh bagian yang digambar pada gambar tersebut saling berhubungan melalui internal bus 8 bit menelusuri bagian serpih. Bus tersebut kemudian dihubungkan ke luar melalui input output port apabila memori atau expansi diperlukan. Unit pengolah pusat (CPU) terdiri atas dua bagian, yaitu unit pengendali control unit (CU), serta unit aritmatika dan logika (ALU). Fungsi utama unit pengendali ini adalah mengambil, mengkode, dan melaksanakan urutan intruksi sebuah program yang tersimpan dalam memori, unit pengendali juga berfungsi untuk mengatur urutan operasi seluruh sistem. Unit pengendali atau CPU juga menghasilkan
dan
mengatur
sinyal
pengendali
yang
diperlukan
untuk
menyerempakkan operasi, juga aliran intruksi program. Aliran informasi pada bus-bus data dan bus alamat juga diatur oleh unit ini.
Gambar 2.2 blok digram mikrokontroler AT89S52 ( Sumber : www.atmel.com/dyn/resources/prod_documents/doc3390.pdf )
a.
Accumulator
ACC merupakan register akumulator atau tempat penyimpanan data untuk sementara waktu. Dimana accumulator ini biasa dipakai untuk menyimpan proses perhitungan aritmatika. Register ini biasa disebut register A. b.
Register B
Register B digunakan pada operasi perkalian dan pembagian. Pada instruksi-instruksi yang lain berfungsi seperti register umumnya. Register ini berpasangan dengan register A, pada proses perkalian atau pembagian. c.
Program Status Word (PSW)
PSW berisi informasi status yang penting seperti adanya carry pada proses perhitungan,
adanya
proses
overflow
pada
proses
perhitungan,
pemeriksaan bit pada transfer data, adanya polaritas (+/-) dan status untuk pemilihan bank dari register (R0-R7). d.
Stack Pointer (SP)
Stack Pointer terdiri dari 8 bit. Alamat SP ditambah / dinaikkan sebelum data disimpan pada eksekusi instruksi PUSH dan CALL. SP dapat diletakkan pada alamat maupun di on-chip RAM. SP di inisialisasi pada alamat 07H setelah reset. Hal ini mengakibatkan stack dimulai pada lokasi 08H. e.
Data Pointer (DPTR)
DPTR terdiri dari high byte (DPH) dan low byte (DPL). Fungsi utamanya adalah sebagai tempat alamat 16 bit. Register ini bisa juga dimanipulasi sebagai sebuah register 16 bit atau 2 buah register 8 bit yang berdiri sendiri.
f.
Register Control
Spesial Function Register IP, IE, TMOD, TCON, T2CON, SCON, dan PCON berisi bit kontrol dan status untuk sistem interrupt, timer / counter, dan port serial. Yang dimaksud dengan special function register adalah kumpulankumpulan register yang memiliki fungsi khusus dimana isi dari register tersebut ada yang menunjukkan sebuah informasi penting mengenai suatu fungsi tertentu, ada juga yang menyimpan data sebagai buffers dari port tertentu (memori sementara). g.
Serial Data Buffer
Serial Data Buffer sebenarnya merupakan 2 register yang terpisah,transmit buffer (untuk mengirim data serial) dan receive buffer (untuk menerima data serial). Ketika data dipindahkan ke SBUF, maka data akan menuju ke transmit buffer dimana data ditampung untuk pengiriman serial. Memindahkan data ke SBUF berarti menginisialisasi / memulai transmisi data secara serial. Sebaliknya bila data dipindahkan dari SBUF, data tersebut berasal receive buffer. h.
Register Timer
Pasangan register (TH0 & TL0), (TH1 & TL1), serta (TH2 & TL2) adalah register 16 bit untuk proses perhitungan Timer / Counter 0, 1 dan 2 (Special Function Register P0 sampai P3), sebuah output driver dan sebuah input buffer. Output driver Port 0 dan Port 2, serta input buffer Port 0 digunakan untuk mengakses memori eksternal. Untuk aplikasi yang menggunakan memori eksternal, maka Port 0 mengeluarkan ‘low order byte’ alamat memori eksternal (A0-A7), yang dimultipleks dengan data (1
byte) yang dibaca atau ditulis. Port 2 mengeluarkan ‘high order byte’ alamat memori eksternal (A8-A15) bila alamat yang diperlukan sebanyak 16 bit. Bila alamat yang diperlukan hanya A0-A7 maka output port 2 sama degan isi SFR (Special Function Registers). Semua pin Port 3 mempunyai fungsi alternatif selain sebagai port. Fungsi alternatif hanya akan aktif bila bit-bit yang bersesuaian pada port SFR berisi ‘1’. Bila tidak maka output port akan terkunci pada low. 2.2.6 Timer dan Interrupt Mikrokontroler AT89S52 memiliki dua register timer, yaitu timer 0 dan timer 1, masing-masing sepanjang 16 bit (terdiri dari 8 bit TH0/TH1 dan 8 bit TL0/TL1 yang bisa diberi nilai awal). Pada waktu berfungsi sebagai timer, maka register akan bertambah setiap siklus mesin (1/12 dari frekuensi oscilator). Kedua timer ini memiliki alamat, yaitu 0BH untuk timer 0 dan 1BH untuk timer 1. Ada beberapa register fungsi khusus, yaitu Spesial Function Register (SFR) yang harus ditentukan sebelum menggunakan timer. Register tersebut adalah TCON. 2.2.7 Perangkat Lunak (Software) Mikrokontroler AT89S52 Perangkat lunak (software) ini berguna untuk mendukung perangkat keras (hardware) agar dapat bekerja dengan normal. Di dalamnya terdapat perintah atau instruksi penyusun program yang nantinya akan dijalankan oleh hardware. Dalam mikrokontroler terdapat banyak deretan bit “1“ dan “0“ yang memiliki arti sangat penting, karena merupakan sumber informasi
yang
tersimpan
mikrokontroler tersebut.
dalam
memori
dan
diproses
dalam
Karena dalam pelaksanaannya bit-bit tersebut susah dihafalkan, maka dibuatlah bahasa rakitan (assembly), dan merupakan bahasa yang dipakai dalam menulis program sumber pada mikrokontroler. Program sumber assembly ini berupa kumpulan baris-baris perintah yang ditulis pada perangkat lunak teks editor semisal Notepad ataupun Editor DOS. Biasanya disimpan dalam extension *.ASM. Contoh bentuk program sumber assembly secara umum adalah sebagai berikut:
Gambar 2.3 Bentuk Program Sumber Assembly ( Sumber : Teknik Antarmuka Dan Pemrograman Mikrokontroler AT89C51, hal.55) Penjelasan bagian-bagian dari mode pengalamatan assembly diatas dan istilah-istilah yang sering terdapat pada program assembly adalah sebagai berikut: ”(Paulus Andi Nalwan. Teknik Antarmuka Dan Pemrograman Mikrokontroler hal. 55-56)
AT89C51, Jakarta: Elex Media Komputindo, 2003,
a) Label (isi memori) Berguna mewakili nomor memori program dari perintah pada baris yang bersangkutan. Syarat-syarat dalam pembuatan label tersebut adalah: 1.)
Harus diawali dengan huruf 2.) Tidak boleh ada label yang sama dalam satu program assembly. 3.) Maksimal 16 karakter 4.) Tidak boleh adanya karakter spasi dalam label b) Mnemonic (opcode) Dapat juga disebut sebagai kode operasi, yang berarti kode-kode yang akan dikerjakan oleh program assembly. Terdapat dua macam mnemonic, yaitu yang dipakai sebagai perintah, misalnya ADD, dan MOV, serta mnemonic untuk mengatur kinerja program assembly, misalnya ORG, EQU, dan DB, sehingga dinamakan assembler directive. c) Operand (1 dan 2) Merupakan bagian yang terdapat di belakang sekaligus sebagai pelengkap mnemonic. Merupakan suatu objek yang harus dikerjakan oleh mnemonic. Jumlah operand yang dibutuhkan oleh mnemonic dapat berbeda pada setiap penyusunan program. Dapat berjumlah lebih dari satu atau bahkan tidak ada sama sekali
d) Komentar Berguna sebagai bagian penjelasan dari proses kerja ataupun adanya catatan tertentu pada bagian-bagian program. Namun keberadannya tidak mutlak ada, tergantung dari pembuat program itu sendiri. e) Program Objek Adalah hasil utama dari sebuah proses assembly, berupa kode-kode yang hanya dikenali oleh mikrokontroler. Program objek ini dapat berupa kode heksa ataupun biner yang berektensi *.HEX atau *.BIN. f) Assembly Listing Merupakan hasil dari proses assembly, yang berupa campuran dari program objek, program sumber assembly, dan alamat-alamatnya. Tersimpan dalam file dalam ekstensi *.LST 2.3 Sensor Sensor adalah alat untuk mendeteksi/mengukur sesuatu, yang digunakan untuk mengubah variasi mekanis, magnetis, panas, sinar dan kimia menjadi tegangan dan arus listrik. Dalam lingkungan sistem pengendali dan robotika, sensor memberikan kesamaan yang menyerupai mata, pendengaran, hidung, lidah yang kemudian akan diolah oleh kontroler sebagai otaknya (Petruzella, 2001). Sensor dalam teknik pengukuran dan pengaturan secara elektronik berfungsi mengubah besaran fisik (misalnya : temperatur, gaya, kecepatan putaran) menjadi besaran listrik yang proposional. Sensor dalam teknik pengukuran dan pengaturan ini harus memenuhi persyaratan-persyaratan kualitas yakni :
1. Linieritas Konversi harus benar-benar proposional, jadi karakteristik konversi harus linier. 2. Tidak tergantung temperature Keluaran
konverter
tidak
boleh
tergantung
pada
temperatur
di
sekelilingnya, kecuali sensor suhu. 3. Kepekaan Kepekaan sensor harus dipilih sedemikian, sehingga pada nilai-nilai masukan yang ada dapat diperoleh tegangan listrik keluaran yang cukup besar. 4. Waktu tanggapan Waktu tanggapan adalah waktu yang diperlukan keluaran sensor untuk mencapai nilai akhirnya pada nilai masukan yang berubah secara mendadak. Sensor harus dapat berubah cepat bila nilai masukan pada sistem tempat sensor tersebut berubah. 5. Batas frekuensi terendah dan tertinggi Batas-batas tersebut adalah nilai frekuensi masukan periodik terendah dan tertinggi yang masih dapat dikonversi oleh sensor secara benar. Pada kebanyakan aplikasi disyaratkan bahwa frekuensi terendah adalah 0Hz. 6. Stabilitas waktu Untuk nilai masukan (input) tertentu sensor harus dapat memberikan keluaran (output) yang tetap nilainya dalam waktu yang lama.
7. Histerisis Gejala histerisis yang ada pada magnetisasi besi dapat pula dijumpai pada sensor. Misalnya, pada suatu temperatur tertentu sebuah sensor dapat memberikan keluaran yang berlainan. Empat sifat diantara syarat-syarat dia atas, yaitu linieritas, ketergantungan pada temperatur, stabilitas waktu dan histerisis menentukan ketelitian sensor 2.3.1 Sensor Cahaya Sensor cahaya adalah alat yang digunakan untuk merubah besaran cahaya menjadi besaran listrik. Prinsip kerja dari alat ini adalah mengubah energi dari foton menjadi Elektron. Idealnya satu foton dapat membangkitkan satu elektron. Sensor cahaya sangat luas penggunaannya, salah satu yang paling terkenal adalah LDR (Light Dependent Resistor) Prinsip kerja dari LDR ini adalah Resistansi LDR akan berubah seiring dengan perubahan intensitas cahaya yang mengenainya. Dalam keadaan gelap resistansi LDR sekitar 10MΩ dan dalam keadaan terang sebesar 1KΩ atau kurang. LDR terbuat dari bahan semikonduktor seperti kadmium sulfida. Dengan bahan ini energi dari cahaya yang jatuh menyebabkan lebih banyak muatan yang dilepas atau arus listrik meningkat. Artinya resistansi bahan telah mengalami penurunan.
Sensor Gambar 2.4 Sensor Cahaya (LDR)
LDR digunakan untuk mengubah energi cahaya menjadi energi listrik. Saklar cahaya otomatis dan alarm pencuri adalah beberapa contoh alat yang menggunakan LDR. Akan tetapi karena responsnya terhadap cahaya cukup lambat, LDR tidak digunakan pada situasi dimana intesitas cahaya berubah secara drastis. (http: elektrokita.blogspot.com) 2.3.2. Karakteristik Sensor Cahaya LDR (Light Dependent Resistor) adalah suatu bentuk komponen yang mempunyai perubahan resistansi yang besarnya tergantung pada cahaya. Karakteristik LDR terdiri dari dua macam yaitu Laju Recovery dan Respon Spektral : 1. Laju Recovery Bila sebuah ldr dibawa dari suatu ruengan dengan level kekuatan cahaya tertentu didalam suatu ruangan yang gelap, maka bisa kita amati bahwa nilai resistansi dari LDR tidak akan segera berubah resistansinya pada keadaan ruangan gelap tersebut. Namun LDR tersebut hanya akan bisa mencapai harga dikegelapan setelah mengalami selang waktu tertentu. laju recovery merupakan suatu ukuran praktis dan suatu kenaikan nilai resistansi dalam waktu tertentu. Harga ini ditulis dalam K/detik, untuk LDR tipe arus harganya lebih besar dri 200K/detik (selama 20 menit pertama mulai dari level cahay 100 lux), kecepatan tersebut akan lebih tinggi pada arah sebaliknya, yaitu pindah dari tempat gelap ketempat terang yang memerlukan waktu kurang dari 10 ms untuk mencapai resistansi yang sesuai dengan level cahaya 400 lux.
2.
Respon Spektral
LDR tidak mempunyai sensitivitas yang sama untuk setiap panjang gelombang cahaya yang jatuh padanya (yaitu warna). Bahan yang biasa digunakan sebagai penghantar arus listrik yaitu tembaga, aluminium, baja, emas dan perak. Dari kelima bahan tersebut tembaga merupakan penghantar yang paling banyak, digunakan karena mempunyai daya hantaryang baik (TEDC,1998) 2.4 Pengenalan Visual Basic Microsoft Visual Basic disingkat sebagai VB, merupakan sebuah bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) visual untuk membuat program aplikasi berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman Common Object Model (COM). Visual Basic merupakan turunan bahasa BASIC, akses ke basis data menggunakan Data Access Objects (DAO), Remote Data Objects (RDO), atau ActiveX Data Object (ADO). Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript),VB.Net, mirip seperti halnya Visual Basic, tetapi cara kerjanya berbeda Visual Basic dikembangkan dari bahasa BASIC (Beginner’s All-purpose Symbolic Instruction Code) dan masih tetap mempertahankan hampir semua yang ada di dalam BASIC, hanya saja microsoft memodifikasi BASIC dengan cara : •
Mempertahankan style pemrograman asli yang terkenal simple/sederhana
•
Menambahkan full screen editor
•
Merivisi statement-statement input dan output agar dapat bekerja dalam lingkungan windows
•
Menambahkan elemen-elemen yang diperlukan dalam lingkungan windows yang berbasiskan grafik (Graphical Controls)
Visual Basic bukan berarti selalu mudah karena berasal dari bahasa BASIC. Dilain pihak, Visual Basic dapat menjadi sangat simple karena banyak bagian dari pengembangan program yang dapat dibuat hanya dengan beberapa langkah mudah, terutama untuk pembuatan interface dengan user. Visual Basic mempunyai beberapa komponen seperti di bawah ini : •
Full Screen yang lengkap
•
Lingkungan eksekusi (runtime environment) yang memungkinkan anda melihat hasil dari program dengan hanya satu kali click
•
Project Manager yang memungkinkan anda membuat multiple-file Visual Basic Windows Applications
•
Interactive Testing Platform yang memungkinkan anda melacak kesalahan (bug) dari program
•
Visual Tools yang memungkinkan anda mengatur control dan icon yang membuat program berfungsi normal Visual Basic merupakan salah satu development tool untuk membangun
aplikasi dalam lingkungan windows. Dalam pengembangan aplikasi, visual basic menggunakan pendekatan visual untuk merancang user interface dalam bentuk form, sedangkan untuk kodingnya menggunakan dialek bahasa basic yang cenderung mudah dipelajari. Visual basic telah menjadi tools yang terkenal bagi para pemula maupun para developer.
Dalam lingkungan Window’s User –interface sangat memegang peranan penting, karena dalam pemakaian aplikasi yang dibuat, pemakai senantiasa berinteraksi dengan user-interface tanpa menyadari bahwa dibelakangnya berjalan instruksi-instruksi program yang mendukung tampilan dan proses yang dilakukan.Pada pemograman visual, pengembangan aplikasi dimulai dengan pembentukan user interface, kemudian mengatur properti dari objek-objek yang digunakan dalam user interface, dan baru dilakukan penulisan kode program untuk menangani kejadian-kejadian (event). Tahap pengembangan aplikasi demikian dikenal dengan istilah pengembangan aplikasi dengan pendekatan Bottom-Up .” (Arif Rahman. Seri Pemograman Praktis MS Visual Basic 6, Jakarta: Elex Media Komputindo, 2004)
2.5 Model Waterfall Model Waterfall merupakan salah satu dari model-model yang terdapat pada proses perangkat lunak. Model waterfall memiliki beberapa tahapan seperti yang terdapat pada gambar 2.5 (Prahasta: 223-224).
Gambar 2.5 Skema Model Waterfall Tahap-tahap dalam model proses waterfall adalah sebagai berikut: 1. Tahapan Rekayasa Sistem Tahapan ini sangat menekankan pada masalah pengumpulan kebutuhan pengguna pada tingkatsistem dengan mendefinisikan konsep sistem beserta antarmuka (interface) yang menghubungkannya dengan lingkungan sekitarnya. Hasil akhir dari tahapan ini adalah spesifikasi sistem.
2. Tahapan Analisis Pada tahapan ini dilakukan pengumpulan kebutuhan elemen-elemen ditingkat perangkat lunak. Dengan analisis ini, harus dapat ditentukan domaindomain data atau informasi, fungsi, proses atau prosedur yang diperlukan beserta unjuk kerjanya dan antarmuka. Hasil akhir dari tahapan ini adalah spesifikasi kebutuhan perangkat lunak. 3. Tahapan Perancangan Pada tahapan ini kebutuhan-kebutuhan atau spesifikasi perangkat lunak, yang dihasilkan pada tahap analisis, ditransformasikan kedalam bentuk arsitektur perangkat lunak yang memiliki karakteristik mudah dimengerti dan tidak sulit untuk diimplementasikan. 4. Tahapan Pemograman Pada tahapan ini dilakukan implementasikan hasil rancangan kedalam baris-baris kode program yang dapat dimengerti oleh mesin (komputer). 5. Tahapan pengujian Setelah perangkat lunak selesai diimplementasikan, pengujian dapat segera dimulai. Pengujian terlebih dahulu dilakukan pada setiap modul. Jika setiap modul selesai diuji dan tidak bermasalah, modul-modul tersebut segera diintegrasikan hingga membentuk suatu perangkat lunak yang utuh. Kemudian dilakukan pengujian ditingkat perangkat lunak yang memfokuskan pada masalahmasalah logika internal, fungsi eksternal, potensi masalah yang mungkin terjadi, dan pemeriksaan hasil apakah sudah sesuai dengan permintaan.
6. Tahapan Pengoperasian dan Pemeliharaan Dalam masalah operasional sehari-hari, suatu perangkat lunak mungkin saja mengalami kesalahan atau kegagalan dalam menjalankan fungsi-fungsinya. Atau, pemilik bisa saja meminta peningkatan kemampuan perangkat lunak pada pengembangnya. Dengan demikian, kedua faktor ini menyebabkan perlunya perangkat lunak dipelihara dari waktu ke waktu. 2.5.1
Kelebihan Waterfall Metode ini lebih baik digunakan walaupun sudah tergolong kuno, daripada
menggunakan pendekatan asal-asalan. Selain itu, metode ini juga masih masuk akal jika kebutuhan sudah diketahui dengan baik. 2.5.2
Kekurangan Waterfall Metode Waterfall juga mempunyai kekurangan-kekurangan seperti:
1. Pada kenyataannya, jarang mengikuti urutan sekuensial pada teori. Interasi sering terjadi menyebabkan masalah baru. 2. Sulit bagi pelanggan untuk menentukan semua kebutuhan secara eksplisit. 3. Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap desain sudah selesai. Sedangkan pada tahap sebelum desain bisa memakan waktu yang lama. 4. Kesalahan di awal tahap berakibat sangat fatal pada tahap berikutnya.
2.6 Unified Modeling Language Unified Modeling Language (UML) adalah sebuah bahasa yang berdasarkan grafik atau gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema basis data, dan komponen-komponen yang diperlukan dalam sistem software (http://www.omg.org). Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti
bahasa-bahasa
lainnya,
UML mendefinisikan
notasi
dan
syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan syntax UML mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. UML terdiri atas 13 jenis diagram resmi seperti tertulis dalam tabel 2.2
Tabel 2.2 Jenis Diagram Resmi UML No
Diagram
Kegunaan
1.
Activity
Behavior prosedural dan pararel
2.
Class
Class,fitur, dan hubungan-hubungan
3.
Communication
Interaksi antar objek; penekanan pada jalur
4.
Component
Struktur dan koneksi komponen
5.
Composite structure
Dekomposisi runtime sebuah class
6.
Deployment
Pemindahan artifak ke node
7.
Interaction overview
Campuran sequence dan activity diagram
8.
Object
Contoh konfigurasi dari contoh-contoh
9.
Package
Struktur hirarki compile-time
10.
Sequence
Interaksi antar objek; penekanan pada sequence
11.
State machine
Bagaimana even mengubah objek selama aktif
12.
Timing
Interaksi antar objek; penekanan pada timing
13.
Use Case
Bagaimana pengguna berinteraksi dgn sebuah sistem
Diagram UML yang akan digunakan dalam pembuatan tugas akhir ini adalah use case diagram, activity diagram, dan sequence diagram. 2.6.1
Use Case Diagram Use Case Diagram adalah teknik untuk merekam persyaratan fungsional
sebuah system. Use case diagram mendeskripsikan interaksi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan (Fowler, 2005:141). Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah apa yang diperbuat sistem, dan bukan bagaimana (Dharwiyanti dan Wahono, 2003:4). Sebuah use case diagram mempresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, mengcreate sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun persyaratan (requirement) sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case diagram dapat meng-include fungsionalitas use case diagram lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case diagram yang di-include akan dipanggil setiap kali use case
diagram yang meng-include dieksekusi secara normal. Sebuah use case diagram dapat di-include oleh lebih dari satu use case diagram lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang umum (common). Sebuah use case diagram juga dapat meng-extend use case diagram lain dengan aktivitasnya (behaviour) sendiri. Sementara hubungan generalisasi antar use case diagram menunjukkan bahwa use case diagram yang satu merupakan spesialisasi dari yang lain. Notasi-notasi yang digunakan dalam pemodelan use case diagram dapat dilihat pada table 2.3 Tabel 2.3 Notasi Use Case Diagram Notasi
Nama Simbol
Keterangan
Aktor
Sebuah aktor mencirikan suatu bagian outside user atau susunan yang berkaitan dengan user yang berinteraksi dengan sistem.
Use Case
Use case adalah rangkaian/sekelompok yang saling terkait dan membentuk system secara teratur yang dilakukan atau diawasi oleh sebuah actor.
Arus
Menggambarkan data.
Sistem Boundry
Sistem boundry menggambarkan batas suatu sistem
Aktor
Use Case
System
2.6.2
Sequence Diagram Sebuah sequence diagram secara khusus menjabarkan aktivitas sebuah
skenario tunggal. Diagram tersebut menunjukkan sejumlah objek contoh dan pesan-pesan yang melewati objek-objek didalam use case diagram (Fowler, 2005:81). Sequence diagram menunjukkan interaksi dengan menampilkan setiap partisipan dengan garis alir secara vertikal dan pengurutan pesan dari atas ke bawah. Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah kejadian (event) untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Pesan digambarkan sebagai garis berpanah dari satu objek ke objek lainnya.
Notasi-notasi yang digunakan dalam pemodelan sequence diagram dapat dilihat pada Tabel 2.4 dibawah ini. Notasi
Message
Object
Nama Simbol
Keterangan
Activation
Menambahkan periode waktu selama suatu aktor atau objek sedang melakukan suatu tindakan.
Message
Menambahkan suatu komunikasi antar objek yang menyampaikan informasi yang perlu mengakibatkan suatu tindakan
Lifeline
Menambahkan permulaan dan menghentikan titik dari suatu objek
Object lifeline
Menambahkan keberadaan dari suatu objek pada situasi tertentu
Tabel 2.4 Notasi Sequence Diagram