5302412024_laporan pkl.pdf

58
LAPORAN PRAKTIK KERJA LAPANGAN DI PT PLN (PERSERO) APD JATENG DAN DIY SEMARANG INFORMASI GANGGUAN JARINGAN DENGAN SMART SENDER SMS GATEWAY Disusun Oleh Nama : Aswita Nurrika NIM : 5302412024 Jurusan/Prodi : Teknik Elektro/PTIK FAKULTAS TEKNIK UNIVERSITAS NEGERI SEMARANG TAHUN 2015

Upload: aswit

Post on 14-Dec-2015

40 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 5302412024_Laporan PKL.pdf

LAPORAN

PRAKTIK KERJA LAPANGAN

DI PT PLN (PERSERO) APD JATENG DAN DIY SEMARANG

INFORMASI GANGGUAN JARINGAN DENGAN

SMART SENDER SMS GATEWAY

Disusun Oleh

Nama : Aswita Nurrika

NIM : 5302412024

Jurusan/Prodi : Teknik Elektro/PTIK

FAKULTAS TEKNIK

UNIVERSITAS NEGERI SEMARANG

TAHUN 2015

Page 2: 5302412024_Laporan PKL.pdf
Page 3: 5302412024_Laporan PKL.pdf

Abstrak

Aswita Nurrika

Informasi Gangguan Jaringan dengan Smart Sender SMS Gateway

Di PT PLN (Persero) APD Jateng dan DIY Semarang

Pendidikan Teknik Informatika dan Komputer – Jurusan Teknik Elektro

Universitas Negeri Semarang

Tahun 2015

Praktik kerja lapangan (PKL) merupakan kegiatan yang wajib dilaksanakan

bagi mahasiswa program studi (Prodi) dan dilaksanakan pada suatu instansi yang

sesuai dengan disiplin ilmu sebagai jembatan bagi mahasiswa untuk

mengaplikasikan ilmu yang diperoleh di bangku kuliah ke dalam dunia kerja.. Hal

ini dengan maksud agar mahasiswa bisa memperoleh pengalaman di dunia kerja.

Pengalaman tersebut bisa berupa wawasan tentang suatu teknologi, kemampuan

dan keuletan bekerja dalam suatu lembaga/instansi. Pelaksanaan praktik kerja

lapangan di PT PLN (Persero) Area Pengatur Distribusi Jawa Tengah dan DIY

yang berjasa dalam bidang penyediaan dan penyaluran listrik. Dalam hal ini,

mahasiswa mempunyai kewajiban untuk menyampaikan dan menerapkan apa yang

telah dipelajari.

Metode pengumpulan data yang digunakan untuk memperoleh data

diantaranya: Observasi, Interview, Literatur dan Bimbingan. Pertama metode

observasi yaitu metode pengumpulan data dengan melakukan pengamatan langsung

pada objek di lapangan. Kedua, metode interview yaitu metode pengumpulan data

dengan mengajukan pertanyaan secara langsung kepada para karyawan. Ketiga,

metode Literatur yaitu pengumpulan data dengan mempelajari bahan-bahan tertulis

baik dari buku atau dokumen tertulis lainnya. Keempat, metode bimbingan yaitu

metode melakukan bimbingan secara langsung kepada dosen pembimbing maupun

pembimbing lapangan.

Pekerjaan atau kegiatan yang dilakukan selama melaksanakan Praktik Kerja

Lapangan (PKL) di PT. PLN (Persero) APD Jateng dan DIY Semarang dibagi

menjadi 2 jenis pekerjaan yaitu pekerjaan umum dan pekerjaan spesifik atau projek.

Pekerjaan umum mencakup mapping data, pemeliharaan master station maupun

workstation, dll. Sedangkan pekerjaan spesifik/projek yang diberikan, penulis

angkat sebagai judul dari laporan ini yaitu pengembangan pengiriman sistem SMS

Gateway yang sudah ada.

Simpulan dari Praktik Kerja Lapangan yaitu Sistem SMS Gateway suatu

instansi dapat terus dikembangkan menjadi sistem yang lebih baik. Seperti halnya

Sistem Pengiriman SMS Gateway Gangguan dengan Gammu yang awalnya

menggunakan 1 modem sekarang menggunakan multi modem dengan konsep

mengirimkan SMS ke nomor-nomor sesuai dengan provider masing-masing

modem. Sedangkan saran dari Praktik Kerja Lapangan yaitu mahasiswa perlu lebih

banyak belajar tidak hanya sesuatu yang diajarkan di bangku perkuliahan.

Kata Kunci : SMS Gateway, Multi Modem, Sistem Pengiriman.

Page 4: 5302412024_Laporan PKL.pdf

KATA PENGANTAR

Dengan mengucap puji syukur kehadirat Allah SWT, yang telah melimpahkan

rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan Laporan Praktik

Kerja Lapangan dengan judul INFORMASI GANGGUAN JARINGAN DENGAN

SMART SENDER SMS GATEWAY di PT PLN (Persero) APD Jateng dan DIY

Semarang. Dengan terselesaikannya laporan ini, penulis ingin menyampaikan rasa

syukur dan terima kasih kepada :

1. Bapak Drs. Suryono, M.T, Ketua Jurusan Teknik Elektro Fakultas Teknik

Universitas Negeri Semarang

2. Ibu Riana Defi MP,S.T, M.T selaku dosen pembimbing yang dengan sabar

mengarahkan dan membimbing penulis.

3. Saudara Angga Rajasa, selaku Supervisor TI dan pembimbing lapangan

yang telah bersedia meluangkan waktunya kepada penulis untuk

membimbing selama Praktik Kerja Lapangan (PKL).

4. Seluruh karyawan PT PLN (Persero) APD Jateng dan DIY Semarang dan

seluruh pihak yang telah banyak membantu.

Semoga laporan pelaksanaan Praktik Kerja Lapangan ini dapat bermanfaat

bagi kita semua.

Semarang, Februari 2015

Penulis,

Page 5: 5302412024_Laporan PKL.pdf

DAFTAR ISI

Halaman

JUDUL .................................................................................................................... i

HALAMAN PENGESAHAN ............................................................................... ii

ABSTRAK ............................................................................................................ iii

KATA PENGANTAR .......................................................................................... iv

DAFTAR ISI ........................................................................................................... v

DAFTAR GAMBAR ........................................................................................... vii

DAFTAR TABEL ................................................................................................ ix

BAB I PENDAHULUAN

1.1 Latar Belakang ................................................................................................... 1

1.2 Tujuan dan Manfaat ........................................................................................... 3

1.3 Tempat dan Pelaksanaan .................................................................................... 4

1.4 Pengumpulan Data ............................................................................................. 6

BAB II KEGIATAN/PEKERJAAN

2.1 Pekerjaan secara umum ...................................................................................... 7

2.2 Pekerjaan secara spesifik.................................................................................. 11

BAB III ANALISIS

Page 6: 5302412024_Laporan PKL.pdf

3.1 Kebutuhan Fisik ............................................................................................... 27

3.2 Kebutuhan Fungsional ..................................................................................... 27

3.3 Testing .............................................................................................................. 30

3.4 Analisa Perbandingan....................................................................................... 33

BAB IV PENUTUP

4.1 Kesimpulan ...................................................................................................... 37

4.2 Saran ................................................................................................................. 37

DAFTAR PUSTAKA ........................................................................................... 37

LAMPIRAN .......................................................................................................... 38

Page 7: 5302412024_Laporan PKL.pdf

DAFTAR GAMBAR

Gambar 1. Struktur Organisasi…………………………………………………… 5

Gambar 1. Modem Huawei E3131& modem at&t ..............................................12

Gambar 2. Modem yang terdeteksi ……………………………………………..13

Gambar 3. Setting konfigurasi Gammu ………………………………………...14

Gambar 4. Konfigurasi modem di command prompt ..........................................15

Gambar 5. Konfigurasi smsdrc modem 1……………………………………….16

Gambar 6. Instal service gammu..........................................................................16

Gambar 7. Start service gammu………………………………………………...17

Gambar 8. Services……………………………………………………………...17

Gambar 9. Properties service gammu…………………………………………..18

Gambar 10. Koneksi ke Oracle..............................................................................19

Gambar 11. Tools-Options ....................................................................................19

Gambar 12. Jendela Options……………………………………………………..20

