(1) Jobsheet Antarmuka dan Komunikasi Data XI [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

JOBSHEET Antarmuka Komunikasi Data dan Kelas



XI



SMK/MAK 2023



Program Keahlian TEKNIK ELEKTRONIKA INDUSTRI



Nanda Roudia Maulin - Drs. Slamet Wibawanto, M.T. - Arya Kusumawardana, S.Pd., M.T.



KATA PENGANTAR Segala puji dan syukur penulis panjatkan kehadirat Allah SWT atas rahmat dan karunia yang telah diberikan sehingga penulis dapat menyelesaikan “Jobsheet Antarmuka dan Komunikasi Data”. Jobsheet ini telah dibuat dengan semaksimal mungkin dan disesuaikan dengan siswa kelas XI Teknik Elektronuka Industri SMK. Penyusunan Jobsheet ini bertujuan untuk menyediakan bahan ajar yang dapat mendampingi pembelajaran praktikum khususnya mata pelajaran Antarmuka dan Komunikasi Data. Kegiatan pembelajaran praktikum pada Jobsheet ini telah disesuaikan dengan kurikulum merdeka. Tidak lupa pula, dukungan dari keluarga, teman-teman, dan semua individu yang ikut memberikan dorongan moril maupun bantuan teknis turut menjadi pendorong semangat dalam menyelesaikan karya ini. Tanpa mereka, pencapaian ini tidak akan dapat terwujud. Penulis menyadari bahwa karya ini jauh dari kesempurnaan, oleh karena itu, setiap masukan dan kritik membangun akan sangat berharga bagi penulis. Semoga Jobsheet ini dapat memberikan manfaat dan kontribusi yang positif bagi pengembangan ilmu pengetahuan Elektronika. Akhir kata, semoga karya ini dapat bermanfaat bagi pembaca dan masyarakat luas. Terima kasih sekali lagi kepada semua pihak yang telah membantu dan mendukung penyelesaian karya ini.



Penulis



ii



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



DAFTAR ISI Halaman Kata Pengantar................................................................................................................. ii Daftar Isi ........................................................................................................................... iii Bagian 1 Pendahuluan ..................................................................................................... 1 1. 2. 3.



Petunjuk Penggunaan............................................................................................... 1 K3 ............................................................................................................................. 3 Pemetaan Capaian Pembelajaran ............................................................................ 4



Bagian 2 Kegiatan Praktikum ........................................................................................... 5 1.



2.



3.



4.



5.



Praktikum Pengenalan OOP ..................................................................................... 6 A. Tujuan Pembelajaran ........................................................................................... 6 B. Indikator Capaian Pembelajaran .......................................................................... 6 C. Uraian Materi ....................................................................................................... 6 D. Soal Pendalaman ............................................................................................... 21 E. Tugas Praktikum .................................................................................................. 30 Praktikum ESP8266 dengan Output LED ................................................................. 39 A. Tujuan Pembelajaran .......................................................................................... 39 B. Indikator Capaian Pembelajaran ......................................................................... 39 C. Uraian Materi ....................................................................................................... 39 D. Soal Pendalaman ............................................................................................... 42 E. Tugas Praktikum.................................................................................................. 47 Praktikum ESP8266 Output LCD .............................................................................. 51 A. Tujuan Pembelajaran .......................................................................................... 49 B. Indikator Capaian Pembelajaran ......................................................................... 49 C. Uraian Materi ....................................................................................................... 49 D. Soal Pendalaman ............................................................................................... 51 E. Tugas Praktikum.................................................................................................. 55 Praktikum ESP8266 dengan Input LM35 Output LCD .............................................. 57 A. Tujuan Pembelajaran .......................................................................................... 57 B. Indikator Capaian Pembelajaran ......................................................................... 57 C. Uraian Materi ....................................................................................................... 57 D. Soal Pendalaman ............................................................................................... 60 E. Tugas Praktikum.................................................................................................. 64 Praktikum Menggunakan Aplikasi BLYNK ............................................................... 67 A. Tujuan Pembelajaran .......................................................................................... 67 B. Indikator Capaian Pembelajaran ......................................................................... 67 C. Uraian Materi ....................................................................................................... 67 D. Soal Pendalaman ............................................................................................... 78 E. Tugas Praktikum.................................................................................................. 83



iii



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



6.



Praktikum ESP8266 dengan Input LM35 melalui Aplikasi BLYNK ............................ 86 A. Tujuan Pembelajaran .......................................................................................... 86 B. Indikator Capaian Pembelajaran ......................................................................... 86 C. Uraian Materi ....................................................................................................... 86 D. Soal Pendalaman ............................................................................................... 93 E. Tugas Praktikum.................................................................................................. 98 7. Praktikum ESP8266 dengan Input DHT11 melalui Aplikasi BLYNK ......................... 104 A. Tujuan Pembelajaran .......................................................................................... 104 B. Indikator Capaian Pembelajaran ......................................................................... 104 C. Uraian Materi ....................................................................................................... 104 D. Soal Pendalaman ................................................................................................ 108 E. Tugas Praktikum.................................................................................................. 112 Lampiran Format Laporan ................................................................................................ 120 Daftar Pustaka ..................................................................................................................



iv



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



Bagian 1 Pendahuluan



Petunjuk Penggunaan A. Bagi Guru Pada praktikum, peran guru adalah mengarahkan siswa dengan menyusun jobsheet, menjelaskan teori pendukung praktikum, menyampaikan tugas praktikum, membimbing pelaksanaan praktikum, melakukan penilaian. Agar peran tersebut berjalan dengan proporsional guru menguasai isi jobsheet. Hal tersebut dapat membantu guru dalam mempersiapkan secara matang



dan



menemukan



metode



yang



tepat



dalam



melaksanakan



pembelajaran praktikum. B. Bagi Siswa



Jobsheet ini digunakan sebagai petunjuk melaksanakan praktikum yang dapat digunakan selama semester satu dan dua kelas XI SMK Teknik Elektronika Industri. Praktikum yang termuat pada jobsheet ini adalah mata pelajaran Antarmuka dan Komunikasi Data menggunakan NodeMCU ESP8266. Agar memperoleh hasil belajar yang maksimal selama pembelajaran praktikum, siswa wajib membaca dan memahami materi sebelum praktikum dilaksanakan. Mengerjakan tugas dan pengayaan dapat membantu siswa dalam menguasai teori yang mendukung praktikum. Apabila mengalami kesulitan siswa dapat mengulangi pembelajaran praktikum tersebut atau menanyakannya kepada guru. Tiap-tiap bagian dari jobsheet dijelaskan pada Gambar 1 di halaman berikut



1



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



Petunjuk Penggunaan Pada Bagian 1 Petunjuk Penggunaan, siswa dapat mengetahui pedoman dalam menggunakan jobsheet



K3 Keselamatan dan kesehatan kerja dimaksudkan untuk mencegah terjadinya kecelakaan kerja (pembelajaran praktikum).



Kegiatan Pembelajaran Pada bagian 2 Kegiatan Pembelajaran berisi jobsheet-jobsheet praktikum yang akan dipelajari oleh siswa



Tujuan Praktikum Pertama, siswa harus mengetahui tujuan dari pembelajaran praktikum. Tujuan memuat target-target yang harus dicapai oleh siswa dalam suatu praktikum. Uraian Materi Memuat deskripsi tentang dasar teori dari pembelajaran praktikum yang akan dilakukan.



Soal Pendalaman Terdapat soal latihan untuk membantu siswa mendalami materi atas praktikum yang akan terselenggara



Tugas Praktikum Memuat runtutan proses yang harus dilalui dalam suatu pembelajaran praktikum dari memulai hingga menyelesaikan. Dilengkapi alat dan kelengkapan praktikum serta ilustrasi dari langkah kerja suatu praktikum, untuk mempermudah siswa dalam menyusun rangkaian. Format Laporan Petunjuk dalam membuat laporan praktikum yang telah dilaksanakan



Gambar 1 Bagan Petunjuk Penggunaan



2



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



K3 1. Gunakan pakaian yang rapi dan atribut praktikum 2. Tidak membuang sampah sembarangan. 3. Tidak diperkenankan membawa makan/minum di dalam laboratorium. 4. Gunakan peralatan laboratorium sesuai fungsinya 5. Tidak merusak fasilitas laboratorium. 6. Tidak mengubah pengaturan yang ada pada trainer atau peralatan praktikum 7. Tidak mengubah atau menghapus settingan yang ada pada komputer laboratorium 8. Simpan peralatan laboratorium di tempat yang aman, kembalikan ke tempat semula setelah praktikum 9. Baca dan pahami jobsheet praktikum sebelum memulai praktikum



3



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



Pemetaan Capaian Pembelajaran Jobsheet Antarmuka dan Komunikasi Data Kelas XI



Menerapkan software



Object Oriented Programming (OOP) menggunakan software



Jobsheet 1 Praktikum Pengenalan



Arduino IDE sebagai



OOP



penerapan oop. Membuat object dari class, hingga mengorganisir oop Menerapkan Antarmuka



Jobsheet 2 Praktikum ESP8266



Rangkaian yang



dengan Output LED



menghubungkan masukan



Jobsheet 3 Praktikum ESP8266



(input) dari sistem analog atau



Output LCD



digital dengan keluaran



Jobsheet 4 Praktikum ESP8266



(output) sistem analog atau



dengan Input LM35 Output LCD



digital lainnya. Jobsheet 5 Praktikum Menggunakan Memanfaatkan Internet of



Aplikasi BLYNK pada Smartphone



Things (IoT)



Jobsheet 6 Praktikum ESP8266



Menggunakan aplikasi grafik



dengan Input LM35 melalui Aplikasi



IoT yang digunakan untuk



BLYNK



mengontrol keluaran maupun



Jobsheet 7 Praktikum ESP8266



masukan rangkain



dengan Input DHT11 melalui Aplikasi BLYNK



4



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



Bagian 2 Kegiatan Praktikum



Jobsheet 1



Praktikum Pengenalan OOP



Jobsheet 2



Praktikum ESP8266 dengan Output LED



Jobsheet 3



Praktikum ESP8266 Output LCD



Jobsheet 4



Praktikum ESP8266 dengan Input LM35 Output LCD



Jobsheet 5



Praktikum Menggunakan Aplikasi BLYNK



Jobsheet 6



Praktikum ESP8266 dengan Input LM35 melalui Aplikasi BLYNK



Jobsheet 7



Praktikum ESP8266 dengan Input DHT11 melalui Aplikasi BLYNK



5



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



Praktikum Pengenalan OOP



A. Tujuan



1. Siswa dapat memprogram OOP pada software Arduino IDE dengan output LED 2. Siswa dapat mengorganisir program OOP pada software Arduino IDE dengan output LED 3.



B. Indikator Capaian Pembelajaran 1.



Peserta didik mampu menjelaskan fungsi Node MCU ESP8266



2.



Peserta didik mampu membedakan fungsi pin-pin pada Node MCU ESP8266



3.



Peserta didik mampu mengkategorikan instruksi dasar pemrograman arduino



4.



Peserta didik mampu membuat program LED berkedip menggunakan OOP



5.



Peserta didik mampu mencontohkan class dan object pada OOP



6.



Peserta didik mampu menjelaskan atribut class pada OOP



7.



Peserta didik mampu menjelaskan constructor class pada OOP



8.



Peserta didik mampu menjelaskan method class pada OOP



C. Uraian Materi Node MCU ESP8266 NodeMCU ESP8266 chip terintegrasi yang dirancang untuk menghubungkan mikrokontroler dengan perangkat internet melalui wifi. ESP8266 dapat digunakan untuk pengembangan produk Internet of Things (IoT). Konfigurasi pin dari NodeMCU ESP8266 diperlihatkan pada gambar 1.1.



JOBSHEET 1 Object Oriented Programming



6



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



Gambar 1.1 Konfigurasi Pin NodeMCU ESP8266 (Sumber: components101.com)



1. Micro-USB: digunakan sebagai penghubung ESP8266 dengan power, pengiriman data dari ESP8266 ke aplikasi Arduino IDE. 2. 3.3V: digunakan sebagai tegangan untuk device lainnya. Terdapat 3 pin untuk 3.3v. 3. GND: disebut ground sebagai tegangan 0 atau nilai negatif untuk mengalirkan arus. 4. Vin: sebagai external power yang akan mempengaruhi output dari seluruh pin. Cara menggunakan Pin Vin dengan menghubungkannya dengan tegangan 7 hingga 12 volt. 5. EN, RST: disebut reset, digunakan untuk mereset program di mikrokontroler. 6. A0: analog pin, digunakan untuk membaca input secara analog. 7. GPIO 1-GPIO 16: pin yang digunakan sebagai input dan output. Pin ini dapat melakukan pembacaan dan pengiriman data secara analog juga. 8. SD1,CMD, SD0,CLK : SPI pin untuk komunikasi SPI (Serial Peripheral Interface) dimana digunakan clock untuk sinkronisasi deteksi bit pada receiver. 9. TXD0, RXD0,TXD2,RXD2 : sebagai interface UART, Pasangannya adalah TXD0 dengan RXD0 dan TXD2 dengan RXD2. TXD1 digunakan untuk upload firmware/program. 10. SDA, SCL (I2C Pins) : digunakan untuk device yang membutuhkan I2C.



JOBSHEET 1 Object Oriented Programming



7



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



INSTRUKSI DASAR PEMROGRAMAN ARDUINO IDE 1. Preprocessor Directive (Pengarah Kompilator) program diawali dengan tanda pagar “#” yang disebut Preprocessor Directive. Contoh penggunaan #: #include : memasukan atau menyertakan file lain dengan program yang dibuat, file yang dimasukan/lampirkan berupa header file , dalam header file biasanya berupa file library program. Contoh penggunaan dalam program:



#define : “#define” digunakan untuk mendefinisikan sebuah variable (pin input - output dll) dengan nama variable baru, fungsi mendefinisikan variable ini agar dalam pembuatan program kita lebih mudah mengingat nama variablenya, dari itu usahakan dalam mendefinisakan sebuah variable gunakan nama variable yang mencerminkan fungsinya. Sehinga ketika kita menganilisa program akan lebih mudah memahaminya. Contoh: Ketika kita mempunyai input sensor, kemudian sensor itu tersambung dengan PINA.0. #define sensor PINA.0 Ketika output kita misalkan menggunakan lampu dan berada di PORTC.0: #define lampu PORTC.0 2. Deklaration (Deklarasi) Program C++ terdiri dari berbagai entitas seperti variabel, fungsi, jenis, dan namespace. Masing-masing entitas ini harus dideklarasikan sebelum dapat digunakan. Deklarasi menentukan nama unik untuk entitas, bersama dengan informasi tentang jenisnya dan karakteristik lainnya. Dalam C++ titik di mana nama dideklarasikan adalah titik di mana nama menjadi terlihat oleh pengkompilasi. 3. Inisialisasi Inisialisasi merupakan proses mengatur hardware seperti port I/O, PWM, serial dan peripheral lain. Struktur ini ditulis diawal program. Setiap program Arduino (disebut sketch) mempunyai dua buah fungsi yang harus ada. -



Void setup(){} Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijalankan pertama kalinya. Void loop(){} fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan lagi dan lagi secara terus menerus sampai catu daya (power) dilepaskan.



JOBSHEET 1 Object Oriented Programming



8



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



4. Program Utama Setelah melakukan inisialisasi selanjutnya program yang dikerjakan adalah program utama, tergantung dari aplikasi yang dibuat, isi dari program utama berbeda antara satu program dengan program yang lain. Struktur yang digunakan adalah loop(). Sebagai contoh : void loop() { } bahasa pemrograman Arduino (sebagaimana bahasa C) termasuk case sensitif, artinya huruf besar dengan huruf kecil akan dianggap berbeda. a. Komentar Komentar digunakan untuk memberi keterangan pada program yang dibuat, sifatnya tidak wajib dan tidak akan berpengaruh pada jalannya program karena tidak ikut dieksekusi. Komentar dapat dibuat untuk 1 baris maupun lebih dari 1 baris, berikut ini caranya: //komentar untuk 1 baris diawali dengan 2 garis miring. /*komentar untuk lebih dari 1 baris diawali dengan tanda garis miring + asterisk atau bintang (/*) Serta diakhiri dengan tanda asterisk + garis miring */ b. Ekspresi Bilangan Dalam pemrograman Arduino, bilangan dapat diekspresikan dalam beberapa format. -



Desimal: ditulis biasa tanpa tambahan apapun. Contoh: 234. Oktal: ditulis dengan awalan angka „0‟ (nol) didepan. Contoh: 0631. Biner: penulisan diawali dengan huruf „B‟. Contoh B11100011. Heksadesimal: diawali dengan „0x‟ . Contoh : 0x8C.



c. Kontrol Program Sebuah program yang kita buat membutuhkan suatu kontrol, misalnya pengujian kondisi, melompat pada perintah yang lain dan sebagainya. Pengujian Kondisi 1) if Digunakan untuk menguji kondisi, jika kondisi tersebut benar maka perintah didalam If akan dikerjakan. if (kondisi) { Pernyataan/perintah; }



