• Tidak ada hasil yang ditemukan

SKRIPSI IMPLEMENTASI KEAMANAN KOMUNIKASI DATA PADA SMART 3 PHASE POWER METER

N/A
N/A
Protected

Academic year: 2022

Membagikan "SKRIPSI IMPLEMENTASI KEAMANAN KOMUNIKASI DATA PADA SMART 3 PHASE POWER METER"

Copied!
72
0
0

Teks penuh

(1)

SKRIPSI

IMPLEMENTASI KEAMANAN KOMUNIKASI DATA PADA SMART 3 PHASE POWER METER

Diajukan untuk memenuhi persyaratan menyelesaikan pendidikan sarjana (S-1) pada

Departemen Teknik Elektro Sub Konsentrasi Teknik Komputer

Oleh

TAUPAN ERLANGGA UTAMA NIM : 150402063

DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA MEDAN

2021

(2)
(3)

i ABSTRAK

Data penting baik data pribadi, data suatu perusahaan, data kepemerintahan dan data penting lainnya jika menggunakan sistem pemberkasan maka diperlukan suatu tempat yang khusus untuk menyimpan data tersebut agar tetap aman. Seiring perkembangan zaman, penyimpanan data seperti tadi sudah mulai ditinggalkan.

Permasalahannya adalah metode seperti diatas memerlukan banyak biaya, untuk itu penyimpanan data mulai beralih ke internet. Penyimpanan data di internet pada platform berbayar yang tersedia sudah banyak dan keamanannya juga sangat baik. Tetapi perkembangan zaman juga mempengaruhi hal lainnya, misalnya metode pencurian data juga sudah berkembang dan salah satu metode pencurian data yaitu melacak jalur pengiriman data antara si pengirim dan database yang menyediakan tempat penyimpanan data.

Salah satu cara untuk mengatasi permasalahan diatas adalah dengan melakukan enkripsi pada saat data dikirimkan. Untuk itu dibuatlah protokol komunikasi data yang dapat mengamankan data pada saat data sedang dikirimkan.

Diantara protokol komunikasi data yang memiliki fitur enkripsi adalah Secure Soket Layer(SSL)/Transport Layer Secure(TLS).

Sistem ini diaplikasikan pada Smart 3 Phase Power Meter yang diharapkan bisa memenuhi kebutuhan ini. Pembacaan data ini menggunakan metode packet sniffer. Dari pengujian yang telah dilakukan data yang dikirim dari alat rancangan ke database sudah berhasil di enkripsi.

Kata Kunci : Keamanan Pengiriman Data, Smart 3 Phase Power Meter, Packet Sniffer, TLS

(4)

ii

KATA PENGANTAR

Segala puji dan syukur penulis panjatkan kehadirat Allah subhanahu wa ta’ala, karena atas berkat dan rahmat-Nya Tugas Akhir ini dapat disusun dan diselesaikan. Sholawat dan salam penulis sampaikan kepada nabi Muhammad shallallahu alaihi wa sallam. Serta penulis sangat berterimakasih kepada orang tua penulis yang menjadi motivasi bagi penulis untuk menyelesaikan Tugas Akhir ini.

Tugas Akhir ini merupakan bagian dari kurikulum yang harus diselesaikan untuk memenuhi persyaratan dalam menyelesaikan pendidikan Sarjana Strata Satu di Departemen Teknik Elektro, Universitas Sumatera Utara. Adapun judul Tugas Akhir ini adalah :

“IMPLEMENTASI KEAMANAN KOMUNIKASI DATA PADA SMART 3 PHASE POWER METER”

Tugas Akhir ini penulis persembahkan kepada orangtua yang teristimewa yaitu ayahanda Surya Utama dan Isnah Khairani yang selalu memberikan semangat dan mendoakan penulis selama masa studi hingga menyelesaikan Tugas Akhir ini.

Selama masa kuliah hingga penyelesaian Tugas Akhir ini, penulis juga banyak mendapatkan dukungan maupun bantuan dari berbagai pihak. Untuk itu penulis ingin menyampaikan rasa terima kasih yang mendalam kepada:

1. Bapak Soeharwinto, S.T., M.T., selaku dosen Pembimbing Tugas Akhir yang telah banyak meluangkan waktu dan pikirannya untuk selalu memberikan bantuan, bimbingan, dan pengarahan kepada penulis selama perkuliahan hingga penyusunan Tugas Akhir ini.

(5)

iii

2. Bapak Tigor Hamonangan Nasution, ST., MT., dan Bapak Ir. Kasmir Tanjung, MT., selaku Dosen Penguji Tugas Akhir yang telah memberikan banyak masukan demi perbaikan Tugas Akhir ini.

3. Bapak Ir. Arman Sani, MT., selaku dosen wali penulis dan juga selaku Sekretaris Departemen Teknik Elektro FT-USU yang selama ini telah memotivasi, membimbing serta membina selama masa perkuliahan.

4. Seluruh Bapak dan Ibu dosen teknik elektro, khususnya kepada bapak Ir. T. Ahri Bahriun, M.Sc., bapak Ir. Pernantin Tarigan, M.Sc., bapak Soeharwinto, S.T., M.T., bapak Tigor Hamonangan Nasution, ST., MT., bapak Ir. Kasmir Tanjung, bapak Dr. Fahmi, ST M.Sc. Ph.D., bapak Suherman, ST., M.Comp., Ph.D., bapak ir. M. Zulfin, MT., yang telah banyak mengajarkan dan berbagi pengalaman kepada penulis.

5. Seluruh staf pegawai Departemen Teknik Elektro FT USU Kak Umi, Kak Fika, Bang Divo dak pak Darsono yang telah membantu penulis dalam pengurusan administrasi.

6. Ira Suryani, Teguh Putra Utama, Puspita Tri Utami dan Rina Iswara selaku saudara/i penulis yang memberikan dukungan langsung kepada penulis selama masa studi maupun saat penulisan tugas akhir ini.

7. Teman - teman saib’er selaku teman diskusi dan bermain yang memberikan motivasi kepada penulis.

8. Teman-teman satu angkatan 2015 Teknik Elektro FT USU sebagai teman seperjuangan yang selalu memberikan dukungan.

(6)

iv

9. Serta semua keluarga, kerabat, dan teman lainya yang telah banyak membatu penulis dalam menyelesaikan studi yang tidak dapat disebutkan satu persatu.

Saran dan kritik dari pembaca sangat penulis harapkan untuk menyempurnakan dan mengembangkan kajian dalam bidang terkait Tugas Akhir ini. Akhir kata, penulis berharap semoga Tugas Akhir ini dapat bermanfaat bagi pembacanya.

Medan, Oktober 2021 Penulis,

Taupan Erlangga Utama 150402063

(7)

v DAFTAR ISI

ABSTRAK ... i

KATA PENGANTAR ... ii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... x

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Tujutan Penulisan ... 3

1.4 Batasan Masalah... 3

1.5 Manfaat Penelitian ... 3

1.6 Sistematiak Penulisan ... 4

BAB II DASAR TEORI ... 5

2.1 HTTP ... 5

2.2 HTTPS ... 6

2.3 SSL/TLS ... 7

2.4 MySQL ... 9

2.5 PHP ... 10

2.6 Mikrokontroler ... 12

2.7 Packet Sniffer ... 13

(8)

vi

2.8 Enkripsi Data ... 14

BAB III METODE PENELITIAN ... 16

3.1 Metode dan Tahapan Pelaksanaan ... 16

3.2 Identifikasi Kebutuhan/Persyaratan Sistem (Requirements) ... 17

3.3 Perancangan Sistem ... 18

3.3.1. Kebutuhan Alat ... 19

3.3.2. Perancangan Perangkat Keras ... 23

3.3.3. Perancangan Perangkat Lunak ... 25

3.3.4. Perancangan Halaman Web ... 27

3.4 Implementasi Rancangan Sistem ... 28

3.4.1. Implementasi Perancangan Perangkat Keras ... 28

3.4.2. Implementasi Perancangan Perangkat Lunak ... 28

3.4.3. Implementasi Perancangan Halaman Web... 29

3.5 Pengujian ... 30

BAB IV PENGUJIAN DAN ANALISA ... 32

4.1 Kalibrasi dan Pengujian Modul PZEM-004T ... 32

4.2 Pengujian Keseluruhan Sistem ... 33

4.2.1. Pengujian Pengiriman Data Tanpa Enkripsi ... 34

4.2.2. Pengujian Pengiriman Data Dengan Enkripsi ... 36

4.3 Analisa Sistem ... 40

4.3.1. Batasan Analisa Sistem ... 40

4.3.2. Analisa Sistem ... 40

BAB V KESIMPULAN DAN SARAN ... 43

5.1 Kesimpulan ... 43

(9)

vii

5.2 Saran ... 43 DAFTAR PUSTAKA ... 45 LAMPIRAN ... 48

(10)

viii

DAFTAR GAMBAR

Gambar 2.1 Penampakan Ikon Pada Website Yang Menggunakan SSL dan Yang

Tidak Menggunakan SSL ... 8

