Kamis, 04 November 2010

Sistem Input Output pada komputer

INPUT(Masukan) dan OUTPUT(keluaran)
Mei 5, 2009 — liyantanto
November 4, 2010 – Arizal 10407157
(http://liyantanto.wordpress.com/2009/05/05/inputmasukan-dan-outputkeluaran/)





INPUT(Masukan)


Adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah ke dalam komputer yang berupa signal input atau maintenance input. Di dalam sistem komputer, signal input berupa data yang dimasukkan ke dalam sistem komputer, sedangkan maintenance input berupa program yang digunakan untuk mengolah data yang dimasukkan. Dengan demikian, alat input selain digunakan untuk memasukkan data juga untuk memasukkan program.

Beberapa alat input mempunyai fungsi ganda, yaitu disamping sebagai alat input juga berfungsi sebagai alat output sekaligus. Alat yang demikian disebut sebagai terminal.

Terminal dapat dihubungkan ke sistem komputer dengan menggunakan kabel langsung atau lewat alat komunikasi. Terminal dapat digolongkan menjadi non intelligent terminal, smart terminal, dan intelligent terminal. Non intelligent terminal hanya berfungsi sebagai alat memasukkan input dan penampil output, dan tidak bisa diprogram karena tidak mempunyai alat pemroses. Peralatan seperti ini juga disebut sebagai dumb terminal. Smart terminal mempunyai alat pemroses dan memori di dalamnya sehingga input yang terlanjur dimasukkan dapat dikoreksi kembali.

Walaupun demikian, terminal jenis ini tidak dapat diprogram oleh pemakai, kecuali oleh pabrik pembuatnya. Sedangkan intelligent terminal dapat diprogram oleh pemakai. Peralatan yang hanya berfungsi sebagai alat input dapat digolongkan menjadi alat input langsung dan tidak langsung.

Alat input langsung yaitu input yang dimasukkan langsung diproses oleh alat pemroses, sedangkan alat input tidak langsung melalui media tertentu sebelum suatu input diproses oleh alat pemroses. Alat input langsung dapat berupa papan ketik (keyboard), pointing device (misalnya mouse, touch screen, light pen, digitizer graphics tablet), scanner (misalnya magnetic ink character recognition, optical data reader atau optical character recognition reader), sensor (misalnya digitizing camera), voice recognizer (misalnya microphone). Sedangkan alat input tidak langsung misalnya keypunch yang dilakukan melalui media punched card (kartu plong), key-to-tape yang merekam data ke media berbentuk pita (tape) sebelum diproses oleh alat pemroses, dan key-to-disk yang merekam data ke media magnetic disk (misalnya disket atau harddisk) sebelum diproses lebih lanjut.

Keyboard

Penciptaan keyboard komputer di ilhami oleh penciptaan mesin ketik yang dasar rancangannya di buat dan di patenkan oleh Christopher Latham pada tahun 1868 dan banyak dipasarkan pada tahun 1877 oleh Perusahaan Remington.

Keyboard komputer pertama disesuaikan dari kartu pelubang (punch card) dan teknologi pengiriman tulisan jarak jauh (Teletype). Tahun 1946 komputer ENIAC menggunakan pembaca kartu pembuat lubang (punched card reader) sebagai alat input dan output.

Bila mendengar kata “keyboard” maka pikiran kita tidak lepas dari adanya sebuah komputer, karena keyboard merupakan sebuah papan yang terdiri dari tombol-tombol untuk mengetikkan kalimat dan simbol-simbol khusus lainnya pada komputer. Keyboard dalam bahasa Indonesia artinya papan tombol jari atau papan tuts.

Pada keyboard terdapat tombol-tombol huruf (alphabet) A – Z, a – z, angka (numeric) 0 – 9, tombol dan karakter khusus seperti : ‘ ~ @ # $ % ^ & * ( ) _ – + = < > / , . ? : ; ” ‘ \ |, tombol fungsi (F1 – F12), serta tombol-tombol khusus lainnya yang jumlah seluruhnya adalah 104 tuts. Sedangkan pada Mesin ketik jumlah tutsnya adalah 52 tuts. Bentuk keyboard umumnya persegi panjang, tetapi saat ini model keyboard sangat variatif.

Dahulu orang banyak yang menggunakan mesin ketik baik yang biasa maupun mesin ketik listrik. Keyboard mempunyai kesamaan bentuk dan fungsi dengan mesin ketik. Perbedaannya terletak pada hasil output atau tampilannya. Bila kita menggunakan mesin ketik, kita tidak dapat menghapus atau membatalkan apa-apa saja yang sudah ketikkan dan setiap satu huruf atau simbol kita ketikkan maka hasilnya langsung kita lihat pada kertas. Tidak demikian dengan keyboard. Apa yang kita ketikkan hasil atau keluarannya dapat kita lihat di layar monitor terlebih dahulu, kemudian kita dapat memodifikasi atau melakukan perubahan-perubahan bentuk tulisan, kesalahan ketikan dan yang lainnya. Keyboard dihubungkan ke komputer dengan sebuah kabel yang terdapat pada keyboard. Ujung kabel tersebut dimasukkan ke dalam port yang terdapat pada CPU komputer.

Mouse

Pada dasarnya, penunjuk (pointer) yang dikenal dengan sebutan “Mouse” dapat digerakkan kemana saja berdasarkan arah gerakan bola kecil yang terdapat dalam mouse. Jika kita membuka dan mengeluarkan bola kecil yang terdapat di belakang mouse, maka akan terlihat 2 pengendali gerak di dalamnya. Kedua pengendali gerak tersebut dapat bergerak bebas dan mengendalikan pergerakan penunjuk, yang satu searah horisontal (mendatar) dan satu lagi vertikal (atas dan bawah).

Jika kita hanya menggerakkan pengendali horisontal maka penunjuk hanya akan bergerak secara horisontal saja pada layar monitor komputer. Dan sebaliknya jika penunjuk vertikal yang digerakkan, maka penunjuk (pointer) hanya bergerak secara vertikal saja dilayar monitor. Jika keduanya kita gerakkan maka gerakan penunjuk (pointer) akan menjadi diagonal. Jika bola kecil dimasukkan kembali, maka bola itu akan menyentuh dan menggerakkan kedua pengendali gerak tersebut sesuai dengan arah mouse yang kita gerakkan.

Pada sebagian besar mouse terdapat tiga tombol, tetapi umumnya hanya dua tombol yang berfungsi, yaitu tombol paling kiri dan yang paling kanan. Pengaruh dari penekanan tombol atau yang di kenal dengan istilah “Click” ini tergantung pada obyek (daerah) yang kita tunjuk. Komputer akan mengabaikan penekanan tombol (click) bila tidak mengenai area atau obyek yang tidak penting.

Kemudian dalam penggunaan mouse juga kita kenal istilah “Drag” yang artinya menggeser atau menarik. Apabila kita menekan tombol paling kiri tanpa melepaskannya dan sambil menggesernya, salah satu akibatnya obyek tersebut berpindah atau menjadi pindah (tersalin) ke obyek lain dan terdapat kemungkinan lainnya. Kemungkinan-kemungkinan ini tergantung pada jenis program aplikasi apa yang kita jalankan. Mouse terhubung dengan komputer dengan sebuah kabel yang terdapat pada mouse. Ujung kabel tersebut dimasukkan dalam port yang terdapat di CPU komputer.


Scanner

Scanner adalah suatu alat elektronik yang fungsinya mirip dengan mesin fotokopi. Mesin fotocopy hasilnya dapat langsung kamu lihat pada kertas sedangkan scanner hasilnya ditampilkan pada layar monitor komputer dahulu kemudian baru dapat dirubah dan dimodifikasi sehingga tampilan dan hasilnya menjadi bagus yang kemudian dapat disimpan sebagai file text, dokumen dan gambar.

Bentuk dan ukuran scanner bermacam-macam, ada yang besarnya seukuran dengan kertas folio ada juga yang seukuran postcard, bahkan yang terbaru, berbentuk pena yang baru diluncurkan oleh perusahaan WizCom Technologies Inc. Scanner berukuran pena tersebut bisa menyimpan hingga 1.000 halaman teks cetak dan kemudian mentransfernya ke sebuah komputer pribadi (PC).

Scanner berukuran pena tersebut dinamakan Quicklink. Pena scanner itu berukuran panjang enam inci dan beratnya sekitar tiga ons. Scanner tersebut menurut WizCom dapat melakukan pekerjaannya secara acak lebih cepat dari scanner yang berbentuk datar. Data yang telah diambil dengan scanner itu, bisa dimasukkan secara langsung ke semua aplikasi komputer yang mengenali teks ASCII. Perbedaan tiap scanner dari berbagai merk terletak pada pemakaian teknologi dan resolusinya. Pemakaian teknologi misalnya penggunaan tombol-tombol digital dan teknik pencahayaan.

Cara kerja Scanner :

Ketika kamu menekan tombol mouse untuk memulai Scanning, yang terjadi adalah :

1. Penekanan tombol mouse dari komputer menggerakkan pengendali kecepatan pada mesin scanner. Mesin yang terletak dalam scanner tersebut mengendalikan proses pengiriman ke unit scanning.

2. Kemudian unit scanning menempatkan proses pengiiman ke tempat atau jalur yang sesuai untuk langsung memulai scanning.

3. Nyala lampu yang terlihat pada Scanner menandakan bahwa kegiatan scanning sudah mulai dilakukan.

4. Setelah nyala lampu sudah tidak ada, berarti proses scan sudah selesai dan hasilnya dapat dilihat pada layar monitor.

5. Apabila hasil atau tampilan teks / gambar ingin dirubah, kita dapat merubahnya dengan menggunakan software-software aplikasi yang ada. Misalnya dengan photoshop, Adobe dan lain- lain. pot scanned.

Ada dua macam perbedaan scanner dalam memeriksa gambar yang berwarna yaitu :

1. Scanner yang hanya bisa satu kali meng-scan warna dan menyimpan semua warna pada saat itu saja.

2. Scanner yang langsung bisa tiga kali digunakan untuk menyimpan beberapa warna. Warna-warna tersebut adalah merah, hijau dan biru.

Scaner yang disebut pertama lebih cepat dibandingkan dengan yang kedua, tetapi menjadi kurang bagus jika digunakan untuk reproduksi warna. Kebanyakan scanner dijalankan pada 1-bit (binary digit / angka biner), 8-bit (256 warna), dan 24 bit (lebih dari 16 juta warna). Nah, bila kita membutuhkan hasil yang sangat baik maka dianjurtkan menggunakan scanner dengan bit yang besar agar resolusi warna lebih banyak dan bagus.

Kamera Digital

Salah satu input device yang sedang marak belakangan ini adalah digital camera. Dengan adanya alat ini, kita dapat lebih mudah memasukan data berupa gambar apa saja, dengan ukuran yang relatif cukup besar, ke dalam komputer kita. Digital camera yang beredar di pasaran saat ini ada berbagai macam jenis, mulai dari jenis camera untuk mengambil gambar statis, sampai dengan camera yang dapat merekam gambar dinamis seperti video.

MIC(Microphone)

Kalau camera digunakan untuk memasukkan input berupa gambar (dan suara), maka mic digunakan hanya untuk memasukkan input berupa suara. Penggunaan mic tentu saja memerlukan perangkat keras tambahan untuk menerima input suara tersebut yaitu sound card, dan speaker untuk mendengarkan hasil rekaman suara.

OUTPUT (Keluaran)


Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara.

Output yang dihasilkan dari pemroses dapat digolongkan menjadi empat bentuk, yaitu tulisan (huruf, angka, simbol khusus), image (dalam bentuk grafik atau gambar), suara, dan bentuk lain yang dapat dibaca oleh mesin (machine-readable form). Tiga golongan pertama adalah output yang dapat digunakan langsung oleh manusia, sedangkan golongan terakhir biasanya digunakan sebagai input untuk proses selanjutnya dari komputer.

Peralatan output dapat berupa:

Hard-copy device, yaitu alat yang digunakan untuk mencetak tulisan dan image pada media keras seperti kertas atau film.

Soft-copy device, yaitu alat yang digunakan untuk menampilkan tulisan dan image pada media lunak yang berupa sinyal elektronik.

Drive device atau driver, yaitu alat yang digunakan untuk merekam simbol dalam bentuk yang hanya dapat dibaca oleh mesin pada media seperti magnetic disk atau magnetic tape. Alat ini berfungsi ganda, sebagai alat output dan juga sebagai alat input.

Output bentuk pertama sifatnya adalah permanen dan lebih portable (dapat dilepas dari alat outputnya dan dapat dibawa ke mana-mana). Alat yang umum digunakan untuk ini adalah printer, plotter, dan alat microfilm. Sedangkan output bentuk kedua dapat berupa video display, flat panel, dan speaker. Dan alat output bentuk ketiga yang menggunakan media magnetic disk adalah disk drive, dan yang menggunakan media magnetic tape adalah tape drive.

Printer dan Plotter

Printer dan plotter adalah jenis hard-copy device, karena keluaran hasil proses dicetak di atas kertas. Printer memiliki berbagai macam bentuk dan ukuran, serta ketajaman hasil cetak. Ukuran kertas yang dapat digunakan pun beragam. Tetapi, untuk mencetak di atas kertas dengan ukuran yang sangat besar, digunakanlah plotter.

Monitor

Monitor adalah salah satu jenis soft-copy device, karena keluarannya adalah berupa signal elektronik, dalam hal ini berupa gambar yang tampil di layar monitor. Gambar yang tampil adalah hasil pemrosesan data ataupun informasi masukan. Monitor memiliki berbagai ukuran layar seperti layaknya sebuah televisi. Tiap merek dan ukuran monitor memiliki tingkat resolusi yang berbeda. Resolusi ini lah yang akan menentukan ketajaman gambar yang dapat ditampilkan pada layar monitor. Jenis-jenis monitor saat ini sudah sangat beragam, mulai dari bentuk yang besar dengan layar cembung, sampai dengan bentuk yang tipis dengan layar datar (flat).

Infocus

Infocus hampir sama dengan monitor. Fungsinya adalah untuk menampilkan gambar/visual hasil pemrosesan data. Hanya saja, infocus memerlukan obyek lain sebagai media penerima pancaran singnal-signal gambar yang dipancarkan. Media penerima tersebut sebaiknya memiliki permukaan datar dan berwarna putih (terang).

Biasanya yang digunakan adalah dinding putih, whiteboard, ataupun kain/layar putih yang dibentangkan.

Minggu, 10 Oktober 2010

CPU & Komputer

CPU & KOMPUTER

1. CPU
Pengertian CPU dapat kita ketahui secara ringkas dari kepanjangan CPU itu sendiri. CPU merupakan singkatan dari Central Processing Unit atau Unit Pengolah Pusat. Secara awam, kita sering menyebutnya sebagai prosesor.Karena merupakan pusat pengolahan data dalam sebuah komputer, CPU dapat diibaratkan sebagai sebuah otak dari komputer itu sendiri. Cepat atau lambatnya kinerja dari sebuah komputer cukup ditentukan oleh kualitas dan teknologi dari CPU yang digunakan.
Cara kerja CPU menurut wikipedia, hampir sama dengan cara kerja kalkulator. Hanya saja pemrosesan data yang mampu ditangani sebuah CPU lebih kuat dan mungkin lebih kompleks dari yang dapat ditangani oleh sebuah kalkulator umum. Sebuah CPU selain dapat mengolah data aritmatika, juga dapat mengelola data yang bersifat logika. Secara sederhana, selain dapat berhitung, CPU juga bisa membandingkan.
Namun terkadang pengertian CPU menjadi berlainan ketika digunakan dalam bahasa sehari-hari. Seorang ketua organisasi pemuda yang bertanya kepada bawahannya ” Monitor dan keyboardnya sudah ada, tapi kok CPUnya tidak dibawa?”
Bisa dipastikan bahwa kata CPU yang digunakan diatas bukanlah merujuk pada CPU sebagai sebuah prosessor, namun CPU sebagai kesatuan Prosesor, MainBoard, RAM, Hardisk yang terinstall dalam sebuah casing seperti gambar disamping. Sebenarnya yang dimaksud oleh si ketua pemuda dalam cerita diatas adalah computer tower (merujuk istilah wikipedia). Namun mungkin karena alasan kemudahan, istilah CPU digunakan untuk menghemat kata. Dengan demikian kita melihat setidaknya ada dua makna atau dua pengertian CPU tergantung dari konteks pembicaraan.
SUMBER :(http://kangmoes.com/artikel-tips-trik-ide-menarik-kreatif.definisi/pengertian-cpu.html)




2. Komputer
Alat bantu bagi manusia untuk menyelesaikan pekerjaannya. Perangkat elektronik yang dapat dipakai untuk mengolah data dengan perantaraan sekumpulan program dan mampu memberikan informasi dari hasil pengolahan tersebut. Dalam bahasa indonesia sering ditulis dengan komputer.
Istilah Computer berasal dari kata Compute, yang berarti menghitung. Artinya, setiap proses yang dilaksanakan oleh komputer merupakan proses matematika hitungan. Jadi apapun yang dilakukan oleh komputer, baik penampakan pada layar monitor, suara, gambar, dll. diolah sedemikian rupa dari perhitungan secara elektronik.
Komputer adalah hasil dari kemajuan teknologi elektronika dan informatika yang berfungsi sebagai alat bantu untuk menulis, menggambar, menyunting gambar atau foto, membuat animasi, mengoperasikan program analisis ilmiah, simulasi dan untuk kontrol peralatan.
Bentuk komputer yang dulu cukup besar untuk mengoperasikan sebuah program, sekarang berbentuk kecil dengan kemampuan mengoperasikan program yang beragam. Perlengkapan elektronik (hardware) dan program (perangkat lunak/software) telah menjadikan sebuah komputer menjadi benda yang berguna.
Sebuah komputer yang hanya memiliki perlengkapan elektronik saja atau software saja tidak akan berfungsi. Dengan ada keduanya maka komputer dapat berfungsi menjadi alat yang berguna.
Sistem komputer juga dapat dikembangkan untuk mengontrol peralatan mesin produksi ataupun peralatan rumah tangga. Dengan menambah rangkaian elektronik buatannya, maka komputer biasa bisa dipergunakan untuk mengendalikan peralatan-peralatan industri dan rumah tangga. Adanya kecenderungan pemanfaatan komputer untuk kontrol seperti ini dengan dukungan teknologi chip IC telah memungkinkan orang membuat robot kecil yang berguna seperti robot kendaraan yang dipergunakan dalam misi ruang angkasa.

Berdasarkan data yang diolahnya, komputer terdiri dari:
- Komputer analog
- Komputer digital
- Komputer hibrid

Berdasarkan penggunaannya, komputer dibagi menjadi:
- Special purpose computer
- General purpose computer

Berdasarkan skala kemampuannya, komputer dibagi menjadi:
- Small scale computer
- Medium scale computer
- Large scale computer

Pengelompokan dan Klasifikasi Komputer

2.1 Komputer Berdasarkan Data yang Diolah

2.1.1 Komputer Analog
Komputer ini merupakan komputer yang digunakan untuk menerima sinyal analog, biasanya digunakan untuk melakukan pengecekan untuk data yang tidak berbentuk angka, karena data yang didapatkan adalah data yang bersifat gelombang. Komputer ini biasanya digunakan untuk mempresentasikan suatu keadaan. Sebagai contoh, komputer ini digunakan untuk melakukan pengecekan suhu, penghitung aliran BBM pada SPBU, mengukur kekuatan cahaya, dan lain-lain. Komputer ini banyak digunakan untuk kegiatan ilmiah.

2.1.2 Komputer Digital
Komputer ini merupakan komputer yang kebanyakan yang kita kenal. Data yang diterimanya adalah data yang sudah berupa data digital. Sedangkan fungsinya digunakan untuk mengolah data yang bersifat kuantitatif dalam bentuk angka, huruf, tanda baca dan lain-lain.

2.1.3 Komputer Hybrid
Merupakan komputer yang memiliki kemampuan dari komputer analog dan komputer digital. Komputer jenis ini diperuntukkan untuk pengolahan data yang sifatnya baik kuantitatif maupun kualitatif, dengan perkataan lain data kuantitatif yang diolah menghasilkan data kualitatifnya dan sebaliknya.



2.2 Komputer Berdasarkan Penggunaanya

2.2.1 Special Purpose Computer
Special purpose computer berarti komputer untuk keperluan khusus. Komputer ini dirancang hanya untuk menyelesaikan suatu masalah tertentu. Perangkat yang ada pada komputer ini, baik komponen input, output, pemroses serta softwarenya telah dirancang untuk keperluan tersebut. Biasanya software yang mengendalikan proses sudah berada langsung pada sistem. Contoh dari Special Purpose Computer ini adalah komputer yang digunakan untuk kasir pada supermarket.


2.2.2 General Purpose Computer
Merupakan komputer yang dibuat untuk keperluan secara umum, sehingga komputer tersebut dapat digunakan untuk mengerjakan berbagai macam pekerjaan sesuai dengan kemampuan dan usernya. Personal Computer merupakan salah satu contoh dari kategori ini.





2.3 Komputer Berdasarkan Skala Kemampuannya
Berikut ini kategori komputer yang dilihat berdasarkan kemampuannya untuk memproses, baik dalam melayani user, pemrosesan aplikasi, dan kemampuan untuk melaksanakan tugas dalam banyak hal sekaligus pada saat bersamaan.

2.3.1 Small Scale Computer
Komputer skala kecil, merupakan komputer yang memiliki kemampuan proses dalam jumlah kecil. Komputer yang termasuk ke dalam kategori ini adalah komputer desktop atau komputer pribadi yang umumnya digunakan oleh satu orang pada satu saat.

2.3.2 Medium Scale Computer
Komputer untuk skala menengah. Komputer yang termasuk ke dalam kategori ini adalah komputer mini, yang biasanya melayani penggunanya pada dumb terminal .

2.3.3 Large Scale Computer
Komputer untuk skala besar. Komputer yang termasuk ke dalam kategori ini adalah komputer mainframe. Pada mesin tersebut dapat diakses beramai-ramai, dan sudah dilengkapi dengan perangkat dan software yang lengkap. Penggunaannya pun adalah untuk pengolahan perhitungan dengan kemampuan yang cukup rumit untuk diselesaikan oleh komputer medium dan small.








Klasifikasi Komputer
Klasifikasi komputer terbagi atas enam, yaitu:

1. Microcontroller
Microcontroller memiliki semua peralatan pokoknya sebagai sebuah komputer dalam satu chip. Peralatan tersebut diantaranya adalah:
* pemroses (processing)
* Memori,
* Input dan output
Kadangkala pada microcontroller ini beberapa chip digabungkan dalam satu papan rangkaian. Perangkat ini sangat ideal untuk mengerjakan sesuatu yang bersifat khusus, sehingga aplikasi yang diisikan ke dalam komputer ini adalah aplikasi yang bersifat dedicated. Jika dilihat dari harga, microcontroller ini harga umumnya lebih murah dibandingkan dengan komputer lainnya, karena perangkatnya relatif sederhana. Contoh alat ini diantaranya adalah komputer yang digunakan pada mobil untuk mengatur kestabilan mesin, alat untuk pengatur lampu lalu lintas

2. Microcomputer
Komputer ini khususnya digunakan untuk single-user, biasa disebut juga dengan komputer desktop atau komputer pribadi (personal computer). Komputer ini sudah dirancang sedemikian rupa untuk mampu berinteraksi dengan penggunanya. Penggunaanya sangat populer pada penggunaan di rumah, atau untuk menjalankan aplikasi bisnis.

3. Engineering Workstation
Komputer ini lebih powerfull apabila dibandingkan dengan komputer pribadi, umumnya komputer ini digunakan untuk menjalankan aplikasi yang dipakai oleh para ahli teknik dalam melakukan perhitungan dan penyelesaian pekerjaannya. Aplikasi yang digunakan lebih cenderung kepada software yang banyak melakukan berbagai perhitungan, baik secara tiga dimensi, maupun secara matematika lainnya. Contoh aplikasi yang digunakan untuk komputer golongan ini adalah CAD (computer aided design) yang digunakan untuk melakukan perancangan gambar teknik

4. Minicomputer
Komputer ini umumnya digunakan untuk banyak pemakai (multiuser) pada saat yang bersamaan, dan time shared. Time shared ini artinya memungkinkan komputer tersebut untuk digunakan oleh beberapa pemakai sekaligus secara bersama-sama, dan komputer akan membagi-bagi waktunya bergantian untuk masing-masing pemakai. Tentunya penggantian waktu layanan ini tidak terlalu terasa bagi pemakai, mengingat pembagian waktunya dihitung dalam waktu yang sangat sempit, atau dalam satuan perseribu detik, tergantung sistem yang digunakan.
Pelayanan pada penggunanya lebih dititikberatkan kepada proses, bukan terhadap interaksi pengguna komputer tersebut. Contoh komputer yang termasuk ke dalam golongan ini adalah IBM AS/400. Komputer ini lebih cenderung digunakan pada untuk suatu kelompok pengguna atau per departemen pada perusahaan besar.

5. Mainframe
Pada tahap awal mulainya era komputerisasi, mainframe merupakan satu-satunya komputer yang ada pada waktu itu. Mainframe ini dapat melayani ratusan penggunanya pada saat yang bersamaan. Komputer ini mirip dengan minicomputer namun lebih besar dan lebih mahal. Penggunaannya umumnya untuk pengolahan data dari suatu divisi atau perusahaan besar, yang membutuhkan pengolahan yang cukup berat.



6. Supercomputer
Komputer ini merupakan komputer yang powerfull yang ada. Aplikasi yang digunakan biasanya lebih cenderung untuk penelitian ilmiah. Komputer ini biasanya memiliki beberapa prosesor sekaligus untuk menjalankan tugasnya.
SUMBER :
(http://artikel.total.or.id/artikel.php?id=1183&judul=Pengelompokan%20dan%20Klasifikasi%20Komputer ).
(http://www.total.or.id/info.php?kk=computer)

Senin, 07 Juni 2010

1. Sorting

Dalam penyelesaian suatu masalah pasti terdapat banyak cara atau solusi-solusi yang dapat dilakukan, seperti halnya pembuatan program memiliki banyak tehnik atau algoritma yang dapat di gunakan salah satunya untuk kebutuhan SORTING atau PENGURUTAN kumpulan data-data. terdapat 4 algoritma atau tehnik dalam melakukan sorting.

* Straight Selection Sort. teknik sorting ini dibuat dengan cara melakukan pengecek’an 1 persatu, bila kita akan mengurutkan secara ascending maka kita lakukan pengecek’an nilai tempat yang pertama (index pertama pada array) bila lebih kecil daripada index berikutnya (index 1 dengan index 2, index 1 dengan index 3, ….. index 1 dengan index terakhi) maka kita lakukan pertukaran nilai pada array index tersebut. proses ini dilakukan terus menerus sampai pada pengecekan index terakhir – 1 dengan nidex terakhir.

* Selection Sort.Teknik sorting ini dibuat dengan cara melakukan pengecek’an 1 persatu, bila kita akan mengurutkan secara ascending maka kita lakukan pengecek’an nilai tempat yang pertama (index pertama pada array)kita bandingkan dengan semua nilai yang ada kita cari nilai minimalnya. lalu simpan index/ letak nilai minimum itu di temukan, setelah pengecekan selesai tukar index awal pengecekan dengan nilai minimum yang telah di simpan tadi. Proses ini dilakukan terus menerus sampai pada pengecekan index terakhir min 1 dengan index terakhir. beda dengan streith selection sort adalah dengan teknik ini melakukan pertukaran nilai lebih sedikit, hanya jumlah data – 1 pertukaran. jadi waktu untuk melakukan proses sorting lebih cepat.

* Bubble Sort. Teknik ini dilakukan degan pola membawa nilai terbesar menjadi nilai index terakhir array. jadi sistem ini melakukan pengecekan nilai 1 dengan 2, lalu 2 dengan 3 samapai dengan data terakhir, bila nilai index yang lebih kecil lebih besar maka akan dilakukan pertukaran. proses ini dilakuan hingga jumlah data – 1.

* Modified Bubble Sort. Teknik ini dilakukan degan pola membawa nilai terbesar menjadi nilai index terakhir array. Jadi sistem ini melakukan pengecekan nilai 1 dengan 2, lalu 2 dengan 3 samapai dengan data terakhir, bila nilai index yang lebih kecil lebih besar maka akan dilakukan pertukaran. proses ini dilakuan hingga jumlah data dikurangi 1 atau sampai program tidak melakukan pertukaran. jadi waktu untuk melakukan proses sorting lebih cepat.

Sebenarnya jika kita ingin mengimplementasikan teknik sorting ini ke dalam suatu bahasa pemograman, yang paling penting adalah, kita terlebih dahulu harus memahami konsep dari teknik Sorting itu sendiri. berikut caranya :

Untuk contoh sorting yang paling sederhana ialah :

Anggaplah kita punya nilai yaitu:
nilai [1]=15;
nilai [2]= 9;

Disini kita ingin mengurutkan dengan menggunakan teknik Ascending(pengurutan dari nilai terkecil ke nilai terendah). Tentunya kita ingin menukar kedua angka itu yaitu
nilai[1]=9;dan
nilai[2]=15
Kita tidak bisa melakukannya dengan cara seperti ini.

Demikian juga dengan bentuk ini :
nilai[1]=nilai[2]
nilai[2]=nilai[1], kalau seperti ini program tak akan bekerja.

Pemahaman langkah pertama yaitu dengan cara nilai yang tersimpan pada “nilai[1]” akan dihapus, dan kemudian diganti dengan nilai yang tersimpan pada “nilai[2]“. Sehingga sekarang antara “nilai[1] dan nilai[2]” punya nilai yang sama. Tapi yang terjadi dengan nilai[1] adalah nilai tersebut telah hilang. Dalam penukaran dua variabel, kita harus mendefinisikan variabel ke-tiga, yaitu sebuah temporary yang memegang nilai variabel agar nilai tersebut tidak hilang. Ia akan menjaga proses pembarteran nilai agar salah satu nilai tidak hilang.

Misalnya:
//Pertukaran Variabel
temp = nilai[1]; //pemegang variabel agar tidak hilang”temp”
nilai[1] = nilai[2];
nilai[2] = temp;

Proses pertukaran ini akan berhasil dilakukan sesuai pemahaman teknik sorting, dan pertukaran berhasil dilakukan tanpa nilai yang hilang.

http://andikafisma.wordpress.com/teknik-sorting-dan-teknik-searching/

Teknik Searching

Mungkin seluruh atau sebahagian dari kita selalu bergantung dengan search engine untuk mendapatkan informasi, berita, software gratis dan lain sebagainya. Tapi masih sangat sedikit yang mengerti searching yang baik. Ok mari kita mulai, bahawa dalam searching kita mengenal beberapa search engine salah satunya Google. Beberapa search engine mengenal karakter seperti +, - dan ". Tetapi masih banyak yang belum tahu mengenai karakter tersebut. Saya akan menggunakan mode Tanya jawab dalam menjelaskan hal tersebut.
Karakter Matematika.

# Tanda (+)

Ingin mencari artikel yang didalamnya terkandung kata hacking,security dan internet.

Anda dapat mengetikkan kata disearch engine : +hacking +security +internet Jika terdapat artikel yang memuat salah satu atau dua kata tersebut diatas tidak akan ditampilkan hanya artikel yang memuat tiga kata tersebut yang di tampilkan . Tanda + dibaca oleh search engine sebagai DAN symbol ini dapat dipakai sebanyak-banyaknya misalnya: +harga +komputer murah +untuk +wilayah +medan. Dan sebagai nya.

# Tanda (-)

Ingin mencari artikel yang didalamnya terkandung kata statistic penduduk kg baru kecuali lama.Ketik di search engine : +statistic +penduduk +kg baru -lama. Search engine yang bersangkutan akan mencari di internet artikel yan mengandung kata Statistik penduduk kg baru tetapi tidak terdapat kata lama. Atau seperti ini +tempat +wisata +bali -kuta. Maka search engine akan menampilkan artikel tentang tempat wisata di bali dan pada artikel tersebut tidak terdapat kata kuta. Tanda - dibaca oleh search engine sebagai KECUALI.

# Tanda (")

Ingin mencari artikel di internet yang didalamnya terdapat kata hacking dan security dan kata tersebut tidak dipisahkan oleh kata-kata yang lain. Klik di search engine : "hacking dan security" maka search engine yang bersangkuta akan mencari kata hacking dan security yang katanya tidak dipisah kan oleh kata-kata lain. Apabila ada artikel yang mengandung kata hacking dan security yang katanya dipisah kan
oleh kata-kata lain maka artikel tersebut tidak ditampilkan oleh search engine yang bersangkutan.


Dan anda dapat juga menggabungkan ketiga karakter tersebut tersebut seperti contoh berikut ini: +kuliah +"ilmu komputer" -bayar

Search engine akan mencari artikel di internet yang terdapat kata kuliah ilmu komputer kata ilmu komputer tidak akan dipisah kan oleh kata lain dan tidak akan menampilkan artikel tersebut bila terdapat kata bayar. Perlu di ingat bahwa penggunaan spasi untuk memisah kan antara kata-kata yang kita cari, spasi tersebut akaan dibaca ATAU contoh Ketik di search engine : ilmu komputer

Maka search engine akan menampilkan web yang mengandung kata ilmu atau komputer atau yang mengandung kata kedua-dua nya

Simbol Bolean

Seperti yang kita ketahui symbol bolean adalah kata-kata OR, AND dan NOT. Kita dapat menggunakan symbol tersebut dalam mencari informasi di internet.

# Bolean OR

Pada dasar nya symbol bolean OR sama seperti apabila kita menggunakan spasi contoh :
ilmu OR komputer

Search engine akan menampilkan web yang mengandung kata ilmu atau kata komputer atau kedua-duanya.

# Bolean AND

Penggunaan bolean AND sama dengan karakter/tanda + Contioh : ilmu AND komputer

Search engine akan menampilkan web yang mengandung kata ilmu komputer apabila tidak terdapat salah satu dari kata tersebut tidak akan di tampilkan.

# Bolean NOT

Penggunaan bolean NOT sama dengan tanda (- ) contoh saya akan mencari infor- masi tentang statistic penduduk di sumater tetapi tidak termasuk medan.

Ketik di sdearch engine : Statistik AND penduduk AND sumater NOT medan search engine akan menampilkan web yang berisi kata statistic penduduk sumatera tetapi tidak terdapat kata medan.

# Bolean NEAR

Contoh : saya ingin mencari kata ilmu komputeryang jarak antara kata tersebut berdekatan.

Ketik di search engine : ilmu NEAR komputer maka search engine akan menampilkan web yang berisi kata ilmu komputer yang jarak antara kedua kata tersebut berdekatan.

Penggunaan Bolean tersebut diatas dapat juga digabungkan contoh Saya ingin mencari definisi dari kata cinta atau kasih maka dapat di klik di search engine : definisi AND (cinta OR kasih) Search engine akan menampilkan web yang mengandung kata defini cinta atau definisi kasih

Sumber : http://thalz142.blogspot.com/2006/07/teknik-search-engine.html

Minggu, 30 Mei 2010

Struktur Data

http://lecturer.eepis-its.edu/~entin/Struktur%20Data%20&%20Algoritma/buku/Data%20Structure%20-%20Bab%201.pdf

BAB I
Pengenalan Struktur Data dan Algoritma
Tujuan :
1. Mahasiswa memahami apakah yang dimaksud dengan struktur data
2. Mahasiswa memahami apakah yang dimaksud dengan algoritma
3. Mengingat kembali array, struktur, pointer dalam bahasa C
1.1 Pengenalan Struktur Data
Struktur data adalah sebuah skema organisasi, seperti struktur dan array, yang
diterapkan pada data sehingga data dapat diinterprestasikan dan sehingga operasioperasi
spesifik dapat dilaksanakan pada data tersebut
1.2 Pengenalan Algoritma
Algoritma adalah barisan langkah-langkah perhitungan dasar yang mengubah
masukan (dari beberapa fungsi matematika) menjadi keluaran.
Contoh :
􀂃 Perkalian
Input : integer positif a, b
Output : a X b
Algoritma perkalian :
Contoh kasus : a = 365, b = 24
Metode 1 : 365 * 24 = 365 + (365 * 23)
= 730 + (365 * 22)
…..
= 8760 + (365 * 0)
= 8760
2
Metode 2 : 3 6 5
2 4
1 4 6 0
7 3 0
8 7 6 0
Manakah algoritma yang lebih baik ?
1.3 Array
Array adalah organisasi kumpulan data homogen yang ukuran atau jumlah elemen
maksimumnya telah diketahui dari awal. Array umumnya disimpan di memori komputer
secara kontigu (berurutan). Deklarasi dari array adalah sebagai berikut:
int A[5]; artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe
integer.
Operasi terhadap elemen di array dilakukan dengan pengaksesan langsung. Nilai
di masing-masing posisi elemen dapat diambil dan nilai dapat disimpan tanpa melewati
posisi-posisi lain.
Terdapat dua tipe operasi, yaitu:
1. Operasi terhadap satu elemen/posisi dari array
2. Operasi terhadap array sebagai keseluruhan
Dua operasi paling dasar terhadap satu elemen/posisi adalah
1. Penyimpanan nilai elemen ke posisi tertentu di array
2. Pengambilan nilai elemen dari posisi tertentu di array
1.3.1 Penyimpanan dan Pengambilan Nilai
Biasanya bahasa pemrograman menyediakan sintaks tertentu untuk penyimpanan
dan pengambilan nilai elemen pada posisi tertentu di array.
Contoh:
A[10] = 78, berarti penyimpanan nilai 78 ke posisi ke-10 dari array A
C = A[10], berarti pengambilan nilai elemen posisi ke-10 dari array A
1.3.2 Keunggulan dan Kelemahan Array
Keunggulan array adalah sebagai berikut:
1. Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu
secara langsung tanpa melalui elemen-elemen lain.
2. Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemenelemen
tetangga, baik elemen pendahulu atau elemen penerus
3
3. Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga,
maka penggunaan penyimpanannya sangat efisien
Kelemahan array adalah sebagai berikut:
Array mempunyai fleksibilitas rendah, karena array mempunyai batasan sebagai berikut:
1. Array harus bertipe homogen. Kita tidak dapat mempunyai array dimana satu elemen
adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain
2. Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulit
diubah ukurannya di waktu eksekusi. Bila penambahan dan pengurangan terjadi
terus-menerus, maka representasi statis
• Tidak efisien dalam penggunaan memori
• Menyiakan banyak waktu komputasi
• Pada suatu aplikasi, representasi statis tidak dimungkinkan
1.4 Pointer
Misalnya kita ingin membuat beberapa penunjuk ke blok penyimpan yang berisi
integer. Deklarasi pada C adalah:
int *IntegerPointer;
Tanda asterik (*) yang berada sebelum nama variable IntegerPointer menandakan
‘pointer pada suatu int’. Jadi deklarasi diatas berarti ‘definisikan sebuah tipe yang terdiri
dari pointer bertipe integer yang bernama IntegerPointer’.
Apabila didepannya ditambahkan typedef sebagai berikut
Typedef int *IntegerPointer;
Berarti IntegerPointer merupakan suatu tipe pointer berbentuk integer.
Apabila akan mendeklarasikan dua variable A dan B sebagai penunjuk ke bilangan
integer :
IntegerPointer A, B;
Berarti kompiler C akan berisi nilai dari variable A dan B yang ‘menunjuk ke integer’.
Untuk membuat beberapa penunjuk ke beberapa penyimpan integer yang kosong dan
untuk membuat A dan B menunjuk tempat tersebut, digunakan prosedur dinamis untuk
alokasi penyimpan yang disebut malloc
A = (IntegerPointer *) malloc (sizeof(int));
A :
4
B = (int *) malloc (sizeof(int));
A:
B:
Misalnya kita akan menyimpan integer 5 pada blok penyimpan yang ditunjuk
pointer pada variable A. Untuk menuimpan angka 5 pada blok penyimpan integer itu
melalui pointer A, digunakan pernyataan :
*A = 5;
A:
B:
Linked list adalah salah satu struktur data yang paling fundamental. Linked list
terdiri dari sejumlah kelompok elemen (linked) dengan urutan tertentu. Linked list sangat
berguna untuk memelihara sekelompok data, semacam array, tetapi linked list lebih
menguntungkan dalam beberapa kasus. Linked list lebih efisien dalam proses
penyisipan (insertion) dan penghapusan (deletion). Linked list juga menggunakan
pengalokasian penyimpan secara dinamis, dimana penyimpan dialokasikan pada saat
waktu berjalan (runtime).
1.5 Struktur
Struktur adalah koleksi dari variabel yang dinyatakan dengan sebuah nama,
dengan sifat setiap variabel dapat memiliki tipe yang berlainan. Struktur biasa dipakai
untuk mengelompokkan beberapa informasi yang berkaitan menjadi sebuah satu
kesatuan.
Contoh sebuah struktur adalah informasi data tanggal, yang berisi: tanggal, bulan
dan tahun.
1.5.1 Mendeklarasikan Struktur
Contoh pendefinisian tipe struktur adalah sebagai berikut:
struct data_tanggal
{
int tanggal;
5
5
int bulan;
int tahun;
};
yang mendefinisikan tipe struktur bernama data_tanggal, yang terdiri dari tiga buah
elemen (field) berupa : tanggal, bulan dan tahun.
Pendefnisian dan pendeklarasian struktur dapat juga ditulis sebagai berikut:
struct data_tanggal
{
int tanggal;
int bulan;
int tahun;
} tgl_lahir;
Bentuk umum dalam mendefinisikan dan mendeklarasikan struktur adalah sebagai
berikut
struct nama_tipe_struktur
{
tipe field1;
tipe field2;
.
.
tipe fieldn;
}variabel_struktur1, ... , variabel_strukturM;
Masing-masing tipe dari elemen struktur dapat berlainan. Adapun variabel_struktur1
sampai dengan variabel_strukturM menyatakan bahwa variabel struktur yang
dideklarasikan bisa lebih dari satu. Jika ada lebih dari satu variabel, antara variabel
struktur dipisahkan dengan tanda koma.
1.5.2 Mengakses Elemen Struktur
Elemen dari struktur dapat diakses dengan menggunakan bentuk
variabel_struktur.nama_field
Antara variabel_struktur dan nama_field dipisahkan dengan operator titik (disebut
operator anggota struktur). Contoh berikut merupakan instruksi untuk mengisikan data
pada field tanggal
tgl_lahir.tanggal = 30;
6
1.6 Kesimpulan
1. Struktur data adalah sebuah skema organisasi yang diterapkan pada data
sehingga data dapat diinterprestasikan dan sehingga operasi-operasi spesifik
dapat dilaksanakan pada data tersebut
2. Apabila kita membuat program dengan data yang sudah kita ketahui batasnya,
maka kita bisa menggunakan array (tipe data statis), namun apabila data kita
belum kita ketahui batasnya, kita bisa menggunakan pointer (tipe data dinamis)
3. Untuk sekumpulan data dengan tipe data yang berlainan, namun merupakan
satu-kesatuan, kita dapat menggunakan struktur untuk merepresentasikannya
1.7 Latihan
1. Masalah aritmatika polinom adalah membuat sekumpulan subrutin manipulasi
terhadap polinom simbolis (symbolic Polynomial). Terdapat empat operasi
aritmatika polinom dasar antara lain:
a. Penambahan
b. Pengurangan
c. Perkalian
d. Turunan
Representasikan bilangan polinom dengan array dan buatlah prosedur-prosedur
yang melakukan kelima operasi aritmatika di atas.
2. Representasikan soal di atas dengan menggunakan pointer
3. Bilangan kompleks berbentuk a + bi, dimana a dan b adalah bilangan nyata
dan i2 = -1. Terdapat empat operasi aritmatika dasar untuk bilangan kompleks,
yaitu:
• Penambahan : (a+bi) + (c+di) = (a+c) + (b+d)i
• Pengurangan : (a+bi) - (c+di) = (a-c) + (b-d)i
• Perkalian : (a+bi) * (c+di) = (ac-bd) + (ad+bc)i
• Pembagian : (a+bi) / (c+di) = [(ac+bd) / (a2+b2)] + [(bc-ad)/(c2+d2)]i
Tulis program yang membaca dua bilangan kompleks dan simbol operasi yang
perlu dilakukan, kemudian lakukan operasi yang diminta.
Gunakan struktur untuk merepresentasikan bilangan kompleks dan gunakan
prosedur untuk implementasi tiap operasi.

Algoritma Binary Search

http://blog.uad.ac.id/afandi/2008/11/06/binary-search/

Algoritma Binary Search

Jika kita mempunyai sebuah file dari record-record yang telah dijalankan,

kita dapat melanjutkan menghapuskan memory pemeriksaan yang diperlukan

untuk mendapatkan kembali sebuah record yang telah dipakai oleh suatu teknik

binary search.

Suatu binary search dibandingkan dengan kunci dari pencarian record dengan

record tengah dari sebuah file. Kemudian masing-masing pencarian record

yang telah ditempatkan atau setengah dari file yang telah dihilangkan dengan

pertimbangan yang lebih lanjut. Dalam kasus yang sebelumnya, proses pemban-

dingan dari record tengah dilanjutkan dalam record-record selanjutnya.

Jika kita harus menghilangkan bagian atas dari sebuah file termasuk

record yang telah dibandingkan berlawanan. Selanjutnya jika kita harus

menghilangkan bagian bawah dari sebuah file termasuk record yang telah

dibandingkan berlawanan. Dalam pengulangan proses dari pembandingan

berlawanan dari record tengah, kita akhirnya akan menempatkan record yang

kita inginkan atau menentukan bahwa itu tidak ada dalam file ketika tidak

ada record-record selanjutnya.

Algorithm 2.1

Binary Search.

Terendah = 1.

Tertinggi = n.

While terendah < tertinggi do.

Tengah = (terendah + tertinggi) / 2.

if nilai kunci = nilai (tengah). Then data ditemukan.

Else if nilai kunci > nilai (tengah). Then terendah = tengah + 1.

Else tertinggi = tengah - 1.

end

end

end

Mari kita amati sebuah contoh dari suatu binary search yang telah disajikan terhadap suatu file dari record-record yang telah disusun secara urut. Dalam contoh ini, kita mencari record-record dengan kunci 39, dimana berindikasikan record yang terbaru yang telah dibandingkan berlawanan dari tanda kurung besar membatasi record yang masih dibawah pertimbangan.

Contoh 1

Di bawah ini adalah kunci–kunci carilah kunci 39 dengan mengunakan algorithm Binary Search.

[13, 16, 18, 27, 28, 29, 38, 39, 53].

1 2 3 4 5 6 7 8 9

File ini dinamakan File Sequential (secara berurutan).

Cara penyelesaian.

Bila di cari kunci 39 maka ;

Bila terendah = 1, dan tertinggi = 9,

maka 1 + 9 = 10 , lalu 10 / 2 = 5.

1. Nomor urut 5, adalah kunci 28 , tapi 28 < 39,

[13, 16, 18, 27, 28, 29, 38, 39, 53].

maka terendah = 5 , dan tertinggi = 9,

maka : 5 + 9 = 14

14 / 2 = 7.

2. Nomor urut 7 adalah 38 , tapi 38 < 39,

[13, 16, 18, 27, 28, 29, 38, 39, 53].

maka terendah = 8, dan tertinggi = 9, (karena mid + 1 jadi 7+1=8)

maka : 8 + 9 = 17

17 / 2 = 8,5 => 8,5 ≈ 8

Note: kl mengambil kebawah, haruskonsisten untuk jawaban selanjutnya jika ada kasus yg sama juga harus kebawah

3. Nomor urut 8 adalah kunci 39 , dimana kunci 39 = 39.

[13, 16, 18, 27, 28, 29, 38, 39, 53]

Contoh 2

Ada 2000 kunci Mahasiswa AKAKOM dengana mengunakan Algoritma Binary Search. Carilah kunci 1345

Cara penyelesaian.

1. pergi ke tengah yaitu ; record dengan kunci 1000.
2. pergi ke record tengah pada separuh bagian ke-dua yaitu ; record sementara (1001+2000)/2 ketemu 1500, maka Record yang di cari ada diantara 1001- 1500.
3. pergi ke bagian tengah antara (1001+1499)/2, yaitu ; record 1250. Record yang dicari 1345 > 1250 berarti ada di antara 1250 - 1499.
4. pergi ke bagian tengah antara (1251+1499)/2 , yaitu ; 1375. Record yang di cari 1345 < 1375 , berarti ada di antara 1251 – 1274.
5. pergi ke bagian tengah antara (1251+1374)/2 atau 1312,5. Record yang di cari 1345 > 1312 , berarti ada di antara 1313 – 1374.
6. pergi ke-bagian tengah antara (1313+1374)/2 atau 1343,5. Record yang di cari 1345 > 1343, berarti ada di antara 1344 –1374.
7. pergi ke-bagian tengah antara (1344+1374)/2 atau 1359. Record yang di cari 1345 < 1359, berarti ada di antara 1334 – 1358.
8. pergi ke-bagian tengah antara (1344+1358)/2 atau 1351. Record yang di cari 1345 < 1351, berarti ada di antara 1344 – 1350.
9. pergi ke-bagian tengah antara (1344+1350)/2, atau 1347. Record yang di cari 1345 < 1347, berarti ada di antara 1344 – 1346.
10. pergi ke bagian tengah antara (1344+1346)/2, atau 1345. Record yang di cari1345 = 1345, ketemu.

Contoh 3

Dari data berikut gunakanlah metode binary search

Cari nomer kunci dari 232 , sedangkan jumlah seluruh mahasiswa sebanyak 700 orang.

Pembahasaan :

(1 + 700)/2 = 350

angka 350 lebih besar dari 232, maka kita harus mencarinya kembali.

(1+ 349)/2 = 175

angka 175 lebih kecil dari 232, maka kita akan mencari kembali

(176 + 349)/2 = 262

angka 362 lebih besar dari 232, maka kita akan melakukan pencarian lagi.

(176 + 261)/2 = 218

angka 218 lebih kecil dari 232 maka dicari lagi

(219 + 261)/2 = 240

angka 240 lebih besar dari 232, maka akan dicari lagi

(219 + 239)/2 = 229

angka 229 lebih kecil dari 232, maka akan dicari lagi

(230 + 239)/2 = 234

angka 234 lebih besar dari 232, maka akan dicari lagi

(230 + 233)/2 = 231

angka 231 lebih kecil dari 232, maka

(232 + 233)/2 = 232

sudah ditemukan

contoh 4

Di bawah ini adalah kunci–kunci carilah kunci 17 dan 39 dengan mengunakan algorithm Binary Search.

[13, 16, 18, 27, 28, 29, 38, 39, 53].

Jawab :

File ini dinamakan File Sequential (secara berurutan).

Cara penyelesaian.

Bila di cari kunci 39 maka

Bila terendah = 1, dan tertinggi = 9,

maka 1 + 9 = 10 , lalu 10 / 2 = 5

1· Nomor urut 5, adalah kunci 28 , tapi 28 < 39,

[13, 16, 18, 27, 28, 29, 38, 39, 53].

maka terendah = 6, dan tertinggi = 9

maka 6 + 9 = 15 lalu 15 / 2 = 7

2· Nomor urut 7 adalah 38 , tapi 38 < 39,

[13, 16, 18, 27, 28, 29, 38, 39, 53].

maka terendah = 8, dan tertinggi = 9,

maka 8 + 9 = 17, lalu 17 / 2 = 8.

3· Nomor urut 8 adalah kunci 39 , dimana kunci 39 = 39.

[13, 16, 18, 27, 28, 29, 38, 39, 53]

Contoh 5

Dari daftar kunci berikut

2,5,11,12,14,19,30,32,41,42,47,49,51,52

Dicari suatu kunci 12 dan 42, tentukan pencarian tersebut dengan metode binary search

Cara penyelesaian.

Jika kita hendak mencari suatu kunci dari daftar berikut maka terlebih dahulu kita harus mengetahui daftar tertinggi dan daftar terendah jadi langkah pertama yang harus di ambil, yaitu :

1· mencari kunci dari angka 12 maka :

nilai terendah = 1 dan nilai tertinggi = 14

maka 1 + 14 = 15, lalu 15/2 = 7,5

2· karena nomer urut 7 adalah 30, maka 30 > 12

[2, 5, 11, 12, 14, 19, 30, 32, 41, 42, 47, 49, 51, 52,]

maka didapat nilai terendah = 1, dan nilai tertinggi adalah = 7

sehingga didapat : 1 + 6 = 7, lalu 7 / 2 = 3.

3· karena nomer urut dari nomer 3 adalah 11, maka 11 < 12

[2, 5, 11, 12, 14, 19, 30, 32, 41, 42, 47, 49, 51, 52,]

maka didapat nilai terendah = 4, dan nilai tertinggi adalah = 6

sehingga didapat : 4 + 6 = 10, lalu 10 / 2 = 5.

4· karena nomer urut dari nomer 5 adalah 14, maka 14 > 12

[2, 5, 11, 12, 14, 19, 30, 32, 41, 42, 47, 49, 51, 52,]

maka didapat nilai terendah = 4, dan nilai tertinggi adalah = 4

sehingga didapat : 4 + 4 = 8, lalu 8 / 2 = 4.

nomer 4 adalah kunci dari nomer 12, dimana kunci 12 = 12. ketemu

Untuk mencari kunci nomer 42 dengan methode Binary Search, maka :

1. dari daftar dibawah ini dapat kita lihat bahwa :

[2, 5, 11, 12, 14, 19, 30, 32, 41, 42, 47, 49, 51, 52,]

didapat nilai terendah = 1, dan nilai tertinggi = 14

hingga di dapat : 1 + 14 = 15, lalu 15 / 2 = 7,5

2. karena nomer urut 7 adalah 30, dan 30 < 42

[2, 5, 11, 12, 14, 19, 30, 32, 41, 42, 47, 49, 51, 52,]

maka di dapat nilai terendah = 8, dan nilai tertinggi = 14

jadi 8 + 14 =22, lalu 22/2 =11

3. karena nomer urut 11 adalah 47, dan 47 > 42

[2, 5, 11, 12, 14, 19, 30, 32, 41, 42, 47, 49, 51, 52,]

maka di dapat nilai terendah = 8, dan nilai tertinggi = 10

jadi 8 + 10 =18, lalu 18/2 =9

4. karena nomer urut 9 adalah 41, dan 41 < 42

[2, 5, 11, 12, 14, 19, 30, 32, 41, 42, 47, 49, 51, 52,]

maka di dapat nilai terendah = 10, dan nilai tertinggi = 10

jadi 10 + 10 =20, lalu 20/2 =10

nomer 10 adalah kunci dari nomer 42, dimana kunci 42 = 42, ketemu

ALGORITMA PENCARIAN BINER

mita.staff.gunadarma.ac.id/Downloads/files/.../BINARY-SEARCH.doc - Mirip

ALGORITMA PENCARIAN BINER (BINARY SEARCH)

Pencarian Biner (Binary Search) pada array yang sudah terurut

Pencarian Biner (Binary Search) dilakukan untuk :
♪ memperkecil jumlah operasi pembandingan yang harus dilakukan antara data yang dicari dengan data yang ada di dalam tabel, khususnya untuk jumlah data yang sangat besar ukurannya.
♪ Prinsip dasarnya adalah melakukan proses pembagian ruang pencarian secara berulang-ulang sampai data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi (berarti ada kemungkinan data tidak ditemukan).
♪ Syarat utama untuk pencarian biner adalah data di dalam tabel harus sudah terurut, misalkan terurut menaik.

ALGORITMA

Kamus
Const N : integer = 8 { misalkan jumlah elemen array maksimum = 8 }
Type A = array [ 1 ..... N ] of integer
Cari, BatasAtas, BatasBawah, Tengah : Integer
Ketemu : boolean
ALGORITMA
Input (cari) { meminta nilai data yang akan dicari}
BatasAtas  1 { indeks array dimulai dari 1 }
BatasBawah  N
Ketemu  False
While (BatasAtas < BatasBawah) and (not ketemu) do
Tengah  (BatasAtas + BatasBawah) div 2
If A [Tengah] = cari then
Ketemu  true
Else
If ( A [Tengah] < cari ) then { cari di bagian kanan }
BatasAtas  Tengah + 1
Else
BatasBawah  Tengah – 1 { cari di bagian kiri }
Endif
Endif
EndWhile
If (ketemu) then
Output ( ‘Data berada di index nomor’, Tengah )
Else Output ( ‘Data tidak ditemukan’ )
Endif





Contoh Nilai-Nilai data yang sudah terurut :

A 2 5 8 12 15 25 37 57
1 2 3 3 5 6 7 8

Kasus 1 : cari = 12
Loop pertama : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 8) div 2 = 4
A [Tengah] = A [4] = 12, berarti loop pertama data langsung ditemukan

Kasus 2 : cari = 15
Loop pertama : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 8) div 2 = 4
A [Tengah] = A [4] = 12 < cari = 15, berarti BatasAtas = Tengah + 1 = 4 + 1 = 5
Loop kedua : Tengah = (BatasAtas + BatasBawah) div 2 = (5 + 8) div 2 = 6
A [Tengah] = A [6] = 25 > cari = 15, berarti BatasBawah = Tengah - 1 = 6 - 1 = 5
Loop ketiga : Tengah = (BatasAtas + BatasBawah) div 2 = (5 + 5) div 2 = 5
A [Tengah] = A [5] = 15, berarti setelah loop ketiga, data ditemukan

Kasus 3 : cari = 10
Loop pertama : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 8) div 2 = 4
A [Tengah] = A [4] = 12 > cari = 10, berarti BatasBawah = Tengah - 1 = 4 - 1 = 3
Loop kedua : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 3) div 2 = 2
A [Tengah] = A [2] = 5 < cari = 10, berarti BatasAtas = Tengah + 1 = 2 + 1 = 3
Loop ketiga : Tengah = (BatasAtas + BatasBawah) div 2 = (3 + 3) div 2 = 3
A [Tengah] = A [3] = 8, berarti setelah loop ketiga, data tidak ditemukan

