Anda di halaman 1dari 23

LAPORAN PRAKTIKUM

MIKROPROSESOR
MODUL IV : MODUL GSM DAN KOMUNIKASI SERIAL

Disusun Oleh :
Akhmad Sabias Khamdani
(17101086)
Partner Praktikum :
Almasy Syahidah (17101087)

Praktikum Tanggal : 14 Mei 2019


Asisten Praktikum :
Dwi Elba Wahyu A (16101127)

LABORATORIUM TEKNIK ELEKTRONIKA DAN TEKNIK DIGITAL


FAKULTAS TEKNIK TELEKOMUNIKASI DAN ELEKTRO (FTTE)
INSTITUT TEKNOLOGI TELKOM
JL. D.I. PANJAITAN 128 PURWOKERTO
2019
MODUL IV
MODUL GSM DAN KOMUNIKASI SERIAL
A. Tujuan Praktikum
1. Mahasiswa dapat mengetahui cara menggunakan komunikasi serial pada
Arduino.
2. Mahasiswa dapat mengakses modul GSM SIM800C.
3. Mahasiswa dapat mengetahui perintah-perintah AT Commands dasar pada
SIM800C.
4. Mahasiswa dapat melakukan pengiriman dan pembacaan SMS, menerima dan
melakukan panggilang telepon serta melakukan koneksi GPRS pada modul
GSM SIM800C.
5. Mahasiswa dapat membuat sebuah program otomatis untuk melakukan SMS,
panggilan telepon maupun koneksi GPRS.
B. Alat Dan Bahan Praktikum
1. Board Arduino Uno R3 : 1 buah
2. Breadboard : 1 buah
3. Kabel USB tipe A ke B : 1 buah
4. Modul GSM SIM800C : 1 buah
5. Antena SIM800C : 1 buah
6. Diode N4002 : 1 buah
7. SIM CARD GSM Mikro : 1 buah
8. Kabel Jumper male-to-male sesuai kebutuhan
9. Kabel Jumper male-to-female sesuai kebutuhan
10. Laptop : 1 buah
C. DASAR TEORI
1. Komunikasi Serial
Komunikasi serial adalah komunikasi yang pengiriman datanya per-bit secara
berurutan dan bergantian. Komunikasi ini mempunyai suatu kelebihan yaitu
hanya membutuhkan satu jalur dan kabel yang sedikit dibandingkan dengan
komunikasi paralel. Pada prinsipnya komunikasi serial merupakan komunikasi
dimana pengiriman data dilakukan per bit sehingga lebih lambat dibandingkan
komunikasi parallel, atau dengan kata lain komunikasi serial merupakan salah
satu metode komunikasi data di mana hanya satu bit data yang dikirimkan
melalui seuntai kabel pada suatu waktu tertentu. Pada dasarnya komunikasi
serial adalah kasus khusus komunikasi paralel dengan nilai n = 1, atau dengan
kata lain adalah suatu bentuk komunikasi paralel dengan jumlah kabel hanya
satu dan hanya mengirimkan satu bit data secara simultan.Hal ini dapat
disandingkan dengan komunikasi paralel yang sesungguhnya di mana n-bit
data dikirimkan bersamaan, dengan nilai umumnya 8 ≤ n ≤ 128.
Komunikasi serial ada dua macam, asynchronous
serial dan synchronous serial. Synchronous serial adalah komunikasi dimana
hanya ada satu pihak (pengirim atau penerima) yang menghasilkan clock dan
mengirimkan clock tersebut bersama-sama dengan data. Contoh
pengunaan synchronous serial terdapat pada transmisi data
keyboard. Asynchronous serial adalah komunikasi dimana kedua pihak
(pengirim dan penerima) masing-masing menghasilkan clock namun hanya
data yang ditransmisikan, tanpa clock. Agar data yang dikirim sama dengan
data yang diterima, maka kedua frekuensi clock harus sama dan harus terdapat
sinkronisasi. Setelah adanya sinkronisasi, pengirim akan mengirimkan datanya
sesuai dengan frekuensi clock pengirim dan penerima akan membaca data
sesuai dengan frekuensi clock penerima. Contoh penggunaan asynchronous
serial adalah pada Universal Asynchronous Receiver Transmitter (UART)
yang digunakan pada serial port (COM) komputer. [1]
2. SIM800C
SIM800C adalah salah satu modem GSM/GPRS yang bekerja di empat band
frekuensi, yakni 850, 900, 1800 dan 1900 MHZ, sedangkan GPRS-nya
mengadopsi teknologi multi slot class 12/10 dan mendukung skema coding
GPRS CS1-CS4. [2]
Gambar 4.3.1 SIM800[2]
3. AT Commands SIM800C
AT-Command adalah perintah yang dapat diberikan kepada handphone atau
GSM/CDMA modem untuk melakukan sesuatu hal, termasuk untuk mengirim
dan menerima SMS. Dengan memprogram pemberian perintah ini di dalam
komputer/mikrokontroler maka perangkat kita dapat melakukan pengirima
atau penerimaan SMS secara otomatis untuk mencapai tujuan tertentu.
Komputer ataupun mikrokontroler dapat memberikan perintah AT-
Command melalui hubungan kabel data serial ataupun bluetooth.
AT-Command ini sebenarnya adalah pengembangan dari perintah yang dapat
diberikan kepada modem Hayes yang sudah ada sejak dulu. Dinamakan AT-
Command karena semua perintah diawali dengan karakter A dan T.
Antar perangkat handphone dan GSM/CDMA modem bisa memiliki
AT-Command yang berbeda-beda, namun biasanya mirip antara satu
perangkat dengan perangkat lain. Untuk dapat mengetahui secara persis maka
kita harus mendapatkan dokumentasi teknis dari produsen pembuat handphone
atau GSM/CDMA modem tersebut. [3]
D. HASIL DATA
Pada percobaan pertama yaitu mengakses SIM800C. Pertama-tama
praktikan praktikan menyiapkan terlelbih dahulu alat dan bahan yang nantinya
digunakan untuk merangkai rangkaian pada Arduino UNO. Praktikan harus
merangkai sesuai dengan yang ditentukan secara teliti dan tidak ada yang salah
supaya rangkaian tetap berjalan dengan lancer tanpa adanya konsleting.
Kemudian praktikan membuka Arduino IDE untuk membuat kode program
sesuai dengan yang ada pada modul 4. Untuk percobaan kedua sampai
percobaan keempat masih menggunakan rangkaian dan kode program yang
sama sehingga praktikan tidak usah merubah rangkaian dan kode program,
hanya saja praktikan harus merubah kode perintah yang ada pada serial monitor
sesuai dengan yang ada pada modul. Pada percobaan kelima praktikan harus
merubah kode program nya sesuai dengan yang ada pada modul 4.

