;

Senin, 10 November 2014

Membangun SMS Gate Way (Auto Replay) dengan Visual Basic 6.0

Senin, 10 November 2014

Membangun SMS Gate Way (Auto Replay) dengan Visual Basic 6.0

Membangun SMS Gate Way (Auto Replay) dengan Visual Basic 6.0

Huppsss……hallo sobat, bagaimana kabar hari ini, siap dengan pelajaran yang ini…? Membangun SMS Gate Way (Auto Replay) dengan Visual Basic 6.0 dengan database SQL, yup kita mulai, pelaratan yang wajib disiapkan …:
  1. Modem waveCom ( yang menggunakan port Serial – saya menggunakan yang model ini) bila pembaca ingin menggunakan Modem Wavecom yang port USB juga bisa, namun harus disesuaikan COMPORT nya….( device manager ).
  2. Software Visual Basic 6.0 ( bajakan boleh )
  3. Software XAMPP ( SQL,Apache webserver)
  4. Software ODBC Connector
  5. Kabel serial ( untuk modem yang menggunakan port serial )
  6. Power supply modem wavecom
Cerita sedikit tentang Proyek ini,  Membangun SMS Gate Way (Auto Replay) dengan Visual Basic 6.0
Juragan mendapat tugas dari lembaga sebuah sekolah SMK di kabupaten Banyuwangi untuk membuat pengumuman dan pendaftaran REUNI Alumni melalui SMS dengan database SQL. Seluruh data sms yang dikirim oleh alumni melalui Pendaftaran Reuni via SMS disimpan kedalam database SQL, dan bisa langsung dilihat melalui web sekolah secara RealTime  melaui sub domain web sekolah ( dengan format yang sudah ditetapkan – melalui iklan spanduk sehingga para alumni bisa membaca ketentuan cara mendaftar via SMS).
Cara kerja sistem :
Saya memegang prinsip kesederhanaan dalam berfikir namun tepat hasilnya. ( yang penting pelanggan puas )
Seperangkat komputer yang saya sediakan dihubungkan dengan jaringan internet, komputer server ini berbasis OS WINDOWS XP. Didalamnya saya install Software VB 6.0, XAMPP dan kelengkapan webserver.
Alumni mengirim SMS dengan format : #daftar#nama#jurusan#tahun lulus#
dikirim ke nomor sms center, misal 081646474888, maka seluruh pesan yang diterima ModemWaveCom yang sudah berisi SIMCARD dengan pulsanya, akan dibaca modem dan otomatis disimpan ke database SQL dengan bantuan interface Visual basic., artinya -> Visual basic terhuung dengan database SQL dan ModemWaveCom.
Setiap sms masuk dengan format yang benar pasti di balas dengan kalimat balasan ( bisa diubah-ubah ) melalui sms juga.
Cara Membangun SMS GateWay :
Web server di nyalakan, SQL service dijalankan (Buka Control Panel XAMPP  – bila pembaca tidak pernah belajar menggunakan XAMPP cari tutorial di google aja, mudah koq).
Kemudian Modem WaveCOM diberi SIM CARD dengan nomor tertentu yang sudah diisi pulsa, modem dinyalakan ( dihubungkan dengan power supply ). Langkah selanjutnya modem dihubungkan dengan komputer melalui com port yang tersedia.
Bila anda pertama kali membeli Modem WaveCOM biasanya belum disetting Mode TEXT, defaultnya modemWaveCOM di setting PDU. Nah untuk mengubah Format PDU ke format TEXT  ( sms ) perlu konfigurasi menggunakan perintah AT+COMMAND    yaitu :  AT+CMGF=1   ( enter )
Bagaimana cara untuk mengirimkan perintah ini ke modem WaveCom..? mudah sekali, silahkan download software PUTTY  ( saya sarankan untuk pembaca yang menggunakan WIN7 atau Win8 ) karena Hyperterminal gak ada di OS tersebut.
gambar program putty
Ketik Perintah  :  AT  (enter )
ada balasan dari modem :  OK
kemudian ketik perintah : AT+CMGL=1  (enter )   perintah ini untuk melihat konfigurasi format sms yang disediakan
ketik perintah :  AT+CMGF=1   ( enter )
ada balasan : OK
nah sekarang ModemWaveCOM sudah diubah settingnya je format TEXT , dan tutup program PUTTY.
Silahkan buka browser ( saya menggunakan mozilla firefox) ketik pada URL alamat , localhost/phpmyadmin
Buat Database dengan nama “alumni“  ( dimohon untuk tetap mengikuti tutorial yang saya berikan, suoaya error yg mungkin terjadi saat uji coba bisa mudah diatasi )
Ketik perintah ini pada form SQL
Create Database `alumni`;
CREATE TABLE `sms_alumni` (
`sms_id` int(4) NOT NULL auto_increment,
`no_hp` varchar(30) collate latin1_general_ci NOT NULL default ‘ ‘,
`nama` varchar(30) collate latin1_general_ci NOT NULL default ‘ ‘,
`tahun_lulus` varchar(10) collate latin1_general_ci default ‘ ‘,
`jurusan` varchar(30) collate latin1_general_ci default ‘ ‘,
`aprove` varchar(2) collate latin1_general_ci default ‘ ‘,
`tgl_daftar` datetime NOT NULL,
PRIMARY KEY  (`sms_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=33 ;
sekarang buka di phpmyadmin, periksalah apakah sudah ada database alumni dengan tabel sms_alumni….?mudah-mudahan sampai disini  bisa dimengerti.

dan bukalah program VB.60 ( source code ) perhatikan potongan program dibawah ini,
wajib diperhatikan untuk pemula, bahwa sistem sms gate way ini, dibuat menggunakan beberapa fungsi , koneksi database,  koneksi ke modem menggunakan MSCOMM Control ( yang ada dalam komponen VB 6.0 ), pemisah string sms masuk,  parsing Jawaban ( potongan dan model / Format SMS ) ,
Listing Program ini ditulis di General .
Option Explicit
Dim strBuffer As String
Dim blnFirstLoad As Boolean
Public Conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Kemudian menghubungkan Visual Basic dengan ODBC conncector silahkan donwload di alamat ini ( Download ODBC Windows )   cara menghubungkan ODBC dengan Visual basic silahkan baca artikel “Menghubungkan VB 6.0 dengan databse SQL menggunakan ODBC “  .
Selanjutnya  ketik program ini di Form Load.
Private Sub Buat_Koneksi() ‘koneksi ke SQL
Dim ConnString As String
Dim db_name As String
Dim db_server As String
Dim db_user As String
Dim db_pass As String
Dim db_port As String
‘On Error GoTo koneksi_error
db_name = “alumni”
db_server = “localhost”
db_user = “root”
db_pass = “setiahati”
db_port = “3306″
ConnString = “DRIVER={MySql ODBC 5.1 Driver};SERVER=” & _
db_server & “; DATABASE=” & db_name & “;UID=” & db_user & _
“;PWD=” & db_pass & “;PORT=” & db_port & “;OPTION=3″
With Conn
.ConnectionString = ConnString
.Open
End With
On Error GoTo 0
Exit Sub
koneksi_error:
MsgBox “Gagal koneksi ke SQL”, vbInformation, “Periksa Server”
End Sub
…….
Lanjutan Artikel
Berikut ini adalah potongan program untuk konfigurasi  Port komputer yang akan terhubung dengan MODEM WaveCom
Private Sub Form_Load()
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
With MSComm1
.CommPort = 1
.Settings = “115200,N,8,1″
.Handshaking = comRTS
.RTSEnable = True
.DTREnable = True
.RThreshold = 1
.SThreshold = 1
.InputMode = comInputModeText
.InputLen = 0
.PortOpen = True
End With
Buat_Koneksi
SetDatagrid
End Sub
Dan untuk pengecekan karakter tanda # ( tanda pagar sebagai pemisah string ) pada saat registrasi yang menggunakan format  #DAFTAR#NAMA#JURUSAN#TAHUNLULUS#
untuk memisahkan data string tersebut ada beberapa cara salah satunya, dengan menggunakan perintah Instr, perhatikan listing dibawah ini, bila menggunakan perintah SPLIT(data, tanda_pemisah)  juga bisa, namun kelemahannya adalah ketika ada sms masuk dengan format yang salah atau kelebihan tanda # ( tanda pagar ) maka program tidak bisa memilah data dengan benar….
Private Sub MSComm1_OnComm()
Dim periksa As Integer
…..
Select Case MSComm1.CommEvent
Case comEvReceive
strBuffer = strBuffer & MSComm1.Input
Do
strBuffer = strBuffer & MSComm1.Input
Loop While MSComm1.InBufferCount
If InStr(1, strBuffer, “#DAFTAR”) Then ‘ periksa string #DAFTAR
txtPesan.Text = txtSatu ‘salin ke txtPesan
End If
……
……
‘txtSatu.Text = Text1.Text
periksa = Len(txtSatu.Text) ‘periksa jumlah data PDU
If periksa > 40 Then  ‘jika datanya lebih dari 40 maka valid lanjutkan..!!
Pisah_String
End If
End If
End If
End Select
End Sub
oh ya, karena banyak permintaan aplikasi SMS GATEWAY…. saya berharap para pembaca berkenan menghargai hasil kerja keras tim Laros Edu, karena kami juga butuh Bergadang – mikirin program…dan penyewaaan HOSTING….untuk itu, Kalo mau FULL SOURCE CODE….silahkan melakukan DONASI….
Fitur Aplikasi SMS GATE WAY ( Auto Replay ) :
1. Menggunakan Database SQL
2.Manajemen Data sudah terhubung dengan WEB, kami buatkan interface / antarmuka web sebagai laporan sms masuk, setiap ada sms masuk, maka tampilan di halaman web akan otomatis menyesuaikan….
3. Bisa Auto replay meski ada antrian banyak….
4. Aplikasi gak pernah HANG… dan sudah kami uji coba 1 bulan tanpa dimatikan…. kami mengujinya di salah satu pelanggan kami di sebuah SMK untuk aplikasi SMS ALUMNI
5. Source Code dapat anda kembangkan, setelah DONASI – kami akan memandu anda untuk dapat terus mengembangkan aplikasi tersebut sampai bisa….
Berapa nilai Donasi nya… ? gak banyak koq….. Kami mulai dengan harga Rp. 100.0000
kami berharap keihklasannya….pengujung, bila tidak ada dana cukup silahkan iuran Rp.5rb   sesama teman, sejumlah 20 orang…. khan cukup untk donasi…. nantinya SOURCCE CODE dipelajari bersama-sama….
….karena mata sudah ngantuk penulisan artikel hanya sampai disini……kapan2 lagi mampir ya , mohon ijo2 nya…

Ilmu Komputer 95 - 07.29

cara membuat dan menghubungkan ANDROID REMOTE VIA BLUETOOTH

ANDROID REMOTE VIA BLUETOOTH

Ide nya sebetulnya pengen bikin alat kontrol dan monitoring jarak jauh menggunakan Android Gadget. Asik juga jika semua dapat di kontrol dan di monitoring lewat HP mulai dari alat-alat rumah, motor, mobil, robot dll. Untuk itu saya coba bikin aplikasi sederhana cara meng-komunikasikan Android Gadget dengan modul Bluetooth. Alat yang sudah saya bikin mempunyai sistem seperti berikut :
image001
Jika temen2 ada yang teratrik untuk membuatnya juga, peralatannya antara lain adalah sbb:
1. Andorid Phone
Kali ini Saya menggunakan Android milik Lenovo S-560 dengan OS Android Ice Cream Sandwich 4.0
2. Modul Bluetooth
Modul Bluetooth yang Saya gunakan adalah Modul Bluetooth HC-06 dari Linvior, modul ini hanya dapat di konfigurasikan sebagai slave dan tidak dapat bertindak sebagai master. Modul ini memiliki interface serial TTL dengan pinout sbb:
image003
Modul ini defaultnya memiliki konfigurasi seperti berikut :
Baudrate             : 9600
Parity                    : None
Data                       : 8 Bit
Nama                    : Linvior
Selengkapnya untuk AT Command Bluetooth ini dapat di baca di http://diytech.net/.
Untuk aplikasi ini, semua nya saya biarkan dalam kondisi default kecuali nama device nya saya ubah menjadi “nutscientist”.
3. Modul Mikrokontroler
Modul Mikrokontroler yang Saya gunakan adalah DT-AVR Low Cost Micro System dan menggunakan mikrokontroler seri AVR ATMega 162. Kenapa harus menggunakan ATMega162? Karena yang Saya punya cuma mikrokontroler ini hehehehe…. . Dan untungnya, mikrokontroler ini memilikki 2 UART ( UART0 dan UART1 ) jadi bias saya koneksikan ke serial modul Bluetooth sekaligus di koneksikan ke Laptop menggunakan Serial-USB adapter
4. Laptop
Laptop digunakan untuk debugging apakah system yang di buat sudah di berjalan dengan baik, Untuk debuggingnya Saya menggunakan program “RealTerm”.
CARA KERJA
Cara kerja aplikasi ini sederhana saja, Dari sisi Androidnya, Saya hanya membuat aplikasi yang dapat mengirim dan menerima pesan dari modul Bluetooth. Secara umum fungsi di aplikasi android adalah sbb:
  1. Proses Pairing : Dilakukan memalui menu setting HP
  2. Proses Cari Client Bluetooth yang sudah di pairing (Paired Device)
  3. Proses Buka Koneksi Bluetooth
  4. Proses Komunikasi Data
  5. Proses Tutup Koneksi Bluetooh
Sedangkan pada sisi mikrokontroler nya, Saya hanya meng-cross kan data UART0 dengan UART1, yaitu dengan mengirimkan data yang di terima RX0 ke TX1 dan sebaliknya.
CODE PROGRAM MIKROKONTROLER
Software Development yang Saya gunakan adalah CodeVisionAVR dengan kode program sbb:
/*****************************************************
#include <mega162.h>
// Standard Input/Output functions
#include <stdio.h>
#include <delay.h>
#ifndef RXB8
#define RXB8 1
#endif
#ifndef TXB8
#define TXB8 0
#endif
#ifndef UDRE
#define UDRE 5
#endif
#ifndef RXC
#define RXC 7
#endif
#define DATA_REGISTER_EMPTY (1<<UDRE)
void putchar1(char c)
{
while ((UCSR1A & DATA_REGISTER_EMPTY)==0);
UDR1=c;
}
// USART0 Receiver interrupt service routine
interrupt [USART0_RXC] void usart0_rx_isr(void)
{
putchar1(UDR0);
}
interrupt [USART1_RXC] void usart1_rx_isr(void)
{
putchar(UDR1);
}
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x02;
// USART0 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART0 Receiver: On
// USART0 Transmitter: On
// USART0 Mode: Asynchronous
// USART0 Baud Rate: 9600
UCSR0A=0x00;
UCSR0B=0x98;
UCSR0C=0x86;
UBRR0H=0x00;
UBRR0L=0x19;
// USART1 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART1 Receiver: On
// USART1 Transmitter: On
// USART1 Mode: Asynchronous
// USART1 Baud Rate: 9600
UCSR1A=0x00;
UCSR1B=0x98;
UCSR1C=0x86;
UBRR1H=0x00;
UBRR1L=0x19;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
// Global enable interrupts
#asm(“sei”)
while (1)
{
// do nothing
}
}
CODE PROGRAM ANDROID
Program APK yang Saya buat Saya beri nama “BlueComm.Apk” dengan code sbb:
  • activity_main.xml
<RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android&#8221;
xmlns:tools=http://schemas.android.com/tools&#8221;
android:id=“@+id/OpenButton”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:background=“@drawable/blue”
tools:context=“.MainActivity” >
<TextView
android:id=“@+id/label”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_alignParentRight=“true”
android:layout_alignParentTop=“true”
android:text=“@string/status”
android:textColor=“@color/status” />
<TextView
android:id=“@+id/textView1″
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_alignParentBottom=“true”
android:layout_alignParentLeft=“true”
android:text=“@string/hello_world”
android:textColor=“@color/web”
android:textColorLink=“@android:color/white” />
<Button
android:id=“@+id/ButtonOpen”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_above=“@+id/textView1″
android:layout_alignParentLeft=“true”
android:layout_marginBottom=“25dp”
android:layout_marginLeft=“25dp”
android:text=“@string/Open”
android:textColor=“@color/open” />
<Button
android:id=“@+id/ButtonSendData”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_alignBaseline=“@+id/ButtonOpen”
android:layout_alignBottom=“@+id/ButtonOpen”
android:layout_centerHorizontal=“true”
android:text=“@string/Send”
android:textColor=“@color/send” />
<Button
android:id=“@+id/ButtonClose”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_alignBaseline=“@+id/ButtonSendData”
android:layout_alignBottom=“@+id/ButtonSendData”
android:layout_alignParentRight=“true”
android:layout_marginRight=“24dp”
android:text=“@string/Close”
android:textColor=“@color/close” />
<EditText
android:id=“@+id/TxtInput”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_alignParentLeft=“true”
android:layout_alignParentRight=“true”
android:layout_below=“@+id/label”
android:layout_marginTop=“26dp”
android:background=“@color/backtext”
android:ems=“10”
android:inputType=“text” >
<requestFocus />
</EditText>
</RelativeLayout>
  •  string.xml
<?xml version=“1.0” encoding=“utf-8″?>
<resources>
<string name=“app_name”>Bluecomm</string>
<string name=“hello_world”>www.nutscientist.wordpress.com</string
<string name=“menu_about”>www.nutscientist.wordpress.com</string
<string name=“status”>Welcome To Bluecomm</string>
<string name=“Open”>Open</string>
<string name=“Close”>Close</string>
<string name=“Send”>Send</string>
</resources>
  • color.xml
<?xml version=“1.0” encoding=“utf-8″?>
<resources>
<color name=“web”>#FFF00000</color>
<color name=“input”>#000000</color>
<color name=“open”>#000000</color>
<color name=“send”>#000000</color>
<color name=“close”>#000000</color>
<color name=“status”>#ffff00</color>
<color name=“backtext”>#f0f8ff</color>
</resources>
  • MainActivity.java
package com.example.bluecomm;
import java.io.IOException;
import java.util.Set;
import java.util.UUID;
import android.os.Bundle;
import android.os.Message;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.Button;
import android.widget.TextView;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.content.Intent;
import android.os.Handler;
import android.view.View;
import java.io.InputStream;
import java.io.OutputStream;
public class MainActivity extends Activity {
// Debugging
private static final String TAG = “BlueComm”;
private static final boolean D = true;
// deklarasi
private BluetoothAdapter mBluetoothAdapter;
private BluetoothSocket mmSocket;
private BluetoothDevice mmDevice;
private InputStream mmInputStream;
private OutputStream mmOutputStream;
private Button ButtonOpen;
private Button ButtonClose;
private Button ButtonSend;
private TextView TextInput;
private TextView Label;
byte[] Buffer;
int readBufferPosition;
int counter;
volatile boolean stopWorker;
public String dta;
// Untuk menerima message dari background thread
Handler h = new Handler()
{
@Override
public void handleMessage (Message m)
{
super.handleMessage(m);
if(D) Log.d(TAG, “Handle Message”);
Bundle bund =m.getData();
String key = bund.getString(“My Key”);
TextInput.setText(key);
}
};
// On Create Activity
@Override
public void onCreate(Bundle savedInstanceState)
{
if(D) Log.d(TAG, “On Create”);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButtonOpen = (Button)findViewById(R.id.ButtonOpen);
ButtonClose = (Button)findViewById(R.id.ButtonClose);
ButtonSend = (Button)findViewById(R.id.ButtonSendData);
TextInput = (TextView)findViewById(R.id.TxtInput);
//TextOutput = (TextView)findViewById(R.id.TextOutput);
Label = (TextView)findViewById(R.id.label);
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if(mBluetoothAdapter == null)
{
Label.setText(“No bluetooth adapter available”);
}
if(!mBluetoothAdapter.isEnabled())
{
Intent enableBluetooth = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBluetooth, 0);
}
}
// On Start Activity
@Override
public void onStart()
{
super.onStart();
if(D) Log.e(TAG, “ON START”);
//Open Button
ButtonOpen.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
try
{
CariBT();
BukaBT();
}
catch (IOException ex) { }
}
});
//Send Button
ButtonSend.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
try
{
sendData();
}
catch (IOException ex) { }
}
});
//Close button
ButtonClose.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
try
{
closeBT();
}
catch (IOException ex) { }
}
});
}
// Mencari Client Bluetooth yg sudah paired dengan nama “nutscientist
void CariBT()
{
if(D) Log.d(TAG, “Cari BT”);
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
if(pairedDevices.size() > 0)
{
for(BluetoothDevice device : pairedDevices)
{
if(device.getName().equals(“nutscientist”))
{
mmDevice = device;
Label.setText(“Slave Client Found”);
//break;
}
else
{
Label.setText(“Slave Client Not Found”);
}
}
}
//Toast.makeText(this, “Remote Bluetooth Ditemukan“, Toast.LENGTH_LONG).show();
}
@Override
protected void onStop() {
super.onStop();
if(D) Log.e(TAG, “ON STOP”);
}
@Override
protected void onDestroy() {
super.onDestroy();
if(D) Log.e(TAG, “ON DESTROY”);
}
@Override
protected void onResume()
{
super.onResume();
if(D) Log.e(TAG, “+ ON RESUME +”);
}
@Override
protected void onPause() {
super.onPause();
if(D) Log.e(TAG, “- ON PAUSE -“);
}
// Untuk memulaimelakukan koneksi dengan client bluetooth
void BukaBT() throws IOException
{
if(D) Log.d(TAG, “Buka BT”);
UUID uuid = UUID.fromString(“00001101-0000-1000-8000-00805F9B34FB”); //Standard SerialPortService ID
mmSocket = mmDevice.createRfcommSocketToServiceRecord(uuid);
mmSocket.connect();
mmOutputStream = mmSocket.getOutputStream();
mmInputStream = mmSocket.getInputStream();
ListenForData();
Label.setText(“Bluetooth Opened”);
//        Toast.makeText(this, “Bluetooth Dibuka“, Toast.LENGTH_LONG).show();
}
// Background thread untuk menerima data dari client bluetooth
void ListenForData()
{
if(D) Log.d(TAG, “Listen Data”);
final byte delimiter = 13; //atau Carriage Return (CR), di gunakan untuk mendeteksi akhir dari text
stopWorker = false;
readBufferPosition = 0;
Buffer = new byte[1024];
Thread workerThread = new Thread(new Runnable()
{
@Override
public void run()
{
while(!Thread.currentThread().isInterrupted() && !stopWorker)
{
//Do work
try
{
int bytesAvailable = mmInputStream.available();
if(bytesAvailable > 0)
{
byte[] packetBytes = new byte[bytesAvailable];
mmInputStream.read(packetBytes);
for(int i=0;i<bytesAvailable;i++)
{
byte b = packetBytes[i];
if(b == delimiter)
{
byte[] encodedBytes = new byte[readBufferPosition];
System.arraycopy(Buffer, 0, encodedBytes, 0, encodedBytes.length);
final String data = new String(encodedBytes, “US-ASCII”);
readBufferPosition = 0;
Message m = new Message();
Bundle bund = new Bundle();
bund.putString(“My Key”, data);
m.setData(bund);
h.sendMessage(m);
}
else
{
Buffer[readBufferPosition++] = b;
}
}
}
}
catch (IOException ex)
{
stopWorker = true;
}
}
}
});
workerThread.start();
}
// Untuk mengirim data ke client bluetooth
void sendData() throws IOException
{
if(D) Log.d(TAG, “Kirim Data”);
String msg = TextInput.getText().toString();
msg += “\n\r”;
mmOutputStream.write(msg.getBytes());
Label.setText(“Data Sent”);
//Toast.makeText(this, “Data Terkirim“, Toast.LENGTH_LONG).show();
}
// Untuk menutup/mengakhiri koneksi dengan client bluetooth
void closeBT() throws IOException
{
if(D) Log.d(TAG, “Tutup BT”);
stopWorker = true;
mmOutputStream.close();
mmInputStream.close();
mmSocket.close();
Label.setText(“Bluetooth Closed”);
//Toast.makeText(this, “Bluetooth Ditutup“, Toast.LENGTH_LONG).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
SCREENSHOTS
image005
Cara kerja sistem lebih detail dapat di lihat di sini.
Demikian, dan selanjutnya aplikasi ini dapat di kembangkan menjadi alat control dan monitoring jarak jauh dengan menambahkan sedikit penyesuaian.. :).
SELAMAT BERKREASI DAN SALING BERBAGI
KREATIF, INNOVATIF, DAN SEDIKIT JOROK :)

Ilmu Komputer 95 - 07.23

Perancangan Aplikasi SmartPhone Android Untuk Pengontrol Lampu Berbasiskan Mikrokontroler (1)

Perancangan Aplikasi SmartPhone
Android Untuk Pengontrol Lampu
Berbasiskan Mikrokontroler (1)
Nama Penulis
Anggara Nasution
Angga_messi@yahoo.com
Khalifatul Amin
Teknologi  adalah  keseluruhan  sarana  untuk  menyediakan  barang-barang  yang
diperlukan bagi  kelangsungan  dan  kemudahan hidup  manusia. Penggunaan  teknologi
oleh manusia diawali dengan pengubahan sumber daya alam menjadi alat-alat sederhana.
Salah satu alat teknologi saat ini adalah komputer. Tidak hanya komputer yang sudah
banyak  digunakan  dalam  kehidupan  sehari-hari,  bahkan  perangkat-perangkat mobile
sudah  menjadi  hal  yang  penting.  Perangkat mobile tersebut  salah  satunya adalah
Lisensi Dokumen:
Copyright © 2003-2007 IlmuKomputer.Com
Seluruh  dokumen  di  IlmuKomputer.Com  dapat  digunakan,  dimodifikasi  dan
disebarkan secara  bebas  untuk  tujuan  bukan  komersial  (nonprofit),  dengan  syarat
tidak  menghapus  atau  merubah  atribut  penulis  dan  pernyataan  copyright  yang
disertakan  dalam  setiap  dokumen.  Tidak  diperbolehkan  melakukan  penulisan  ulang,
kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
2
smartphone, smartphone sekarang  menjadi  barang  multifungsi. Smartphone yang
digunakan  adalah Smartphone Android, Android merupakan  salah  satu  dari  sistem
operasi pada  ponsel  yang  berbasis Java dan XML (eXtansible  Markup  Language).
Dengan menggunakan Smartphone Android kita  dapat  memanfaatkan perangkat
wireless yang  sudah  tertanam  di smartphone Android,  dan  kita  dapat  mengontrol
peralatan listrik dengan mudah dalam suatu jaringan yang dihubungkan melalui media
Wifi (Wireless  Fidelity)  karena  pengiriman  data  dapat  dilakukan  oleh  ponsel android
tersebut.
Pada  Perancangan  alat  pengendali  lampu  AC  menggunakan  Sistem  Minimum
Mikrokontroller berbasis Wifi(Wiznet wizfi210) pada smartphone android, mempunyai
komponen  utama  seperti Smartphone Android, Access  Point, Wizfi210,  dan  Sistem
Minimum Mikrokontroller.
Ada beberapa perangkat yang dibutuhkan agar bisa menyalakan atau memadamkan
lampu,  yaitu Hardware(Perangkat  Keras)  dan Software(Perangkat  Lunak). Dimana
hardware dibutuhkan untuk melakukan perintah menyalakan atau memadamkan lampu
ac dan memberikan status lampu nyala ataupun lampu padam.
Serta  perangkat  lunak  yang  dibuat  menjadi  sebuah  aplikasi  antarmuka  untuk
mengkontrol lampu  dengan  cara  mengirimkan  data integer ke  Sistem  Minimum
Mikrokontroller,  kemudian Sistem  Minimum  Mikrokontroller  akan  memproses  data
yang  diterima  dari  aplikasi  antarmuka  dan  akan  dikirim  kembali  status  lampu  dari
mikrokontroller ke aplikasi antarmuka.
Kebutuhan Hardware
Beberapa  kebutuhan hardware yang  digunakan  agar   aplikasi  dan  semua  yang
dibutuhkan dapat dijalankan dengan baik.
1. Sistem Minimum Mikrokontroller ATMega8535
2. Module Wifi (Wizfi210 EVB).
3. Access  point digunakan  untuk  memancarkan  gelombang  radio  sebagai  transmisi
data.
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
3
4. Kabel serial digunakan untuk mengkonfigurasi module wifi.
5. Kabel USB sebagai tegangan saat mengkonfigurasi module wifi.
6. Smartphone android Samsung Galaxy Young.
Kebutuhan Software
Beberapa  kebutuhan software yang  digunakan  dalam  pembuatan   aplikasi  dan
semua yang dibutuhkan agar dapat dijalankan dengan baik.
1. Java Development kit (JDK).
2. Eclipse version Kepler
3. Android SDK.
4. ADT (Android development tools).
5. Putty digunakan untuk mengkonfigurasi wizfi210 agar terhubung ke Access Point
menggunakan model jaringan infrastruktur.
6. Hercules digunakan  untuk melihat  data  serial  yang  dikirim  oleh smartphone
android ke module wifi.
7. CodeVisionAVR digunakan  untuk  memprogram Modul  Sistem  Minimum
Mikrokontroller.
Blok Diagram
a. Blok Diagram Sistem
Pada gambar 1.1 dapat dijelaskan bahwa aplikasi yang dipasang pada smartphone
sebagai perangkat antarmuka yang harus terkoneksi dengan module Wifi melalui Access
point menggunakan jaringan Infrastruktur. Smartphone android mengirim data berupa
karakter  dan  diterima  oleh module Wi-Fi, lalu  data  tersebut  dikirim  secara  serial  ke
sistem minimum mikrokontroler agar dapat melaksanakan perintah sesuai dengan data
yang diterima, lalu sistem minimum mikrokontroller memproses data yang masuk dan
melakukan  perintah  penyalaan  dan  sensor pada  lampu akan  mengirim  status  lampu
hidup atau padam melalui sistem minimum mikrokontroller ke smartphone.
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
4
Gambar 1.1: Blok Diagram Sistem
B Blok Diagram Tampilan Menu Aplikasi
Pada  gambar 1.2 dapat  dijelaskan  bahwa  pada  saat  aplikasi  dijalankan  maka
akan tampil kontrol lampu dan menu. Atribut menu akan tampil jika user atau pengguna
menekan tombol menu pada smartphone android, atribut terdiri dari about dan exit.
Gambar 1.2: Blok Diagram Tampilan Menu Aplikasi
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
5
Daftar Pustaka
Sutedjo, Budi dan Michael AN. (2004). Algoritma dan Teknik Pemrograman.
Yogyakarta: ANDI.
Waloeya, Yohan Jati. (2012). Computer Networking. Yogyakarta: ANDI.
Winarno, Edi. (2011). Membuat Sendiri Aplikasi Android untuk Pemula.
Jakarta : PT. Elex Media Komputindo.
Biografi Penulis
Anggara Nasution, lahir 26 Agustus 1982 saat ini bekerja sebagai Labora

Ilmu Komputer 95 - 07.19

Film Pendiri Google The Internship (2013) UNRATED BluRay 720p 850MB

The Internship (2013) UNRATED BluRay 720p 850MB

  • 73
     
    Share
the internship 2013 unrated bluray 720p 850mb sidofi f5sMgQ3 The Internship (2013) UNRATED BluRay 720p 850MB
Download Film The Internship
Genre: Comedy
Year: 2013
Rating: 6.4 (16,367 votes)
Runtime: 1 h 59 min
Director: Shawn Levy
Uploader : SDF @ sidofi.com
Cast: Vince Vaughn, Owen Wilson, Rose Byrne, Aasif Mandvi
Plot:
Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.


Trailer The Internship (2013) UNRATED BluRay 720p 850MB


SCREENSHOT MOVIE


http://i.imgur.com/G6JqCzE.jpg
Download The Internship (2013) UNRATED BluRay 720p 850MB
Download Free: Single linkSelectShow
Download Free: Part linkSelectShow
” Like and Share The Internship “
Subtitle The Internship (2013) UNRATED BluRay 720p 850MB
[Download Subtitle Indonesia]

Ilmu Komputer 95 - 07.08

Cheat PointBlank 12 November 2014 terbaru







Download VIP  --> ON

Cara Melewati Shorte.st agar tidak dialihkan ke FLV Downloader:
  • Tunggu sampai loading pada tab browser selesai
  • Lalu tekan skip this ad
  • Selesai
Cara Menggunakan:
  1. Extrack file Cheat yang telah didownload
  2. Buka file .exe (Run AsAdministrator)
  3. Setelah itu akan ada tombol Star, Klik tombol tersebut, tunggu sampai loadingnya selesai          
  4. Buka, Play PointBlank
  5. Happy Cheating

Ilmu Komputer 95 - 06.49

Selasa, 04 November 2014

Raisa Andriana, Glenn Fredlly, dan Midnight Quickie Gebrak Panggung Explosion di Regina Pacis Bogor

Selasa, 04 November 2014

REGINA PACIS BOGOR PROUDLY PRESENTS: MIDNIGHT QUICKIE, RAISA, GLENN FREDLY ETC, FOR THE CLOSING CEREMONY OF EXPLOSION!! 
PLEASE COME TO TENNIS OUTDOOR BOGOR LAKESIDE, 15 NOV '14 JOIN US AND FEEL THE HEAT TOGETHER!! 💥💥💥
PRESALE TICKET:
4-8 NOV = 45K
9-14 NOV = 50K
ON THE SPOT = 60K
FOR MORE INFORMATION: @recisEXPLOSION
THANKYOUUU!!!(:

Heibogor.com - Ke sembilan kalinya, SMA Regina Pacis Kota Bogor segera menggelar acara bertajuk Explosion 2014 pada 25 Oktober mendatang. Bertujuan untuk mengenalkan kebudayaan luar dan tradisional, acara ini dibagi ke dalam tiga sesi. Hal tersebut diutarakan Gamalil, Wakil Ketua Divisi Humas OSIS SMA Regina Pacis ketika menyambangi kantor heibogor.com di Jalan Halimun, Kota Bogor, Jumat (17/10/14). ”Acara Explotion ini juga bertujuan untuk meningkatkan rasa kebersamaan sesama pelajar Kota Bogor dan meningkatkan kreativitas serta kemampuan yang dimiliki siswa-siswi SMA Regina Pacis untuk mengorganisasi suatu acara besar,” kata Gamalil. Dia pun membenarkan bahwa Explotion dibagi ke dalam tiga sesi. Sesi pertama, tanggal 25 Oktober dimulai dengan perlombaan olahraga dan pengetahuan yang hanya diikuti oleh siswa SMP dan SMA Regina Pacis. Sesi kedua tanggal 27 Oktober, yakni grand opening Eksplosion di Aula SMA Regina Pacis, Jalan Ir. H. Djuanda Nomor 2, Pebaton, Bogor Tengah, Kota Bogor. ”Puncak acara Explosion adalah pentas seni, 15 November 2014. Berlokasi di Sport Bogor Raya Lakeside. Kami menghadirkan artis-artis besar, seperti Raisa, Glenn Fredly, Midnight Quickie dan lain-lain,” jelasnya. Diakuinya, mereka sengaja menghadirkan artis tersebut untuk menghibur masyarakat Bogor. Terlebih acara grand opening dan pentas seni dibuka untuk umum. ”Untuk pengunjung atau masyarakat yang ingin menonton pentas seni akan dikenakan biaya mulai dari Rp 30 ribu hingga Rp 50 ribu. Kita membatasi penonton hingga 3.000 orang. Penonton dapat memesan tiket mulai dari hari ini hingga sebelum acara dimulai,” pungkasnya. - See more at: http://www.heibogor.com/detail/5147-Raisa-dan-Glenn-Fredly-Siap-Gebrak-Panggung-Explosion#sthash.vTVgDrIH.dpuf

Ilmu Komputer 95 - 07.39