Untuk jumlah data sebanyak n, maka proses pembandingan maksimal sebanyak ( log n ) kali. Untuk contoh di atas, jumlah data 8, maka proses pembandingan maksimal sebanyak 3 kali.

Selasa, 25 Mei 2010

Algoritma Divide dan Conquer

mita.staff.gunadarma.ac.id/Downloads/files/14268/Divide%26Conquer.doc

Algoritma Divide dan Conquer

Pemrogram bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang dapat dikelola.
Penyelesaian masalah dengan komputer berhadapan dengan 4 hal, yaitu :
1. Pemahaman keterhubungan elemen-elemen data yang relevan terhadap solusi secara menyeluruh.
2. Pengambilan keputusan mengenai operasi-operasi yang dilakukan terhadap elemen-elemen data.
3. Perancangan representasi elemen-elemen data di memori sehingga memenuhi kriteria berikut:
a. Memenuhi keterhubungan logik antara elemen-elemen data.
b. Operasi-operasi terhadap elemen-elemen data dapat dilakukan secara mudah dan efisien.
4. Pengambilan keputusan mengenai mengenai bahasa pemrograman terbaik untuk menerjemahkan solusi persoalan menjadi program.


STRATEGI DIVIDE DAN CONQUER

Metode
Strategi Divide dan Conquer memecah masalah menjadi submasalah-submasalah independen yang lebih kecil sehingga solusi submasalah-submasalah dapat diperoleh secara mudah, solusi submasalah-submasalah digabung menjadi solusi seluruh masalah.
Skema umum algoritma divide dan conquer