Gambar 4.4.1 Rangkaian Arduino


Gambar 4.4.2 Kode program

Gambar 4.4.3 Serial monitor perintah AT

Gambar 4.4.4 Serial monitor perintah AT+CSQ


Gambar 4.4.5 Serial monitor perintah AT+COPS?

Gambar 4.4.6 Serial monitor perintah AT+CGMI

Gambar 4.4.7 Serial monitor perintah AT+CGMM

Gambar 4.4.8 Serial monitor perintah AT+CBC


Gambar 4.4.9 Serial monitor perintah AT+CGSN

Gambar 4.4.10 Serial monitor perintah AT+CGMR

Gambar 4.4.11 Serial monitor perintah AT+CUSD=1,”*123#”


Gambar 4.4.12 Serial monitor perintah AT+CMGF=1

Gambar 4.4.13 Serial monitor perintah AT+CMGL=”ALL”

Gambar 4.4.14 Serial monitor perintah ATD082329760773


Gambar 4.4.15 Serial monitor perintah ATH

Gambar 4.4.16 Serial monitor perintah AT+CGATT=1

Gambar 4.4.17 Serial monitor perintah AT+CSTT=”internet”,””,””

Gambar 4.4.18 Serial monitor perintah AT+CIICR


Gambar 4.4.19 Serial monitor perintah AT+CIFSR

