misalnya C, C+, Pascal, Java, PHP, Perl, dan lain-lain. Sebagai bahasa pemrograman, Python tentu
memiliki dialek, kosakata atau kata kunci (keyword), dan aturan tersendiri yang jelas berbeda dengan
bahasa pemrograman lainnya
Bahasa pemrograman Python disusun pada Desember 1989 oleh Guido Van Rossum di Centrum
Wiskunde & Informatica (CWI), sebuah pusat riset di bidang matematika dan sains, Amsterdam -
Belanda; sebagai suksesor atau pengganti dari bahasa pemrograman pendahulunya, bahasa
pemrograman ABC, yang juga dikembangkan di CWI oleh Leo Geurts, Lambert Meertens, dan Steven
Pemberton
Publikasi pertama bahasa pemrograman Python dilakukan oleh Van Rossum pada tahun 1991 dengan
label versi 0.9.0, yang kemudian disusul dengan versi 1.0 pada tahun 1994. Pada bulan April 1995, Guido
pindah dari CWI ke Corporation for National Research Initiatives (CNRI), sebuah laboratorium riset di
Reston, Virginia, Di CNRI, Guido dan tim barunya terus mengembangkan Python. Versi Python yang
dirilis oleh CNRI adalah 13 sampai 1.6, dan saat itu yang paling populer adalah versi 1.5.2. Tahun 2000,
perusahaan "dot-com" mulai semarak. Saat itu, Guido dan tim pengembang lain dari CNRI pindah
dengan membawa Python ke BeOpen.com, sebuah perusahaan startup di California yang banyak
merekrut para pengembang open source. Di bawah nauangan BeOpen.com, Guido dan tim membentuk
PythonLabs, yang akhirnya berhasil menciptakan Python 2.0. Dari BeOpen. com kemudian tim
PythonLabs direkrut oleh Digital Creations (saat ini telah berubah nama menjadi Zope Corporation),
sebuah perusahaan yang bergerak di bidang pembentukan produk open source untuk Content
Managament System (CMS). Tahun 2001, Guido dan tim memutuskan untuk lepas dari Digital Creations
dan membentuk komunitas baru dengan nama Python Software Foundation (PSF). PSF adalah organisasi
non-profit pemegang lisensi Python sejak versi 2.1 sampai saat ini.
Python banyak digunakan untuk melakukan administrasi sistem operasi dan jaringan komputer,
pengembangan aplikasi desktop maupun web, pengolahan dua (untuk data science dan machine
learning), dan pembuatan program antarmuka ke perangkat-perangkat keras dan mikrokontroler:
sebagai alternatif dari sekian banyak bahasa pemrograman yang ada,
Sejak versi 27, Python 2 dan Python 3 dirilis secara simultan (paralel). Anda bisa lihat pada tanggal rilis
yang tertera di atas. Python 2.7 masih terus dipertahankan dan diperbaharui sebagai rilis terakhir dari
Python 2, karena sebelumnya banyak programmer Python 2 yang enggan untuk menggunakan Python 3.
Di lain sisi, Python 3 dikembangkan dengan tujuan jangka panjang, Fasilitas-fasilitas baru yang saat ini
ditambahkan ke dalam bahasa Python hanya diimplementasikan ke dalam Python 3.
Dukungan pemeliharaan dan perbaikan terhadap Python 2.7 dijadwalkan akan berakhir pada 1 Januari
2020, dan tidak akan ada Python 2.8. Karena alasan tersebut, saat ini para programmer Python 2 sudah
banyak yang beralih ke Python 3. Demikian juga untuk para pengguna yang baru mulai mempelajari
Python, sebagian besar mereka langsung memilih untuk menggunakan Python 3. Beberapa distribusi
Linux yang awalnya membungkus Python 2 dan menjadikannya sebagai interpreter default, sekarang
sudah mulai banyak yang diganti dengan Python 3.
Secara umum, para programmer banyak yang menjatuhkan pilihannya ke bahasa Python karena alasan-
alasan berikut:
Python memiliki konsep desain yang bagus dan sederhana, yang berfokus pada kemudahan dalam
penggunaan. Kode Python dirancang untuk mudah dibaca, dipelajari, digunakan ulang, dan dirawat.
Selain itu, Python juga mendukung pemrograman berorientasi objek dan pemrograman fungsional.
Python dapat meningkatkan produktivitas dan menghemat waktu bagi para programmer. Untuk
memperoleh hasil program yang sama, kode Python jauh lebih sedikit dibandingkan dengan kode yang
ditulis menggunakan bahasa-bahasa pemrograman lain seperti C, C++, Java, maupun C#.
untuk perangkat-perangkat mobile. Python memiliki banyak dukungan pustaka yang dikembangkan oleh
pihak ketiga, misalnya pustaka untuk pengembangan web, pengembangan
aplikasi visual (berbasis (game), dan masih banyak lagi yang lainnya. Melalui mekanisme tertentu, kode
Python dapat diintegrasikan dengan
Python bersifat gratis atau bebas (free) dan open-source, meskipun digunakan untuk kepentingan
komersil.
RASPi
Untuk melakukan flash SD Card dengan menggunakan sistem operasi LINUX dapat dilakukan melalui
terminal. Perintah yang digunakan untuk menuliskan isi dari file image ke SD Card adalah perintah dd.
Namun hati-hati dalam menggunakan perintah tersebut, karena jika salah menggunakannya dapat
menghapus sistem operasi dan semua data yang disimpan pada drive utama di komputer. Berikut ini
langkah untuk melakukan flash SD Card:
komputer.
Ketik sudo fdisk -l untuk melihat daftar disk yang terdeteksi komputer 4. Kemudian cari SD Card yang
tadi dimasukkan. Pencarian lebih
5. Sebagai catatan, perlu diingat bahwa alamat dari device adalah /dev/sdX. Huruf X disini adalah sebuah
huruf yang mengidentifikasikan device penyimpanan (drive dikomputer). Namun, beberapa sistem yang
sudah terintegrasi dengan Card Reader mungkin menggunakan format alternatif seperti
/dev/mmeblkx. 6. Gunakan perintah ed untuk berpindah ke lokasi dimana file image berada
7. Ketik sudo dd if=imagefilename.img of=/dev/sdX bs=2M pada terminal (Ganti imagefilename sesuai
dengan nama aktual dari file yang tadi telah di extract).
8. Perintah tersebut digunakan untuk menuliskan
imagefilename.img ke SD Card.
9. Langkah penulisan akan memakan waktu dan pada terminal tidak akan ditampilkan apapun sampai
dengan proses flash selesai.
Console
Selain menggunakan cara dengan menggunakan GUI di atas, terdapat cara lain untuk mengkonfigurasi
pengaturan jaringan pada Raspberry Pi yaitu pada mode console ataupun dengan menggunakan
terminal. Untuk memulainya ketik perintah sudo nano /etc/dhcpcd.conf pada terminal seperti pada
gambar 4.16 di bawah
ini.
Perintah di atas akan membuka nano text editor dengan menggunakan hak akses root dan membuka file
dhcpcd.conf (dynamic host configuration protocol client daemon) yang terletak di direktori /etc seperti
yang ditunjukkan pada gambar 4.17 di bawah ini.
Secara default file tersebut dikonfigurasi untuk mendapatkan informasi konfigurasi dinamik DHCP
server, namun dapat juga dikonfigurasi secara manual. Untuk mengonfigurasi file tersebut geser ke
bawah sampai dengan akhir isi file dan tambahkan konfigurasi manual seperti pada gambar 4.18 di
bawah ini:
Setelah selesai simpan file dengan menekan Ctrl+O kemudian enter. Tekan pula Ctrl+X untuk keluar dari
editor. Setelah itu, coba ping salah satu website untuk memastikan bahwa konfigurasi sudah sesuai
seperti dicontohkan pada gambar 4.19.
2. Modul secara otomatis mengirimkan 8 kali 40KHz dan mendeteksi apa terdapat sinya balik atau tidak.
3. Jika terdapat sinya balik, maka durasi waktu dari output high adalah waktu dari pengiriman dan
penerimaan ultrasonik.
Spesifikasi
Input Tegangan
Arus
Frekuensi Kerja
Jarak Maksimum
Jarak Minimum
Sudut Pengukuran
Dimensi
Keterangan
5V DC
15mA
40KHZ
4m
2cm
150
Gambar 13.1 memunjukkan bentuk fisik dari sensor ultrasonic HC SR04, dimana pin trigger digunakan
untuk input pulsa sedangkan pin echo digunakan untuk output pulsa.
HC-SR04
Motor servo adalah jenis actuator elektromekanis yang tidak berputar secara kontinu seperti motor
DC/AC atau motor stepper. Motor servo digunakan untuk posisi dan memegang beberapa objek. Motor
jenis ini digunakan dimana rotasi kontinu tidak diperlukan sehingga tidak digunakan untuk
mengendalikan roda (kecuali servo ini dimodifikasi). Sebaliknya, motor servo digunakan dimana sesuatu
yang dibutuhkan pindah ke poisisi tertentu dan kemudian berhenti dan bertahan pada posisi itu. Hal
yang paling umum dari penggunaan motor servo adalah digunakan untuk posisi kemudi pesawat
terbang, kapal dan lain-lain.servo dapat digunakan secara efektif di sini karena tidak
perlu bergerak 360 derajat penuh atau tidak memerlukan rotasi terus-menerus seperti roda. Motor
servo dapat diperintahkan untuk memutar dengan sudut tertentu dan selanjutnya kemudi akan tetap
bertahan disana. Motor ini juga menggunakan mekanisme umpan balik, sehingga dapat merasakan
kesalahan dalam posisinya dan mengoreksinya, hal tersebut disebut dengan servomechanism. Jadi, jika
aliran udara memberikan tekanan pada kemudi dan terjadi defleksi/penyimpangan, maka servo akan
menerapkan kekuatan dalam arah yang berlawanan dan mencoba memperbaiki kesalahan Misal, kita
meminta motor servo untuk berada dan mengunci dirinya pada posisi 30 derajat dan kemudian kita
mencoba untuk memutar dengan tangan kita, maka servo akan berusaha keras sebaik mungkin untuk
mengatasi gaya dan menjaga servo terkunci pada sudut yang
ditentukan.
Motor servo juga digunakan untuk mengontrol kemudi mobil RC, lengan dan kaki robot. Banyak sekali
jenis servo, tetapi disini kita akan menggunakan servo jenis TowerPro SG90. Servo ini memiliki tiga pin,
yaitu pin VCC, GND dan pin sinyal
Motor Servo TowerPro SG90 adalah sebuah servo kecil dengan output power yang tinggi. Motor ini
dapat berotasi sekitar 180 derajat dan bisa bekerja seperti servo standar lainnya hanya saja ukurannya
lebih kecil. Bentuk fisik dari motor servo TowerPro SG90 ditunjukkan pada gambar 17.1 di bawah ini.
Kita dapat mengendalikan pergerakan dari servo ini dengan menggunakan sinyal PWM melalui pin sinyal
motor servo SG90. Berdasarkan data dari datasheet, frekuensi pada motor servo ini adalah 50Hz dengan
kata lain periodanya sebesar 20ms. Untuk posisi 90 derajat bisa didapatkan dengan memberikan pulsa
sepanjang 1.5ms, kemudian posisi o derajat pada pulsa sepanjang 0.5ms dan untuk posisi 180 derajat
diberikan pulsa sepanjang 2.5ms. Berikut ini perhitungan untuk duty cycle berdasarkan nilai-nilai yang
didapat
relay
Relay adalah saklar elektrik yang menggunakan elektromagnet untuk memindahkan saklar dari posisi off
ke posisi on. Daya yang dibutuhkan relatif kecil dari untuk mengaktifkan relay tetapi relay dapat
mengendalikan sesuatu yang membutuhkan daya lebih besar.
Terdapat beberapa jenis konfigurasi relay misalnya SPST dan SPDT yang ditunjukkan gambar 6. Single
Pole Single Throw (SPST) merupakan konfigurasi yang paling sederhana, dimana relay dengan
konfigurasi ini hanya memiliki dua kontak. Single Pole Double Throw (SPDT) memiliki tiga kontak. Kontak
biasanya diberi label Common COM), Normally Open (NO), dan Normally Close (NC). Pada Normally
Close (NC), kontak NC akan terhubung ke kontak COM
ketika coil tidak diberi daya. Pada Normally Open (NO), kontak akan terputus ketika tidak ada daya yang
diberikan pada coil. Ketika daya diberikan, maka Common (COM) akan terhubung dengan kontak NO
dan kontak NC dibiarkan mengambang (floating) [12].
SPDT
SPST
Pada bagian ini kita akan membuat rangkaian dan program terkait relay, di mana relay akan aktif dan
menyebabkan buzzer menyala dengan selang waktu selama 2 detik sebanyak 5 kali. Sensor PIR HC SR501
akan mendeteksi keberadaan manusia dan akan memberikan output berupa nilai HIGH dan LOW ke
Raspberry Pi. Output tersebut akan diproses didalam Raspberry Pi dan akan menentukan aktif dan
tidaknya relay tergantung dari nilai HIGH atau LOW yang sensor PIR HC-SR501 ke Raspberry Pi. diberikan
Internet of Things (IoT) dapat dideskripsikan bagaimana menghubungkan benda sehari-hari seperti
smartphone, internet TV, sensor dan aktuator ke internet dimana perangkat dihubungkan bersama yang
memungkinkan bentuk-bentuk baru komunikasi antara hal-hal tersebut dengan orang-orang, dan antara
hal-hal itu sendiri.
Transistors (bipolar transistor) terdiri atas semikonduktor berstruktur semacam roti sandwich (dua
keping roti dengan isi di tengahnya. Ada transistor PNP yang strukturnya berupa semikonduktor tipe N
(negatif) yang diapit oleh dua semikonduktor tipe P (positif). Ada pula transis tor NPN yang strukturnya
berupa semikonduktor tipe P yang diapit dua keping semikonduktor tipe N.
Istilah transistor merupakan gabungan dari dua kata "transfer-resis- tor". Hal ini karena arus yang
dikendalikan perangkat tersebut akan me lalui dua tipe bahan semikonduktor, yaitu tipe P dan N.
Lapisan dengan elektron berlebih disebut tipe N, sedangkan yang kekurangan elektron disebut tipe P.
Transistor PNP
Translator NPN
Transistor adalah perangkat semikonduktor yang merupakan kom ponen utama di hampir semua
perangkat elektronik. Transistor sering di katakan sebagai penemuan paling penting di abad XX.
Transistor memiliki banyak kegunaan, seperti dalam pengaturan tegangan (voltage regulator) saklar
(switching), dan penguatan sinyal (amplification).
Resistor adalah komponen elektronika yang menghambat atau memperkecil arus listrik. Ke- mampuan
reistor menghambat arus listrik disebut hambatan atau resistansi yang dinyatakan dalam satuan ohm
(dilambangkan dengan ). Jika arus lis trik dianalogikan dengan aliran air pada sebatang pipa, resistor
adalah pipa kecil yang mengurangi derasnya aliran air
A. Tipe-Tipe Resistor