Procedure DNC ( i,j : integer )
Var K : integer ;
If SMALL (i,j) then SOLVE (i,j)
Else begin
K : = DIVIDE (i,j)
COMBINE (DNC(i,k),DNC(k+1,j))
End if
Keterangan :
1. SMALL adalah fungsi yang mengirim BOOLEAN, menentukan apakah ukuran telah cukup kecil sehingga solusi dapat diperoleh. Ukuran dinyatakan sebagai telah berukuran kecil bergantung masalah.
2. DIVIDE adalah fungsi membagi menjadi 2 bagian pada posisi K. Biasanya bagian berukuran sama.
3. COMBINE adalah fungsi menggabungkan solusi X dan Y submasalah. Solusi diperoleh dengan memanggil prosedur rekursif DNC.
Jika ukuran kedua submasalah sama, waktu komputasi DNC dideskripsikan hubungan rekuren berikut :
T(n) = g (n), n kecil
2 T (n/2) + f (n), selainnya
dimana :
• T(n) adalah waktu untuk DNC dengan n masukan,
• g(n) adalah waktu komputasi jawaban secara langsung untuk masukan kecil dan
• f(n) adalah waktu COMBINE.

Untuk algoritma divide dan conquer yang menghasilkan submasalah-submasalah dengan tipe masalah yang sama dengan masalah awal, sangat alami untuk mendeskripsikan algoritma secara rekursi. Kemudian untuk meningkatkan efisiensi dilakukan penerjemahan menjadi bentuk iterasi.
Pemakaian teknik Divide dan Conquer banyak digunakan dalam menyelesaikan berbagai macam persoalan, antara lain :
1. Searching
2. Sorting