Gambar 13. Koneksi ke Oracle sukses…………………………………………...21

Gambar 14. File php.ini…………………………………………………………..21

Gambar 15. Jendela Environment Variables …………………………………….22

Gambar 16. Edit System Variable………………………………………………...23

Gambar 17. Koneksi ke MySQL sukses………………………………………….23

Gambar 18. Struktur Tabel Provider……………………………………………..24

Gambar 19. Isian Tabel Provider…………………………………………………24

Gambar 20. Source Code Pengiriman 1 Modem…………………………………25

Page 8: 5302412024_Laporan PKL.pdf

Gambar 21. Source Code Pengiriman Multi Modem……………………………25

Gambar 22. Diagram Desain Sistem…………………………………………….28

Gambar 23. Flowchart Sistem Pengiriman……………………………………...29

Gambar 24. Tes SMS Navicat …………………………………………………..31

Gambar 25. Tabel gangguan………………………………………………...…...31

Gambar 26. Tampilan di Localhost………………………………………………32

Page 9: 5302412024_Laporan PKL.pdf

DAFTAR TABEL

Tabel 1. Deskripsi Kegiatan………………………………………………………. 7

Tabel 2. Perbandingan Sistem……………………………………………………34

Page 10: 5302412024_Laporan PKL.pdf

BAB I

PENDAHULUAN

1.1 Latar Belakang

Perusahaan yang dapat mempertahankan pelanggan dan meningkatkan

kepuasan pelanggan dapat disebut perusahaan yang mempunyai integritas tinggi

dan tingkat pelayanan yang baik. Perencanaan dan penggunaan teknologi informasi

yang tepat akan sangat membantu perusahaan untuk mencapai visi dan misi

perusahaan.

PT PLN (Persero) adalah Badan Usaha Milik Negara yang bergerak di

bidang penyediaan sampai penyaluran jasa tenaga listrik. PT PLN (Persero) telah

secara konsisten melaksanakan usaha penyediaan tenaga listrik yang andal dengan

tingkat harga yang terjangkau oleh seluruh lapisan masyarakat, sehingga sektor

ketenagalistrikan merupakan elemen sentral dari strategi pertumbuhan ekonomi

yang cepat dan pemerataan pembanguan sosial di Indonesia ini sesuai dengan

tujuan didirikannya PT PLN (Persero) berdasarkan Undang-Undang No. 15 Tahun

1985.

Bagi PT PLN (Persero) keandalan akan pasokan energi listrik adalah

merupakan kepuasan pelanggan. demi menjaga keandalan sistem penyaluran

tenaga listrik menggunakan sistem pengoperasian yang mempunyai tingkat

keandalan yang tinggi, di karenakan PT PLN (Persero) mempunyai visi diakui

sebagai perusahaan kelas dunia yang dinilai dari SAIDI (System Average

Interuption Duration Index) dan SAIFI (System Average Interuption Frequency

Page 11: 5302412024_Laporan PKL.pdf

Index).

Sebagai perusahaan penyedia energi kelistrikan tingkat nasional, PLN

(Persero) dituntut untuk terus meningkat kepuasan pelayanan pelanggan. Salah satu

pemanfaatan teknologi perangkat seluler yang umum dipakai dalam PLN adalah

informasi tentang gangguan penyaluran energi listrik. Pegawai yang berada di

pelayanan jaringan listrik harus cepat mengetahui informasi adanya gangguan

jaringan listrik. Informasi yang tampil yang dapat diperoleh dari Pegawai berupa

SMS PMT (Pemutus Tegangan).

Dalam hal ini, SCADA (Supervisory Control and Data Acquisition)

mempunyai peran penting, selain berfungsi untuk mempercepat penormalan

gangguan dapat juga berfungsi mengirimkan informasi berupa gangguan jaringan

(PMT Trip) kepada user sistem dengan melalui metode SMS Gateway.

Metode SMS Gateway dirasa cukup efektif dalam penyampaian informasi

gangguan jaringan. Namun, dibutuhkan suatu pengembangan untuk meningkatkan

tingkat efektifitas dan efisiensi dari sistem pengiriman gangguan jaringan listrik

menggunakan media SMS Gateway.

Salah satu kelemahan media SMS Gateway Gangguan Jaringan yang ada di

PT PLN (Persero) APD (Area Pengatur Distribusi) Semarang adalah anggaran yang

dibutuhkan untuk pengiriman sms membutuhkan jumlah yang cukup besar per

bulannya. Sedangkan per harinya sms yang dapat dikirimkan dapat berjumlah

kuranng lebih sebanyak 2500 sms dan hanya dikirim oleh 1 jenis provider. Hal ini

merupakan sesuatu yang perlu untuk diminimalisir dalam rangka membuat sistem

yang efektif dan efisien.

Page 12: 5302412024_Laporan PKL.pdf

Dalam suatu perusahaan jasa khususnya Perusahaan Listrik Negara,

masalah yang dihadapi sangatlah komplek. Oleh karena itu penulis memberi

batasan – batasan masalah, dalam hal ini kaitannya dengan projek yang penulis

laksanakan. Adapun laporan ini penulis mengambil judul yang mencakup projek

yang diberikan yaitu tentang Pembuatan Informasi Gangguan Jaringan dengan

Smart Sender SMS Gateway di PT PLN (Persero) APD Jateng dan DIY.

1.2 Tujuan dan Manfaat

a. Tujuan

Tujuan dari pembuatan projek Pembuatan Informasi Gangguan Jaringan

dengan Smart Sender SMS Gateway di PT PLN (Persero) APD Jateng dan DIY

adalah :

(1) Memenuhi nilai mata kuliah Praktik Kerja Lapangan (PKL) sebagai salah satu

syarat mencapai kelulusan pada prodi. S-1 Pendidikan Teknik Informatika dan

Komputer, Jurusan Teknik Elektro, Fakultas Teknik Universitas Negeri

Semarang

(2) Melakukan pengembangan terhadap sistem SMS Gateway yang telah ada.

(3) Meminimalisasi penggunaan anggaran untuk pengiriman informasi melalui

SMS Gateway.

(4) Menambah wawasan dan pengalaman kerja di lapangan atau industri yang

relevan sesuai dengan disiplin ilmu teknik informatika dan komputer pada

umumnya

Page 13: 5302412024_Laporan PKL.pdf

b. Manfaat

Manfaat dari pembuatan projek Pembuatan Informasi Gangguan Jaringan

dengan Smart Sender SMS Gateway di PT PLN (Persero) APD Jateng dan DIY

adalah :

(1) Mampu mengembangkan cara berpikir dan aplikasi langsung dari materi

perkuliahan yang telah diperoleh pada perkuliahan.

(2) Mampu mengembangkan wawasan dan pengalaman kerja dibidang teknik

informatika dan komputer pada umumnya dan SMS Gateway pada khusunya.

(3) Dapat lebih mempersiapkan diri sebagai calon lulusan yang handal, berkualitas

dan siap untuk bekerja sesuai pengalaman yang didapat di lapangan.

(4) Dapat mengembangkan program SMS Gateway yang sedang berjalan.

1.3 Tempat dan Pelaksanaan

a. Tempat Pelaksanaan

Penulis mendapatkan kesempatan untuk melaksanakan praktek di PT PLN

(Persero) Area Pengatur Distribusi Semarang yang beralamatkan di Jalan Gatot

Subroto No. 5 Semarang. Penempatan pelaksanaan Praktik Kerja Lapangan

ditentukan oleh Asistan Manajer SCADA (Supervisory, Controlling and Acquisition

Data) & Telekomunikasi PT PLN (Persero) Area Distribusi Jawa Tengah dan

D.I.Yogyakarta dan mendapatkan kesempatan ditempatkan di bagian TI (Teknologi

Informasi) SCADA PLN (Persero) Area Distribusi Jawa Tengah dan

D.I.Yogyakarta.

Page 14: 5302412024_Laporan PKL.pdf

b. Waktu Pelaksanaan

Waktu pelaksanaan Praktik Kerja Lapangan (PKL) ini di mulai pada tanggal

19 Januari 2015 sampai dengan 27 Februari 2015 hari kerja sesuai dengan ketentuan

yang berlaku. Pada hari Senin sampai Kamis kegiatan operasional di mulai pukul