JOBSHEET 1 Object Oriented Programming



9



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



2) if – else Hampir sama dengan if, hanya saja ada 2 pilihan pernyataan/ perintah. Jika kondisi benar maka perintah didalam blok if yang dikerjakan, jika kondisi salah maka pernyataan di dalam else yang dikerjakan. if (kondisi) { Pernyataan/perintah 1: } else { Pernyataan/perintah 2; } 3) if – else if Digunakan untuk pengujian dengan banyak kondisi. Contoh: if(tombol=='1'){ Serial.println("Angka 1"); } else if(tombol =='2'){ Serial.println("Angka 2"); } else if(tombol =='3'){ Serial.println("Angka 3"); } 4) Switch case Seperti pernyataan if, digunakan untuk memilih kondisi yang sesuai untuk kemudian mengerjakan perintahnya. Bedanya adalah kondisi yang diuji berupa nilai sebuah veriabel. Jika variabel bernilai „1‟ maka pernyataan 1 yang dikerjakan. Break berfungsi untuk mengakhiri pernyataan/perintah pada setiap case. Default berfungsi jika semua nilai dalam case tidak ada yang sama dengan variabel. Contoh: switch (j) { case 1: digitalWrite(ledPin1, HIGH); case 2: digitalWrite(ledPin2, HIGH); case 3: digitalWrite(ledPin3, HIGH); default: digitalWrite(ledPin4, LOW); }