Gambar 4.4.20 Serial monitor perintah AT+SAPBR=3,1,”CONTYPE”,”GPRS”

Gambar 4.4.21 Serial monitor perintah AT+SAPBR=3,1,”APN”,”internet”

Gambar 4.4.22 Serial monitor perintah AT+SAPBR=1,1


Gambar 4.4.23 Serial monitor perintah AT+HTTPINIT

Gambar 4.4.24 Serial monitor perintah AT+HTTPPARA=”CID”,1

Gambar 4.4.25 Serial monitor perintah


AT+HTTPPARA=”URL”,”http://ta.raihanteknologi.id/modul4.html

Gambar 4.4.26 Serial monitor perintah AT+HTTPACTION=0

Gambar 4.4.27 Serial monitor perintah AT+HTTPREAD


Gambar 4.4.28 Serial monitor perintah AT+HTTTERM

Gambar 4.4.29 Kode program percobaan kelima


Gambar 4.4.30 Serial monitor kirim SMS dengan kode program
E. ANALISA PEMBAHASAN
Pada praktikum modul empat kali ini praktikan dapat membuat rangkaian yang
dapat dihubungkan atau diakses dengan SIM800C. Sebelum praktikan
melakukan percobaan yang pertama, praktikan terlebih dahulu mengerti
komponen utama yang nantinya digunakan pada saat praktikum yaitu SIM800C
dan AT Command SIM800C. Selain harus mengerti komponen SIM800C
praktikan juga harus mengerti komponen yang dibutuhkan juga pada praktikum
modul empat ini yaitu AT Command dan juga cara kerja dari sistem AT
Command seperti apa secara jelas dan benar. Percobaan yang pertama dibuat oleh
praktikan adalah caras mengakses SIM800C. Alat dan bahan yang digunakan
pada percobaan ini sudah pasti adalah Arduino UNO R3, Breadboard, SIM800C,
Diode N4002, kabel jumper, 1 buah kabel USB tipe A ke B dan juga satu buah
laptop untuk membuat kode program atau script yang nantinya dihubungkan ke
Arduino UNO R3. Fungsi dari SIM800C disini adalah untuk menjadi
penguhubung antara kartu sim card dengan laptop atau perangkat yang digunakan
oleh praktikan. Dalam pembuatan kode program atau script ini praktikan harus
dengan teliti mebuat kode program tersebut supaya program dapat berjalan sesuai
dengan yang diinginkan dan tidak terjadi error pada rangkaian nantinya.
Praktikan juga harus teliti dalam pembuatan rangkaian karena apabila kurang
teliti dalam pembuatan rangkaian atau salah dalam pembuatan rangkaian maka
bisa menyebabkan konsleting pada rangkaian yang mengakibatkan output atau
hasil yang keluar nantinya tidak sesuai dengan yang diinginkan atau bisa juga
tidak jalan sama sekali. Apabila rangkaian sudah selesai dibuat dan kode program
sudah berhasil diupload dan benar maka nantinya praktikan dapat membuaka
serial monitor yang ada pada Arduino IDE. Praktikan dapat melakukan perintah
AT Command pada modul SIM800C sesuai dengan yang pada modul empat.
Praktikan harus dengan teliti memasukkan perintah pada AT Command supaya
serial monitor dapat mengerti perintah apa saja yang nantinya dimasukkan oleh
praktikan yang kemudian nanti dapat diproses oleh serial monitor. Untuk
percobaan satu, dua, tiga dan empat praktikan hanya menbuat satu buah
rangkaian dan kode program yang digunakan juga sama seperti sebelumnya,
namun praktikan harus mengganti perintah yang dimasukkan pada serial monitor
sesuai dengan yang ada dimodul. Pada percobaan pertama praktikan dapat
memanggil beberapa perintah pada serial monitor diantaranya ada pengetesan
pada AT Command, melihat kekuatan sinyal, mengetahui nama provider kartu
GSM, mengetahui nama atau jenis ponsel, mengetahui kelas ponsel, mengetahui
level baterai, menyakan serial number modem, mengecek versi keluaran modem
dan menjalankan perintah USSD. Pada percobaan kedua praktikan dapat
memasukkan perintah yang berfungsi untuk mengeset modem sebagai mode txt
dan melakukan perintah untuk melihat semua pesan. Percobaan praktikan
praktikan dapat memasukkan perintah-perintah yang berfungsi memberikan
perintah untuk melakukan panggilan dan memberikan perintah untuk mengakhiri
panggilan. Pada percobaan keempat praktikan dapat memasukkan perintah yang
berfungsi untuk menghubungkan dengan GPRS, memulai task, mengaktifkan
koneksi wireless GPRS, get local IP address, inisiasi protokol SAP, set APN,
inisiasi protokol SAP, inisiasi HTTP service, set HTTP session, set HTTP URL,
start session : 0-GET, membaca respons dari HTTP server, dan mengakhiri HTTP
service.
Selanjutnya percobaan terakhir atau percobaan kelima praktikan tidak perlu
merubah rangkaian yang sudah dibuat sebelumnya. Praktikan hanya merubah
kode program pada Arduino IDE sesuai dengan yang ada pada modul. Dalam
pembuatan kode program atau script ini praktikan harus dengan teliti mebuat
kode program tersebut supaya program dapat berjalan sesuai dengan yang
diinginkan dan tidak terjadi error pada rangkaian nantinya. Jika praktikan sudah
membuat kode program sesuai dengan yang ada pada modul, selanjutnya sama
seperti percobaan-percobaan sebelumnya yaitu praktikan membuka serial
monitor kemudian memasukkan perintah-perintah sesuai yang ada pada modul
empat. Praktikan dapat melakukan SMS melalui perangkat laptop kemudian
dihubungkan dengan ponsel.
F. KESIMPULAN
1. Pada pembuatan kode program praktikan harus membuat kode program
secara teliti dan benar supaya nantinya bisa bekerja sesuai dengan yang
diinginkan.
2. Pada kode program percobaan pertama apabila praktikan ingin melihat
alamat dari modul 12C, praktikan dapat melihat didalam serial monitor.
3. Pada Keypad matrix 4x4 dapat digunakan dalam pembuatan sistem
keamanan sederhana karena alat ini berfungsi sebagai penghubung antara
perangkat elektronik dengan manusia.
4. DHT11 merupakan salah satu sensor yang dapat mengukur dua jenis
parameter lingkungan secara bersamaan yakni suhu dan kelembaban udara
(humidity)
G. DAFTAR PUSTAKA
[1] Ajeng Afriana, "https://pakarkomunikasi.com/komunikasi-serial," 8 March
2018. [Online]. Available: https://pakarkomunikasi.com. [Accessed 28 May
2019].
[2] Dani Ardan, "http://www.belajarduino.com/2016/05/sim800c-gsmgprs-
module-to-arduino.html," 21 May 2016. [Online]. Available:
http://www.belajarduino.com. [Accessed 28 May 2019].
[3] Anonymous, "http://www.mikron123.com/index.php/Aplikasi-SMS/AT-
Command-Untuk-SMS.html," 29 August 2017. [Online]. Available:
http://www.mikron123.com/index.php/Aplikasi-SMS/AT-Command-
Untuk-SMS.html. [Accessed 28 May 2019].
LAMPIRAN
Jawablah pertanyaan di Bawah ini :
1. Apa yang dimaksud Komunikasi Serial ?
Jawab : Komunikasi yang pengiriman datanya dilakukan per bit secara berurutan dan
bergantian.
2. Apa fungsi software serial ?
Jawab : Untuk mendukung pertukaran informasi antara hardware mikrokontroler
dengan komputer.
3. Apa fungsi dari void power () ?
Jawab : Berfungsi untuk memberi instruksi pada lampu LED SIM800C untuk dapat
berkedip.
4. Sebutkan kecepatan boudrate yang dapat digunakan untuk komunikasi serial ?
Jawab : 9600bps.
5. Jelaskan maksud dari :
if (SIM800C.available()) {
Serial.write(SIM800C.read());
}
if (Serial.available()) {
SIM800C.write(Serial.read());
}
Jawab : Untuk SIM800C terbaca, maka serial monitor akan menampilkan
apa yang dibaca oleh SIM800C, kemudian apabila Serial terbaca, maka SIM800C akan
menuliskan apa yang dibaca oleh Serial.
6. Apa fungsi dari AT Command pada SIM800C ?
Jawab : Untuk memeberikan perintah yang di mengerti oleh modul SIM800C.
7. Jelaskan maksud dari respon perintah AT+CSQ, AT+COPS? Dan AT+CBC
Jawab : AT + CSQ = Berfungsi untuk menampilkan kualitas sinyal.
AT+COPS? = Berfungsi untuk memberikan keterangan tentang provider
AT+CBC = Berfungsi untuk pengecekan baterai.
8. Apa kegunaan dari karakter “\” pada perintah
SIM800C.println(“AT+CMGS=\”082321376118\”\r”);
Jawab : Untuk menampilkan tanda kutip.
9. Apa fungsi void cetak() ?
Jawab :
10. Sebutkan minimal 4 perangkat yang menggunakan komunikasi Serial !
Jawab : Mouse, Keyboard, Printer, Modem.
11. Sebutkan minimal 2 perangkat yanng menggunakan AT Command manual !
Jawab : Switch, Router
12. Ubahlah perintah-perintah manual pada percobaan ke 4 menjadi sebuah program
seperti pada percobaan ke 5 !
Jawab :
#include <SoftwareSerial.h>
SoftwareSerial SIM800C(7, 8); //RX TX void
setup() {
power();
Serial.begin(9600);
Serial.println("IT TELKOM PURWOKERTO -SIM800C"); SIM800C.begin(9600);
delay(5000);
Serial.println("Terhubung ke GPRS\n"); SIM800C.write("AT+CGATT=1\r\n");
delay(1000); Serial.println("Memulai Task\n");
SIM800C.write("AT+CSTT=\"internet\",\"\",\"\"\r\n ");
delay(1000);
Serial.println("Mengaktifkan Koneksi Wireless GPRS\n");
SIM800C.write("AT+CIICR\r\n");
delay(1000);
Serial.println("Mendapatkan IP Address Lokal\n");
SIM800C.write("AT+CIFSR\r\n");
delay(1000);
Serial.println("Inisiasi Protokol SAP\n");
SIM800C.write("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"\ r\n");
delay(1000);
Serial.println("Setting APN\n");
SIM800C.write("AT+SAPBR=3,1,\"APN\",\"internet\"\ r\n");
delay(1000);
Serial.println("Inisiasi Protokol SAP\n"); SIM800C.write("AT+SAPBR=1,1\r\n");
delay(1000); Serial.println("Inisiasi Layanan HTTP\n");
SIM800C.write("AT+HTTPINIT\r\n"); delay(1000);
Serial.println("Setting HTTP Session\n");
SIM800C.write("AT+HTTPPARA=\"CID\",1\r\n"); delay(1000);
Serial.println("Setting HTTP URL\n");
SIM800C.write("AT+HTTPPARA=\"URL\",\"http://ta.ra
ihanteknologi.id/modul4.html\"\r\n"); delay(1000);
Serial.println("Start Session : 0 - GET\n");
SIM800C.write("AT+HTTPACTION=0\r\n"); delay(1000);
Serial.println("Membaca Respon dari HTTP
Server\n");
SIM800C.write("AT+HTTPREAD\r\n");
delay(1000);
Serial.println("Mengakhiri Layanan HTTP\n");
SIM800C.write("AT+HTTPTERM\r\n"); delay(1000);
}
void loop() {
}
void power()
{
pinMode(9, OUTPUT);
digitalWrite(9, HIGH);
delay(2500);
digitalWrite(9, LOW);
}