Gambar 2.2 Beberapa Jenis Mikrokontroler ... 12

Gambar 2.3 Interface awal Wireshark ... 14

Gambar 3.1 Diagram Blok Sistem ... 18

Gambar 3.2 Module Arduino Uno ... 20

Gambar 3.3 Raspberry Pi 3 B+ ... 20

Gambar 3.4 Module PZEM-004T ... 21

Gambar 3.5 Halaman Muka Wireshark ... 23

Gambar 3.6 Diagram Blok Perangkat Keras ... 23

Gambar 3.7 Rangkaian Skematik Sistem 3 Phase Power Meter ... 24

Gambar 3.8 Diagram Alir Sistem Pada Alat ... 26

Gambar 3.9 Diagram Alir Halaman Web ... 27

Gambar 3.10 Hasil Mounting Perangkat Keras Yang Terintegrasi... 28

Gambar 3.11 Halaman Web ... 29

Gambar 3.12 Struktur Data Penyimpanan Pada Database ... 30

Gambar 3.13 Percobaan Pengiriman Data ... 31

Gambar 4.1 Proses Kalibrasi Modul PZEM-004T ... 32

Gambar 4.2 Data Pertama ... 34

Gambar 4.3 Data ke-30 ... 35

Gambar 4.4 Data ke-70 ... 35

Gambar 4.5 Data ke 100... 36

Gambar 4.6 Data Terenkripsi Pertama ... 37

(11)

ix

Gambar 4.7 Data Terenkripsi ke-30 ... 38

Gambar 4.8 Data Terenkripsi ke-70 ... 38

Gambar 4.9 Data Terenktipsi ke-100 ... 39

Gambar 4.10 Proses Handshake ... 42

(12)

x

DAFTAR TABEL

Tabel 2.1 Daftar Fungsi Khusus PHP Untuk Mengakses MySQL ... 10 Tabel 4.1 Perbandingan Pengiriman Data Tanpa atau Dengan Proses Enkripsi .. 40

(13)

BAB I PENDAHULUAN 1.1. Latar Belakang

Data penting seperti data pribadi, data perusahaan, data kepemerintahan, dan data penting lainnya haruslah disimpan ditempat yang aman. Keamanan penyimpanan data ini sangat penting karena pengguna tidak ingin data yang mereka simpan ke internet sampai diubah-ubah atau bahkan dicuri.

Ada beberapa cara yang bisa kita lakukan agar data yang kita simpan ke internet bisa lebih aman, salah satu caranya yaitu dengan menenkripsikan data tersebut ketika data hendak dikirim. Pengenkripsian data ini bertujuan agar ketika data yang dikirim berhasil diketahui, maka isi data tidak akan diketahui karena isi data yang dikirim tidak lagi dalam bentuk plaintext.

Pada power meter 3 fase berbasis mikrokontroler yang memiliki modul komunikasi GSM telah dibuat dan diuji dengan hasil yang cukup baik. Sistem pengiriman data dari power meter 3 fase menuju database menggunakan protokol komunikasi HTTP (HyperText Transfer Protocol). Sistem pengiriman data menggunakan protokol komunikasi HTTP sanagt tidak aman. Pasalnya hanya dengan melakukan sniffing data, data yang telah dikirimkan dari power meter 3 fase ke database yang menggunakan protokol komunikasi HTTP dapat dibaca karena data yang dikirim masih dalam bentuk plaintext. Hal ini mengakibatkan data akan sangat tidak aman[10].

Pengiriman paket data yang efektif harus memenuhi beberapa syarat, yaitu pertama adalah aman dari serangan, kemudian efisien dalam performa pengiriman

(14)

data dan yang terakhir efektif dengan sehubungan pada kompleksitas ruang dan waktu[1].

Oleh karena itu pada penelitian kali ini akan dirancang kembali sebuah power meter 3 fase yang pengiriman datanya bisa diamankan. Protokol komunikasi data yang digunakan diubah menjadi HTTPS (Hypertext Transport Protokol Secure) dan protokol enkripsi datanya adalah SSL/TLS.

1.2. Rumusan Masalah

Berdasarkan latar belakang yang telah diuraikan diatas, maka masalah yang akan dibahas adalah Bagaimana membuat modul enkripsi data pada power meter 3 fase berbasis mikrokontroler

1.3. Tujuan Penulisan

Tujuan dari skripsi ini adalah untuk meningkatkan keamanan data yang akan dikirim dari mikrokontroler ke database menggunakan protokol SSL/TLS.

1.4. Batasan Masalah

Adapun batasan masalah pada penulisan skripsi ini adalah : 1. Protokol enkripsi data yang digunakan adalah SSL/TLS 2. Protokol komunikasi data yang digunakan adalah HTTPS.

3. Target implementasi protokol SSL/TLS adalah sistem berbasis mikrokontroler.

4. Sistem berbasis mikrokontroler yang digunakan mendukung bahasa pemrograman Pyhton

5. Parameter yang akan ditampilkan pada website adalah arus, tegangan, daya, factor daya dan frekuensi listrik.

(15)

6. Data pengukuran yang akan direkam adalah data dari awal pengukuran hingga pengukuran terakhir.

7. Penyajian data dalam bentuk grafik dapat disesuaikan dengan periode waktu yang diinginkan (per tahun, per bulan, per minggu, atau per hari) 8. Pengolahan data menggunakan database MySQL.

9. Sistem operasi yang digunakan pada platform mikrokontroler adalah sistem operasi berbasi Unix

10. Untuk pembacaan parameter tegangan, arus, frekuensi menggunakan mikrokontroler Arduino UNO yang dilengkapi dengan modul-modul yang diperlukan.

1.5. Manfaat Penelitian

Adapun manfaat penelitian pada skripsi ini adalah peningkatan dari alat yang telah dibuat sebelumnya dimana pada alat yang dibuat ini sudah dilengkapi dengan modul keamanan data.

1.6. Sistematika Penelitian

Skripsi ini disusun berdasarkan sistematika penulisan sebagai berikut :

BAB I PENDAHULUAN

Bab ini menjelaskan mengenai latar belakang, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitan, metode dan sistematika penelitian.

BAB II DASAR TEORI

Bab ini membahas mengenai teori tentang Rasberry pi, HTTP, HTTPS, MYSQL, Packet Sniffer, PHP dan SSL.

(16)

BAB III PERANCANGAN SISTEM

Pada bab ini dijelaskan tentang perancangan sistem perancangan perangkat keras, dan perancangan perangkat lunak.

BAB IV PENGUJIAN DAN ANALISIS

Bab ini membahas tentang pengujian dan analisis terhadap sistem yang telah dirancang.

BAB V KESIMPULAN DAN SARAN

Bab ini membahas tentang kesimpulan dari perancangan dan saran-saran yang mungkin untuk pengembangan lebih lanjut.

(17)

BAB II DASAR TEORI 2.1. HTTP

HTTP adalah sebuah protokol meminta atau menjawab antara client dan server. Di dalam komunikasi ini, komputer client melakukan permintaan dengan mengakses alamat IP atau domain (URL). Kemudian web server mengelola permintaan tersebut sesuai dengan kode yang dimasukkan.

Protokol ini dikembangkan untuk membantu protes transfer antara komputer.

Berikut adalah beberapa informasi yang bisa ditransfer menggunakan HTTP seperti dokumen, file, gambar, dan video antar komputer[2].

Contoh yang paling sederhana dari komunikasi ini adalah ketika komputer client melakukan permintaan menggunakan browser ke web server, maka web server menanggapi permintaan tersebut dengan mengirimkan data/dokumen yang tersedia di dalam web server sesuai dengan permintaan komputer client.

Selain itu, protokol HTTP cukup fleksibel dan sampai saat ini terus dikembangkan dengan penambahan beberapa fitur baru. Hal ini membuat protokol HTTP menjadi protokol yang paling dapat diandalkan dan paling cepat memproses pertukaran data[11].

(18)

2.2. HTTPS

HTTPS memiliki pengertian yang sama dengan HTTP hanya saja HTTPS memiliki kelebihan fungsi dibidang keamanan (secure). Dengan menggunakan Secure Soket Layer (SSL) atau Transport Layer Security (TLS) sebagai sublayer dibawah HTTP aplikasi layer yang biasa. Teknologi HTTPS protokol mencegah kemungkinan “dicurinya” informasi penting yang dikirimkan selama proses komunikasi berlangsung antara user dengan web server atau sebaliknya[2].

Secara teknis, website yang menggunakan HTTPS akan melakukan enkripsi terhadap informasi (data) menggunakan teknik enkripsi SSL. Enkripsi yang dilakukan pada HTTPS adalah pada data session, selain menggunakan komunikasi plain text. Dengan cara ini meskipun seseorang berhasil “mencuri” data tersebut selama dalam perjalanan user web server, orang tersebut tidak akan bisa membacanya karena sudah diubah oleh teknik enkripsi SSL.

Protokol yang digunakan HTTPS adalah Transport Layer Security (TLS) melakukan pengamanan data menggunakan 3 lapis perlindungan kunci:

1. Autentikasi