Binary Search (Pencarian Biner) dapat dilakukan jika data sudah dalam keadaan urut. Dengan kata lain, apabila data belum dalam keadaan urut, pencarian biner tidak dapat dilakukan. Dalam kehidupan sehari-hari, sebenarnya kita juga sering menggunakan pencarian biner. Misalnya saat ingin mencari suatu kata dalam kamus.
Prinsip dari pencarian biner dapat dijelaskan sebagai berikut :
1. Mula-mula diambil posisi awal = 1 dan posisi akhir = N
2. Cari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2
3. Data yang dicari dibandingkan dengan data tengah.
4. Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi tengah – 1.
5. Jika lebih besar, proses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah + 1.
6. Demikian seterusnya sampai data tengah sama dengan yang dicari.

Untuk lebih jelasnya, perhatikan contoh berikut. Misalkan kita ingin mencari 17 pada sekumpulan data berikut :


3
9
11
12
15
17
23
31
35


awal tengah akhir
1. Mula–mula dicari data tengah, dengan rumus (1+ 9) / 2 = 5.
2. Berarti data tengah adalah data ke-5, yaitu 15.
3. Data yang dicari, yaitu 17, dibandingkan dengan data tengah ini.
4. Karena 17 > 15, berarti proses dilanjutkan tetapi kali ini posisi awal dianggap sama dengan posisi tengah + 1 atau 6.