JOBSHEET 1 Object Oriented Programming



break; break; break; break;



10



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



Perulangan 1) While Digunakan untuk membuat perulangan yang tidak terbatas selama kondisi di dalam while benar. Contoh: while(j Lebih besar < Lebih kecil >= Lebih besar atau sama dengan



Geser kanan & AND | OR ^ XOR ~ NOT 8) Operator Penaikan dan Penurunan Operator Keterangan ++ Penaikan 1 / increment -Penurunan 1 / decrement



Contoh n++ n--



Arti n=n+1 n=n-1



9) Operator Scope Resolution Operator :: resolusi cakupan digunakan untuk mengidentifikasi dan membedakan pengidentifikasi yang digunakan dalam cakupan yang berbeda. Dua titik dua (::) digunakan dalam C++ sebagai operator resolusi cakupan . Operator ini memberi Anda lebih banyak kebebasan dalam menamai variabel Anda dengan memungkinkan Anda membedakan antara variabel dengan nama yang sama. Misalnya, MyFile::Read mengacu pada metode Baca dari kelas objek MyFile , dibandingkan dengan YourFile::Read, yang mengacu pada metode Baca di kelas YourFile 10) Variabel Dalam pembuatan program aplikasi Arduino, sering kita memerlukan tempat atau wadah untuk menampung atau menyimpan suatu data, tempat atau wadah tersebut adalah variable. Nama variabel sebenarnya bebas, boleh 1 huruf abjad seperti „i‟ (tanpa petik), dapat juga sebuah kata misalnya „hasil‟. Yang jelas tidak boleh mengandung spasi, maksimal 32 karakter dan tidak boleh menggunakan istilah baku yang sudah dipakai dalam bahasa C. Sebelum dipakai, variabel terlebih dahulu dideklarasikan dengan cara : [Tipe data] [nama variabel] Contoh : Int bilangan_1; Atau bisa juga langsung diberi nilai [tipe data] [nama variabel][ = ][nilai] Contoh : int bilangan_1=20;//variabel bilangan tipe integer dengan nilai awal 20