Fungsi autentikasi pada HTTPS adalah memastikan pengguna melakukan komunikasi dengan situs yang diinginkan. Pengamanan ini dilakukan untuk menanggulangi serangan man-in-the-middle (MTM). MTM merupakan serangan yang dilakukan dengan masuk ke saluran pertukaran yang sedang berlangsung.

2. Enkripsi

Tingkatan enkripsi yang dilakukan HTTPS adalah pada pertukaran data.

Enkripsi dilakukan untuk menjaga dari tindakan pencurian dan

(19)

penyadapan data pengguna. Sebelum menggunakan HTTPS dulunya data yang dikirimkan dari klien ke server tidak di enkripsi. Sehingga ketika data dikirimkan mudah saja pengguna lain melihat data tersebut. Jadi, HTTPS melakukan enkripsi sehingga data tidak tidak bisa dibaca secara langsung.

3. Integritas

Selama proses transfer data berlangsung menggunakan HTTPS semua data tidak dapat diubah. Data yang dikirim akan dibungkus oleh protokol atau aturan-aturan. Proses ini dikenal dengan istilah encapsulation yang terjadi pada sisi pengirim dan decapsulation pada sisi penerima[12].

2.3. SSL/TLS

TLS adalah Transport Layer Security yang mengamankan privasi data, sedangkan SSL merupakan singkatan dari Secure Sockets Layer yang merujuk pada jenis keamanan digital yang memperbolehkan komunikasi dienkripsi di antara website dan web browser.

Secara digital, cara kerja SSL adalah dengan mengunci cryptographic key ke pusat informasi yang hendak diidentifikasi. Data pun akan terenkripsi dengan baik selama proses transfer sehingga pihak ketiga tidak bisa masuk dan mencuri informasi yang sensitif.

Tak hanya private key dan public key, SSL/TLS juga memiliki session key untuk setiap secure session yang unik. Pada saat visitor mengetikkan alamat URL yang telah diamankan SSL ke kolom web browser atau membuka halaman yang sudah dilindungi, browser dan web server akan membuat koneksi.

(20)

Selama koneksi awal, public key dan private key akan digunakan untuk membuat session key, yang kemudian mengenkripsi dan mendekripsi data yang sedang ditransfer. Session key ini akan tetap valid untuk waktu yang terbatas dan hanya digunakan di session tertentu.

Kita bisa tahu apakah suatu website menggunakan SSL atau tidak dari adanya ikon gembok atau bar hijau yang muncul di atas browser. Ikon tersebut dapat diklik sehingga kita bisa tahu siapa yang menyimpan informasi sertifikat dan juga untuk mengelola pengaturan SSL[13]. Penjelasan diatas dapat dilihat pada Gambar 2.1

Gambar 2.1 Penampakan Ikon Pada Website Yang Menggunakan SSL dan Yang Tidak Menggunakan SSL

Sertifikat SSL/TLS bertanggung jawab untuk memastikan bahwa hanya ada satu orang atau ogranisasi yang dizinkan uploader yang dapat mengakses data yang sedang dipindahkan. Tentunya hal ini sangatlah penting mengingat ada banyak perangkat dan server yang harus dilewati oleh suatu informasi sebelum akhirnya tiba di ‘tempat tujuan’.

(21)

2.4. MySQL

MySQL adalah database paling populer dengan open source yang dikembangkan dan didukung oleh Oracle Corporation. Karena sifat yang sangat baik dalam masalah kecepatan, keandalan dan konfigurasi yang mudah, semakin banyak diimplementasikan pada desktop, sistem tertanam, bersama dengan aplikasi lain seperti clients, web servers, computing clauster dan sebagainya.

Saat ini, keamanan penyimpanan data menjadi perhatian besar dan semakin menarik perhatian pengguna. MySQL mengambil keuntungan dari sistem ini untuk memberikan berbagai operasi hak istimewa untuk pengguna yang diautentikasi dan fungsi enkripsi untuk memberikan keamanan password atau data sensitif lainnya. Itu sebabnya, fungsi enkripsi lebih sentral meskipun kontrol akses data dapat didominasi oleh sistem hak istimewa, sementara efek sebenarnya sangat dipengaruhi oleh keamanan sandi dan informasi penting terkait. Jadi fungsi enkripsi memainkan peran penting sebagai dinding realisasi keamanan MySQL[3].

MySQL menggunakan keamanan berdasarkan Access Control Lists (ACLs) untuk semua koneksi, kueri, dan operasi lain yang dapat dicoba dilakukan oleh pengguna. Ada juga dukungan untuk koneksi terenkripsi SSL antara klien dan server MySQL[16].

2.5. PHP

PHP merupakan bahasa pemrograman yang digunakan untuk membuat program website dimana kode program yang telah dibuat dikompilasi dan dijalankan pada sisi server untuk menghasilkan halaman website yang dinamis.

PHP dibuat pada tahun 1994 oleh Rasmus Lerdorf. Pada awalnya PHP didirikan

(22)

untuk Personal Home Page. Karena memiliki banyak manfaat dan dapat berkembang dengan baik maka PHP kemudian disebut dengan PHP : Hypertext Preprocessor. Pada januari 2001 tercatat sebanyak lima juta domain website menggunakan pemrograman PHP.

PHP merupakan perangkat lunak open source. Penulisan kode program PHP menyatu dengan HTML yang berjalan pada sisi server. Hal ini berarti semua sintaks yang telah ditulis akan sepenuhnya dijalankan pada server, hanya hasilnya saja yang dikirim ke sisi browser. PHP merupakan bahasa pemrograman yang sesuai untuk membuat aplikasi website dinamis karena memiliki performa yang tinggi, mudah dipelajari, multiplatform, aman, open source, serta mudah dikoneksikan dengan berbagai macam sistem database[8].

PHP mempunyai banyak fungsi bawaan (reserved word) dengan beragam kemampuan, mulai menampilkan informasi, memanipulasi informasi, keperluan kondisional, keperluan perulangan, sampai pengaksesan database, termasuk MySQL. Hubungan antara PHP dan MySQL sangat baik[4]. Berikut adalah daftar beberapa fungsi PHP yang secara khusus digunakan untuk mengakses dan mengelolah database MySQL yang ditunjukkan oleh Tabel 2.1[9].

Tabel 2.1 Daftar Fungsi Khusus PHP Untuk Mengakses MySQL

MYSQL Fungsi

mysql_connect Digunakan untuk membuka hubungan (koneksi) dengan MySQL server

mysql_pconnect Membuka hubungan (koneksi) permanen/tetap dengan MySQL server

mysql_close Menutup hubungan (koneksi) dengan MySQL server

mysql_create_db Membuat sebuah database baru pada server database MySQL.

mysql_drop_db Mendrop atau menghapus sebuah database pada server database MySQL

mysql_select_db Memilih sebuah database sebagai database aktif

(23)

mysql_query Mengirim perintah SQL ke server MySQL untuk dieksekusi

mysql_db_query Mengirim perintah SQL ke server MySQL pada database aktif

mysql_fetch_array Mengambil baris hasil sebagai array assosiatif mysql_result Menampilkan data hasil query

mysql_fetch_row Menampilkan baris hasil array satu persatu mysql_affected_row Menampilkan nomor baris akibat dari insert,

update, delete yang terakhir

mysql_num_rows Menampilkan nomor baris pada hasil. Perintah ini hanya bisa digunakan pada select

mysql_fetch_field Mencari informasi kolom dari dari hasil, dan menampilkannya sebagai obyek

mysql_fetch_lengths Menampilkan panjang beberapa field pada baris terakhir

mysql_fetch_object Menampilkan baris hasil berupa obyek mysql_field_name Menampilkan nama field tertentu mysql_list_fields Menampilkan daftar field

mysql_num_fields Menampilkan nomor field mysql_field_seek Mencari field tertentu

mysql_field_type Mendapatkan tipe field tertentu

mysql_insert_id Mendapatkan id dari operasi insert sebelumnya mysql_data_seek Memindahkan hasil internal

mysql_free_result Menampilkan memori yang bebas

mysql_errno Menampilkan pesan error dari operasi yang dilakukan terakhir kali

mysql_error Menampilkan pesan error berupa text dari operasi yang dilakukan terakhir kali

mysql_list_dbs Menampilkan daftar database yang ada pada database MySQL

mysql_list_tables Menampilkan daftar tabel yang ada pada database MySQL

mysql_field_len Menampilkan panjang field tertentu

mysql_field_table Mendapatkan nama field dari tabel tertentu mysql_tablename Mendapatkan nama tabel

2.6. Mikrokontroler

Mikrokontroler adalah suatu chip berupa IC (Integrated Circuit) yang merupakan sistem mikroprosesor lengkap dengan komponen pendukukung seperti antarmuka I/O, memori, dan juga periferal lainya[5]. Mikrokontroler dalam penggunaanya difungsikan sebagai otak dari suatu piranti yang memproses

(24)

masukan dapat berupa sensor atau tranducer untuk mengontol akuator seperti motor, LED, relay dan lain-lain. Dalam pengaplikasiannya mikrokontroler mengeksikusi proses - proses berdasarkan program yang dimasukkan kedalamnya.

