BAB II DASAR TEORI
Pada bab ini akan dijelaskan secara singkat mengenai bahasa Smalltalk dan environment yang mendukung pemrograman dengan menggunakan bahasa Smalltalk yaitu Squeak. Kemudian akan dibahas juga mengenai Mikrokontroler dan Arduino dana bagaimana perkembangannya saat ini. Karena modul yang dipakai adalah motor stepper, dibahas juga sekilas mengenai driver motor dan stepper motor. 2.1. Smalltalk Di era komputer yang berkembang sekarang ini, dalam membangun software atau aplikasi adalah akan sangat mudah jika pengguna dapat berinteraksi secara langsung dengan komputer. Smalltalk adalah salah satu bahasa pemrograman yang memudahkan pengguna berinteraksi secara langsung dengan komputer. Smalltalk mempunyai syntax atau struktur bahasa yang sangat mudah dimengerti sekalipun oleh seorang pemula. Smalltalk mengorientasikan semua benda di lingkungannya adalah obyek yang dapat disentuh dan berinteraksi dengan pengguna. Smalltalk adalah sederhana. [1] Bahasa Smalltalk dirancang untuk seseorang yang senang dengan bahasa pemrograman dan bisa digunakan oleh orang yang berusia antara belasan hingga dewasa. Bahasa Smalltalk punya keunggulan dalam prinsipnya yaitu “semua benda di lingkungan adalah obyek”. Dengan prinsip ini pengguna sangat dimudahkan dalam menggunakannya karena dapat mengerti secara jelas apa yang sedang dilakukan, seperti pada dunia nyata. Seorang pemula tidak akan merasa kesulitan dalam fungsi-fungsi yang rumit karena syntax pada Smalltalk menggunakan bahasa Inggris yang mudah dimengerti dan bukanlah sebuah singkatan, sehingga orang lain yang ingin mengetahui syntax dari sebuah aplikasi (dokumentasi program) dapat memahami juga secara mudah. Bahasa Smalltalk sendiri dikembangkan pada tahun 1970-an oleh sebuah tim penelitian Xerox Palo Alto Research Centre Learning dan pada tahun 1981 nama 6
tim ini berubah menjadi Software Concepts Group atau SCG. Tim SCG berkonsentrasi untuk membuat bahasa pemrograman yang mudah menghubungkan manusia dengan mesin komputer dan tampilan cocok bagi pengguna untuk digunakan. Dalam tulisan di blog milik David Buck seorang pendiri dan presiden perusahaan Simberon, sebuah perusahaan yang bekerja sebagai developer sistem berbasis obyek. Ia membuat bagan sejarah secara garis besar mengenai Smalltalk.
Gambar 2.1. Bagan Sejarah Smalltalk [6]
Dari Gambar 2.1 dapat dilihat bahwa mulai dari tahun 1971 Smalltalk-80 dikembangkan, makin banyak pihat terkait yang terus mengembangkan Smalltalk sampai saat ini. Semakin banyak juga program development system yang 7
menggunakan Smalltalk seperti Squeak, Cincom dan Pharo. Ada juga mahasiswa MIT yang mengembangkan #Smalltalk dan ada pula bahasa pemrograman baru yang terinspirasi dari Smalltalk seperti Amber dan Strongtalk. Sampai saat ini orang-orang yang mengetahui bahasa Smalltalk menjadi incaran bagi perusahaan pengembang software yang menggunakan bahasa Smalltalk. Smalltalk sendiri di Indonesia belum begitu populer, tetapi aplikasi seperti Scratch yang dibagun dengan Squeak sudah dipergunakan oleh guru maupun siswa dalam belajar mengenai gambar animasi dan membuat game. Sebuah bahasa tentu punya kelebihan dan kekurangan. Secara garis besar jika dibandingkan dengan bahasa pemrograman Java, Java mempunyai portability yang sangat bagus sehingga mempunyai motto “write once, run anywhere”. Java lebih dikembangkan ke bidang internet dimana internet saat ini sedang berkembang sangat pesat. Tetapi untuk mempelajari Java adalah sangat rumit. Sedangkan Smalltalk dikembangkan untuk memudahkan seseorang dalam menggunakannya. Sehingga waktu yang dibutuhkan untuk mempelajarinya relatif singkat. Smalltalk sangat menarik minat untuk mempelajari bahasa pemrograman karena prinsip dasarnya sangat mudah dimengerti oleh pemula. Obyek-obyek pada Smalltalk dapat diinteraksikan satu dengan yang lain sehingga terlihat seolah-olah hidup.
2.2. Squeak Squeak merupakan sebuah lingkungan (environment) atau virtual machine yang dapat digunakan untuk membuat sebuah aplikasi dengan menggunakan bahasa Smalltalk. Squeak juga telah dilengkapi dengan banyak method (fungsi) yang telah dibuat untuk memudahkan pengguna menulis sebuah program. Squeak sendiri dibangun dengan prinsip “semua benda adalah obyek”, sehingga dalam penggunaanya kita akan menemukan bahwa semua benda di Squeak dapat berinteraksi dengan pengguna sehingga seolah-olah hidup. Squeak pada dasarnya dirancang agar seseorang yang bukan teknisi pun juga dapat menggunakannya dengan mudah, bahkan bisa juga oleh anak-anak. [1] Squeak dalam pengembangannya menggunakan media internet dengan beberapa komunitas untuk terus mengembangkan Squeak yang merupakan open source. Squeak dalam pengembangannya juga memperhatikan bagaimana untuk mempermudah pengguna dalam menggunakannya. Environment Squeak masih 8
terus dikembangkan sampai dimasa kini. Saat ini environment Squeak yang paling terbaru adalah Squeak versi 4.5 yang dirilis pada bulan Maret 2014 yang nantinya akan digunakan juga dalam skripsi ini. Squeak bisa didapatkan di internet secara gratis dengan mengunduh di situs resmi Squeak. Banyak aplikasi yang telah dibagun dengan menggunakan Squeak. Dua diantaranya adalah Scratch dan Etoys yang sangat populer digunakan untuk program pembelajaran siswa Sekolah Dasar hingga Sekolah Menengah Atas. Scratch sendiri dikembangkan oleh mahasiswa MIT dan saat ini mereka sedang mengembangkan software yang dapat memprogram mikrokontroler dengan menggunakan Scratch. Mengapa memilih Squeak dan Smalltalk? Beberapa hal mengapa memilih Smalltalk dan Squeak yaitu karena keuntungan dalam penggunaannya. Smalltalk dan Squeak dipilih karena mempunyai beberapa alasan seperti yang diungkapkan Stephane Ducasse dalam kata pengantar di bukunya : [2] -
Smalltalk adalah bahasa yang kuat. Bisa membangun sistem yang sangat komplex dengan sebuah bahasa yang sederhana dan seragam.
-
Smalltalk dirancang untuk bahasa pembelajaran. Smalltalk dipengaruhi oleh Logo dan LISP, dan Smalltalk berubah juga karena dipengaruhi oleh bahasa seperti Java dan C#. Bagaimanapun juga, bahasa-bahasa itu sangat kompleks untuk pengalaman pertama dalam pemrograman. Mereka telah kehilangan keindahan dari kesederhanaannya Smalltalk.
-
Smalltalk ditulis secara dinamis dan hal ini membuat transparansi pada sejumlah pihak yang terlibat untuk menulisnya dan menulis tantangan yang bisa dijelaskan/dibahas dan hal-hal kecil yang menarik lainnya bagi pemula Smalltalk.
-
Di Smalltalk anda hanya harus mempelajari kunci, konsep dasar, yaitu konsep yang dapat
ditemukan hampir di semua bahasa pemrograman. Dengan
Smalltalk saya bisa fokus pada menjelaskan konsep yang penting tanpa harus berurusan dengan aspek-aspek yang sulit dan tidak menarik dari bahasa yang kompleks. -
Squeak adalah sebuah lingkungan multimedia yang baik, jadi setelah membaca buku saya, anda dapat membangun program anda sendiri dengan konteks yang kaya. 9
-
Squeak tersedia secara gratis dan berjalan pada semua perangkat komputer saat ini (2005). Dan Squeak juga seharusnya mudah menyesuaikan dengan perangkat di masa yang akan datang.
-
Squeak populer. Contohnya di Spanyol, dia digunakan di sekolah, dan berjalan di lebih dari 80.000 komputer.
2.3. Mikrokontroler dan Arduino
2.3.1. Mikrokontroler dengan AVR Mikrokontroler merupakan sebuah chip yang digunakan untuk mengerjakan perintah-perintah yang telah tertulis didalamnya, baik dalam membaca data, mengeluarkan data maupun memproses data. Tujuan umum digunakannya sebuah mikrokontroler adalah untuk menolong dalam mengontrol sebuah sistem mesin. Hampir di setiap perangkat elektronik saat ini telah ditanamkan mikrokontroler untuk membantu mengoperasikan sistem mesin elektronik yang dibuat. Mikrokontroler AVR merupakan mikrokontroler yang dikembangkan oleh Alf-Egil Bogen dan Vegard Wollan pada tahun 1996. Mereka berdua adalah mahasiswa dari Norwegian Institute of Technology, teknonogi AVR sekarang dikembangkan oleh perusahaan Atmel. Mikrokontroler AVR dinamakan sesuai dengan nama mereka yaitu Alf and Vegan RISC, tetapi sekarang singkatan AVR ada yang menggunakan dengan kepanjangan dari Advanced Virtual RISC. Mikrokontroler sering disebut juga chip tunggal. Hal ini karena dalam chip mikrokontroler telah tersedia semua hal yang dibutuhkan untuk mengelola sebuah data. Dalam chip mikrokontroler telah ditanamkan CPU, RAM, ROM, Input Port, Output Port, Timer dan Serial COM Port. Berbeda dengan mikroprosesor yang ada pada komputer. Chip mikroprosesor hanya berisikan CPU, kemudian yang lainnya terpisah dalam sebuah mother board.
2.3.2. Arduino Arduino adalah sebuah mikrokontroler single-board, yang dirancang untuk memudahkan penggunaan mikrokontroler pada lingkungan dimana ia dibutuhkan. Arduino dirancang juga agar penggunanya bisa mendapatkan kemudahan dalam memprogram mikrokontroler dan ketika ingin dikoneksikan dengan perangkat
10
keras yang lain. Di dalam Arduino sudah terdapat sistem yang dapat langsung digunakan oleh pengguna sehingga dengan bermodal kabel power saja sudah bisa menjalankan Arduino. Arduino sendiri memiliki beberapa jenis dan mikrokontroler yang didalamnya berbeda juga, mulai dari mikrokontroler 8-bit Atmel AVR hingga 32-bit Atmel ARM. Untuk memprogram Arduino hanya dibutuhkan sebuah kabel koneksi USB. Aplikasi yang digunakan untuk memprogram Arduino juga telah disediakan di internet sehingga dapat diunduh dimana saja.
Untuk memprogram Arduino
digunakan aplikasi ini dan perlu juga memahami bahasa pemrograman C atau C++. Dalam forum Arduino di internet juga banyak pengguna profesional yang aktif sehingga jika mengalami kesulitan atau ada hal baru yang ingin dikerjakan bisa dibahas dalam forum di internet. Pembuatan Arduino dimulai tahun 2005 di Interaction Design Institute Ivrea di Ivrea, Italia. Arduino pada umumnya dijual dengan harga $9 hingga $30 tergantung tipenya dan dimana Arduino tersebut dibuat.
2.3.3. Arduino Uno R3 Mikrokontroler yang digunakan pada Arduino Uno R3 adalah Atmega328. Arduino Uno R3 memiliki 14 input/output, 6 input analog, 16 MHz resonator keramik, kabel koneksi USB dan tombol reset. Di
dalam
Arduino
Uno
R3
menggunakan Atmega16U2 yang diprogram sebagai konverter dari USB ke serial. Dalam Atmega328 yang dipakai telah terdapat 32 KB Flash Memory yang dipakai untuk menyimpan program yang ditanamkan, 2 KB SRAM dan 1 KB EEPROM. Tegangan Input yang disarankan dalam menggunakan Arduino Uno R3 adalah 7 Volt hingga 12 Volt, dan Arduino Uno R3 sendiri bekerja pada tegangan 5 Volt.
2.4. Motor Stepper dan Driver Motor Stepper
2.4.1. Motor Stepper Motor stepper adalah motor DC yang dapat diputar sejumlah derajat tertentu dan dapat ditur arah putarannya. Motor stepper sangat sering digunakan dalam
11
perangkat elektronika yang menggunakan mekanika dalam pengerjaannya seperti hardisk, CNC dan robot. Pada umumnya sebuah motor stepper tidak mempunyai komutator, ia hanya memiliki kumparan pada bagian stator dan bagian rotornya merupakan magnet permanen. Motor stepper berdasarkan jumlah phase dibedakan menjadi dua yaitu motor stepper dua-phase ( bipolar ) dan motor stepper empat-phase ( unipolar ). Cara mengendalikan motor adalah dengan memberikan sinyal berupa bit ke motor. Dengan perbedaan pemberian bit-bit ini maka membuat pergantian arus listrik yang mengalir pada stator sehingga rotor bergerak ke arah stator yang dialiri arus listrik.
2.4.2. Driver Motor Stepper Untuk mengendalikan motor stepper pada umumnya digunakan driver motor. Driver motor sangat berguna untuk memudahkan penggendalian motor stepper dan agar motor mendapat tegangan dan arus yang sesuai dengan yang dibutuhkan. Masukan ke driver motor adalah berbentuk pulsa, pulsa ini kemudian akan diterjemahkan dan driver motor akan memberikan pulsa yang berupa tegangan ke motor stepper. Driver motor juga berfungsi sebagai penguat pulsa tergantung dari tipe driver motor. Sehingga misalkan sebuah mikrokontroler hanya bisa mengeluarkan pulsa sebesar 5 Volt, dengan driver motor bisa menggerakkan motor stepper yang membutuhkan pulsa 12 Volt.
12