JOBSHEET 1 Object Oriented Programming



13



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



11) Tipe Data Setiap variabel yang dibuat harus mempunyai tipe data yang menunjukkan kemampuan variabel tersebut menampung data. Tipe Data char unsigned char byte word int unsigned int long unsigned long float



Lebar Data 1 byte 1 byte 1 byte 2 byte 2 byte 2 byte 4 byte 4 byte 4 byte



Jangkauan -128 s/d 127 0 s/d 255 0 s/d 255 0 s/d 65535 -32768 s/d 32767 0 s/d 65535 -2147438648 s/d 2147438647 0 s/d 4294967295 - 3.4028235E+38 s/d 3.4028235E+38



JOBSHEET 1 Object Oriented Programming



14



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



Object Oriented Programming (OOP) OOP adalah singkatan dari Object Oriented Programming, adalah pemrograman dalam melakukan pemrograman yang berorientasi kepada object yang seluruh fungsi, data dan pengolahan data akan dibungkus dalam kelaskelas dan object-object. object-object tersebut dapat berkerja sendiri dan juga dapat saling bekerja sama dengan kemungkinkan untuk saling berhubungan, seperti menerima, mengirim data kepada object lainnya dan memproses data. OOP dapat digunakan dalam berbagai bahasa pemrograman seperti JavaScript, C++, Java, dan Python. Object oriented programming yang diterapkan pada aplikasi Arduino IDE menggunakan bahasa C++. PEMAHAMAN CLASS DAN OBJECT Template class