3
9
11
12
15
17
23
31
35


awal tengah akhir

1. Data tengah yang baru didapat dengan rumus (6 + 9) / 2 = 7. Berarti data tengah yang baru adalah data ke-7, yaitu 23.
2. Data yang dicari, yaitu 17 dibandingkan dengan data tengah ini.
3. Karena 17 < 23, berarti proses dilanjutkan tetapi kali ini posisi akhir dianggap sama dengan posisi tengah – 1 atau 6.


3
9
11
12
15
17
23
31
35


awal = akhir
1. Data tengah yang baru didapat dengan rumus (6 + 6) / 2 = 6. Berarti data tengah yang baru adalah data ke-6, yaitu 17.
2. Data yang dicari dibandingkan dengan data tengah ini dan ternyata sama. Jadi data ditemukan pada indeks ke-6.
3. Bagaimana jika data yang dicari tidak ada, misalnya 16?
4. Pencarian biner ini akan berakhir jika data ditemukan atau posisi awal lebih besar dari posisi akhir.
5. Jika posisi awal sudah lebih besar daripada posisi akhir berarti data tidak ditemukan.
Untuk lebih jelasnya perhatikan proses pencarian 16 pada data di atas. Prosesnya hampir sama dengan pencarian 17. Tetapi setelah posisi awal = posisi akhir = 6, proses masih dilanjutkan lagi dengan posisi awal = 6 dan posisi akhir = 5