07.30 s/d 16.30 WIB sedangkan hari Jumat di mulai 07.30 s/d 15.00 WIB.

c. Struktur Organisasi

Gambar 1. Struktur Organisasi

Page 15: 5302412024_Laporan PKL.pdf

1.4 Pengumpulan Data

Dalam menyusun laporan, penulis melakukan pengumpulan data dengan

metodologi sebagai berikut:

a. Metode Observasi, adalah metode pengambilan data dengan cara langsung

mengamati dan mencatat pada objek yang dipelajari.

b. Metode Interview, adalah metode pengumpulan data dengan cara melakukan

tanya jawab langsung kepada pihak petugas perusahaan atau tenaga ahli yang

paham tentang hal-hal yang menjadi permasalahan dalam laporan yang di buat di

lapangan.

c. Metode Literatur, adalah metode pengambilan data dengan mempelajari

literature, yang berupa buku–buku ataupun bentuk lain yang berhubungan dengan

objek yang dipelajari guna mendukung penyelesaian Praktik Kerja Lapangan

sampai dengan penyusunan laporan.

d. Metode Bimbingan, adalah melakukan konsultasi atau bimbingan dalam

mendokumentasikan bidang keilmuan yang diperoleh selama Praktik Kerja

Lapangan. Kegiatan bimbingan ini dilakukan kepada pembimbing lapangan di PT

PLN (Persero) APD Jateng dan DIY Semarang dan kepada pembimbing dari

Universitas Negeri Semarang.

Page 16: 5302412024_Laporan PKL.pdf

BAB II

PEKERJAAN/KEGIATAN

2.1 Pekerjaan Secara Umum

Tabel 1. Deskripsi Kegiatan

Hari 1& 2 Pembuatan Smart SLD

(p macro station dan

pemindahan station

dari KP_SMG ke

Feeder-XXXYY)

Pembuatan Smart SLD (Single Line

Diagram) adalah salah satu

pengembangan dari sistem yang sudah

ada di PT PLN (Persero) APD Jateng dan

DIY. Sedangkan p macro adalah tombol

untuk menghubungkan dari satu layar ke

layar lain dan penulis juga memindahkan

data yang ada pada station KP_SMG ke

dalam feeder baru yang sudah dibuat. Hal

ini dimaksudkan untuk merapikan data

guna keperluan pembuatan Smart SLD.

Hari 3 Pengecekan database

SCADA

Pengecekan database SCADA salah

satunya adalah melakukan pengecekan

pada IP Address masing-masing RTU

yang ada. Hal ini ditujukan untuk

mengkoreksi jika ada RTU yang tidak

memiliki IP Address yang tidak sesuai

dengan data yang ada.

Hari 4 Merapikan dokumen

SCADA

Mengurutkan dokumen-dokumen yang

ada pada SCADA sesuai dengan tahun.

Hal ini ditujukan untuk merapikan

dokumen-dokumen penting tersebut dan

agar lebih mudah dalam melakukan

pencarian dokumen.

Hari 5 Membuat SMS

Gateway Gammu dan

MySQL

SMS Gateway merupakan salah satu

media yang digunakan pada PT PLN

(Persero) APD Jateng dan DIY Semarang

untuk mengirimkan informasi gangguan

jaringan pada pegawai yang berada pada

zona gangguan. Dan untuk mempelajari

konsep dari SMS Gateway yang

digunakan penulis mempelajari terlebih

dahulu tentang SMS Gateway

Page 17: 5302412024_Laporan PKL.pdf

menggunakan gammu dan MySQL

dengan 1 modem. Ini adalah tahap

pengenalan terhadap projek yang akan

diberikan.

Hari 6 Membuat SMS

Gateway dengan

Gammu dan MySQL

dengan 2 modem

Membuat SMS Gateway dengan Gammu

dan MySQL dengan multi modem

merupakan projek yang diberikan selama

PKL, dan membuat SMS Gateway

dengan 2 modem adalah langkah awal

untuk menggunakan SMS Gateway Multi

Modem.

Hari 7 Mempelajari script

PHP SMS Gateway

Pada tahap ini adalah tahap mempelajari

script php aslinya yaitu menggunakan

sistem pengiriman dengan single modem

atau seperti biasanya. Di tahap ini selain

mempelajari script php yang diberikan

juga tahap mencari tahu solusi

pengkodingan php dengan multi modem.

Hari 8&9 Membuat script PHP

SMS Gateway 2

modem

Setelah mempelajari script php yang

sudah ada, maka selama 2 hari melakukan

pengkodingan php untuk mencari tahu

script yang tepat digunakan untuk sistem

SMS Gateway dengan Multi Modem.

Hari 10&11 Mengkoneksikan PHP

dengan Oracle

Permasalahan yang dihadapi pada tahap

ini adalah pengoperasian database

Oracle. Dikarenakan belum mengerti

banyak tentang Oracle maka

pengkoneksian ke database Oracle untuk

pengambilan data diperlukan waktu 2

hari.

Hari 12 Testing script PHP di

Localhost XAMPP

dan Mengecek Power

Meter GI (Gardu

Induk) Kudus

Saat file php dan koneksi ke database

Oracle maupun MySQL sudah siap maka

testing script tersebut dilakukan. Untuk

testing menggunakan localhost XAMPP.

Pada testing ini tidak ada kesulitan yang

berarti. Selain itu, penulis juga

mendapatkan pekerjaan lain yaitu

mengecek Power Meter GI Kudus, yaitu

mengecek IP Addressnya untuk

mengetahui adanya kesalahan penulisan

atau tidak.

Page 18: 5302412024_Laporan PKL.pdf

Hari 13 Mapping Relay GI

Kudus pada SCADA

Explorer

Menyesuaikan dan mengganti IP Address

Relay GI Kudus agar data yang

dimasukkan sesuai dengan data yang ada

di lapangan.

Hari 14 Menghitung dan

memvalidasi KW

Total Incoming GI

(Gardu Induk)

Menghitung KW Total Incoming pada GI

seluruh Jateng dan DIY dengan

menggunakan rumus yang sudah dibuat

dan divalidasi apakah benar atau salah

angka yang tertera.

Hari 15&16 Setting SMS Gateway

dengan 3 modem

Dikarenakan server error selama

beberapa hari lalu maka pembuatan

projek SMS Gateway Multi Modem ini

pun dilanjutkan pada hari ke-15. Disini

menggunakan 3 modem karena suatu

kebutuhan. Sistemnya tidak jauh berbeda

dengan menggunakan 2 modem.

Hari 17 Testing PHP SMS

Gateway dengan 3

modem

Setelah semua settingan dan script php 3

modem sudah siap maka dilakukan

testing kembali dan jika tidak ada error

maka program berhasil dibuat.

Hari 18&20 Membuat Instruksi

Kerja (IK) SMS

Gateway dengan 3

modem

Instruksi Kerja ditujukan untuk

melaporkan langkah-langkah apa saja

yang dilakukan dalam pembuatan projek

SMS Gateway Multi Modem ini sehingga

dapat dijadikan pedoman dalam

pembuatan projek yang berkaitan dengan

ini.

Hari 19 Perbaikan setting SMS

Gateway Gammu

dengan 3 modem

Dikarenakan program mengalami

gangguan yaitu salah satu provider tidak

dapat melakukan pengiriman maka

dilakukan perbaikan setting SMS

Gateway tersebut, yaitu dengan

memindahkan port modem ke tempat

yang aman dan tidak dimungkinkan

adanya gangguan dan melakukan

konfigurasi ulang untuk modem tersebut.

Hari 21 Mapping Power Meter

GI (Gardu Induk)

Weleri pada SCADA

Explorer

Menyesuaikan dan mengganti IP Address

Power Meter GI Weleri agar data yang

dimasukkan sesuai dengan data yang ada

di lapangan.

Page 19: 5302412024_Laporan PKL.pdf

Hari 22 Rename Keypoint

Area Yogyakarta

Mengganti nama Keypoint area

Yogyakarta dan menyesuaikan dengan

data yang ada di lapangan dalam rangka

update data.

Hari 23 Mapping Power Meter

GI Kebumen pada

SCADA Explorer

Menyesuaikan dan mengganti IP Address

Power Meter GI Kebumen agar data yang

dimasukkan sesuai dengan data yang ada

di lapangan.

Hari

22,24,26,27

Pemeliharaan

Komputer