Class diumpamakan sebagai jenisjenis lampu berdasar bentuknya



Memory



Object



Memory diumpamakan sebagai energi listrik



Lampu pijar merupakan salah satu instances dari jenis-jenis lampu berdasar bentuknya



Gambar 1.2 Hubungan Class-Memory-Object(Instances) Object (instance) dibuat dari sebuah class, jadi semua kode program (property/ data dan fungsi) object ditulis di class. Dengan kata lain class adalah blue print (cetakan) dari object. Property (atau disebut juga dengan atribut) adalah data yang terdapat dalam sebuah class. Method (fungsi) adalah tindakan yang bisa dilakukan di dalam class. Property dan method merupakan member class. CLASS STRUCTURE Untuk mendirikan Class kita membutuhkan keyword class yang dilanjutkan dengan pemberian nama dari deklarasi class tersebut. lalu dilanjutkan dengan meletakan tanda { dan } untuk mengapit definisi dari class. Class termasuk sebuah pernyataan maka dari itu akhir dari deklarasi class diwajibkan untuk mengakhiri class menggunakan tanda titikkoma ;



JOBSHEET 1 Object Oriented Programming



15



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



Bentuk penulisan :



1 class nama_class{ 2 akses_specifier : 3 data_member; 4 … 5 akses_specifier2 : 6 data_member; 7 … 8 }nama_object; Keterangan