3
9
11
12
15

17

23
31
35


akhir awal
Disini dapat dilihat bahwa posisi awal lebih besar daripada posisi akhir, yang artinya data tidak ditemukan.
Secara umum, algoritma pencarian biner dapat dituliskan sebagai berikut :
1. l ← 1.
2. r ← N.
3. ketemu ← false.
4. selama ( l < = r ) dan (not ketemu) kerjakan baris 5 sampai dengan 8.
5. m ← ( l + r ) / 2
6. Jika ( Data [m] = x ) maka ketemu ← true.
7. Jika ( x < Data [m] ) maka r ← m – 1.
8. Jika ( x > Data [m] ) maka l ← m + 1.
9. If (ketemu) maka m adalah indeks dari data yang dicari, jika tidak data tidak ditemukan.

Berikut ini adalah contoh fungsi untuk mencari data menggunakan pencarian biner.
Function BinarySearch (x: word) : integer;
var
l, r, m : word;
ketemu : boolean;
begin
l : = 1;
r : = N;
ketemu : = false;
while (1 <= r ) and ( not ketemu ) do
begin
m : = (1 + r ) div 2;
if (Data [m] = x ) then
Ketemu := true
else if (x < Data [m] ) then
r : = m – 1
else
l : = m + 1;
end;

if ( ketemu ) then
BinarySearch : = m
else
BinarySearch : = -1;
end;

Fungsi di atas akan mengembalikan indeks dari data yang dicari. Apabila data tidak ditemukan, maka yang yang dikembalikan adalah –1.
Jumlah pembandingan minimum pada pencarian biner adalah 1 kali, yaitu bila data yang dicari tepat berada di tengah-tengah. Jumlah pembandingan maksimum yang dilakukan dengan pencarian biner dapat dicari dengan rumus logaritma, yaitu : C = ²log (N)

Metode Quick atau yang sering disebut juga metode partisi diperkenalkan pertama kali oleh C. A. R. Hoare pada tahun 1962. Pada metode quick, jarak dari kedua elemen yang ditukarkan dibuat cukup besar dengan tujuan untuk mempertinggi efektivitasnya. Hal ini mengingat metode gelembung yang menggunakan jarak cukup dekat ternyata kurang efektif.
Proses pengurutan dengan metode quick dapat dijelaskan sebagai berikut : mula-mula dipilih data tertentu yang dinamakan pivot, misalnya x. Pivot ini harus diletakkan pada posisi ke-j sedemikian hingga data antara 1 sampai dengan (j – 1) lebih kecil daripada x; sedangkan data pada posisi ke-(j+1) sampai dengan N lebih besar daripada x. Cara pengaturannya adalah menukarkan data di antara posisi 1 sampai dengan (j – 1) yang lebih besar daripada x dengan data di antara posisi (j + 1) sampai dengan N yang lebih kecil daripada x.
Algoritma penyisipan langsung sendiri dapat dituliskan sebagai berikut:
1. x ← Data [( L + R) / 2)].
2. i ← L
3. j ← R
4. Selama ( i < = j ) kerjakan baris 5 sampai dengan 12.
5. Selama ( Data [ i ] < x ) kerjakan i ← i + 1
6. Selama ( Data [ j ] > x ) kerjakan i ← j - 1
7. Jika (i < = j ) maka kerjakan baris 8 sampai dengan 10; jika tidak kerjakan baris 11.
8. Tukar Data [ i ] dengan Data [ j ].
9. i ← i + 1
10. j ← j - 1
11. Jika ( L < j ) kerjakan lagi baris 1 dengan R = j.
12. Jika ( i < R ) kerjakan lagi baris 1 dengan L = i.