Workstation

Pemeliharaan komputer Workstation

disini adalah komputer yang biasa

dipegang oleh engineer dalam melakukan

pekerjaannya. Dilakukan pemeliharaan

agar dapat mengetahui apa saja yang

kurang atau perlu diperbaiki dalam

rangka memperbaiki performa komputer

itu sendiri. Pemeliharaan komputer

Workstation meliputi clean up disk, disk

defragment, update anti virus, mengecek

komponen yang ada pada komputer, serta

membersihkan monitor, keyboard, dan

CPU. Setelah itu, semua data itu direkap

untuk dilaporkan kepada pimpinan.

Hari 25 Mengumpulkan data

Laporan PKL

Pengumpulan data laporan ini berupa

wawancara terkait dengan projek yang

diberikan sebelumnya dan menggali

informasi tentang data-data yang

dibutuhkan. Selain itu juga screenshoot

tampilan dari projek dalam rangka

memenuhi kebutuhan data laporan.

Hari 28 Membuat Paper

Laporan

Paper laporan dibuat bertujuan untuk

memberikan gambaran kepada pihak

instansi terhadap laporan seperti apa yang

hendak dibuat. Dan paper ini

memudahkan dalam memahami apa yang

ada dalam sebuah laporan PKL.

Hari 29 Penyerahan paper dan

penarikan PKL

Hari terakhir PKL ditutup dengan

menyerahkan hasil akhir paper untuk

diteliti dan ditelaah kebenaran isinya.

Page 20: 5302412024_Laporan PKL.pdf

2.2 Pekerjaan Secara Spesifik

Pekerjaan secara spesifik disini akan membahas mengenai salah satu

kegiatan yang dilakukan selama PKL yaitu projek pembuatan Informasi

Gangguan Jaringan dengan Smart Sender SMS Gateway. Projek ini

merupakan salah satu pengembangan dari sistem SMS Gateway yang sudah

ada.

a. Persiapan

Hal-hal yang harus dipersiapkan dalam pembuatan projek ini antara lain:

(1) Modem 3 buah

Menggunakan modem AT&T 1 buah dan modem Huawei 2 buah.

(2) Aplikasi Gammu

Untuk download aplikasi gammu dengan versi yang diinginkan dapat

mendownload di www.wammu.eu/gammu .

(3) Komputer Engineer

Yang dimaksud komputer engineer adalah komputer yang digunakan khusus

untuk pengiriman SMS Gateway.

(4) Notepad++

Aplikasi yang berfungsi untuk membuat atau mengedit script php, file .dll, dan

lain lain.

(5) XAMPP

Digunakan untuk mengkoneksikan PHP dengan database, disini XAMMP

menghubungkan ke database Oracle dan MySQL.

(6) Navicat Premium

Page 21: 5302412024_Laporan PKL.pdf

Digunakan untuk mempermudah dalam memasukkan data ke dalam database.

Aplikasi ini sangat membantu dalam penginputan data agar cepat dan praktis.

b. Konfigurasi

Setelah itu perlu dikonfigurasikan antara gammu, mysql, php, dan oracle.

Berikut ini adalah langkah-langkahnya:

(1) Instal Gammu dan ekstrak file winrarnya (jika belum ada).

(2) Colokkan modem yang ingin diinstal di Gammu ke sembarang port komputer

(lihat gambar di bawah)

Gambar 2. modem Huawei E3131(kiri) & modem at&t (kanan)

(3) Setelah file gammu di instal dan modem sudah dicolokan, langkah berikutnya

adalah setting konfigurasi. Setting ini diperlukan untuk keperluan penyesuaian

jenis modem dan nomor port yang akan digunakan. Pastikan 3 buah modem

tersebut sudah dikenali oleh komputernya. Untuk mengetahui nomor port yang

digunakan oleh modem klik Start - Control Panel - Device Manager – Modem

Page 22: 5302412024_Laporan PKL.pdf

Gambar 3. Modem yang terdeteksi

Penting !!

Jika pada Control Panel – Device Manager – Modem tidak muncul portnya,

meskipun driver sudah terinstal, maka Anda masih dapat melihat portnya

melalui Control Panel – System – Hardware – Device Manager – Ports (COM

& LPT). Seandainya nomor port muncul baik di Control Panel – Device

Manager – Modem maupun Control Panel – System – Hardware – Device

Manager – Ports (COM & LPT) dan ternyata nomor portnya berbeda, maka

pilih nomor port yang di Control Panel –Device Manager– Modem.

(4) Pada masing-masing driver modem yang sudah terinstal klik Kanan –

Properties – Modem. Untuk mengetahui nomor port dan mengganti Maximum

Port Speed menjadi 115200 lalu klik Apply – OK.

Page 23: 5302412024_Laporan PKL.pdf

(5) Langkah berikutnya, setting konfigurasi Gammu dengan cara edit file

GAMMURC menggunakan Notepad++, dan mengubah bagian pada port dan

connection. Parameter port itu nanti diisi dengan nomor port dimana modem

yang dicolokan di komputer.

Gambar 4. Setting konfigurasi Gammu

Keterangan :

Gammu adalah setting konfigurasi untuk modem 1, dan Gammu1 adalah

setting konfigurasi untuk modem 2. Langkah berikutnya, melakukan

pengecekan apakah konfigurasi modem sudah sesuai. Jalankan Command

Prompt, kemudian ketikkan perintah berikut untuk masuk ke direktori

D:\gammu\bin\gammu-identify

jika konfigurasi sesuai maka tampil informasi seperti berikut:

Page 24: 5302412024_Laporan PKL.pdf

Gambar 5. Konfigurasi modem di command prompt

Keterangan: gammu 0 untuk modem 1, gammu 1 untuk modem 2 dan

gammu 2 untuk modem 3.

(6) Selanjutnya, lakukan konfigurasi pada file smsdrc. Jika menggunakan tiga

modem, maka file smsdrc dicopy sebanyak tiga dengan nama yang berbeda.

Kemudian hilangkan tanda # di file tersebut yang akan dikonfigurasi.

Page 25: 5302412024_Laporan PKL.pdf

Gambar 6.Konfigurasi smsdrc modem 1

Keterangan:

Copy paste file smsdrc menjadi smsdrc1 dan smsdrc2. Lalu rubah port dan

phoneid-nya. Sehingga akan ada 3 file smsdrc dengan phoneid IM3,XL, dan

tsel.

(7) Setelah konfigurasi smsdrc, selanjutnya instal service gammu, buka Command

Prompt lalu ketik : gammu-smsd –i –c smsdrc –n gammuSMSD. Jika

berhasil maka akan tampil pesan seperti berikut:

Gambar 7. Instal service gammu

Page 26: 5302412024_Laporan PKL.pdf

Kemudian jalankan service gammu dengan perintah gammu- smsd –s –c

smsdrc –n gammuSMSD. Jika berhasil maka akan tampil pesan seperti

berikut:

Gambar 8. Start service gammu

(8) Lakukan penginstalan service pada smsdrc1 dan smsdrc2 dengan

mengetikkan :

Gammu-smsd –i –c smsdrc1 –n gammu1

Gammu-smsd –i –c smsdrc2 –n gammu2

(9) Apabila ketiga service telah sukses dikonfigurasi di command prompt,

selanjutnya adalah memulai service, dengan membuka Control Panel-

Administrative Tools-Service. Akan muncul tampilan berikut:

Gambar 9. Services

(10) Cari gammu SMSD Service (gammu1) untuk modem 1, Gammu SMSD

Service (gammu2) untuk modem 2. Double click maka akan muncul tampilan

berikut :

Page 27: 5302412024_Laporan PKL.pdf

Gambar 10. Properties service gammu

Kemudian pilih tab Recovery, pada first failure, second failure dan subsequent

failures pilih restart the service. Selanjutnya pilih tab General, pilih Start

kemudian klik Apply.

(11) Untuk dapat mengakses data Oracle dari server diperlukan Oracle Instant

Client, sesuai dengan versinya. Disini, menggunakan Oracle Instant Client

version 10.2.0.4 karena Oracle yang digunakan versi 10. Setelah download

Oracle Instant Client di website resmi Oracle, tempatkan di folder Xampp.

(12) Setelah mengkonfigurasi Gammu, langkah selanjutnya menyambungkan

database dari oracle melalui Navicat. Langkah pertama yaitu membuka

