• Tidak ada hasil yang ditemukan

Panduan Webinar Artificial Intelligent Arduino II

N/A
N/A
Protected

Academic year: 2021

Membagikan "Panduan Webinar Artificial Intelligent Arduino II"

Copied!
21
0
0

Teks penuh

(1)

Panduan Webinar

Artificial Intelligent Arduino II

LP2M ARAY

Telp : 021-22712148 / 0821-11147-6069 / 0858-9232-9521 Jl. Raya Lenteng Agung Tmur No.6, Srengseng Sawah, Jagakarsa, Jakarta Selatan

(2)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 1 _Artificial Intelligent Arduino #2_

*Praktek 3 Model Akuisisi Data dari Arduino ke Web Server* ================================

*_FREE_* ... Yuk's bergabung, praktek dan membahas cara-cara Pertukaran Data dari Arduino/Mikrokontroller ke Server.

_Dengan materi:_

```+Port 80/443 HTTP/HTTPS (Client Server)``` ```+Port 1883/1884 MQTT (One to Many)```

```+Port 21 Socket (One to One)/Port 9999 UDP (Many To Many)```

Hari/tanggal: Rabu, 10 Maret 2021

Pukul: 10 sd 11 WIB

Gabung Grup: https://bit.ly/3c5H3Hs _*Syarat Bergabung :*_

``` Bantu Share Webinar ini minimal ke 3 teman/group yang lain``` ``` Masuk ke Grup WA pada Link di atas```

``` Siapkan: Arduino IDE, Software perekam video```

``` Tersedia juga (Optional):* Sertifikat, Video Full, Panduan, Source Code Implementasi (*berbayar untuk versi detailnya...)```

Info Detail:

www.lp2maray.com

https://wa.me/6285892329521

(3)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 2 ROADMAP MATERI:

* Praktek 3 Model Akuisisi Data dari Arduino ke Web Server *

Hari/tanggal: Rabu, 10 Maret 2021

Pukul: 10 sd 11 WIB

Gabung Grup: https://bit.ly/3c5H3Hs

Jam Materi

10:00 Perkenalan Institusi dan Pengajar/Pemateri 10:05 Materi Perkenalan Konsep Akuisisi Data 10:10 Contoh Kasus Akuisisi Data HTTP/HTTPS 10:25 Contoh Kasus Akuisisi Data MQQT 10:40 Contoh Kasus Akuisisi Data UDP 10:55 Analisa dan Penutup

13:00 Link Download Panduan, Materi dan Link Youtube hanya dibagikan kepada yang hadir di materi tersebut

Nb Setelah kegiatan Webinar ini di harapkan semua audiens/peserta bisa mempraktekkan setiap materi yang diberikan. Dipersilakan untuk memanfaatkan layanan tanya jawab seputar meteri tersebut di atas kepada admin atau pengajar / pemateri yang ada.

Dan bagi para praktisi yang lebih memahami materi-materi, diharapkan bantuannya untuk saling membantu sesama audiens agar bisa saling berbagi kemahiran dan pengalamannya kepada peserta / audiens lain yang membutuhkannya.

Sekali Lagi Terimakasih Atas perhatian dan Kepesertaanya.

Introduction

Sekali lagi ini adalah pengalaman pemateri dalam hal penerapan algoritma tertentu agar bisa dimasukkan ke dalam Alat / Embedeed System.

Terutama bagaimana melakukannya dengan cara yang praktis mudah dan cepat.

Dengan memanfaatkan library yang sudah ada pada Arduino, maka dengan cepat kita bisa membuat Proses-Proses pertukaran data dari Embedeed System yang kita miliki dengan server database misalnya/perangkat lain.

(4)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 3

1. AKUISISI DATA HTTP/HTTPS

Pada dasarnya sebuah Port (Port Logic) pada jaringan komputer dan juga pada sebuah komputer terdiri dari banyak sekali jenis dan fungsinya ( port 0 hingga port 10000 ).

Dan port 80 merupakan jenis port di dalam sebuah jaringan yang banyak digunakan sebagai port dalam mengkoneksikan web server. Web server sendiri merupakan sebuah server yang dibangun untuk memenuhi kebutuhan sebuah website atau situs tertentu. Untuk dapat menghubungkan koneksi antara client dengan web server, maka port 80 ini dibutuhkan.