• nama_class



: tempat dimana anda dapat memberikan nama pada class tersebut. • akses_specifier : tempat dimana anda dapat mendifinisikan hak akses kepada anggota yang ada dibawahnya. Jika tidak didefinisikan maka anggota class secara otomatis memiliki hak akses private. • data_member



: tempat dimana anda dapat mendirikan sebuah variabel atau function sebagai anggota dari class.



• nama_object



: tempat dimana anda dapat mendirikan object-object dengan menggunakan class tersebut, hal ini merupakan opsional tapi jika class tidak diberi nama class maka diwajibkan mendirikan object, karena kita tidak akan bisa membuat object dengan class di luar dari deklarasi class tersebut.



Contoh penerapan object oriented programming:



Digunakan untuk mendefinisikan sebuah variabel(input dan output) Menambahkan kata kunci kelas yaitu “class” yang otomatis akan berwarna biru, dilanjutkan menamai kelas dengan huruf kapital di depan dengan nama “Led” Dilanjutkan dengan kurung kurawal. Apa saja yang ditulis didalam kurung kurawal tersebut berhubungan dengan “class Led” Pada kurung kurawal 1 tersebut akan diisi atribut dan metode



JOBSHEET 1 Object Oriented Programming



16



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



MENAMBAHKAN ATRIBUT PADA CLASS



