Rabu, 16 Januari 2013

Sejarah dan Penemu Angka Nol


Al Khawarizmi Penemu Angka Nol

Al-Khawarizmi dikenal sebagai bapak Aljabar memperkenalkan bilangan nol (0), dan penerjemah karya-karya Yunani kuno. Kisah angka nol Konsep bilangan nol telah berkembang sejak zaman Babilonia danYunani kuno, yang pada saat itu diartikan sebagai ketiadaan dari sesuatu. Konsep bilangan nol dan sifat-sifatnya terus berkembang dari waktu ke waktu. Hingga pada abad ke-7, Brahmagupta seorang matematikawan India memperkenalkan beberapa sifat bilangan nol. Sifat-sifatnya adalah suatu bilangan bila dijumlahkan dengan nol adalah tetap, demikian pula sebuah bilangan bila dikalikan dengan nol akan menjadi nol. Tetapi, Brahmagupta menemui kesulitan, dan cenderung ke arah yang salah, ketika berhadapan dengan pembagian oleh bilangan no,l “sebuah bilangan dibagi oleh nol adalah tetap”. Tentu saja ini suatu kesalahan fatal. Tetapi, hal ini tetap harus sangat dihargai untuk ukuran saat itu
Ide-ide brilian dari matematikawan India selanjutnya dipelajari oleh matematikawan Muslim dan Arab. Hal ini terjadi pada tahap-tahap awal ketika matematikawan Al-Khawarizmi meneliti sistem perhitungan Hindu (India) yang menggambarkan sistem nilai tempat dari bilangan yang melibatkan bilangan 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9. Al-Khawarizmi adalah yang pertama kali memperkenalkan penggunaan bilangan nol sebagai nilai tempat dalam basis sepuluh. Sistem ini disebut sebagai sistem bilangan decimal.Selain itu Al Khawarizmi merupakan penulis kitab aljabar (matematika) pertama di muka bumi. Beliau juga seorang ilmuan jenius pada masa keemasan Baghdad yang sangat besar sumbangsihnya terhadap ilmu aljabar dan aritmetika. Karyanya, Kitab Aljabr Wal Muqabalah (Pengutuhan Kembali dan Pembandingan) merupakan pertama kalinya dalam sejarah dimana istilah aljabar muncul dalam kontesk disiplin ilmu. Nama aljabar diambil dari bukunya yang terkenal tersebut. Karangan itu sangat populer di negara-negara barat dan diterjemahkan dari bahasa Arab ke bahasa Latin dan Italia. Bahasan yang banyak dinukil oleh ilmuwan barat dari karangan Al-Khawarizmi adalah tentang persamaan kuadrat. Sumbangan Al-Khwarizmi dalam ilmu ukur sudut juga luar biasa. Tabel ilmu ukur sudutnya yang berhubungan dengan fungsi sinus dan garis singgung tangen telah membantu para ahli Eropa memahami lebih jauh tentang ilmu ini. Ia mengembangkan tabel rincian trigonometri yang memuat fungsi sinus, kosinus dan kotangen serta konsep diferensiasi.
Karya-karya al-Khawarizmi di bidang matematika sebenarnya banyak mengacu pada tulisan mengenai aljabar yang disusun oleh Diophantus (250 SM) dari Yunani. Namun, dalam meneliti buku-buku aljabar tersebut, al-Khawarizmi menemukan beberapa kesalahan dan permasalahan yang masih kabur. Kesalahan dan permasalahan itu diperbaiki, dijelaskan, dan dikembangkan oleh al-Khawarizmi dalam karya-karya aljabarnya. Oleh sebab itu, tidaklah mengherankan apabila ia dijuluki ”Bapak Aljabar.”Di bidang ilmu ukur, al-Khawarizmi juga dikenal sebagai peletak rumus ilmu ukur dan penyusun daftar logaritma serta hitungan desimal. Namun, beberapa sarjana matematika Barat, seperti John Napier (1550–1617) dan Simon Stevin (1548–1620), menganggap penemuan itu merupakan hasil pemikiran mereka. Selain matematika, Al-Khawarizmi juga dikenal sebagai astronom. Di bawah Khalifah Ma’mun, sebuah tim astronom yang dipimpinnya berhasil menentukan ukuran dan bentuk bundaran bumi. Penelitian itu dilakukan di Sanjar dan Palmyra. Hasilnya hanya selisih 2,877 kaki dari ukuran garis tengah bumi yang sebenarnya. Sebuah perhitungan luar biasa yang dapat dilakukan pada saat itu. Al-Khawarizmi juga menyusun buku tentang penghitungan waktu berdasarkan bayang-bayang matahari.
Setelah al-Khawarizmi meninggal, keberadaan karyanya beralih kepada komunitas Islam. Yaitu, bagaimana cara menjabarkan bilangan dalam sebuah metode perhitungan, termasuk dalam bilangan pecahan; suatu penghitungan Aljabar yang merupakan warisan untuk menyelesaikan persoalan perhitungan dan rumusan yang lebih akurat dari yang pernah ada sebelumnya. Di dunia Barat, Ilmu Matematika lebih banyak dipengaruhi oleh karya al-Khawarizmi dibanding karya para penulis pada Abad Pertengahan. Masyarakat modern saat ini berutang budi kepada al-Khawarizmi dalam hal penggunaan bilangan Arab. Notasi penempatan bilangan dengan basis 10, penggunaan bilangan irasional dan diperkenalkannya konsep Aljabar modern, membuatnya layak menjadi figur penting dalam bidang Matematika dan revolusi perhitungan di Abad Pertengahan di daratan Eropa. Dengan penyatuan Matematika Yunani, Hindu dan mungkin Babilonia, teks Aljabar merupakan salah satu karya Islam di dunia Internasional.
Implikasi:
Berkat penemuan angka nol, maka dunia matematika dijaman sekarang semakin maju, misalnya dengan ditemokan berbagai rumus seperti rumus sinus, cosinu, tangent ataupun rumus trigonometi. Selain dalam dunia matematika penemuan angka nol ternyata sangat mempengaruhi dunia tegnologi khususnya computer/ digital yaitu ditemukannya gerbang logika dan kode ASCII.
Gerbang logika atau sering juga disebut gerbang logika Boolean merupakan sebuah sistem pemrosesan dasar yang dapat memproses input-input yang berupa bilangan biner menjadi sebuah output yang berkondisi yang akhirnya digunakan untuk proses selanjutnya. Gerbang logika dapat mengkondisikan input – input yang masuk kemudian menjadikannya sebuah output yang sesuai dengan apa yang ditentukan olehnya. Terdapat tiga gerbang logika dasar, yaitu : gerbang AND, gerbang OR, gerbang NOT. Ketiga gerbang ini menghasilkan empat gerbang berikutnya, yaitu : gerbang NAND, gerbang NOR, gerbang XOR, gerbang XAND.
Rangkaian aritmatika dasar termasuk kedalam rangkaian kombinasional yaitu suatu rangkaian yang outputnya tidak tergantung pada kondisi output sebelumnya, hanya tergantung pada present state dari input. Dari gerbang logika tersebut bisa dikembangkan menjadi berbagai macam tegnologi mulai dari teknologi sederhana seperti stopwatch, jam, hingga dunia internet, satelit, pesawat terbang, dan sebagainya. Semua itu tidak akan luput dari peran serta gerbang-gerbang logika ini.
Angka nol juga berperan dalam ditemukannyan kode ASCII, yaitu kode Standar Amerika untuk Pertukaran Informasi atau ASCII (American Standard Code for Information Interchange) merupakan suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter “|”. Ia selalu digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. Kode ASCII sebenarnya memiliki komposisi bilangan biner sebanyak 8 bit. Dimulai dari 0000 0000 hingga 1111 1111. Total kombinasi yang dihasilkan sebanyak 256, dimulai dari kode 0 hingga 255 dalam sistem bilangan Desimal