Merupakan port http yang terkenal, dan default demikian juga port https pada 443. Jika Kita

memutuskan untuk mengubahnya, Kita harus mengatakannya di URL/Browser: "myserver.com:1280"; jika tidak, browser akan mencoba pada port 80 dan tidak akan menemukannya.

(5)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 4 +Source Code HTTP/HTTPS

(6)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 5 #include <Arduino.h> #include <ESP8266WiFi.h> #include <ESP8266WiFiMulti.h> #include <ESP8266HTTPClient.h> #include <WiFiClient.h> ESP8266WiFiMulti WiFiMulti; void setup() { Serial.begin(115200); Serial.setDebugOutput(true); Serial.println("."); Serial.println(".."); Serial.println("..."); for (uint8_t t = 4; t > 0; t--) { Serial.printf("[SETUP] WAIT %d...\n", t); Serial.flush();

(7)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 6 delay(1000); } WiFi.mode(WIFI_STA); WiFiMulti.addAP("pikachu", "123asdfghjkl"); } void loop() { if ((WiFiMulti.run() == WL_CONNECTED)) { WiFiClient client; HTTPClient http; Serial.print("[HTTP] begin...\n"); int LAT=rand() * (-1.0); int LONG=rand() / 100; String URL="http://www.XXYYZZ.com/wpadd.php?latitude="+String(LAT)+"&longitude="+String(LONG); if (http.begin(client, URL)) { Serial.println("URL="+URL); Serial.print("[HTTP] GET...\n"); int httpCode = http.GET(); if (httpCode > 0) {

Serial.printf("[HTTP] GET... code: %d\n", httpCode);

if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) { String payload = http.getString();

Serial.println(payload); }

} else {

Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str()); }

http.end(); } else {

Serial.printf("[HTTP} Unable to connect\n"); }

}

delay(10000); }

(8)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 7

2.AKUISISI DATA MQTT

MQTT (Message Queuing Telemetry Transport) protokol merupakan sebuah protokol yang berjalan diatas stack TCP/IP dan dirancang khusus untuk machine to machine yang tidak memiliki alamat khusus. Maksud dari kata tidak memiliki alamat khusus ini seperti halnya sebuah arduino, raspi atau device lain yang tidak memiliki alamat khusus. Sistem kerja MQTT menerapkan Publish dan Subscribe data. Dan pada penerapannya, device akan terhubung pada sebuah Broker dan mempunyai suatu Topic tertentu.

+MQTT Server yang auto aktif dan mudah menggunakan alamat : mqtt.groov.com (Port 1883) atau jika hendak memiliki MQTT Server sendiri, bisa menginstall adan inistialisasinya sendiri dengan antara lain cara sebagai berikut caranya:

http://www.steves-internet-guide.com/mqtt-username-password-example/ +MQTT CLIENT Berbasis GUI / Desktop Windows

(9)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 8 +Contoh Hasil Baca Mqtt client

(10)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 9 +Souce Code MQTT Arduino

#include <ESP8266WiFi.h> #include <Ticker.h>

#include <AsyncMqttClient.h> #define WIFI_SSID "KhanzaHumaira" #define WIFI_PASSWORD "11111111" char mqtt_server[40] = "mqtt.groov.com"; char mqtt_port[6] = "1883";

char mqtt_user[40] = ""; char mqtt_pass[60] = ""; #define RELAY_PIN D6

#define TOPIK1 "webinar/lp2maray1" #define TOPIK2 "webinar/lp2maray2" #define TOPIK3 "webinar/lp2maray3" AsyncMqttClient mqttClient; Ticker mqttReconnectTimer; WiFiEventHandler wifiConnectHandler; WiFiEventHandler wifiDisconnectHandler; Ticker wifiReconnectTimer; void connectToWifi() { wifiReconnectTimer.detach(); Serial.println("Connecting to Wi-Fi..."); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); }

void onWifiConnect(const WiFiEventStationModeGotIP& event) { Serial.println("Connected to Wi-Fi.");

connectToMqtt(); }