Public adalah label yang berfungsi untuk menentukan sifat akses ke semua member yang mengikutinya (di bawahnya), sehingga memiliki sifat dapat di akses dari manapun. Dapat di akses dari dalam class itu sendiri, dari anak class (derived class) dan juga dari luar class. Private adalah label yang berfungsi untuk menentukan sifat akses ke semua member yang mengikutinya menjadi memiliki sifat yang tidak dapat di akses dari manapun kecuali melalui friend function dan dari dalam class itu sendiri. Contoh penerapan :



Byte adalah tipe spesifik dari arduino. Pin tidak perlu didefinisikan karena pin di dalam class Led. CLASS CONSTRUCTOR Constructor adalah spesial member function yang akan dieksekusi terlebih dahulu saat pembuatan instance (object). Constructor biasanya digunakan untuk insialisasi member-member atau melakukan persiapan lainnya. Constructor harus menjadi member dari class untuk menggunakannya, serta harus memiliki identitas sama dengan class tersebut. Contoh penerapan :



Nama konstruktor berdasar nama kelas. Do not use untuk default konstruktor Pada This menerangkan nilai parameter “pin” untuk member variabel “pin”. kata kunci ini untuk menjadikan sebuah representasi dari objek untuk mengakses sebuah member variabel yang telah di-overhidden oleh sebuah variabel yang ada di dalam sebuah member function



JOBSHEET 1 Object Oriented Programming



17



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



MENAMBAHKAN METHOD PADA CLASS Contoh penerapan :



Inisialisasi void init Memanggil pin mode kaki pin dalam hal ini cukup ditulis pin yang diset sebagai output defaultState menekankan pin output LOW atau HIGH. Memanggil fungsi init, jika defaultstate high maka on, kalau tidak off (tidak perlu menuliskan defaultstate). Power on LED void on Digital write nomor pin, high. Fungsi tersebut digunakan untuk menulis hasil HIGH. Maksud dari HIGH adalah output pada pinMode akan dikonfigurasikan tegangan 5V (atau 3,3v pada board 3,3v ).



JOBSHEET 1 Object Oriented Programming



18



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



Power off LED void off Digital write nomor pin, Low. Fungsi tersebut digunakan untuk menulis hasil LOW. Maksud dari LOW adalah output pada pinMode akan dikonfigurasikan tegangan 0V (ground). MENGGUNAKAN CLASS PADA PROGRAM – MEMBUAT OBJECT Cara Membuat Object



Nama_Class nama_object Contoh:



remotetv ruangtamu lampu lampupijar lampu lampuled Cara menggunakan fungsi dari object Format menggunakan fungsi sebuah object nama_object.namafungsi(); class



object



lampu lampuled(); fungsi



lampuled.nyalakan(); lampuled.matikan(); fungsi



contoh:



JOBSHEET 1 Object Oriented Programming



19



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



Membuat Objek dari kelas Led Objek led(LED_PIN) mengacu pada byte pin pada atribut pin pada private. Void setup untuk menuliskan pengaturan pin dan library Led.init menunjukkan object.fungsi . init disini menginisialisasi led (pin mode). Void loop untuk menjalankan program secara berulang. led.on menunjukkan fungsi on led dengan waktu tunda 500 mili detik led.off menunjukkan fungsi off led dengan waktu tunda 500 mili detik



OBJECT RELATIONSHIP Salah satu jenis object relationship pada OOP adalah composition. Composition merupakan relasi dengan model “bagian dari”, masing-masing object akan saling bergantung, dan hubungan dari mereka akan menentukan jangka hidup masingmasing dari mereka. Object relationship dapat digunakan untuk mengorganisir program. Program dibagi menjadi 3 file untuk membuat object relationship, yaitu: 1. Main program berisi program utama seperti void setup dan void loop. Setelah program terorganisir, program pada main program akan lebih mudah dibaca dan lebih mudah dipahami. 2. Interface berfungsi untuk menghubungkan antara main program dan implementation. Struktur oop dideklarasikan disini. File program dinamai dengan namaclass.h. 3. Implementation berisi penggunaan c++ dan definisi method atau fungsi dan isi dari fungsinya. File program dinamai dengan namaclass.cpp.