(ASCII)American Standard Code for Internation Interchange. Biasanya disingkat dengan ASCII. Suatu kode skema yang menggunakan 7 atau 8 bit, yang memberikan lambang sebanyak 256 jenis karakter. Di dalam karakter-karakter ini, telah termasuk di dalamnya huruf, angka, lambang-lambang khusus, kode kontrol perintah, serta kode lainnya. ASCII ini didevelop pada tahun 1968, yang merupakan standar untuk transmisi data antara software dan hardware. ASCII ini digunakan dalam dikebanyakan komputer mini, dan di seluruh komputer pribadi. Standar yang berlaku di seluruh dunia untuk kode berupa angka yang merepresentasikan karakter-karakter, baik huruf, angka, maupun simbol yang digunakan oleh komputer. Terdapat 128 karakter standar ASCII yang masing-masing direpresentasikan oleh tujuh digit bilangan biner mulai dari 0000000 hingga 1111111.
format yang banyak digunakan untuk file teks di dalam dunia komputer dan internet. Di dalam file ASCII, masing-masing alphabetic, numeric, atau karakter khusus direpresentasikan dalam 7-bit bilangan biner (kumpulan dari nol atau satu sebanyak tujuh angka). Karakter dalam kode ASCII dibagi dalam beberapa group yaitu : control character, angka, huruf besar, huruf kecil, dan tanda baca (pada tabel tidak begitu jelas). Control-character ini sering disebut sebagai non-printable-character, yaitu karakter yang dikirim sebagai tahap awal (pengenalan) dalam berbagai kegunaan komunikasi data, misalnya sebelum informasi dikirim dari PC ke printer.
Dengan kumpulan bit ini terdapat sebanyak 128 character yang bisa didefinisikan. Sistem operasi berbasis Unix dan DOS menggunakan ASCII untuk file teks, sedangkan Windows NT dan 2000 menggunakan kode yang lebih baru yang dikenal dengan istilah unicode. Sistem yang dikeluarkan oleh IBM menggunakan data yang dibentuk dari 8 bit, yang disebut dengan EBCDIC.