(11)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 10 Serial.println("Disconnected from Wi-Fi.");

mqttReconnectTimer.detach(); wifiReconnectTimer.attach(2, connectToWifi); } void connectToMqtt() { Serial.println("Connecting to MQTT..."); mqttReconnectTimer.detach(); mqttClient.connect(); }

//void onMqttConnect(bool sessionPresent) { // Serial.println("Connected to MQTT."); // Serial.print("Session present: "); // Serial.println(sessionPresent); //}

void onMqttConnect(bool sessionPresent) { // Serial.println("Connected to MQTT."); // Serial.print("Session present: "); // Serial.println(sessionPresent);

uint16_t packetIdSub = mqttClient.subscribe("test/lol", 1); // Serial.print("Subscribing at QoS 1, packetId: ");

// Serial.println(packetIdSub);

packetIdSub = mqttClient.subscribe(TOPIK1, 1); // Serial.print("Subscribing at QoS TOPIC1, packetId: "); // Serial.println(packetIdSub);

packetIdSub = mqttClient.subscribe(TOPIK2, 1); // Serial.print("Subscribing at QoS TOPIC2, packetId: "); // Serial.println(packetIdSub);

packetIdSub= mqttClient.publish("test/lol", 1, true, "test 2"); // Serial.print("Publishing at QoS 1, packetId: ");

// Serial.println(packetIdPub1); }

void onMqttDisconnect(AsyncMqttClientDisconnectReason reason) { Serial.println("Disconnected from MQTT."); if (WiFi.isConnected()) { Serial.println("Connecting to MQTT..."); mqttReconnectTimer.attach(2, connectToMqtt); } }

void onMqttSubscribe(uint16_t packetId, uint8_t qos) { Serial.println("Subscribe acknowledged."); Serial.print(" packetId: "); Serial.println(packetId); Serial.print(" qos: "); Serial.println(qos); }

void onMqttUnsubscribe(uint16_t packetId) { Serial.println("Unsubscribe packetId:"); Serial.println(packetId);

(12)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 11 //test/lol

void onMqttMessage(char* topic, char* payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total) {

Serial.println("#################"); Serial.println(topic); Serial.println(payload); Serial.println("================="); char new_payload[len+1]; new_payload[len] = '\0';

strncpy(new_payload, payload, len); Serial.print("**new_payload: "); Serial.println(new_payload); if((String(new_payload) =="ON")){ //digitalWrite(RELAY_PIN, HIGH);

mqttClient.publish(TOPIK3, 1, false, new_payload); Serial.println("Lampu ON");

} else{

mqttClient.publish(TOPIK3, 1, false, new_payload); //digitalWrite(RELAY_PIN, LOW);

Serial.println("Lampu Off"); }

}

void onMqttPublish(uint16_t packetId) { Serial.print("Succes PublishID:"); Serial.println(packetId); } void setup() { Serial.begin(115200); // pinMode(RELAY_PIN, OUTPUT); // digitalWrite(RELAY_PIN, LOW); wifiConnectHandler = WiFi.onStationModeGotIP(onWifiConnect); wifiDisconnectHandler = WiFi.onStationModeDisconnected(onWifiDisconnect); mqttClient.onConnect(onMqttConnect); mqttClient.onDisconnect(onMqttDisconnect); mqttClient.onSubscribe(onMqttSubscribe); mqttClient.onUnsubscribe(onMqttUnsubscribe); mqttClient.onMessage(onMqttMessage); mqttClient.onPublish(onMqttPublish); mqttClient.setServer(mqtt_server, atoi(mqtt_port)); mqttClient.setCredentials(mqtt_user, mqtt_pass); mqttClient.setKeepAlive(5).setCleanSession(false).setWill(TOPIK3, 2, true, "LP2MARAY").setCredentials(mqtt_user, mqtt_pass).setClientId("m"); Serial.println("Connecting to MQTT..."); connectToWifi(); } void loop() {

long hum = random(100); long temp =random(35);

(13)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 12 Serial.printf("Publishing on topic %s at QoS 1, packetId: %i ", TOPIK1, varData1);

Serial.println("Sent1 "+String(varData1));

uint16_t varData2 = mqttClient.publish(TOPIK2, 1, true, String(hum).c_str()); Serial.printf("Publishing on topic %s at QoS 2, packetId %i: ", TOPIK2, varData2);

Serial.println("Sent2 "+String(varData1)); delay(10000);

}

3.AKUISISI DATA UDP

UDP atau User Datagram Protocol merupakan bagian protocol yang masih menggunakan sistem lapisan transport TCP/IP memiliki karakter unreliable dan tanpa koneksi antara satu dan beberapa host dalam jaringan TCP/IP.

Pada dasarnya, UDP digunakan untuk melakukan berbagai aktivitas transfer data dengan sangat cepat. Aplikasi UDP paling banyak terjadi pada saat pengguna melakukan streaming video. Protocol ini memang lebih menonjol dalam hal kecepatan daripada keandalan.

+Arduino UDP Client

Sebagai berikut adalah source code pada Arduino Client #include <ESP8266WiFi.h>

#include <WiFiUdp.h> #define WIFI_SSID "pikachu" #define WIFI_PASS "123asdfghjkl" #define UDP_PORT 9992

WiFiUDP UDP; char packet[255];

char reply[] = "Packet received!";

void setup() { Serial.begin(9600);

(14)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 13 Serial.println(); WiFi.begin(WIFI_SSID, WIFI_PASS); Serial.print("Connecting to "); Serial.print(WIFI_SSID);

while (WiFi.status() != WL_CONNECTED) { delay(100); Serial.print("."); } Serial.println(); Serial.print("Connected! IP address: "); Serial.println(WiFi.localIP()); UDP.begin(UDP_PORT);

Serial.print("Listening on UDP port4"); Serial.println(UDP_PORT); } void loop() { int RND=random(10); if (RND>5){ //UDP.beginPacket(UDP.remoteIP(), UDP.remotePort());

UDP.beginPacket( "192.168.0.108",UDP_PORT);//IP SERVER, PORT =PORT di SERVER String varData =String(RND);

Serial.print("Send :"+varData);

const char* myvalue = varData.c_str(); UDP.write(myvalue);

}

int packetSize = UDP.parsePacket(); if (packetSize) {

//Serial.print("Received packet! Size: "); //Serial.println(packetSize);

int len = UDP.read(packet, 255); if (len > 0) {

packet[len] = '\0'; }

Serial.println(UDP.remoteIP());

Serial.print("Packet dari "+String(UDP.remotePort())+"="); Serial.println(packet); Serial.println("+++++++++++++++++++++++++++++++++"); delay(5000); } UDP.endPacket(); }

(15)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 14 +Source Code pada Web server (Standby)

<?php

error_reporting(~E_WARNING);

if(!($sock = socket_create(AF_INET, SOCK_DGRAM, 0))){ $errorcode = socket_last_error();

$errormsg = socket_strerror($errorcode);

die("Couldn't create socket: [$errorcode] $errormsg \n"); }

echo "Socket created \n"; // Bind the source address

$IP="192.168.0.108";//IP SERVER (MYSELF) if( !socket_bind($sock, $IP , 9992) ){

$errorcode = socket_last_error(); $errormsg = socket_strerror($errorcode);

die("Could not bind socket : [$errorcode] $errormsg \n"); }

echo "Socket bind OK \n"; while(1){

$buf=rand(100,1000);

$r = socket_recvfrom($sock, $buf, 512, 0, $remote_ip, $remote_port); if($buf>5){

echo "$remote_ip:$remote_port:@" . $buf."@<br>";

socket_sendto($sock, "Respon:" . $buf ."*", 100 , 0 , $remote_ip , $remote_port); }

}

socket_close($sock); ?>

(16)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 15 Link Belajar: https://youtu.be/-fpCvG8ZleU https://youtu.be/PpdXOF2jV1w PESAN SPONSOR: +Free RP.0:

• Modul Materi Webinar

Video Tutorial cara menjalankan aplikasi: Engine Source Code Praktek Webinar

Sertifikat Digital Kepesertaan akan diberikan kepada

yang telah berhasil mempraktekkan materi webinar ini berupa link youtube praktek kesuksesan komunikasi data di atas kepada pemateri / admin penyelenggara max 1x24jam

+Berbayar Rp.300K:

• Modul Materi Detail

Sertifikat Digital Kepesertaan

Video Hasil Record Zoom Webinar dari Awal sd akhir

Source Code Lengkap Bahan Praktek Webinar (dataserver php, webserver code, Tutorial Detail) Video Tutorial / Pembelajaran Langkah-Langkah Di atas

Source Code Aplikasi Studi Kasus Komunikasi Data di atas Video Tutorial / Pembelajaran Aplikasi Studi Kasus

+Training Online Selama Pandemi (ASK) materi studi kasus

materi tugas pabrik/perusahaan/kantor/studi kasus

(17)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 16 +Kelas Bimbingan/ Private Onsite/di Tempat Kursus LP2MARAY

semua materi kursus / silabus bisa di cek pada

www.lp2maray.com

RANGKUMAN EVENT :

*_WEBINAR FREE_* SELASA_1

_Artificial Intelligent Arduino #1_

*Implementasi Fuzzy Sugeno/Mamdani Untuk SPK Pada Arduino*

Hari/tanggal: Selasa, 9 Maret 2021

Pukul: 10:00 sd 11:00 WIB

Gabung Grup: https://bit.ly/AIUNO9-2 ================================ SELASA_2

_Machine Learning Series #1_

*Implementasi Naive Bayes Untuk Clustering Berbasis Web* Dengan materi:

+Praktek Array +Koneksi DataLatih

+Kalkulasi Algoritma Naive Bayes +Validasi Perhitungan

Hari/tanggal: Selasa, 9 Maret 2021

Pukul: 11:00 sd 12:00 WIB

Gabung Grup: https://bit.ly/384DboM ================================ SELASA_3

_Image Processing Series #1_

*Praktik Pemrosesan Citra Digital pada Matlab GUI* Dengan materi:

+Desain layout +Pemrograman +Praproses Citra

+FIltering - Deteksi Tepi Citra

Hari/tanggal: Selasa, 9 Maret 2021

Pukul: 13:00 sd 14:00 WIB

Gabung Grup: https://bit.ly/309C2rv ================================ RABU_1

_Artificial Intelligent Arduino #2_

Praktek 3 Model Akuisisi Data dari Arduino ke Web Server Dengan materi:

+Port 80/443 HTTP/HTTPS (Client Server) +Port 1883/1884 MQTT (One to Many)

(18)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 17

Hari/tanggal: Rabu, 10 Maret 2021

Pukul: 10:00 sd 11:00 WIB

Gabung Grup: https://bit.ly/3c5H3Hs ================================ RABU_2

_Machine Learning Series #2_

Implementasi Sistem Pengambilan Keputusan Berbasis Web Dengan materi:

+Praktek Array +Koneksi DataLatih

+Create Read Update Delete Show Datalatih +Algoritma SAW

Validasi Perhitungan

Hari/tanggal: Rabu, 10 Maret 2021

Pukul: 11:00 sd 12:00 WIB

Gabung Grup: https://bit.ly/3qlNyek ================================ RABU_3

_Image Processing Series #2_

Implementasi Jaringan Syarat Tiruan Pada Matlab GUI Dengan materi:

+Desain layout +Pemrograman +Praproses Citra

+Praktek Backpropagation

Hari/tanggal: Rabu, 17 Maret 2021

Pukul: 10:00 sd 11:00 WIB

Gabung Grup: https://bit.ly/388S2yF ================================ KAMIS_1

_Artificial Intelligent Arduino #3_

*Akuisisi Data GSM/GPRS/SATELIT dari Arduino ke Web Server* Dengan materi:_

```+Koneksi ke GSM Modul``` ```+AT+COMMAND Kirim SMS```

```+AT+COMMAND Kirim Data ke Web Server```

Hari/tanggal: Kamis, 11 Maret 2021

Pukul: 10:00 sd 11:00 WIB

Gabung Grup: https://bit.ly/AIUNO11 ================================ KAMIS_2:

_Implementasi IT Masyarakat #3_

*Membangun Pesan SMS dan Telegram Gateway Berbasis Web* Dengan materi:_

(19)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 18 ```+Koneksi DataLatih```

```+Create Read Update Delete Show Database``` ```+Kirim Pesan```

```+Broadcast SMS/Pesan```

Hari/tanggal: Kamis, 11 Maret 2021

Pukul: 11:00 sd 12:00 WIB

Gabung Grup: https://bit.ly/MLEARNING11 ================================ KAMIS_3:

_Image Processing Series #2_

*Akses Camera WebCam Pada Matlab GUI* _Dengan materi:_

```+Desain layout```

```+Pemrograman Webcam``` ```+Deteksi-Resolusi-Realtime``` ```+Capture-Save```

Hari/tanggal: Kamis, 18 Maret 2021

Pukul: 10:00 sd 11:00 WIB

Gabung Grup: https://bit.ly/IMGPROS11 ================================ SABTU_1

_Artificial Intelligent Arduino #4_

*Sistem Pendataan Absensi AutoCapture Berbasis Arduino* _Dengan materi:_

```+Arduino capture Gambar``` ```+Arduino Koneksi ke Database``` ```+Arduino kirim Gambar ke Server``` ```+Arsip```

Hari/tanggal: Sabtu, 13 Maret 2021

Pukul: 10:00 sd 11:00 WIB

Gabung Grup: https://bit.ly/AI-UNO13 ================================ SABTU_2

_Implementasi IT Masyarakat #4_

*Membangun Payment Gateway berbasis Open Source MIDTRANS* Dengan materi:_

```+Konfigurasi Midtrans``` ```+Koneksi Database```

```+Create Read Update Delete Show Database``` ```+Transfer Virtual ATM```

```+Konfirmasi dan Validasi Midtrans```

Hari/tanggal: Sabtu, 13 Maret 2021

Pukul: 11:00 sd 12:00 WIB

Gabung Grup: https://bit.ly/MLEARNING13 ================================

(20)

www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 19 _Image Processing Series #4

*Sistem Ukur Ketinggian Dan Lebar Tubuh Automatis Manusia Pada Matlab GUI* Dengan materi:_

```+Desain layout```

```+Pemrograman Webcam``` ```+Deteksi-Resolusi-Realtime``` ```+Capture-Save```

```+Hitung Tinggi dan Lebar Objek```

Hari/tanggal: Sabtu, 20 Maret 2021

Pukul: 10:00 sd 11:00 WIB

Gabung Grup: https:https://bit.ly/IMGPROS13 ================================

Pemateri : *Adiarray, S.Kom,M.Kom* (Dosen IT / CEO LP2MARAY) _*Syarat Bergabung :*_

``` Bantu Share Webinar ini minimal ke 3 teman/group yang lain``` ``` Masuk ke Grup WA pada Link di atas```

``` Siapkan: software Matlab, Software perekam video```

``` Tersedia juga (Optional):* Sertifikat, Video Full, Panduan, Source Code Implementasi (*berbayar untuk versi detailnya...)```

Info Detail:

www.lp2maray.com

(21)

Referensi

Dokumen terkait

Berdasarkan hal tersebut diatas, maka bahwa antara kelas eksperimen yang menggunakan media e-book dengan kelas kontrol yang tidak menggunakan media e- book

Karena salah satu sumber belajar yang amat penting adalah perpustakaan, yang hams memungkinkan para tenaga kependidikan dan para peserta didik memperoleh kesempatan untuk memperluas

Penelitian ini ditujukan untuk melihat sampai sejauh mana kebijakan pemerintah daerah dalam mengalokasikan DAU yang diterima untuk kepentingan belanja modal dan bagaimana

muelleri asal Sumatra dan Kalimantan dapat digambarkan melalui rasio antar karakter, yaitu rasio antara panjang tengkorak (GSL) dengan panjang deretan geraham ke satu sampai ke

Kesimpulan penelitian adalah bahwa nada awal, nada terendah dan nada final perempuan ketika berbicara lebih tinggi daripada tuturan laki-laki, tetapi tidak ditemukan

Berdasarkan penelitian tentang “faktor- faktor yang berhubungan dengan penyembuhan luka post operasi laparotomi di ruang rawat inap RSUD Tugurejo Semarang” yang dilakukan