Kecepatan pengolahan data pada mikrokontroler lebih rendah jika dibandingkan dengan PC. Pada PC kecepatan mikroprosesor yang digunakan saat ini telah mencapai orde GHz, sedangkan kecepatan operasi mikrokontroler pada umumnya berkisar MHz. Begitu juga kapasitas RAM dan ROM pada PC yang bisa mencapai orde Gbyte, dibandingkan dengan mikrokontroler yang hanya berkisar pada orde byte/Kbyte.

Meskipun kecepatan pengolahan data dan kapasitas memori pada mikrokontroler jauh lebih kecil jika dibandingkan dengan komputer personal, namun kemampuan mikrokontroler sudah cukup untuk dapat digunakan pada sistem yang tidak terlalu kompleks dan tidak memerlukan kemampuan komputasi yang tinggi. Mikrokontroler dapat dilihat pada Gambar 2.2.

Gambar 2.2 Beberapa Jenis Mikrokontroler 2.7. Packet Siffer

Sniffing/snifer adalah sebuah kegiatan untuk mencari atau memantau sebuah paket data yang dikirimkan oleh target pada sebuah jaringan yang melewati

(25)

sebuah protokol. Untuk mendapatkan sebuah informasi tersebut maka attacker akan membelokkan sebuah paket data/informasi pada komputer attacker.

Sniffing pada dasarnya terbagi kedalam 2 kategori yaitu sniffing aktif dan sniffing pasif. Sniffing aktif adalah kegiatan yang dapat melakukan perubahan paket data dalam jaringan agar bisa melakukan sniffing. Sedangkan sniffing pasif adalah kebalikan dari sniffing aktif yaitu melakukan kegiatan menyadap/mencari informasi yang di inginkan seorang attacker tanpa merubah paket apapun di dalam jaringan dengan kata lain hanya ingin mengetahui keamanan sebuah jaringan.

Berikut ini beberapa informasi yang didapatkan dari kegitan sniffing :

1. Informasi email 2. Kata sandi FTP 3. Kata sandi telnet 4. Dan lain-lain

Cara kerja sniffing adalah ketika menggunakan sebuah komputer yang terhubung dengan jaringan kantor, instansi sekolah atau yang lainnya. Saat mengirimkan sebuah pesan/email kepada jaringan diluar, maka pesan akan dikirimkan melalui komputer melewati jaringan (wifi, hostpot, server, internet dll ) yang terhubung dengan komputer pengirim pengirim pesan. Setelah itu maka pesan akan sampai pada jaringan yang dituju. Pada saat itulah aktifitas sniffing berjalan. Oleh siapa ? Bisa oleh seorang administration jaringan yang mengendalikan server, bisa dengan user/ pengguna lain yang terhubung satu

(26)

jaringan, atau kemungkinan lain adalah dilakukan oleh hacker/craker, atau oleh seseorang yang mengerti dengan teknik sniffing tersebut[14]

Tools yang dapat digunakan untuk sniffing seperti Wireshark, Capsa network analyzer, Omnipeek network analyzer, Smac, Ettercap, Cain & abel dan lain-lain. Berikut ini adalah interface awal dari salah satu sniffing tools yang ditunjukkan pada Gambar 2.3

Gambar 2.3 Interface awal Wireshark

2.8. Enkripsi Data

Enkripsi adalah sebuah kode yang digunakan untuk menyembunyikan isi pesan atau data. Ini adalah teknik lama, tetapi metode lama jauh lebih sederhana daripada yang kita gunakan saat ini. Metode enkripsi paling awal cenderung melibatkan perubahan urutan huruf, atau mengganti huruf dengan karakter lain.

Seiring berjalannya waktu, khususnya di abad ke-20, orang menjadi jauh lebih baik dalam memecahkan kode-kode ini, sehingga menjadi penting untuk

(27)

membuat kode yang lebih sulit. Munculnya komputer membuat kode cracking yang dulu dianggap rumit menjadi cukup mudah. Banyak hal menjadi lebih rumit oleh pertumbuhan komunikasi digital yang cepat dan kebutuhan keamanannya yang kompleks. Sekarang, jenis enkripsi yang canggih menjadi pelindung dari apa yang membuat kita tetap aman di internet[18].

Ada 2 jenis metode pengenkripsian data : 1. Symmetric-key encryption

Metode Symmetric-key encryption ini melibatkan satu kunci untuk mengenkripsi dan mendeskripsi data. Symmetric-key encryption sangat bagus untuk digunakan ketika hanya satu orang yang perlu mengenkripsi dan mendekripsi data, atau ketika banyak pihak memiliki kesempatan untuk membagikan kunci sebelumnya. Contoh penggunaan Symmetric- key encryption ini adalah 3DES dan AES, tetapi 3DES dan AES menggunakan algoritma matematika yang kompleks dalam pengenkripsian datanya.

2. Public-key encryption

Metode Public-key encryption ini memerlukan satu kunci untuk mengenkripsi data dan satu lagi untuk mendekripsinya. Setiap pengguna menghasilkan sepasang kunci, yang dibuat dari kunci publik dan pribadi.

Kunci publik dibagikan secara terbuka, sedangkan kunci pribadi dirahasiakan sebagai kata sandi. Karena hubungan matematis yang kompleks antara dua kunci, setelah data dienkripsi dengan kunci publik, data hanya dapat didekripsi dengan kunci pribadi yang cocok. Contoh penggunaan Public-key encryption ini adalah RSA.

(28)

BAB III

METODE PENELITIAN 3.1. Metode dan Tahapan Pelaksanaan

Penelitian ini menggunakan metode eksperimental skala laboratorium, dengan komparasi terhadap sistem yang sebelumnya telah dibuat. Implementasi rancangan sistem yang diusulkan akan dicobakan dengan variabel utama pengujian adalah keberhasilan proses enkripsi data yang dikirimkan dari perangkat ke server.

Agar perancangan ini dapat berjalan dengan efesien dan terarah, maka perlu dilakukan tahapan – tahapan pelaksanaan, sebagai berikut:

a. Identifikasi kebutuhan/persyaratan sistem (Requirements)

Pada tahap ini dijelaskan kebutuhan sistem yang harus dipenuhi agar tujuan penelitian ini dapat tercapai.

b. Perangcangan sistem

Pada tahap ini pembuatan model sistem 3 Phasa Power Meter sehingga didapatkan gambaran kebutuhan sistem yang akan digunakan, baik kebutuhan perangkat keras maupun perangkat lunak.

c. Implementasi Rancangan Sistem

Pada tahap ini dilakukan pengimplementasian dari perancangan perangkat keras dan perangkat lunak.

d. Pengujian

Pada tahap ini dilakukan konfigurasi pada sisi server agar alat dan web penampil dapat saling berhubungan. Kemudian dilakukan pengujian

(29)

pengiriman data dari perangkat meter ke server, untuk melihat apakah proses enkripsi telah berjalan dengan baik atau tidak.

3.2. Identifikasi Kebutuhan/persyaratan Sistem (Requirements)

Pada tugas akhir ini dirancang sebuah perangkat untuk mengukur besaran listrik yang datanya dikirim ke database dan data yang dikirimkan ini harus aman.

Teknik pengiriman data yang aman bisa menggunakan pengenkripsisan data ketika data akan dikirim. Pengenkripsian data ini dilakukan oleh mikrokontroler dan pengiriman data yang terenkripsi ini menggunakan media komunikasi Wi-fi.

Dari penjelasan diatas, dapat dilihat kebutuhan sistem yang akan dibuat.

Diantaranya sebagai berikut :

a. Modul pengukuran besaran listrik

Modul pengukuruan besaran listrik yang dibutuhkan pada penelitian ini adalah modul yang dapat mengukur besaran listrik seperti tegangan, arus, frequensi dan yang lainnya. Dibutuhkan 3 buah modul pengukuran besaran listrik, karena alat ini digunakan untuk mengukur besaran listrik pada listrik 3 fase.

b. Mikrokontroler

Proses enkripsi pada alat yang akan dibuat ini terjadi pada mikrokontroler dan pengenkripsian datanya menggunakan protokol SSL/TLS. Jadi, mikrokontroler yang dibutuhkan haruslah bisa mengimplementasikan protokol SSL/TLS ini. Kemudian mikrokontroler juga harus memiliki pin komunikasi data yang banyak agar mudah terhubung dengan modul pengukuran besaran listrik.

(30)

c. Server

Server berfungsi sebagai tempat penyimpanan data dan juga pendeskripsian data besaran listrik.

d. Web penampil

Web penampil berfungsi sebagai media penampil data besaran listrik yang telah dibaca oleh power meter 3 fase.

3.3. Perancangan Sistem

Pada subbab sebelumnya telah dijelaskan kebutuhan dari power meter 3 fase ini agar dapat memenuhi tujuan yang diinginkan. Untuk itu dibuatlah diagram blok dari sistem yang ditunjukkan pada Gambar 3.1.

Gambar 3.1 Blok Diagram Sistem