Selasa, 15 Januari 2013

Mengenal tentang mikrokontroler jenis AT89S52


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/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/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, Mikrokontroller berkembang dengan dua alasan utama, yaitu kebutuhan pasar (market needed) dan perkembangan teknologi baru.  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/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.

Konfigurasi Pin AT89S52
Setiap pin (kaki) dari mikrkontroler AT89S51 mempunyai fungsi masing-masing fungsi. Arsitektur hardware mikrokontroller AT89S52 dari perspektif luar atau biasa disebut pin out digambarkan pada gambar 2.1 di bawah ini

Gambar 1. Konfigurasi Pin Mikrokontroler AT89S52

Berikut adalah penjelasan mengenai fungsi dari tiap-tiap pin (kaki) yang ada pada mikrokontroller AT89S52.
a. Port 0
Merupakan dual-purpose port (port yang memiliki dua kegunaan). Pada disain yang minimum (sederhana), port 0 digunakan sebagai port Input/Output (I/O).. Port 0 terdapat pada pin 32-39.
b. Port 1
Merupakan port yang hanya berfungsi sebagai port I/O (Input/Output). Port 1 terdapat pada pin 1-8.
c. Port 2
Merupakan dual-purpose port. Pada desain minimum digunakan sebagai port I/O (Input/Output). Sedangkan pada desain lebih lanjut digunakan sebagai high byte dari address (alamat). Port 2 terdapat pada pin 21-28.
d. Port 3
Merupakan dual-purpose port. Selain sebagai port I/O (Input/Output), port 3 juga mempunyai fungsi khusus. Fungsi khusus tersebut diperlihatkan
Tabel 1.1 Data Port 3  pin 10 -17