aplikasi Navicat. Akan muncul tampilan seperti di bawah ini:

Page 28: 5302412024_Laporan PKL.pdf

Gambar 11. Koneksi ke Oracle

(13) Klik Tools pada menu bar, lalu pilih Options. Seperti tampilan berikut.

Gambar 12. Tools-Options

Page 29: 5302412024_Laporan PKL.pdf

(14) Setelah itu, pilih OCI pada tab kiri bawah. Maka akan muncul tampilan seperti

ini.

Gambar 13. Jendela Options

Pada tab general, terdapat pilihan OCI library, kemudian klik browse. Dan cari

file oci.dll yang terdapat di folder Oracle Instant Client, Klik Open. Pada

pilihan SQL Plus, biarkan kosong. Kemudian OK.

(15) Untuk menyambungkan ke database Oracle, klik icon Connection, pilih

Oracle. Maka akan muncul tab general, dimana isikan Connection Name, Host,

Port, Service Name/SID, username, dan password. Kemudian klik Test

Connection. Database Oracle disini sebagai sumber data (data source) dari

SMS yang akan dikirimkan.

Page 30: 5302412024_Laporan PKL.pdf

Gambar14. Koneksi ke Oracle sukses

(16) Langkah selanjutnya mengedit file php.ini di folder Xampp/php. Lalu

uncomment/hilangkan titik koma di depan extension=php_oci8.dll.

Gambar 15. File php.ini

Page 31: 5302412024_Laporan PKL.pdf

Lalu, akan muncul dialog PHP Warning: PHP StartuP: Unable to load

dynamic library. Untuk mengatasi hal tersebut, copy file oci.dll,

orannzsbb10.dll dan oraocci10, ke C:\WINDOWS\System32.

(17) Selanjutnya, tambahkan PATH pada Environment Variabel di Sistem. Dengan

cara, klik Start-Control Panel-System. Pilih tab Advanced, lalu klik

Environment Variables. Maka akan muncul tampilan berikut.

Gambar 16. Jendela Environment Variables

Page 32: 5302412024_Laporan PKL.pdf

Pada tab System variables pilih PATH kemudian klik Edit, lalu tambahkan

address dimana tempat file Oracle Instant Client berada, lalu Klik OK.

Gambar 17. Edit System Variable

(18) Langkah selanjutnya yaitu, meng-copy seluruh isi folder Oracle Instant Client

ke dalam folder Xampp/Apache/bin.

(19) Pada aplikasi Navicat perlu menyambungkan database MYSQL dengan cara

klik icon Connection pilih MYSQL, dan isikan Connection Name, Host, Port,

Username dan Password kemudian Klik OK.

Gambar 18. Koneksi ke MySQL sukses

Page 33: 5302412024_Laporan PKL.pdf

Pilih speedjardist, klik kanan pilih New Table, kemudian isikan field yaitu

id(int), provider(varchar), nomor(varchar). Save. Lalu masukkan data seperti

pada gambar 20.

Gambar 19. Struktur Tabel Provider

Gambar 20. Isian Tabel Provider

Pada tahap pemrograman, bagian yang diubah adalah bagian memasukkan

pesan ke tabel outbox pengiriman sms. berikut ini adalah potongan source code

aslinya atau sebelum dirubah:

Page 34: 5302412024_Laporan PKL.pdf

Gambar 21. Source Code Pengiriman 1 Modem

Dan di bawah ini adalah hasil modifikasi dari sistem pengiriman sms dengan

menggunakan single modem menjadi multi modem.

//lempar ke modem

$query_sms = "INSERT INTO $data_repl_f.outbox

(DestinationNumber, TextDecoded,SenderID) VALUES