Pada saat sistem ini mulai berjalan, modul pengukuran besaran listrik akan membaca nilai arus, nilai tegangan dan nilai frekuensi. Kemudian mikrokontroler mengambil data yang telah dibaca oleh modul pengukuran. Setelah data terkumpul, data akan dienkripsi langsung oleh mikrokontroler dengan menggunkan protokol SSL/TLS. Setelah proses enkripsi data berhasil, data kemudian akan dikirim ke database. Database akan langsung mendeskripsikan data yang dikirim oleh mikrokontroler lalu menyimpan datanya. Setelah itu web penampil akan mengambil data dari database lalu menampilkannya pada halaman web.

(31)

.

3.3.1. Kebutuhan Alat

Pada subbab sebelumnya telah dijelaskan bahwa perancangan 3 Phase Power Meter membutuhkan perangkat keras dan perangkat lunak. Maka, dibutuhkan pemilihan tipe perangkat yang sesuai dengan kebutuhan sistem yang dirancang.

1. Arduino UNO

Arduino UNO adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.

Uno berbeda dengan semua board sebelumnya dalam hal koneksi USB-to-serial yaitu menggunakan fitur Atmega8U2 yang diprogram sebagai konverter USB-to-serial berbeda dengan board sebelumnya yang menggunakan chip FTDI driver USB-to-serial[13]. Berikut bentuk fisik dari Arduino Uno ditunjukkan pada Gambar 3.2.

(32)

Gambar 3.2 Module Arduino Uno

Pada penelitian ini Arduino Uno digunakan sebagai mikrokontroler yang akan membaca data masukan dari modul PZEM-004t dengan menggunakan koneksi serial.

2. Raspberry Pi 3 B+

Raspberry Pi 3 B+ adalah sebuah mikrokomputer yang bisa digunakan untuk perangkat komputer dengan spesifikasi chipset ARM Cortex A53 64- bit dan 4 core CPU, dengan kecepatan 1,2GHz. Chipset ini memiliki menejemen suhu yang lebih baik sehingga dapat berjalan pada kecepatan penuh dengan lebih lama sebelum mengalami throttling akibat panas[1].

Berikut bentuk fisik dari Raspberry Pi 3 B+ ditunjukkan pada Gambar 3.3.

Gambar 3.3 Raspberry Pi 3 B+

(33)

Pada penelitian ini Raspberry Pi 3 B+ digunakan sebagai media pengirim data. Raspberry Pi 3 B+ dapat menggunakan protokol SSL/TLS dalam pengiriman datanya yang artinya data yang akan dikirim dapat dienkripsikan.

3. PZEM-004T

PZEM-004T adalah sensor yang dibuat oleh Piecefair Electronics yang digunakan pada penelitian ini untuk mengukur besaran tegangan, arus, daya aktif, energi dan frequensi dengan menggunakan sebuah non-invasif current transformer. PZEM-004T mendapatkan datanya dari CT current transformer dan berkomunikasi dengan sebuah mikrokontroler melalui UART[6]. Berikut bentuk fisik dari PZEM-004T ditunjukkan pada Gambar 3.4.

Gambar 3.4 Module PZEM-004T Berikut spesifikasi dari PZEM-004T :

• Komunikasi serial TTL

• Pengukur daya : 0 ~ 9999kW

• Pengukuran tegangan : 80 ~ 260VAC

• Pengukuran Arus : 0 ~ 100A

(34)

4. MySQL

Pada penelitian ini, server yang digunakan adalah MySQL yang memiliki layanan realtime database. Layanan ini menggunakan sinkronasi data setiap kali ada data yang dikirimkan oleh sipengirim, semua perangkat yang terhubung dengan database akan menerima update dalam waktu milidetik. MySQL juga sangat bagus digunakan untuk kebutuhan mendeskripsikan data yang telah dienkripsi.

5. Wireshark

Wireshark adalah protocol penganalisa jaringan paling populer di dunia. Wireshark memiliki fitur yang banyak dan sangat berguna dan berjalan pada sebagian besar platform komputasi termasuk Windows, OS X, Linux, dan UNIX. Wireshark memiliki alat untuk menangkap, melihat, dan menganalisis paket data. Ini digunakan untuk pemecahan masalah jaringan, analisis, perangkat lunak dan pengembangan protokol komunikasi, dan pendidikan.

Pada penelitian ini Wireshark digunakan untuk mengambil data komunikasi antara Raspberry Pi dan database, yang nantinya data tersebut akan dianalisa untuk mendapatkan hasil yang diinginkan. Berikut adalah tampilan utama pada Wireshark yang ditunjukkan pada Gambar 3.5.

(35)

Gambar 3.5 Halaman muka Wireshark 3.3.2. Perancangan Perangkat Keras

Perancangan Smart 3 Pahse Power Meter menggunakan perangkat keras berupa Module PZEM-004T, Arduino UNO dan Raspberry PI 3 B+.

Pada Gambar 3.6 dapat dilihat blok diagram perangkat keras.

Gambar 3.6 Diagram Blok Perangkat Keras

Pada Gambar 3.6 dapat dilihat bahwa catu daya yang digunakan adalah adaptor 5 volt, dengan menggunakan adaptor 5 volt tidak perlu menambahkan rangkaian interface untuk penyesuaian tegangan terhadap Raspberry Pi. Pada Gambar 3.6 juga dapat dilihat bahwa Arduino UNO langsung dihubungkan dengan Raspberry Pi, yang mengakibatkan Arduino UNO sudah langsung menyala ketika Raspberry Pi mendapatkan daya.

(36)

Gambar 3.7 Rangkaian Skematik Sistem 3 Phase Power Meter

Dari Gambar 3.7 rangkaian skematik sistem dapat dilihat bahwa penggunaan dari PZEM-004T adalah berjumlah 3 buah yang dimaksudkan untuk penginisialan pengukuran besaran listrik 3 fasa yaitu R, S dan T.

Gunanya adalah agar mempermudah penyimpanan data yang diambil ketika proses pengukuran dilakukan.

Pin-pin yang digunakan pada Modul PZEM-004T ini yaitu pin RX dan pin TX. Modul PZEM-004T fasa R untuk pin RX terhubung dengan D3 dan pin TX dengan D4. Modul PZEM-004T fasa S untuk pin RX terhubung dengan D7 dan pin TX dengan D8. Modul PZEM-004T fasa T untuk pin RX terhubung dengan D12 dan pin TX dengan D13. Sedangkan untuk pin VCC dan GND terhubung ke pin 5V dan GND pada Arduino UNO.

(37)

3.3.3. Perancangan Perangkat Lunak

Tahap perancangan perangkat lunak alat 3 Phase Power Meter ialah tahap pembuatan alur program atau algoritma alat dan juga algoritma untuk mengenkripsikan data yang dikirim agar hasil yang didapatkan sesuai dengan tujuan dari pembuatan tugas akhir ini.

1. Pembuatan alur program atau algoritma alat

Pada saat sistem dijalankan hal pertama yang dilakukan oleh alat adalah memastikan modul PZEM-004T telah terhubung ke Arduino UNO. Tugas dari Arduino UNO disini adalah untuk membaca nilai besaran-besaran listrik yang didapat oleh modul PZEM-004T yang kemudian nilai hasil bacaan tersebut akan diambil oleh Raspberry Pi.

Setelah Raspberry Pi mendapatkan semua nilai besaran listrik tadi, Raspberry Pi kemudian akan mengenkripsi semua nilai tadi menjadi data acak lalu Raspberry Pi pun akan mengirimkan data tersebut ke database. Data acak yang terenkripsi ini terlebih dahulu dideskripsikan oleh database untuk mendapatkan data yang sebenarnya lalu database akan menyimpannya. Proses ini dapat dilihat pada Gambar 3.8.

(38)

Gambar 3.7 Diagram Alir Sistem Pada Alat 2. Algoritma pengenkripsian data

Pada penilitian ini, proses enkripsi yang digunakan yaitu RSA. Pada algoritma RSA seperti yang dijelaskan pada BAB sebelumnya menggunakan public key dan private key. Algoritma ini membutuhkan sebuah sertifikat untuk mengirimkan datanya. Sertifikat ini sangat berperan penting dalam pengiriman data yang akan dilakukan karena

(39)

sertifikat inilah yang akan menjadi key pada algortima ini. Ketika proses pengiriman data akan dilakukan, private key akan mengirimkan sertifikat kepada public key sebagai tanda pengenal. Lalu apabila sertifikat yang dimiliki oleh private key dibenarkan oleh public key, maka data akan dikirim oleh public key[17].

3.3.4. Perancangan Web

Tahap perancangan web ini adalah tahap pembuatan alur pengambilan data untuk menampilkan data dari database ke web penampil.

Pada saat membuka halaman web hal pertama yang terjadi adalah memastikan web telah terhubung dengan database. Kemudian web akan mengambil semua data yang tersimpan pada database. Setelah itu terjadilah beberapa perhitungan untuk melengkapi data yang ingin ditampilkan, setelah perhitungan selesai barulah semua data akan ditampilkan pada halaman web.

Proses ini dapat dilihat pada Gambar 3.9.

Gambar 3.9 Diagram Alir Halaman Web