Jika suatu barisan yang terdiri dari n elemen yang ditempatkan dalam suatu array dan urutan yang diinginkan adalah urutan yang tidak turun (non decreasing) maka dapat digunakan metode Quick Sort yang dengan teknik Divide and Conquer.
Adapun algoritma Quick Sort tersebut terdiri dari dua prosedur yaitu prosedur PARTITION dan prosedur QUICKSORT. Berikut ini disajikan algoritma Quick Sort yang dimaksud, yaitu :
PROCEDURE QUICKSORT(p,q)
IF p < q then j q + 1
CALL PARTITION(p,j)
CALL QUICKSORT(p,j-1)
CALL QUICKSORT(j+1,q)
END IF
END QUICKSORT
PROCEDURE PARTITION(m,p)
INTEGER m,p,i ; GLOBAL A(m-1,p)
V A(m) ; i m
LOOP
LOOP i i + 1 UNTIL A( i ) > = V REPEAT
LOOP p p - 1 UNTIL A( p ) < = V REPEAT
IF i < p THEN CALL INTERCHANGE (A(i),A(p))
ELSE EXIT
END IF
REPEAT
A(m) A(p)
A(p) V
END PARTITION

Contoh :
Suatu Array A terdiri dari 9 elemen, yaitu :
A(1) = 65 A(4) = 80 A(7) = 60
A(2) = 70 A(5) = 85 A(8) = 50
A(3) = 75 A(6) = 60 A(9) = 45

Elemen-elemen tersebut akan disusun secara tidak turun berdasarkan algoritma Quick Sort.
Jalannya proses pada algoritma tersebut disajikan dalam bentuk tabel sebagai berikut :

1 2 3 4 5 6 7 8 9 10 i p
65 70 75 80 85 60 55 50 45 2 9
65 45 75 80 85 60 55 50 70 3 8
65 45 50 80 85 60 55 75 70 4 7
65 45 50 55 85 60 80 75 70 5 6
65 45 50 55 60 85 80 75 70 6 5


1 2 3 4 5 6 7 8 9 10 i p
65 45 50 55 60 85 80 75 70 6 9
65 45 50 55 60 70 80 75 85 7 8
65 45 50 55 60 70 75 80 85 8 7


Dan seterusnya

EXIT

Analisisnya :
Hitung jumlah dari perbandingan-perbandingan elemennya dalam hal ini disimpan dalam variable C(n) dan kita asumsikan bahwa :
• n elemen yang disortir berbeda,
• proses pembagian (partisi) elemen V dalam prosedur PARTITION dilakukan dengan proses seleksi secara acak.

Worst Case dari C(n) dinotasikan dengan Cw(n). C(n) di dalam setiap pemanggilan prosedur PARTITION maksimum sebesar ( p – q + 1 ) kali.
Misalkan r adalah jumlah kumulatif dari elemen-elemen di dalam seluruh pemanggilan prosedur PARTITION pada setiap tingkat dari teknik rekursif tersebut. Pada tingkat pertama terjadi pemanggilan prosedur PARTITION sebanyak satu (1) kali yakni CALL PARTITION ( 1, n + 1 ) dan nilai r = n. Pada tingkat kedua terjadi pemanggilan prosedur PARTITION paling banyak dua (2) kali dan nilai r = n – 1, dan seterusnya dengan cara yang sama pada tingkat berikutnya. Dengan demikian dari proses tersebut diperoleh Cw(n) akan sama dengan jumlah seluruh tingkat (r) dan nilai r berkisar didalam interval [ 2 , n ].
Jadi kompleksitas waktunya (Worst Case) = Cw (n ) = O ( n² ) dan
Average Case = CA(n) = O ( n log n ).

Senin, 22 Maret 2010

Penyiram tanaman otomatis dengan PLC

di ambil dari jurnal 8-penyiram-otomatis-PLC

BAB III
PENYIRAMAN TANAMAN OTOMATIS MENGGUNAKAN PLC
PERANCANGAN

3.1 CARA KERJA SISTEM OTOMATIS PENYIRAMAN TANAMAN
Penyiram tanaman otomatis ini di fungsikan untuk mengetahui apakah kondisi tanah pada tanaman kering atau basah, jika kondisi tanaman ini kering maka sensor tembaga akan member informasi kepada relay kepada suatu alat PLC (Programmable Logic Control), dimana PLC akan member informasi kepada Relay untuk membuka katup valve dan mengaliri air utuk menyiram tanaman tersebut.
Ketika kondisi tanah ini basah, maka sensor akan mengirim informasi kepada PLC untuk membrikan informasi ke relay, sehingga relay secara otomatis menutup valve, karena kondisi tanah sudah basah. Transistor difungsikan sebagai saklar dimana TR1 akan dikendalikan (diaktifkan) melalui basis, ketika tegangan dikaki basis melampaui tegangan saturasi maka TR1 akan aktif dan arus akan mengalir dari kaki C ke kaki E. Tegangan di kaki basis TR1 didapat dari rangkaian pembagi tegangan antara VR1 dan sensor (elektroda).
Ketika sensor tembaga dalam kondisi basah maka nilai resistansinya akan lebih kecil di bandingkan dengan nilai resistansi pada VR1
Sedangkan VR1 difungsikan untuk kalibrasi (penentu titik kelembapan yang di inginkan). Ketika kondisi tanah basah, maka perbandingan resistensi sensor lebih kecil dari resistensi VR1 sehingga tegangan di kaki basis di bawah nilai tegangan saturasi sehingga TR1 akan OFF. Ketika kondisi tanah kering maka perbandingan resistensi sensor lebih besar dari pada resistensi VR1, sehingga tegangan pada kaki basis melebihi tegangan saturasi sehingga TR1 pada kondisi ON sehingga arus akan mengalir dari kaki colector ke kaki basis.
Ketika TR1 aktif (on) maka tegangan pada basis TR2 akan melebihi tegangan saturasi dan TR2 akan hidup. Ketika TR2 hidup maka arus akan mengalir dari kaki collector ke kali emitor TR2 yang melebihi kaki-kaki relay. Karena relay dialiri arus maka relay akan on dan hal ini akan menswitch relay pada kondisi NC. Kondisi relay ini digunakan untuk menghidupkan (memberi inputan) pada PLC.

3.1.1 Cara Kerja PLC (Programmable Logic Control)
PLC adalah suatu peranti elektronik yang dapat dirancang agar dapat beroperasi secara digital dengan menggunakan memori sebagai media penyimpanan instruksi untuk menjalankan fungsi-fungsi logika, seperti fungsi pencacah, fungsi urutan proses, fungsi pewaktu, fungsi aritmetika, dan fungsi lain yang dapat diprogram. Pembuatan program dapat dilakukan dengan 2 (dua) cara yaitu melalui PLC langsung dan melalui komputer. Bila program dibuat melalui komputer, maka perlu dipindahkan ke PLC untuk dapat dijalankan.
Perangkat lunak untuk membuat program PLC melalui komputer dapat menggunakan LOGO!soft. Dengan LOGO!soft, program dapat dibuat dan dilihat hasilnya berupa simulasi dan lebih mudah untuk diperbaiki atau untuk pengembangan. Jika sudah selesai, program dapat ditranfer ke PLC dan siap dijalankan.
Pada PLC, untuk menghubungkan dengan peralatan lainnya diperlukan pengalamatan yang tepat. Pola pengalamatan untuk input, output dan blok-blok internal memiliki perbedaan berdasarkan jenis PLC. PLC yang digunakan pada otomatisasi penyiraman bibit ini adalah Siemens, pola pengalamatan yang digunakan adalah sebagai
berikut :
- Input : I1, I2, I3, …
- Output : Q1, Q2, Q3, …
- Internal Relay : M1, M2, …
- Timer : T ON1, T ON2, T ON3, T OFF1, T OFF2, T OFF3
Pada PLC Siemens bahasa pemrograman yang digunakan adalah FBD (Function Block Diagram). FBD merupakan bahasa pemrograman yang berupa blok-blok gerbang logika untuk menggambarkan rangkaian yang di buat.

3.1.2 Cara Kerja Sensor Tembaga
Sensor adalah alat yang digunakan untuk mendeteksi dan sering berfungsi untuk mengukur magnitude sesuatu. Dengan menggunakan sensor kita dapat mengubah mekanis, magnetis, panas, cahaya dan kimia menjadi tegangan dan arus listrik. Sensor yang digunakan pada otomatisasi penyiraman bibit ini adalah sensor kelembaban tanah.
Sensor (elektroda) akan membaca nilai resistansi tanah yang di ukur. Ketika kelembaban tanah tinggi (basah) maka nilai resistansi tanah akan turun (rendah) dan ketika kondisi tanah kering maka nilai resistensinya tinggi. Perubahan nilai resistensi dari tanah ini yang dimanfaatkan untuk merubah menjadi tegangan.





3.3.2 Cara Kerja PLC
PLC bekerja berdasarkan input / masukan dari sensor dan program yang telah dibuat. Sensor akan memberikan masukan berupa arus yang dihubungkan ke input (I1). Keluaran dari PLC (Q1) akan dihubungkan ke relay untuk menghidupkan atau mematikan pompa air. Keluaran dari PLC (Q1) akan dihasilkan program PLC berdasarkan masukan / input dari I1 dan masukan dalam program.

3.3.3 Cara Kerja Relay
Relay bekerja berdasarkan masukan yang diperoleh dari keluaran PLC. Jika keluaran dari PLC (Q1) berupa kondisi logika 1, maka arus listrik akan mengalir ke lilitan kumparan pada batang magnet yang ada di relay. Hal ini akan menyebabkan induksi dan menggerakkan poros sehingga terjadi kontak (saklar dalam kondisi on).

bahasa pemrograman C++

di ambil dari
http://kazekage08suna.blogspot.com/2010/03/normal-0-false-false-false-en-us-x-none.html

1. PENGANTAR C ++


C++ diciptakan oleh Bjarne Stroustrup di laboratorium Bell pada awal tahun 1980-an, sebagai pengembangan dari bahasa C dan Simula. Saat ini, C++ merupakan salah satu bahasa yang paling populer untuk pengembangan softwareberbasis OOP. Kompiler untuk C++ telah banyak beredar di pasaran. Software developer yang paling diminati adalah Borland Inc. dan Microsoft Corp. Produk dari Borland untuk kompiler C++ adalah Turbo C++, Borland C++, Borland C++ Builder. Sedangkan dari Microsoft adalah Ms. Visual C++. Walaupun banyak kompiler yang tersedia, namun pada intinya bahasa pemrograman yang dipakai adalah C++.

Sebelum mulai melakukan kode program, sebaiknya diingat bahwa C++ bersifat “case sensitive”, yang artinya huruf besar dan huruf kecil dibedakan.

2. STRUKTUR BAHASA C++

Cara terbaik untuk balajar bahasa pemrograman adalah dengan langsung

mempraktikannya. Cobalah contoh program berikut :

// program pertamaku

#include

int main ()

{

cout << "Selamat Belajar C++";

return 0;

}

Program di atas, misalnya dapat disimpan dengan nama latih1.cpp. Cara untuk