e. PSEN (Program Store Enable)
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. PSEN terdapat pada pin 29.
f. ALE (Address Latch Enable)
ALE digunakan untuk men-demultiplex address (alamat) dan data bus. ketika menggunakan program memori eksternal, port 0 akan berfungsi sebagaiaddress (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. ALE terdapat pada pin 30.
g. EA (External Access)
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”). EA terdapat pada pin 31.
h. RST (Reset)
RST terdapat pada pin 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 pada gambar berikut.
Gambar 2. Rangkaian reset  AT89S52
i. On-Chip oscillator
AT89S52 telah memiliki on-chip oscillator yang dapat bekerja jika drive menggunakan kristal. Tambahan kapasitor diperlukan untuk menstabilkan sistem. Nilai kristal yang biasa digunakan pada AT89S52 ini adalah 12 MHz. On-chip oscillator tidak hanya dapat di-drive dengan menggunakan kristal, tetapi juga dapat dengan menggunakan TTL Oscillator.
i.1  XTAL1
XTAL1 berfungsi sebagai masukan dari rangkaian osilasi mikrokontroler. XTAL1 terdapat pada ipin 19
i.2  XTAL2
XTAL2 berfungsi sebagai keluaran dari rangkaian osilasi mikrokontroler. XTAL2 terdapat pada pin 18
j. VCC
VCC merupakan masukan sumber tegangan  positif bagi mikrokontroler yang terdapat pada pin 40.

Arsitektur dan Blok Diagram Mikrokontroler AT89C51
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 3. blok digram mikrokontroler AT89S52

Memori Program
   Memori program merupakan suatu ruang memori  yang digunakan  untuk  menyimpan kode program dan konstanta yang sifatnya tetap. Memori program hanya bisa dibaca saja (Read Only Memori), dalam artian ketika sedang melakukan eksekusi program memori hanya bersifat di baca  saja namun tidak dapat diubah isinya, sebagian memori program terdapat didalam  chip mikrokontroler (On-chip) dan sebagian lagi  berada diluar (off-chip). Mikrokontroler ATMEL AT89S52 mempunyai kapasitas memori program on-chip sebesar  8 kB.

Memori Data
   RAM merupakan memori data internal (on-chip). Untuk  AT89S52  mempunyai memori  sebesar  256 byte. Pada  segment data ini  dibagi menjadi  tiga  bagian,  dimulai dari  alamat 0×00  sampai dengan 0xFh dikenal sebagai register R0 sampai dengan  R7   yang  diorganisasikan  menjadi 4 bank. Pemilihan  bank yang dilakukan  dengan memberikan  kombinasi  logika  pada register  Program Status Word(PSW). Bagian  berikutnya  adalah mulai alamat  0×20 sampai  dengan 0x2f  sebanyak 128 bit  merupakan  lokasi memori  yang dapat dimanipulasi perbit (bit addressable) juga  dikenal dengan segment bit (BDATA). Bagian berikutnya adalah  general purpose RAM mulai alamat 0×30 sampai dengan 0x7fh.

Interuksi
Terdapat beberapa kelompok fungsi pada instruksi keluarga MCS – 52, yaitu:
1. Instruksi Aritmatika
Kelompok intruksi ini melakukan operasi aritmatika seperti penjumlahan, pembagian, pengurangan.
Misalnya adalah: add, mul, subb, inc dan dec
Contohnya :
Mov     a,#10h
Mov     b,#05h
Mul      ab
Mov a,#10h artinya salin data 10h ke a
Mov b,#05h artinya salin data 05h ke b
Mul  ab artinya kalikan nilai akumulator dengan nilai register b
2. Instruksi Logika
Intruksi ini melakukan operasi logika seperti and, or, dan exor, clear
Misalnya adalah :anl, orl, xrl, clr
Contohnya :
clr            p3.5
Clr p3.5 artinya nolkan p3.5
3. Instruksi Transfer Data
Kelompok instruksi ini digunakan untuk memindahkan data antara :
1.    Register – register
2.    Memori – memori
3.    Register – memori
4.    Interface – register
5.    Interface – memori
Contoh:
MOV A, R1             : memindahkan isi register R1 ke accumulator
MOV A, @R2      : memindahkan isi memori yang alamatnya
ditunjukkan oleh register R2 ke accumulator.