(40)

3.4. Implementasi Rancangan Sistem

Implementasi rancangan sistem ialah tahap pembuatan perangkat keras dan perangkat lunak berdasrkan perancangan sistem yang telah dibuat.

3.3.1. Implementasi Perancangan Perangkat Keras

Seluruh komponen yang dibutuhkan untuk membuat 3 phase power meter seperti yang dijelaskan pada perancangan perangkat keras diintegrasikan yang terpusat pada Raspberry Pi 3 B+ sebagai mikrokomputer.

Setelah perangkat keras terintergrasi langkah selanjutnya adalah melakukan proses mounting atau pemasangan perangkat keras kesebuah wadah yang sudah di siapkan. Hasil dari proses mounting ini dapat dilihat pada Gambar 3.10.

Gambar 3.10 Hasil Mounting Perangkat Keras Yang Terintegrasi 3.3.2. Implementasi Perancangan Perangkat Lunak

Implementasi rancangan perangkat lunak adalah tahap pembuatan program untuk alat berdasarkan algoritma yang telah dirancang, pembuatan program menggunakan software Arduino IDE untuk Arduino Uno dan Visual Studio Code untuk Raspberry Pi.

(41)

Pada Raspberry Pi harus mengunakan sebuah library untuk bisa berkomunikasi antara Raspberry Pi dengan Arduino UNO karena komunikasi yang digunakan adalah komunikasi serial. Dan pada Raspberry Pi harus diinstall terlebih dahulu library-nya lalu bisa untuk dipergunakan.

Sertifikat yang digunakan pada penelitian kali ini adalah sertifikat dari Cloudflare. Pengenkripsian data pada alat ini terjadi pada Raspberry Pi yang mana bahasa pemograman yang digunakan adalah Python. Python menggunakan algoritma pki_helper pada librarynya untuk menciptakan private key dan public key dan juga menggunaan sertifikatnya.

3.3.3. Implementasi Perancangan Web

Implementasi perancangan web ini berfungsi agar pengguna dapat mengakses data yang telah didapatkan alat. Perancangan web ini menggunakan bahasa pemrograman PHP karena bahasa tersebut sangat mudah untuk digunakan bagi pemula. Berikut adalah tampilan halaman web yang ditunjukkan pada Gambar 3.11.

Gambar 3.11 Halaman Web

(42)

3.5. Pengujian

Server yang digunakan pada tugas akhir ini adalah MySQL. Pada tahap konfigurasi ini meliputi pembuatan database, konfigurasi pada sisi server agar alat dan web penampil dapat saling berhubungan. Pada Gambar 3.12 ditunjukan database yang telah dibuat untuk tempat penyimpanan data.

Gambar 3.12 Struktur Data Penyimpanan Pada Database

Setelah pembuatan database langkah selanjutnya adalah melakukan konfugurasi pada server agar alat perancangan dan halaman web dapat saling berhubungan. Pada konfigurasi ini fungsi yang digunakan adalah mysqli_connect.

Fungsi ini berfungsi untuk menghubungkan server dengan clinet yang mana client disini adalah alat perancangan dan web penampil.

Ada beberapa parameter ketika menggunakan fungsi mysqli_connect yaitu nama hots dari database, username MySQL yang digunakan, password dari username, dan nama tabel yang ada pada MySQL. Ketika menggunakan fungsi

(43)

mysqli_connect urutan dari parameternya haruslah seperti yang diatas agar fungsi mysqli_connect dapat berjalan.

Setelah proses konfigurasi pada server dilakukan, langkah selanjutnya adalah percobaan pengiriman data. Percobaan pengiriman data ini dilakukan untuk melihat apakah data yang dikirim sudah terenkripsi atau belum. Percobaan pengiriman data ini dapat dilihat pada Gambar 3.13

Gambar 3.13 Percobaan Pengiriman Data

Dari Gambar 3.13 dapat dilihat bahwa data yang dikirim telah terenkripsi.

Data yang dikirim oleh alat perancangan dapat dilihat pada packet no 19 dan 20.

Dari gambar juga terlihat protokol yang digunakan adalah TLS.

(44)

BAB IV

PENGUJIAN DAN ANALISA 4.1. Kalibrasi Dan Pengujian Modul PZEM-004T

Kalibrasi modul PZEM-004T bertujuan untuk mendapatkan nilai konstanta yang sesuai agar nilai pengukuran besaran listrik dari modul sama dengan atau mendekati dengan alat ukur besaran listrik(multimeter). Proses kalibrasi dilakukan beberapa kali sehingga mendapatkan nilai konstanta yang sesuai sehingga hasil pengukuran sama dengan alat ukur. Pada proses kalibrasi ini, besaran listrik yang ditentukan menjadi acuan untuk mendapankan nilai konstanta yang sesuai dengan multimeter adalah tegangan. Pada Gambar 4.1 ditunjukkan proses kalibrasi modul PZEM-004T.

Gambar 4.1 Proses Kalibrasi Modul PZEM-004T

Setelah melakukan kalibrasi modul dengan melakukan beberapa kali percobaan sehingga mendapatkan nilai konstanta yang tepat untuk alat yang digunakan.

(45)

4.2. Pengujian Keseluruhan Sistem

Pada saat pengujian keseluruhan sistem, seluruh data yang dikirim akan dibagi menjadi 2 bagian yaitu menggunakan beban dan tidak menggunakan beban.

Awal pengujian sistem dibuat tanpa beban kemudian setelah sampai setengah dari keseluruhan pengiriman data, setiap fasa akan diberi beban yang berbeda-beda.

Adapun pengujian dilakukan dengan cara berikut :

1. Pasang alat perancangan dengan modul percobaan yang telah dibuat.

2. Setelah terpasang, nyalakan modul untuk mendapatkan listrik 3 fasa.

3. Kemudian berikan daya pada Raspberry Pi untuk menghidupkan alat perancangan.

4. Setelah itu buka aplikasi Wireshark lalu jalankan aplikasinya.

5. Lalu buka window terminal untuk menjalankan program yang sudah dibuat pada Raspberry Pi.

6. Berikan beban pada setiap fasa sesuai dengan ketentuan yang diatas.

7. Apabila sudah terkumpul semua data yang dibutukan maka stop aplikasi Wireshark.

Perlu diingat bahwa pengiriman data pada alat percobaan ini dilakukan 1 menit sekali untuk meminimalisir terjadinya bug pada program pengiriman data yang mengakibatkan alat perancangan tiba-tiba berhenti mengirimkan data ke database.

Pada pengujian keseluruan sistem, dibagi kedalam 2 bagian yaitu pengujian pengiriman data tanpa enkripsi dan pengujian pengiriman data dengan menggunakan enkripsi. Pengujian ini dilakukan sebanyak 100 kali pengiriman data baik itu pengiriman data tanpa enkripsi maupun data yang sudah dienkripsi.

(46)

4.2.1. Pengujian Pengiriman Data Tanpa Enkripsi

Pada pengujian pengiriman data tanpa enkripsi ini dilakukan dengan cara mengumpulkan seluruh data pengukuran lalu data tersebut langsung dikirimkan ke database. Dari data yang dikirim tadi, 4 data diambil dari 100 data yang dikirim oleh alat sebagai acuan untuk membaca apa saja yang dikirimkan alat ke database.

Data pertama yang dikirim oleh alat ke database tidak diberi beban.

Adapun data pertama ini dapat dilihat melalui aplikasi wireshark yang ditunjukkan pada Gambar 4.2.

Gambar 4.2 Data Pertama

Dari Gambar 4.2 dapat dilihat bahwa data pertama berada pada packet 337 dan yang dikirim oleh alat ke database ada pada Hypertext Transfer Protocol. Isi dari data yang terkirim tersebut berupa Plaintext yang artinya masih bisa melihat isi data yang dikirimkan oleh alat.

Data ke-30 yang dikirim oleh alat ke database tidak diberi beban.

Adapun data ke-30 ini dapat dilihat pada aplikasi wirehark yang ditunjukkan pada Gambar 4.3.

(47)

Gambar 4.3 Data ke-30

Dari Gambar 4.3 dapat dilihat bahwa data pertama berada pada packet 8020 dan yang dikirim oleh alat ke database ada pada Hypertext Transfer Protocol. Isi dari data yang dikirim tersebut berupa Plaintext yang artinya masih bisa melihat isi data yang dikirimkan oleh alat.

Data ke-70 yang dikirim oleh alat ke database telah diberi beban.

Adapun data ke-70 ini dapat dilihat pada aplikasi wirehark yang ditunjukkan pada Gambar 4.4.

Gambar 4.4 Data ke-70

(48)

Dari Gambar 4.4 dapat dilihat bahwa data pertama berada pada packet 18898 dan yang dikirim oleh alat ke database ada pada Hypertext Transfer Protocol. Isi dari data yang dikirim tersebut berupa Plaintext yang artinya masih bisa melihat isi data yang dikirimkan oleh alat.

Data ke-100 yang dikirim oleh alat ke database telah diberi beban.

Adapun data ke-100 ini dapat dilihat pada aplikasi wirehark yang ditunjukkan pada Gambar 4.5.