menyimpan dan mengkompile program berbeda-beda, tergantung kompiler yang

dipakai.

Ketika di-run, maka di layar akan muncul sebuah tulisan “Selamat Belajar

C++”. Contoh di atas, adalah sebuah contoh program sederhana menggunakan

C++. Namun, penggalan program tersebut telah menyertakan sintak-sintak dasar

bahasa C++. Sintak dasar tersebut, akan kita bahas satu per satu:

// program pertamaku

merupakan sebuah baris komentar. Semua baris, yang ditandai dengan dua

buah tanda slash (//), akan dianggap sebagai baris komentar dan tidak akan

berpengaruh pada hasil. Biasanya, baris komentar dipakai oleh programmer

untuk memberikan penjelasan tentang program.

Baris komentar dalam C++, selain ditandai dengan (//) juga dapat ditandai

dengan (/*….*/)

Perbedaan mendasar dari keduanya adalah :

// baris komentar

/* blok komentar */

#include

pernyataan yang diawali dengan tanda (#) merupakan pernyataan untuk

menyertakan preprocessor. Pernyataan ini bukan untuk dieksekusi. #include

berarti memerintahkan kompiler untuk menyertakan file

header iostream.h. Dalam file header ini, terdapat beberapa fungsi standar

yang dipakai dalam proses input dan output. Seperti misalnya perintah cout

yang dipakai dalam program utama.

int main ()

baris ini menandai dimulainya kompiler akan mengeksekusi program. Atau

dengan kata lain, pernyataan main sebagai penanda program utama. Adalah

suatu keharusan, dimana sebuah program yang ditulis dalam bahasa C++

memiliki sebuah main.

main diikuti oleh sebuah tanda kurung () karena main merupakan sebuah

fungsi. Dalam bahasa C++ sebuah fungsi harus diikuti dengan tanda (), yang

nantinya dapat berisi argumen. Dan sintak formalnya, sebuah fungsi dimulai

dengan tanda {}, seperti dalam contoh program.

cout << "Selamat Belajar C++";

perintah ini merupakan hal yang akan dieksekusi oleh compiler dan

merupakan perintah yang akan dikerjakan. cout termasuk dalam file iostream.

cout merupakan perintah untuk menampilkan ke layer.

Perlu diingat, bahwa setiap pernyataan dalam C++ harus diakhiri dengan tanda

semicolon (;) untuk memisahkan antara pernyataan satu dengan pernyataan

lainnya.

return 0;

pernyataan return akan menyebabkan fungsi main() menghentikan program

dan mengembalikan nilai kepada main. Dalam hal ini, yang dikembalikan

adalah nilai 0. Mengenai pengembalian nilai, akan dijelaskan nanti mengenai

Fungsi dalam C++.

Coba tambahkan sebaris pernyataan lagi, sehingga program contoh di atas akan

menjadi seperti berikut:

// latihan keduaku

#include

int main ()

{

cout << "Selamat Belajar C++";

cout << "di kampusku";

return 0;

}

Maka perintah cout yang kedua akan menampilkan sebuah kalimat lagi di layar,

dengan tulisan “di kampusku”.

Referensi : kuliah.stikom-bali.ac.id/410207/ModulAlgo&struk_Cpp_.pdf,

www.indowebster.com/Pengantar_Algoritma_Pemrograman_Komputer.html,

usupress.usu.ac.id/files/Algoritma%20dan%20Pemrograman;...Final.pdf,

ugpedia.gunadarma.ac.id/pdf.php?cat=18&id=245&lang=id.

Senin, 08 Maret 2010

valve solinoid




What is a Solenoid Valve?
A solenoid valve is an electromechanical device used for controlling liquid or gas flow. The solenid valve is controlled by electrical current, which is run through a coil. When the coil is energized, a magnetic field is created, causing a plunger inside the coil to move. Depending on the design of the valve, the plunger will either open or close the valve. When electrical current is removed from the coil, the valve will return to its de-energized state.
In direct-acting solenoid valves, the plunger directly opens and closes an orifice inside the valve. In pilot-operated valves (also called the servo-type), the plunger opens and closes a pilot orifice. The inletline pressure, which is led through the pilot orifice, opens and closes the valve seal.
The most common solenoid valve has two ports: an inlet port and an outlet port. Advanced desigs may have three or more ports. Some designs utilize a manifold-type design.
Solenoid valves make automation of fluid and gas control possible. Modern solenoid valves offer fast operation, high reliability, long service life, and compact design.

tugas portofolio Algoritma

1) Basis step 4^n -1 habis dibagi 3untuk setiap bilangan bulat
S(1) = benar n>=1
S(n) = s(1)
4^n-1 = 4^1 – 1 , habis dibagi 3 (benar)

2) Inductive step
S(k) = benar
S(n) = S(k)
n=k
4^n – 1 = 4^k – 1 ……..(1)
S(k+1) = benar
S(n) = S(k+1)
n=k+1
4^n -1 = 4^k – 1
= 4^k * 4 -1
= 4 * 4^k – 1
S(k), S(k=1) = benar
3*4^k + 4^k – 1 …….( habis dibagi 3 ) berarti (benar)

Sabtu, 27 Februari 2010

Algoritma Pemrograman

post 28-02-2010
08:30 WIB
www.ilmukomputer.com

Pengantar Algoritma
Apakah Itu Algoritma
Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh. Orang
hanya menemukan kata Algorism yang berarti proses menghitung dengan angka arab. Anda
dikatakan Algorist jika anda menghitung menggunakan Angka Arab. Para ahli bahasa
berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli
sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku
arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-
Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang
berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan”
(The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar
kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena
kata Algorism sering dikelirukan dengan Arithmetic. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambat
laun kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi)
secara umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kata
Algorithm diserap menjadi Algoritma.
Lisensi Dokumen:
Copyright © 2003 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan
disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat
tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang
disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang,
kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.


Definisi Algoritma
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun
secara sistematis dan logis”.
Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma
harus logis dan harus dapat ditentukan bernilai salah atau benar.
Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer
yang diacu dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu
identik dengan ilmu komputer saja. Dalam kehidupan sehari-haripun banyak terdapat
proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang
dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu
ada urutan langkah-lankah membuat masakan. Bila langkah-langkahnya tidak logis, tidak
dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan
akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses
sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut
pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alatalat
elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau
“mengeksekusi” algoritma yang menjabarkan proses tersebut.
Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma
tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya.
Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan
lagu berdasarkan papan not balok. Karena itu suatu Algoritma harus dinyatakan dalam
bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus :
1. Mengerti setiap langkah dalam Algoritma
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.

Mekanisme Pelaksanan Algoritma Oleh Pemroses
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer,
algoritma hasrus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program.
Jadi program adalah prwujudan atau implementasi teknis Algoritma yang ditulis dalam
bahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh komputer.
Belajar Memprogram Dan Belajar Bahasa Pemrograman
Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar
memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian
menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangakan
belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata
bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan
memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya
dalam bahasa itu saja.

Sampai saat ini terdapat puluhan bahasa pemrogram. Yang dapat dibedakan berdasarkan
tujuan dan fungsinya. Diantaranya adalah :
Belajar Memprogram
• Belajar memprogram ≠ belajar bahasa pemrograman
• Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi dan
sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang
disepakati bersama
• Belajar memprogram : bersifat pemahaman persoalan, analisis dan sintesis
• Belajar memprogram, titik berat : designer program
Belajar Bahasa Pemrograman
• Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan
sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa
• Belajar bahasa pemrograman , titik berat : coder
Produk yang dihasilkan pemrogram :
• program dengan rancangan yang baik (metodologis, sistematis)
• Dapat dieksekusi oleh mesin
• Berfungsi dengan benar
• Sanggup melayani segala kemungkinan masukan
• Disertai dokumentasi
• Belajar memprogram, titik berat : designer program
Prosedural
C, Pascal,
Fortran,
Basic

Rabu, 06 Januari 2010

rate of return

A. Pengertian Rate of Return
http://blognuade.blogspot.com/2010/01/pengertian-rate-of-return-perhitungan.html

Rate of Return dapat didefinisikan sebagai bunga rata-rata yang dibayarkan terhadap saldo yang belum dibayarkan dalam sebuah pinjaman sehingga pembayaran saldo yang belum dibayarkan tersebut secara berkala sama dengan nol ketika akhir pembayarannya.

B. Perhitungan Rate of Return
Untuk menghitung Rate of Return dalam sebuah investasi, kita harus menyederhanakan berbagai bentuk soal sebuah investasi kedalam suatu cashflow. Kemudian kita dapat menyelesaikan soal tersebut menggunakan persamaan-persamaan berikut:

Persamaan diatas menampilkan konsep yang sama dalam bentuk yang berbeda.
C. Macam – macam Rate of return
1. Internal Rate of Return (IRR)
IRR adalah nilai i% pada saat:

Dimana:
Rk = Pendapatan/penerimaan bersih pada tahun ke-k
Ek = Pengeluaran bersih termasuk investasi pada tahun ke-k
N = Masa hidup proyek
Untuk menentukan penerimaan suatu alternatif bandingkan i’% yang diperoleh dengan MARR (Minimum Attractive Rate of Return)
· i’ ≥ MARR (Diterima)
· I’ <>
Contoh kasus:
Sebuah investasi sebesar $10,000 dapat ditanamkan pada sebuah proyek yang akan memberikan penerimaan tahunan $5,310 selama 5 tahun dan mempunyai nilai sisa $2,000. Pengeluaran tahunan $3,000 untuk operasi dan pemeliharaan. Perusahaan akan menerima proyek apapun yang memberikan “hasil” 10% atau lebih sebelum dikurangi pajak. Dengan menggunakan metode IRR tentukan apakah proyek tersebut sebaiknya diterima?
Penyelesaian
NPW = 0
5,310 (P/A, i%, 5) + 2,000 (P/F, i%, 5) – 3.000 (P/A, i%, 5) – 10,000 = 0
2,310 (P/A, i%, 5) + 2,000 (P/F, i%, 5) – 10,000 = 0
Dengan cara trial & error, diperoleh hasil sebagai berikut:

Dilakukan interpolasi antara i’% = 5 dan i’% = 10

Karena IRR <>
2. External Rate of Return

Dimana e =MARR
Bila i’ ≥ MARR (diterima begitu juga sebaliknya)
Contoh kasus
Sebuah investasi sebesar $10,000 dapat ditanamkan pada sebuah proyek yang akan memberikan penerimaan tahunan $5,310 selama 5 tahun dan mempunyai nilai sisa $2,000. Pengeluaran tahunan $3,000 untuk operasi dan pemeliharaan. Perusahaan akan menerima proyek apapun yang memberikan “hasil” 10% atau lebih sebelum dikurangi pajak. e = MARR = 20%/tahun. Berdasarkan metode ERR apakah investasi tersebut layak dilakukan?
Penyelesaian
25,000 (F/P, i’%, 5) = 8,000 (F/A, 20%, 5) + 5,000
(F/P, i’%, 5) = 64,532.80/25,000 = 2.5813
i’% = 20.88%
Karena i’ > MARR, maka investasi layak dilakukan.

Sumber:
[1] Newman, Donald G., 1990, Engineering Economic Analysis Third Edition, Binarupa Aksara: Jakarta
[2] Anugrah ayu, Media, 1999, Ekonomi Teknik, Penerbit Gunadarma:Jakarta.