('".$hsl[0]."','PMT ".$nama_pmt." TRIP ".$add_info." Indikasi :

".$var_gangguan." ".$time."','IM3')";

//lempar ke modem

$pecah = substr($hsl[0], 0,4);

$cek = "SELECT provider FROM $data_repl_f.`provider`

WHERE nomor = $pecah";

$cek2 = mysql_query($cek, $replikasi_f);

while ($cek3=mysql_fetch_array($cek2)){

$tel="tsel";

$im3="IM3";

if($tel==$cek3['provider']){

$query_sms = "INSERT INTO $data_repl_f.outbox

(DestinationNumber, TextDecoded,SenderID) VALUES

('".$hsl[0]."','PMT ".$nama_pmt." TRIP ".$add_info."

Indikasi : ".$var_gangguan." ".$time."','tsel')"; }

Page 35: 5302412024_Laporan PKL.pdf

Gambar 22. Source Code Pengiriman Multi Modem

elseif($im3 == $cek3['provider']){

$query_sms = "INSERT INTO $data_repl_f.outbox

(DestinationNumber, TextDecoded,SenderID) VALUES

('".$hsl[0]."','PMT ".$nama_pmt." TRIP ".$add_info."

Indikasi : ".$var_gangguan." ".$time."','IM3')"; }

else{

$query_sms = "INSERT INTO $data_repl_f.outbox

(DestinationNumber, TextDecoded,SenderID) VALUES

('".$hsl[0]."','PMT ".$nama_pmt." TRIP ".$add_info."

Indikasi : ".$var_gangguan." ".$time."','XL')";}

echo 'send to modem ------>'.$query_sms.'<br>';

}

Page 36: 5302412024_Laporan PKL.pdf

BAB III

ANALISA HASIL PEKERJAAN

3.1 Kebutuhan Fisik

Untuk membuat Analisa Pembuatan Informasi Gangguan Jaringan dengan

Smart Sender SMS Gateway, komponen-komponen yang penulis gunakan adalah

sebagai berikut :

a. Perangkat keras : 1 buah laptop.

b. Perangkat lunak : Sistem operasi windows xp, Navicat Premium, aplikasi

Gammu, Oracle Instant Client, Notepad++, Xampp.

3.2 Kebutuhan Fungsional

a. Diagram Desain

Secara sederhana, dalam hal pengembangan sistem SMS Gateway yang

sudah ada maka sistem ini menggunakan multi modem multi provider. Disini

menggunakan 3 jenis provider yaitu IM3, Telkomsel dan XL yang mana penentuan

provider tersebut diambil dari banyaknya user yang memiliki provider-provider

tersebut.

Inti dari sistem ini adalah pada saat proses pengiriman atau saat penginputan

sms ke dalam outbox. Dalam hal ini sistem akan membaca 4 digit depan nomor

handphone yang ada pada nomor yang akan dikirmkan dan mencocokkan 4 digit

depan nomor itu dengan tabel provider yang ada pada database MySQL. Setelah

itu program akan membaca provider apa yang digunakan dengan melihat kesamaan

Page 37: 5302412024_Laporan PKL.pdf

4 digit nomor depan nomor dengan nama provider yang sudah dilist di dalam tabel

provider pada database.

Saat sistem membaca nomor tersebut adalah nomor dengan provider IM3

maka secara otomatis sistem akan menginputkan ke dalam tabel outbox dengan

SenderID-nya adalah IM3. Jika sistem membaca nomor tersebut adalah nomor

dengan provider Telkomsel maka secara otomatis sistem akan menginputkan ke

dalam tabel outbox dengan SenderID-nya adalah Telkomsel. Dan jika sistem

membaca nomor tersebut bukan nomor IM3 maupun nomor Telkomsel maka secara

otomatis sistem akan menginputkan ke dalam tabel outbox dengan SenderID-nya

adalah XL. Visualisasi deskripsi pada bagian ini dapat dilihat gambar 23.

Gambar 23. Diagram Desain Sistem

Page 38: 5302412024_Laporan PKL.pdf

a. Flowchart Program

Gambar 24. Flowchart Sistem Pengiriman

Page 39: 5302412024_Laporan PKL.pdf

Penjelasan poin per poin berikut adalah untuk yang ada di gambar 24

diatas:

(1) Sistem akan membaca nomor handphone yang terpilih.

(2) Lalu diambil 4 digit depan nomor yang dipilih.

(3) Mencocokkan 4 digit nomor yang dipecah dengan tabel nomor dengan 4 digit

nomor yang ada pada provider yang sudah dibuat. Dalam hal pembuatan tabel

provider penginputan 4 digit depan nomor-nomor seluruh provider harus benar,

akurat dan dapat dipercaya. Dan nomor-nomor seluruh provider harus benar-

benar terisi untuk menghindari terjadinya pending sms dikarenakan tidak

diketahui identitas nomornya.

(4) Setelah ditemukan kecocokan 4 digit nomor yang dipecah dengan data nomor-

nomor provider yang ada di dalam tabel provider, maka sistem akan membaca

nama provider pada tabel provider yang sesuai dengan nomor.

(5) Jika sistem membaca nama providernya adalah IM3 maka sistem akan

menginputkan SenderID ke dalam outbox yaitu IM3. Yang artinya sistem akan

mengirimkan dengan modem berprovider atau bernama IM3.

(6) Juga jika sistem membaca nama providernya adalah tsel maka sistem akan

menginputkan SenderID ke dalam outbox yaitu tsel. Yang artinya sistem akan

mengirimkan dengan modem berprovider atau bernama telkomsel.

(7) Namun, jika sistem tidak membaca keduanya bahwa nomor tersebut bukan

termasuk nomor IM3 maupun nomor Telkomsel maka secara otomatis sistem

akan mengirim ke nomor tersebut dengan modem berprovider XL.

Page 40: 5302412024_Laporan PKL.pdf

3.3 Testing

a. Uji Kinerja Gammu

Untuk menguji coba apakah gammu dapat berjalan dengan baik, maka hal-

hal yang perlu dilakukan diantaranya:

(1) Pastikan semua service gammu sudah berjalan atau dalam keadaan Start.

(2) Jalankan XAMPP.

(3) Lalu masukkan script seperti di bawah ini pada aplikasi Navicat Premium:

Gambar 25. Tes SMS Navicat

Ganti SenderID sesuai dengan phoneID yang sudah dibuat, disini ada 3

phoneID yaitu IM3, tsel dan XL. Sehingga untuk mengujinya hanya perlu

mengganti SenderID dengan nama phoneID yang ingin diuji coba.

(4) Jika berhasil terkirim ke nomor tersebut sesuai dengan provider yang diinginkan

maka gammu berjalan dengan baik.

b. Uji Source Code PHP

(1) Pastikan koneksi ke Oracle dengan oracle instant client dan ke database

MySQL berhasil.

(2) Buat tabel baru dengan nama “gangguan” dan buatlah struktur tabel seperti

gambar di bawah yaitu berisikan no_rec, point_id, tgl, jam, msec, dan event.

INSERT INTO outbox (DestinationNumber, TextDecoded,

SenderID) VALUES ('085728434754', 'Test', 'tsel')

Page 41: 5302412024_Laporan PKL.pdf

Gambar 26. Tabel gangguan

(3) Ganti nama dc_osiris_event_gangguan3 (nama table untuk menyimpan data)

dengan nama tabel yang baru saja dibuat. Fungsinya agar pengecekan source

code tidak mengganggu sistem yang sedang berjalan.

(4) Lalu ketikkan localhost/nama folder/nama file php di web browser. Pada projek

ini:localhost/kode/trip_sms3.php. Atasi segala error yang mungkin saja terjadi.

Dalam pembuatan projek ini, tidak ada error dalam source code seperti

tergambar pada gambar di bawah ini:

Send to modem -INSERT INTO

speedjardist.outbox(DestinationNumber, TextDecoded,

SenderID) VALUES(‘085648151681’,’PMT TJB03 TRIP

Indikasi : OCR/ GFR 08-02-2015 04:49:56’,’IM3’

Send to modem -INSERT INTO

speedjardist.outbox(DestinationNumber, TextDecoded,

SenderID) VALUES(‘08113800059’,’PMT TJB03 TRIP

Indikasi : OCR/ GFR 08-02-2015 04:49:56’,’tsel’

Page 42: 5302412024_Laporan PKL.pdf

Gambar 27. Tampilan di Localhost

Dari gambar 27 di atas maka dapat diketahui bahwa program dapat membaca

nomor handphone yang akan dituju dan mengirimnya menggunakan provider

sesuai dengan yang sudah ditentukan pada tabel. sistem pengiriman SMS

Gateway dengan multi modem dengan kemampuan dapat mengirim ke nomor-

nomor yang sesuai dengan providernya masing-masing.

3.4 Analisa Perbandingan

Disini, pengembangan sistem menggunakan 3 provider yang paling banyak

digunakan oleh para Pegawai, yaitu IM3, Telkomsel, dan XL. Pegawai dengan

nomor-nomor IM3 akan menerima pesan dari modem yang berprovider IM3.

Pegawai dengan nomor-nomor Telkomsel akan menerima pesan dari modem yang

berprovider Telkomsel. Dan Pegawai dengan nomor-nomor selain nomor IM3 dan

Telkomsel akan menerima pesan dari modem yang berprovider XL. Hal ini

bukanlah sebuah masalah yang berarti karena Pegawai yang menggunakan nomor

selain IM3 dan Telkomsel jumlahnya tidak banyak.

Dalam hal penentuan provider digunakan perbandingan jumlah pegawai

yang menggunakan nomor-nomor provider dengan intensitas paling banyak

dipakai. Dan berdasarkan analisa, pengguna IM3 dan Telkomsel adalah pengguna

Send to modem -INSERT INTO

speedjardist.outbox(DestinationNumber, TextDecoded,

SenderID) VALUES(‘08383333123’,’PMT TJB03 TRIP

Indikasi : OCR/ GFR 08-02-2015 04:49:56’,’XL’

Page 43: 5302412024_Laporan PKL.pdf

paling banyak. Maka dari itu, provider yang dipilih untuk modem SMS Gateway

adalah IM3 dan Telkomsel. Dan modem dengan provider XL akan menghandle

pengiriman sms dengan nomor-nomor yang bukan IM3 maupun Telkomsel.

Sedangkan dalam analisis penggunaan sistem lama dengan sistem baru,

maka dapat disimpulkan bahwa sistem baru merupakan pengembangan dari apa

yang kurang dari sistem yang lama dan berfungsi untuk menambal kekurangan

tersebut. Berikut ini perbandingan menggunakan sistem lama dan sistem baru SMS

Gateway diantaranya:

Tabel 2. Perbandingan Sistem

Perbedaan Sistem Lama Sistem Baru

Anggaran SMS Gateway Lebih banyak Lebih hemat

Penggunaan Modem 1 modem (Single

Modem)

3 modem (Multi

Modem)

Kerja Sistem Statis Dinamis (provider dapat

dirubah sesuai

kebutuhan)

Page 44: 5302412024_Laporan PKL.pdf

BAB IV

PENUTUP

4.1 Kesimpulan

Dari pembahasan laporan Praktik Kerja Lapangan yang berjudul “Informasi

Gangguan Jaringan dengan Smart Sender SMS Gateway”, maka dapat diambil

beberapa simpulan, sebagai berikut :

a. SMS Gateway merupakan media pengiriman informasi gangguan jaringan yang

yang digunakan oleh PT PLN (Persero) APD Jateng dan DIY.

b. Pengembangan sistem sangat diperlukan untuk pembaharuan sistem menjadi

lebih baik.

c. Informasi Gangguan Jaringan dengan Smart Sender SMS Gateway dirasa cukup

efektif untuk meminimalisasi anggaran untuk pengiriman sms.

4.2 Saran

Setelah pelaksanaan program praktik kerja lapangan dan melakukan

evaluasi atas semua kegiatan yang berkenaan dengan pelaksanaan praktik kerja

lapangan di PT PLN (Persero) APD Jateng dan DIY Semarang, maka beberapa

saran yang bisa dilakukan, diantaranya sebagai berikut :

a. Saran Untuk Universitas Negeri Semarang

Karena pentingnya program kerja praktik dan manfaatnya bagi

mahasiswa, sebaiknya waktu pelaksanaan praktik kerja lapangan lebih

Page 45: 5302412024_Laporan PKL.pdf

diperpanjang agar mahasiswa mengerti lebih jauh tentang dunia kerja yang

sesungguhnya.

b. Saran Untuk PT PLN (Persero) APD Jateng dan DIY Semarang

(1) Fitur-fitur dari penggunaan SMS Gateway sangatlah banyak dan sangat

bermanfaat. Akan lebih baik lagi jika fitur-fitur yang bias digunakan dengan media

SMS Gateway dapat digunakan secara lebih optimal. Seperti pada halnya

penggunaan polling sms kepuasan layanan, pengiriman sms event atau agenda yang

sudah terjadwal, atau pengembangan lainnya yang masih banyak lagi untuk di-

explore.

(2) Pengembangan suatu sistem akan lebih baik lagi jika dilakukan secara berkala

untuk mencapai tujuan sistem yang efektif dan efisien.

(3) Sistem penentuan paket sms pada masing-masing provider harus dapat

ditentukan secara bijak dan berpikir jangka panjang untuk penentuan anggaran yang

lebih optimal.

c. Saran untuk mahasiswa PKL berikutnya

Belajar banyak hal membuat semakin membuka banyak cara berpikir.

Jangan hanya belajar dari apa yang didapat dari bangku perkuliahan karena dunia

kerja jauh berbeda dari kehidupan kampus.

Page 46: 5302412024_Laporan PKL.pdf

DAFTAR PUSTAKA

[1]. Adji, B.S. Membuat SMS Server / Gateway dengan Gammu di

Windows, <URL : http://bayusenoadji.com/en/windows/38-

windows/52-membuat-sms-server--gateway-dengan-gammu-di-

windows>

[2]. Anonim. 2014. Bahasa Pemrograman PHP,

<http://www.satriamultimedia.com/artikel_bahasa_pemrograman_php.ht

ml>

[3]. Gammu.2012.Gammu, <URL:http://wammu.eu/gammu/>

[4]. Harahap, Azhari.2010. Using gammu-smsd with multiple phone,

<URL : https://back2arie.wordpress.com/>

[5]. Haryono, Fepri. 2011. Perancangan Aplikasi SMS Gateway Untuk

Meningkatkan Kualitas Pelayanan di PT PLN (Persero) APJ

Yogyakarta. Naskah Publikasi, STMIK Amikom Yogyakarta.

[6]. Pramuko Tri Prastowo. 2010. Aplikasi SMS Gateway pada Acara

Bincang Malam Produksi LPP TVRI Pusat Jakarta. Makalah

disajikan dalam Seminar Kerja Praktik, Universitas Diponegoro,

Semarang.

[7]. Rajasa, Angga. Sistem Peringatan Dini Gangguan Komunikasi Scada.

Naskah Publikasi, PT PLN Persero (APD) Jateng&DIY Semarang.

[8]. Rosihanari.2009. Setting SMS Gateway Lebih dari 1 Modem,

<URL:http://blog.rosihanari.net/setting-gammu-untuk-aplikasi-sms-

gateway>

[9]. Wikipedia Indonesia. 2012. SMS Gateway,

<URL:http://id.wikipedia.org/wiki/SMS_Gateway>

Page 47: 5302412024_Laporan PKL.pdf

LAMPIRAN

(1) Source Code Lengkap

<?php

//Menghubungkan dengan database lokal Collector Lama

$host_repl_f = "10.100.1.26";

$user_repl_f = "adminapd";

$pass_repl_f = "adminapd";

$data_repl_f = "speedjardist";

$replikasi_f = @mysql_connect($host_repl_f, $user_repl_f,

$pass_repl_f) or

die ("Gagal koneksi ke database collect data GI APD");

@mysql_select_db($data_repl_f, $replikasi_f) or

die ("Gagal aktif database collect data GI");

//Menghubungkan dengan server Oracle Survalent di APD

$host = "10.100.1.7";

$port = "1521";

$username = "semarang";

$password = "scada101";

$sid = "orcl";

Page 48: 5302412024_Laporan PKL.pdf

$db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS =

(PROTOCOL = TCP)(HOST = $host)(PORT =

$port)))(CONNECT_DATA=(SID=$sid)))" ;

$conn = ocilogon("$username","$password",$db) or

die ("Gagal koneksi ke server Survalent APD!");

//Untuk mengecek apakah sudah ada replikasi data event

survalent ke db_collect

$sql_get_data = "SELECT COUNT(*) FROM

$data_repl_f.gangguan";

$cek_awal_event = mysql_query($sql_get_data, $replikasi_f);

while ($hsl_cek_awal_event =

mysql_fetch_row($cek_awal_event)){

//Untuk batas pengambilan data

$bts_awal = $hsl_cek_awal_event[0]+1;

$bts_akhir = $bts_awal+200;}

//query kata-kata yang tidak perlu

$var_kata = "";

$sql_kata = "SELECT * FROM

$data_repl_f.dc_osiris_kata_terbuang";

$result_kata = mysql_query($sql_kata, $replikasi_f);

while ($hasil = mysql_fetch_row($result_kata)){

$var_kata = $var_kata."AND MESSAGE NOT LIKE

'%".$hasil[1]."%'"; }//end while

Page 49: 5302412024_Laporan PKL.pdf

//Hasil pengecekan digunakan untuk mengambil event yang ada

$sql = "SELECT * FROM (SELECT POINT_ID,

TO_CHAR(TIMESTAMP, 'YYYY-MM-DD HH24:Mi:SS') AS

WAKTU_EVENT,TO_CHAR(TIMESTAMP, 'DD-MM-YYYY

HH24:Mi:SS') AS WAKTU, MESSAGE, ROW_NUMBER()

OVER (ORDER BY TIMESTAMP) R FROM REPORT_LOG

WHERE TIMESTAMP >= TO_DATE('2015-2-08

00:00:00','YYYY-MM-DD HH24:Mi:SS')

) WHERE R BETWEEN $bts_awal AND $bts_akhir";

".$var_kata."

) WHERE R BETWEEN $bts_awal AND $bts_akhir";

//Mendefinisikan perintah SQL diatas

$stid_srv = oci_parse($conn, $sql);

//Mendefinisikan ulang data sebelum ditampilkan

oci_define_by_name($stid_srv, 'WAKTU_EVENT',

$waktu_event);

oci_define_by_name($stid_srv, 'POINT_ID', $point_id);

oci_define_by_name($stid_srv, 'WAKTU', $waktu);

oci_define_by_name($stid_srv, 'MESSAGE', $message);

oci_define_by_name($stid_srv, 'R', $r);

//eksekusi perintah sql

oci_execute($stid_srv);

Page 50: 5302412024_Laporan PKL.pdf

//membuat class baru untuk menghitung selisih waktu

$difference = new difference();

//convert into stdclass object array

$nrows = oci_fetch_all($stid_srv,$results, null,

null,OCI_FETCHSTATEMENT_BY_ROW);

foreach ($results as $key => $val){

$obj = new stdClass();

if (is_array($val)){

foreach ($val as $k => $v){

$obj->$k = $v;}}

else{ $obj->$key = $val;}

$data_event[] = $obj;

}//end foreach

//start looping data

for ($index=0; $index < $nrows; $index++){

$result =& $data_event[$index];

//-----------------------logging di mysql raw data

//Memecah $waktu berdasarkan karakter " "

$tgl_jam = explode(" ", "$result->WAKTU");

$explode = explode("-", "$tgl_jam[0]");

$date = $explode[2].'-'.$explode[1].'-'.$explode[0];

$query = "INSERT INTO gangguan (point_id, tgl, jam,

event,msec) VALUES (";$query .= "'$result->POINT_ID',

'$date', '$tgl_jam[1]', '$result->MESSAGE' , '$result->MSEC')";

Page 51: 5302412024_Laporan PKL.pdf

//menjalankan perintah sql diatas

$tmbh_mysql = mysql_query($query, $replikasi_f);

//cek open by [FALSE]

if(strpos(trim($result->MESSAGE,' '), 'Close') === false &&

strpos(trim($result->MESSAGE,' '), 'FROM') === false &&

strpos(trim($result->MESSAGE,' '), 'Trip') === false &&

strpos(trim($result->MESSAGE,' '), 'Alarm' ) === false &&

strpos(trim($result->MESSAGE,' '), 'Over Current') === false

&& strpos(trim($result->MESSAGE,' '), 'App') === false &&

strpos(trim($result->MESSAGE,' '), 'Fault') === false &&

strpos(trim($result->MESSAGE,' '), 'Earth') === false){

//jika event gangguan sesudah status open

$var_point_id = $result->POINT_ID;

$time = $result->WAKTU;

$pos = $index;

$time_event = $result->WAKTU_EVENT;

//setting awal setting string gangguan

$var_gangguan = '!';

//array untuk mencegah doubling status

$array_status = array();

$add_info = '';

//looping maju sebanyak 10 status

for($i=1;$i<=10;$i++){

$rs_next =& $data_event[$index+$i];

$counter = $index+$i;

Page 52: 5302412024_Laporan PKL.pdf

/*kalau untuk status gangguan muncul sesudah pmt trip

maka looping sebanyak status gangguan + 1 (in case kalo status

gangguan muncul semua) lalu diukur dengan waktu selisih detik,

bila kurang dari sama dengan 30 detik, anggap reclose*/

if($rs_next->POINT_ID == $var_point_id &&

strpos(trim($rs_next->MESSAGE,' '), 'Open') === false &&

strpos(trim($rs_next->MESSAGE,' '), 'FROM') === false){

$diff_time = $difference->difference_time($time,$rs_next-

>WAKTU);

$difference_in_seconds = $diff_time['hour']*3600 +

$diff_time['minute']*60 + $diff_time['second'];

if($difference_in_seconds <= 30){

$rs_prev_prev =& $data_event[$counter-1];

if(strpos(trim($rs_prev_prev->MESSAGE,' '), 'FROM') ===

false)\

$add_info = 'RECLOSE';

}//end if

}//end if

//sql untuk mencari total data point gangguan

$sql_gangguan = "SELECT alias FROM

dc_osiris_map_gangguan_survalent a, dc_osiris_map_survalent b

WHERE a.feeder = b.feeder AND b.map_id = '$var_point_id'

AND a.map_id = '$rs_next->POINT_ID'";

$result = mysql_query($sql_gangguan, $replikasi_f);

Page 53: 5302412024_Laporan PKL.pdf

//jika tidak menemukan hasil maka tidak di proses

if(mysql_num_rows($result) > 0){

//kalau selama looping ada status yang melebihi dari ambang

batas waktu maka break dari looping

$diff_time = $difference->difference_time($time,$rs_next-

>WAKTU);

$difference_in_seconds = $diff_time['hour']*3600 +

$diff_time['minute']*60 + $diff_time['second'];

if($difference_in_seconds > 30){break;}//end if

else{while ($hasil = mysql_fetch_row($result)){

//mencegah doubling status dalam sms, kalau status gangguan

belum ada dalam array array_status, maka di push array lalu

concat dengan string var_gangguan

if (!in_array($hasil[0], $array_status)) {

array_push($array_status, $hasil[0]);

$var_gangguan = $var_gangguan.' / '.$hasil[0];

}//end if

}//end while

}//end else

}//end if

//looping mundur sebanyak 10 status

for($i=1;$i<=10;$i++){

Page 54: 5302412024_Laporan PKL.pdf

$rs_prev =& $data_event[$index-$i];

//sql untuk mencari total data point gangguan

$sql_gangguan = "SELECT alias FROM

dc_osiris_map_gangguan_survalent a, dc_osiris_map_survalent b

WHERE a.feeder = b.feeder AND b.map_id = '$var_point_id'

AND a.map_id = '$rs_prev->POINT_ID'";

$result = mysql_query($sql_gangguan, $replikasi_f);

//jika tidak menemukan hasil maka tidak di proses

if(mysql_num_rows($result) > 0){

//kalau selama looping ada status yang melebihi dari ambang

batas waktu maka break dari looping

$diff_time = $difference->difference_time($rs_prev-

>WAKTU,$time);

$difference_in_seconds = $diff_time['hour']*3600 +

$diff_time['minute']*60 + $diff_time['second'];

if($difference_in_seconds > 30){ break;}//end if

else{

while ($hasil = mysql_fetch_row($result)){

//mencegah doubling status dalam sms, kalau status gangguan

belum ada dalam array array_status, maka di push array lalu

concat dengan string var_gangguan

if (!in_array($hasil[0], $array_status)) {

array_push($array_status, $hasil[0]);

$var_gangguan = $var_gangguan.' / '.$hasil[0];

}//end if

}//end while

}//end else

}//end if

}//end for

Page 55: 5302412024_Laporan PKL.pdf

//menghilangkan string slash indikasi gangguan

$var_gangguan = str_replace("! /", "", $var_gangguan);

//pmt open disebabkan manuver / tidak ada indikasi gangguan =

tidak dikirim

if($var_gangguan != '!'){

//Map id agar otomatis mengambil nama feeder jika map_id

sesuai

$sql = "SELECT feeder,zone FROM

speedjardist.dc_osiris_map_survalent WHERE

map_id='$var_point_id' and pemeliharaan = 0";

$row_result = mysql_query($sql, $replikasi_f);

if(mysql_num_rows($row_result) > 0){

while ($hsl_id = mysql_fetch_row($row_result)){

$nama_pmt = $hsl_id[0];

$zona = $hsl_id[1];

}//end of while

//SMS Per Zona User

$sql_sms = "SELECT Number FROM $data_repl_f.`pbk`

WHERE ApprovedSMSFault = 1 AND (zona=".$zona." OR zona

= 100)";

$result_data = mysql_query($sql_sms, $replikasi_f);

while ($hsl = mysql_fetch_row($result_data)){

Page 56: 5302412024_Laporan PKL.pdf

//sql untuk mencegah doubling-doubling sms

$query_buffer = "INSERT INTO

speedjardist.dc_osiris_logsms_gangguan (nomor_tujuan,

logsms,asal,waktu_trip,pmt_trip) VALUES ('".$hsl[0]."','PMT

".$nama_pmt." TRIP ".$add_info." Indikasi : ".$var_gangguan."

".$time."',3,'".$time_event."','".$nama_pmt."')";

mysql_query($query_buffer,$replikasi_f);

//lempar ke modem

$query_sms = "INSERT INTO $data_repl_f.outbox

(DestinationNumber, TextDecoded,SenderID) VALUES

('".$hsl[0]."','PMT ".$nama_pmt." TRIP ".$add_info." Indikasi :

".$var_gangguan." ".$time."','IM3')";

//logging sms

$query_log = "INSERT INTO $data_repl_f.outbox_log

(outbox_phone_number, outbox_text_message,outbox_from)

VALUES ('".$hsl[0]."','PMT ".$nama_pmt." TRIP ".$add_info."

Indikasi : ".$var_gangguan." ".$time."','SMS TRIP 3')";

//altering table outbox

$query_alter = "ALTER TABLE outbox ORDER BY

UpdatedInDB";

$sql_exception = "SELECT count(*) FROM

$data_repl_f.`dc_osiris_logsms_gangguan` WHERE logsms

LIKE '%PMT ".$nama_pmt." TRIP%' AND logsms LIKE

'%".$time."%' AND nomor_tujuan = '".$hsl[0]."' AND asal = 2";

$result_buffer = mysql_query($sql_exception, $replikasi_f);

Page 57: 5302412024_Laporan PKL.pdf

while ($hsl_buf = mysql_fetch_row($result_buffer)){

$total_data = $hsl_buf[0];

if($total_data == 0 ){

echo 'send to modem ------>'.$query_buffer.'<br>';

mysql_query($query_sms,$replikasi_f);

mysql_query($query_log,$replikasi_f);

mysql_query($query_alter,$replikasi_f);}//end if

}//end while sql exception

}//end of if

}//end of while

}//end if

}//end if cek Open

}//end looping data

class difference {

function difference_time($d2, $d1){

$d1 = date_parse($d1);

$d2 = date_parse($d2);

//seconds

if ($d1['second'] >= $d2['second'])

$diff['second'] = $d1['second'] - $d2['second'];

else {

$d1['minute']--;

$diff['second'] = 60-$d2['second']+$d1['second'];}

Page 58: 5302412024_Laporan PKL.pdf

//minutes

if ($d1['minute'] >= $d2['minute']){

$diff['minute'] = $d1['minute'] - $d2['minute'];}

else {

$d1['hour']--;

$diff['minute'] = 60-$d2['minute']+$d1['minute'];

}

//hours

if ($d1['hour'] >= $d2['hour']){

$diff['hour'] = $d1['hour'] - $d2['hour'];}

else {

$d1['day']--;

$diff['hour'] = 24-$d2['hour']+$d1['hour'];}

return $diff;

}//end of function

}//end of class

//Menutup koneksi ke database db_collect, replikasi data

ROPO/SCADA (first)

mysql_close($replikasi_f);

//Menutup koneksi ke server Survalent di APD

oci_close($conn);

?>