Gambar 4.5 Data ke-100

Dari Gambar 4.5 dapat dilihat bahwa data pertama berada pada packet 26983 dan yang dikirim oleh alat ke database ada pada Hypertext Transfer Protocol. Isi dari data yang dikirim tersebut berupa Plaintext yang artinya masih bisa terlihat data yang dikirimkan oleh alat.

4.2.2. Pengujian Pengiriman Data Dengan Enkripsi

Pada pengujian pengiriman data dengan enkripsi ini dilakukan dengan cara mengumpulkan seluruh data pengukuran lalu data tersebut dinekripsi oleh Raspberry Pi kemudian dikirimkan ke database. Dari data yang dikirim tadi, 4

(49)

data diambil dari 100 data yang dikirim oleh alat sebagai acuan untuk membaca apa saja yang dikirimkan alat ke database.

Data pertama yang dikirim oleh alat ke database tidak diberi beban.

Adapun data pertama ini dapat dilihat melalui aplikasi wireshark yang ditunjukkan pada Gambar 4.6.

Gambar 4.6 Data Terenkripsi Pertama

Dari Gambar 4.6 dapat dilihat bahwa data pertama berada pada packet 48 dan yang dikirim oleh alat ke database ada pada Tranport Layer Security.

Isi dari data yang dikirim tersebut bukan lagi berupa Plaintext melainkan kode-kode yang membuat isi dari data tersebut sudah tidak bisa dibaca lagi.

Data ke-30 yang dikirim oleh alat ke database tidak diberi beban.

Adapun data ke-30 ini dapat dilihat melalui aplikasi wireshark yang ditunjukkan pada Gambar 4.7.

(50)

Gambar 4.7 Data Terenkripsi ke-30

Dari Gambar 4.7 dapat dilihat bahwa data pertama berada pada packet 7972 dan yang dikirim oleh alat ke database ada pada Tranport Layer Security. Isi dari data yang dikirim tersebut bukan lagi berupa Plaintext melainkan kode-kode yang membuat isi dari data tersebut sudah tidak bisa dibaca lagi.

Data ke-70 yang dikirim oleh alat ke database telah diberi beban.

Adapun data ke-70 ini dapat dilihat melalui aplikasi wireshark yang ditunjukkan pada Gambar 4.8.

Gambar 4.8 Data terenkripsi ke-70

(51)

Dari Gambar 4.8 dapat dilihat bahwa data pertama berada pada packet 20083 dan yang dikirim oleh alat ke database ada pada Tranport Layer Security. Isi dari data yang dikirim tersebut bukan lagi berupa Plaintext melainkan kode-kode yang membuat isi dari data tersebut sudah tidak bisa dibaca lagi.

Data ke-100 yang dikirim oleh alat ke database telah diberi beban.

Adapun data ke-100 ini dapat dilihat pada aplikasi wirehark yang ditunjukkan pada Gambar 4.9.

Gambar 4.9 Data terenkripsi ke-100

Dari Gambar 4.9 dapat dilihat bahwa data pertama berada pada packet 28164 dan yang dikirim oleh alat ke database ada pada Tranport Layer Security. Isi dari data yang dikirim tersebut bukan lagi berupa Plaintext melainkan kode-kode yang membuat isi dari data tersebut sudah tidak bisa dibaca lagi.

(52)

4.3. Analisa Sistem

4.3.1. Batasan Analisa Sistem

Pada penelitian ini ada beberapa batasan analisa sistem diantaranya adalah sebagai berikut.

1. Penelitian ini tidak melakukan analisa terhadap besaran listrik yang didapat ataupun ditampilkan.

2. Penelirian ini tidak melakukan analisa terhadap jenis modul Wi-fi yang digunakan.

3. Penelitian ini tidak melakukan analisa konsumsi daya pada alat.

4.3.2. Analisa Sistem

Dalam penelitian ini dilihat apakah data yang dikirim dari alat bisa dienkripsi atau tidak dan juga membandingkan hasil dari data yang dikirim tanpa enkripsi dan data yang dikirim dengan menggunakan enkripsi. Berikut adalah perbandingan hasil pengiriman data yang ditunjukkan pada Tabel 4.1.

Tabel 4.1. Perbandingan pengiriman data tanpa atau dengan proses enkripsi

Packet

Tanpa Enkripsi Dengan Enkripsi

Data ke-1

Data ke-30

Data ke-70

Data ke- 100

Data ke-1

Data ke-30

Data ke-70

Data ke- 100 No Packet 337 8020 18898 26983 48 7972 20083 28164

Destinasi

packet 103.21.14.205 172.67.160.140

Destinasi

port 80 443

Besar

memori 244B 244B 246B 246B 329B 329B 317B 329B

Isi packet Plaintext Tidak plaintext

(53)

Dari Tabel 4.1 dapat dilihat bahwa tujuan pengiriman datanya berbeda begitu pula dengan port yang digunakan. Port yang digunakan ketika data dikirim tanpa proses enkripsi adalah port 80, sedangkan pengiriman data dengan proses enkripsi menggunakan port 443. Dari Tabel 4.1 juga bisa dilihat bahwa ukuran memori pada pengiriman data menggunakan proses enkripsi lebih besar dari pengiriman data tanpa proses enkripsi. Perbedaan ukuran memori ini berkisar antara 22% sampai 27%.

Pengiriman data tanpa enkripsi dapat dilihat hasilnya dari Gambar 4.1, Gambar 4.2, Gambar 4.3 dan Gambar 4.4. Dari gambar yang disebutkan tadi dapat dilihat bahwa data yang tidak dienkripsi masih bisa dilihat dan dibaca isi dari data yang dikirim, bahkan besaran-besaran listrik dari hasil pengukuran pun dapat dilihat dengan jelas pada HTML form URL Encode. Hal ini dapat menyebabkan data yang dikirim tersebut bisa dimanipulasi. Maka dari itu enkripsi data sangat penting dalam hal pengiriman data seperti ini.

Pengiriman data dengan enkripsi dapat dilihat hasilnya dari Gambar 4.5, Gambar 4.6, Gambar 4.7 dan Gambar 4.8. Dari gambar yang disebutkan tadi dapat dilihat bahwa data yang terenkripsi tidak bisa dibaca karena sudah berubah menjadi kode-kode unik. Yang berperan dalam pengubahan isi data menjadi kode-kode unik seperti itu adalah Transport Layer Security atau TLS.

Pada penelitian ini, TLS yang digunakan adalah versi 1.2 atau bisa dilihat pada wireshark dengan kode TLSv1.3 pada barisan protocol.

Setiap data yang akan dikirim baik data yang dikirim dengan enkripsi atau tidak harus terlebih dahulu melakukan proses handshake antara alat dengan server. Proses handshake ini bertujuan untuk menghubungkan alat

(54)

dengan server agar data bisa dikirim ke database. Contoh proses handshake ini dapat dilihat pada Gambar 4.10.

Gambar 4.10 Proses handshake

Dari Gambar 4.10 dapat kita lihat bahwa packet 41 berisi pesan ”Client Hello” yang dikirim oleh alat dengan alamat IP 192.168.43.68 ke server dengan alamat IP 172.67.160.140. Setelah itu server akan membalas dengan pesan “Server Hello, Change Chiper Spec” yang terdapat pada packet 43.

Maksud dari pesan yang dikirim oleh server ke alat adalah menyatakan bahwa alat sudah terhubung dengan server, setelah itu barulah alat dapat mengirim data ke database.

(55)

43 BAB V

KESIMPULAN DAN SARAN 5.1. Kesimpulan

Dari hasil pengujian dan implementasi yang telah dilakukan pada bab sebelumnya, maka dapat diperoleh kesimpulan sebagai berikut:

1. Untuk menambahkan pengamanan pada data, platform mikrokontrolernya harus diganti karena bahasa pemrograman yang digunakan untuk mengamankan data adalah Python, jadi mikrokontroler yang dipilih haruslah bisa menggunakan bahasa pemrograman Python juga,.

2. Setiap kali data akan dikirim oleh alat, alat terlebih dahulu melakukan proses handshake, dan jika prosesnya berjalan lancer maka data sudah bisa dikirim ke database.

3. Data yang dikirim sudah dienkripsi oleh alat, sehingga isi data yang dikirim sudah tidak dalam bentuk plaintext lagi.

4. Data yang dikirim dapat diterima dan disimpan ke database, dan halaman web dapat menampilkan data yang tersimpan pada database.

5. Data yang dikirim tanpa enkripsi menggunakan protokol HTTP sedangkan data yang dikirim dengan enkripsi menggunakan protokol TLSv1.3.

5.2. Saran

Adapun beberapa saran yang dapat diberikan sehubung dengan pelaksanaan skripsi ini adalah sebagai berikut:

(56)

44

1. Untuk perancangan selanjutnya diharapkan agar fitur-fiturnya bisa dikembangkan lagi.

(57)

45

DAFTAR PUSTAKA