Namaclass.h Class namaclass { private: .....; public: .....; };



JOBSHEET 1 Object Oriented Programming



Namaclass.cpp #include “namaclass.h” void namaclass::fungsi() { } void namaclass::fungsi() { }



20



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



D. Soal Pendalaman I.



Pilihlah salah satu jawaban yang benar dibawah ini!



1. ESP8266 dapat digunakan sebagai pengembangan produk Internet of Things



(IoT). Sebab Program ESP8266 diperlukan beberapa teknik wiring serta tambahan USB to serial untuk mengunduh program. Dari uraian sebab akibat tersebut analisis hubungan yang tepat adalah … a. Pernyataan benar, alasan benar, keduanya menunjukkan hubungan sebab akibat b. Pernyataan benar, alasan benar, keduanya tidak menunjukkan hubungan sebab akibat c. Pernyataan benar, alasan salah d. Pernyataan salah, alasan benar 2. Komponen pada ESP8266 yang digunakan sebagai penghubung ESP8266 dengan power serta pengiriman data dari ESP8266 ke aplikasi Arduino IDE adalah … a. Vin b. Micro-USB c. A0 d. 3.3V 3. Pin D1 pada ESP8266 disebut juga … a.



GPIO5



b.



GPIO4



c.



GPIO0



d.



GND



JOBSHEET 1 Object Oriented Programming



21



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



4. Pin D7 pada ESP8266 disebut juga … a.



GPIO5



b.



GPIO4



c.



GPIO0



d.



GPIO13



5. Pin D2 pada ESP8266 disebut juga … a.



GPIO5



b.



GPIO4



c.



GPIO0



d.



GND



6. Pin pada ESP8266 yang dapat digunakan untuk membaca input secara analog adalah … a.



RST



b.



A0



c.



SCL



d.



Vin



7. Pengarah kompilator #define digunakan untuk … a.



Memasukkan atau menyertakan file lain dengan program yang dibuat



b.



Mendefinisikan sebuat variabel (pin input - output dll) dengan nama variable baru



c.



Menentukan entitas bersama dengan informasi tentang jenisnya dan karakteristik lainnya



d.



proses mengatur hardware seperti port I/O, PWM, serial dan peripheral lain



JOBSHEET 1 Object Oriented Programming



22



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



8. Komentar digunakan untuk memberi keterangan pada program yang dibuat, sifatnya tidak wajib dan tidak akan berpengaruh pada jalannya program karena tidak ikut dieksekusi. Berikut adalah cara yang benar untuk menuliskan komentar untuk satu baris a. b. c. d.



//komentar untuk 1 baris //komentar untuk 1 baris// /*komentar untuk 1 baris /* komentar untuk 1 baris */



9. Dalam pemrogrman arduino, bilangan dapat diekspresikan dalam beberapa format, antara lain kecuali … a.



Desimal



b.



Oktal



c.



Biner



d.



Heptadesimal



10. Digunakan untuk menguji kondisi, jika kondisi benar maka perintah dalam kondisi tersebut akan dikerjakan adalah fungsi dari kondisi … a.



If



b.



If – else



c.



If – else if



d.



Switch case



11. Digunakan untuk membuat perulangan yang tidak terbatas selama kondisi di dalam perulangan benar adalah fungsi dari perulangan … a.



If



b.



While



c.



Do … while



d.



For



JOBSHEET 1 Object Oriented Programming



23



JOBSHEET ANTARMUKA DAN KOMUNIKASI DATA



12. … adalah kontrol program yang digunakan untuk melompat atau menuju perintah yang telah diberi label. a.



return



b.



continue



c.



goto



d.



variabel



13. Wadah yang digunakan untuk menampung atau menyimpan suatu data dalam pembuatan program disebut … a.



return



b.



continue



c.



goto



d.



variabel



14. operator boolean && memiliki arti … a.



AND



b.



OR



c.



XOR



d.



NOT



15. Operator boolean || memiliki arti … a.



AND



b.



OR



c.



XOR



d.



NOT



16. Operator bitwise