[1] S. Natarajan and T. Wolf, “Encrypted Packet Forwarding in Virtualized Networks,” in 2011 ACM/IEEE Seventh Symposium on Architectures for Networking and Communications Systems, Brooklyn, NY, USA, Oct. 2011, pp. 213–214. doi: 10.1109/ANCS.2011.38.

[2] A. A. Zabar and F. Novianto, “KEAMANAN HTTP DAN HTTPS BERBASIS WEB MENGGUNAKAN SISTEM OPERASI KALI LINUX,”

Komputa J. Ilm. Komput. Dan Inform., vol. 4, no. 2, pp. 69–74, Oct. 2015, doi: 10.34010/komputa.v4i2.2427.

[3] “Zhang et al. - 2015 - The Security Analysis of MySQL’s Encryption Functi.pdf.”

[4] Ji Wen, Yang Zhang, Yong Yan, and Shunren Xia, “A Web-based Examination System Based on PHP+MySQL,” in 2005 IEEE Engineering in Medicine and Biology 27th Annual Conference, Shanghai, China, 2005, pp.

2882–2885. doi: 10.1109/IEMBS.2005.1617076.

[5] A. N. N. Chamim, “Penggunaan Microcontroller Sebagai Pendeteksi Posisi Menggunakan Sinyal GSM,” vol. 4, no. 1, pp. 430–439, 2010.

[6] “200127 PZEM-004.pdf.”

[7] M. Mirjana, V. Vladimir, D. Nikola, M. Vladimir and P. Branko, “Raspberry Pi as Internet of Things hardware: Performances and Constraints,” IcETRAN 2014, Vrnjačka Banja, Serbia, pp. ELI1.6.1-6.

[8] Wahana Komputer. 2011. Mastering CMS Programing with PHP & MySQL.

Yogyakarta : CV. ANDI OFFSET (Pernerbit ANDI).

(58)

46

[9] Riyanto. 2011. Sistem Informasi Penjualan dengan PHP dan MySQL.

Yogyakarta : GAVA MEDIA.

[10] A. Stif. 2019 “Perancangan Smart 3 Phase Power Meter Berbasis Android”

Fakultas Teknik, Universitas Sumatera Utara, Medan.

[11] “Pengertian HTTP Beserta Fungsi dan Cara Kerjanya.” [Online]. Available:

https://www.niagahoster.co.id/blog/pengertian-http/. [Accessed : 3-Mar- 2021]

[12] “5 Hal yang Perlu Anda Ketahui Tentang HTTPS.” [Online]. Available:

https://www.niagahoster.co.id/blog/https-adalah-protokol-versi-aman/.

[Accessed : 3-Mar-2021]

[13] “Apa Itu SSL/TLS? Cari Tahu Juga Pengertian Tentang HTTPS dan

Hubungan Keduanya.” [Online]. Available:

https://www.hostinger.co.id/tutorial/apa-itu-ssl. [Accessed : 3-Mar-2021]

[14] “Mengenal Sniffing.” [Online]. Available:

https://fit.labs.telkomuniversity.ac.id/mengenal-sniffing/. [Accessed : 3-Mar- 2021]

[15] “Mengenal Arduino Uno.” [Online]. Available: https://ilearning.me/sample- page-162/arduino/pengertian-arduino-uno/. [Accessed : 9-Jun-2021]

[16] Oracle Corporation, "MySQL :: MySQL 5.7 Reference Manual :: 6.1 Security Guidelines," 2017. [Online]. Available:

https://dev.mysql.com/doc/refman/5.7/en/storage-engines.html. [Accessed 20-Juli-2021].

(59)

47

[17] "Exploring HTTPS whit Python." [Online]. Available:

https://realpython.com/python-https/#what-does-a-python-https-application- look-like. [Accessed 6-Agustus-2021

[18] "Common encryption type, protocol and algorithms explained." [Online].

Avaliable:https://www.comparitech.com/blog/information-

security/encryption-types-explained/. [Accessed : 6-Agustus-2021]

(60)

48 LAMPIRAN Lampiran 1 : Kode Program Arduino UNO

#include <PZEM004Tv30.h>

PZEM004Tv30 pzemR(12, 13); // Software Serial pin 11 (RX) & 12 (TX) PZEM004Tv30 pzemS(7, 8);

PZEM004Tv30 pzemT(3, 4);

void setup() {

Serial.begin(115200);

}

void loop() {

//Phasa R

float voltageR = pzemR.voltage();

if(voltageR != NAN){

Serial.print("Voltage Phasa R: ");

Serial.print(voltageR);

Serial.println("V");

} else {

Serial.println("Error reading voltage");

}

float currentR = pzemR.current();

if(currentR != NAN){

Serial.print("Current Phasa R: ");

Serial.print(currentR);

Serial.println("A");

} else {

Serial.println("Error reading current");

}

float powerR = pzemR.power();

if(currentR != NAN){

Serial.print("Power Phasa R: ");

Serial.print(powerR);

Serial.println("W");

} else {

Serial.println("Error reading power");

}

float energyR = pzemR.energy();

if(currentR != NAN){

Serial.print("Energy Phasa R: ");

Serial.print(energyR,3);

Serial.println("kWh");

} else {

Serial.println("Error reading energy");

}

float frequencyR = pzemR.frequency();

if(currentR != NAN){

(61)

49 Serial.print("Frequency Phasa R: ");

Serial.print(frequencyR, 1);

Serial.println("Hz");

} else {

Serial.println("Error reading frequency");

}

float pfR = pzemR.pf();

if(currentR != NAN){

Serial.print("PF Phasa R: ");

Serial.println(pfR);

} else {

Serial.println("Error reading power factor");

} //Phasa S

float voltageS = pzemS.voltage();

if(voltageS != NAN){

Serial.print("Voltage Phasa S: ");

Serial.print(voltageS);

Serial.println("V");

} else {

Serial.println("Error reading voltage");

}

float currentS = pzemS.current();

if(currentS != NAN){

Serial.print("Current Phasa S: ");

Serial.print(currentS);

Serial.println("A");

} else {

Serial.println("Error reading current");

}

float powerS = pzemS.power();

if(currentS != NAN){

Serial.print("Power Phasa S: ");

Serial.print(powerS);

Serial.println("W");

} else {

Serial.println("Error reading power");

}

float energyS = pzemS.energy();

if(currentS != NAN){

Serial.print("Energy Phasa S: ");

Serial.print(energyS,3);

Serial.println("kWh");

} else {

Serial.println("Error reading energy");

}

(62)

50 float frequencyS = pzemS.frequency();

if(currentS != NAN){

Serial.print("Frequency Phasa S: ");

Serial.print(frequencyS, 1);

Serial.println("Hz");

} else {

Serial.println("Error reading frequency");

}

float pfS = pzemS.pf();

if(currentS != NAN){

Serial.print("PF Phasa S: ");

Serial.println(pfS);

} else {

Serial.println("Error reading power factor");

} //Phasa T

float voltageT = pzemT.voltage();

if(voltageT != NAN){

Serial.print("Voltage Phasa T: ");

Serial.print(voltageT);

Serial.println("V");

} else {

Serial.println("Error reading voltage");

}

float currentT = pzemT.current();

if(currentT != NAN){

Serial.print("Current Phasa T: ");

Serial.print(currentT);

Serial.println("A");

} else {

Serial.println("Error reading current");

}

float powerT = pzemT.power();

if(currentT != NAN){

Serial.print("Power Phasa T: ");

Serial.print(powerT);

Serial.println("W");

} else {

Serial.println("Error reading power");

}

float energyT = pzemT.energy();

if(currentT != NAN){

Serial.print("Energy Phasa T: ");

Serial.print(energyT,3);

Serial.println("kWh");

} else {

Serial.println("Error reading energy");

(63)

51 }

float frequencyT = pzemT.frequency();

if(currentT != NAN){

Serial.print("Frequency Phasa T: ");

Serial.print(frequencyT, 1);

Serial.println("Hz");

} else {

Serial.println("Error reading frequency");

}

float pfT = pzemT.pf();

if(currentT != NAN){

Serial.print("PF Phasa T: ");

Serial.println(pfT);

} else {

Serial.println("Error reading power factor");

}

delay(2000);

}

Lampiran 2 : Kode Program Raspberry Pi

#!/usr/bin/env python import time

import serial import requests ser = serial.Serial(

port='/dev/ttyACM0', baudrate = 115200,

parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1

)

def get_voltageR(string):

temp = string.split(":") temp = temp[1].strip() temp = temp.strip('v') return float(temp) def get_currentR(string):

temp = string.split(":") temp = temp[1].strip() temp = temp.strip('a') return float(temp) def get_freqR(string):

temp = string.split(":") temp = temp[1].strip() temp = temp.strip('hz') return float(temp)

Gambar

Gambar 2.1 Penampakan Ikon Pada Website Yang Menggunakan SSL dan  Yang Tidak Menggunakan SSL
Tabel 2.1 Daftar Fungsi Khusus PHP Untuk Mengakses MySQL
Gambar 2.2 Beberapa Jenis Mikrokontroler  2.7.  Packet Siffer
Gambar 2.3 Interface awal Wireshark
+7

Referensi

Garis besar

Dokumen terkait