Laman

Showing posts with label tutorial. Show all posts
Showing posts with label tutorial. Show all posts

Pengalaman Membuat Sticker LINE Messenger


       Sedikit cerita dari saya pengalaman membuat sticker untuk LINE Messenger, sticker Hangs Breaker yang saya buat http://line.me/S/sticker/1164299. Untuk daftar Creator Line Market bisa kunjungi alamat https://creator.line.me/en/. Kira-kira dimulai pertama kali tanggal 1 Juli 2015 ketika puasa Ramadhan 1436H, saya membuat sticker menggunakan aplikasi CorelDrawX4. Buatnya agak lama sih, cuma jarang-jarang aja gambarnya gak tiap hari jadi agak lama, sampai kira-kira tanggal 4 Juli 2015 Upload ke LINE Creator Market. Untuk creator di haruskan membuat 40 gambar Sticker tidak boleh kurang, karena kalau kurang tidak dapat di submit untuk di review oleh pihak LINE nya. Ada warningnya "No sticker images uploaded. Please upload some sticker images.".
       Setelah semua sticker saya upload, ternyata masih ada yang kurang, sticker masih belum bisa di submit walaupun sudah upload 40 gambar sticker. Ternyata ada satu warning lagi yang belum hilang, yaitu harus verifikasi "Bank Account Information" di menu "Account Setting". Di dalam menu Account Setting tersebut ternyata harus punya akun Bank PayPal Premier atau PayPal Business Accounts. Buat saya sendiri belum pengalaman menggunakan PayPal, sempat dulu sudah pernah buat dan gak terpakai, kemudian saya coba login masih bisa dan saya masukkan informasi PayPal-nya. Ketia sudah saya masukkan informasinya, saya simpan keluar peringatan akun PayPal belum terverifikasi, hahaha saya kebingungan, kemudian tanya teman saya dan akhirnya bisa terverifikasi.

Create QR Code Reader in Android with ZXing


Android is popular mobile phone OS. Sometime developer want to adding QR Code Scanner/Reader in the application they buid. I want to share my experience creating QR Code Reader in android using ZXing Barcode Scanner.
ZXing ("zebra crossing") is an open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. ZXing project can be found on github https://github.com/zxing/zxing/.
Tutorial using ZXing in android I found great here. http://karanbalkar.com/2013/12/tutorial-65-implement-barcode-scanner-using-zxing-in-android/.

Step 1
Download ZXing. I download from here. Because I use from ZXing project master is not working.
https://gitorious.org/rowboat/external-zxing/source/7620644768ffc235607b3a94671e49518c18686f:qr_scanner

Step 2
Extract downloading file (rowboat-external-zxing folder) then import folder qr_scanner to eclipse.

Step 3
Create folder libs to the root project, then copy file core.jar from folder core (in rowboat-external-zxing folder) paste to folder libs. The project look like this. Set CaptureActivity project as library. (right-click) Properties -> Android -> Check Is Library.
Step 4
Create new android project application. (right click) Project –> Properties –> Android and add the ZXing project (CaptureActivity) as a library.

Create Your Own QR Code With Logo Centered With PHP


I just want to know how to create QR Code, so I search to Google.com, first time I find online QR Code generate by Google API, Source code here(Github). I think always online is not good, so I search again then I find "phpqrcode", PHP QR Code is open source (LGPL) library for generating QR Code, 2-dimensional barcode. This is the web page.
http://phpqrcode.sourceforge.net/
The web page tell Some of library features includes:
  • Supports QR Code versions (size) 1-40
  • Numeric, Alphanumeric, 8-bit and Kanji encoding. (Kanji encoding was not fully tested, if you are japan-encoding enabled you can contribute by verifing it :) )
  • Implemented purely in PHP, no external dependencies except GD2
  • Exports to PNG, JPEG images, also exports as bit-table
  • TCPDF 2-D barcode API integration
  • Easy to configure
  • Data cache for calculation speed-up
  • Provided merge tool helps deploy library as a one big dependency-less file, simple to "include and do not wory"
  • Debug data dump, error logging, time benchmarking
  • API documentation
  • Detailed examples
  • 100% Open Source, LGPL Licensed
To minimal using just include qrlib.php
then write code
QRcode::png('some othertext 1234'); //creates code image and outputs it directly into browser

To adding image in the center of QR Code image I using php function imagecopyresampled
// === Adding image to qrcode
$QR = imagecreatefrompng($imgname);
if($logo !== FALSE){
    $logopng = imagecreatefrompng($logo);
    $QR_width = imagesx($QR);
    $QR_height = imagesy($QR);
    $logo_width = imagesx($logopng);
    $logo_height = imagesy($logopng);
   
    list($newwidth, $newheight) = getimagesize($logo);
    $out = imagecreatetruecolor($QR_width, $QR_width);
    imagecopyresampled($out, $QR, 0, 0, 0, 0, $QR_width, $QR_height, $QR_width, $QR_height);
    imagecopyresampled($out, $logopng, $QR_width/2.65, $QR_height/2.65, 0, 0, $QR_width/4, $QR_height/4, $newwidth, $newheight);
   
}
imagepng($out,$imgname);
imagedestroy($out);


Then, to chage color of qrcode image with php, use php function imagecolorat
// === Change image color
$im = imagecreatefrompng($imgname);
$r = 44;$g = 62;$b = 80;
for($x=0;$x<imagesx($im);++$x){
    for($y=0;$y<imagesy($im);++$y){
        $index     = imagecolorat($im, $x, $y);
        $c       = imagecolorsforindex($im, $index);
        if(($c['red'] < 100) && ($c['green'] < 100) && ($c['blue'] < 100)) { // dark colors
            // here we use the new color, but the original alpha channel
            $colorB = imagecolorallocatealpha($im, 0x12, 0x2E, 0x31, $c['alpha']);
            imagesetpixel($im, $x, $y, $colorB);
        }
    }
}
imagepng($im,$imgname);
imagedestroy($im);


I adding the function to convert png image to base64, qrcode image is saved as png file, just 3 line to convert png image to base64 code.
// === Convert Image to base64
$type = pathinfo($imgname, PATHINFO_EXTENSION);
$data = file_get_contents($imgname);
$imgbase64 = 'data:image/' . $type . ';base64,' . base64_encode($data);


There all done, to showing image use tag <img/>
 // === Show image
echo "<img src='$imgbase64' style='position:relative;display:block;width:240px;height:240px;margin:160px auto;'>";


Complete Project here(Github)

Report PHP CSV

 csv_download.php
<?php
for($i=1;$i<4;$i++){
    $out.="A,B,C,D,E,F\r\n"; 
}
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv".date("Y-m-d").".csv");
header("Content-disposition: filename=csv".date("Y-m-d").".csv");
print $out;
?>

csv_save_to_folder_server.php
<?php
$data_array = array (
            array ('1','2'),
            array ('2','2'),
            array ('3','6'),
            array ('4','2'),
            array ('6','5')
            );

$csv = "col1,col2 \n";//Column headers
foreach ($data_array as $record){
    $csv.= $record[0].','.$record[1]."\n"; //Append data to csv
}
//membuat file csv di folder server
for($i=1;$i<4;$i++){
    $csv_handler = fopen ("csv/csvfile".$i.".csv",'w');
    fwrite ($csv_handler,$csv);
    fclose ($csv_handler);
}
echo 'Data saved to csvfile.csv';
?>

Membuat Toko Online dengan Blogger.com / Blogspot

Blogger.com / blogspot, memang dapat dijadikan untuk membuat toko online. Alasan kenapa menggunakan blogspot, karena kebanyakan orang awam tidak tau apa itu website, apa itu hosting, domain, url, CMS, kode HTML, Javascript. Dan kebanyakan orang yang sudah membuat website malas melakukan perawatan/maintenance pada websitenya, juga kadang lupa dengan tagihan kapan harus membayar hosting dan domain.

Langsung saja pada intinya, saya mau share template buatan saya gratis untuk Anda yang ingin membuat toko online sederhana. Template ini saya beri nama Toko Positif. Demo website ada di tokopositif.blogspot.com


Android Membuat Folder di SDCARD

Cukup simpel caranya membuat sebuah folder di Android, gunakan saja script berikut.
        File folder = new File(Environment.getExternalStorageDirectory() + "/NewFolder");
        boolean success = true;
        if (!folder.exists()) {
            success = folder.mkdir();
        }
        if (success) {
            // Do something on success
            Toast.makeText(getApplicationContext(), "Folder created", Toast.LENGTH_SHORT).show();
        } else {
            // Do something else on failure
            Toast.makeText(getApplicationContext(), "Failed", Toast.LENGTH_SHORT).show();
        }
Jangan lupa tambahkan permision di AndroidManifiest.xml
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

Semoga Bermanfaat.

Export Database Android SQLite ke CSV File

Untuk mengexport database Android dari database .db maupun .sqlite bisa menggunakan opencsv.
Opencsv merupakan library java ber-extensi .jar yang sangat sederhana. Opencsv dikembangkan karena semua parser csv yang dijumpai pengembang tidak memiliki izin komersial yang ramah.
Untuk library Opencsv bisa di download di
http://sourceforge.net/projects/opencsv/
atau dropbox 
Cara penggunaannya copy file .jar opencsv nya ke folder libs


Kemudian tambahkan ke library. Klik kanan project > pilih properties > pilih Java Builder Path > Pilih Tab Libraries > Tambahkan dengan klik Add JARs...
 
Selanjutnya tinggal menggunakan scriptnya saja, misal:
CSVWriter writer = null;
try {
    writer = new CSVWriter(new FileWriter(Environment.getExternalStorageDirectory()+"/myfile.csv"), ',');
    String[] entries = "first#second#third".split("#"); // array of your values
    writer.writeNext(entries);  
    writer.close();
}catch(Exception e){
    //error
}
File csv akan di simpan pada /sdcard dengan nama myfile.csv
Bila script tidak bekerja mungkin perlu di tambahkan permision ke AndroidManifiest.xml
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Referensi dari: stackoverflow.com
Semoga bermanfaat

Membuat Ping CMD Berjalan di Belakang Layar

Pertama buat program PING dahulu
Buka notepad isikan
@echo off
cls
@echo pinging google
ping google.com -t

kemudian save dengan tipe (.bat) misal pinging.bat
Buat vbscript untuk menjalankan file .bat, buka lagi notepad isikan
set Wshell = CreateObject("WScript.shell")
Wshell.Run chr(34) & "pinging.bat" & Chr(34), 0
Set WshShell = Nothing

Simpan dengan tipe (.vbs) misal hidden.vbs
Cara penggunaannya tinggal double klik / jalankan file hidden.vbs
Untuk mengecek apakah ping sudah berjalan bisa menambahkan perintah >> fileping.txt pada pinging.bat untuk menyimpan hasil ping.
@echo off
cls
@echo pinging google
ping google.com -t >> fileping.txt

Contoh bisa di download disini(Dropbox)

Unity With SQLite Database

Unity scripting was backed by Mono actually. It was this page. SQLite – Mono. It’s not an exact implementation though but was easier that I thought.
  1.  Download a Precompiled DLL of SQLite http://www.sqlite.org/download.html
  2. Move the sqlite3.dll and sqlite3.def to Assets/Plugins in your unity project
  3. Download SQLite Browser http://sourceforge.net/projects/sqlitebrowser/ or using SQLite Manager addons of Mozilla Firefox.
  4. Create a database in your Assets/ folder in your unity project with SQLite broswer
  5. Copy System.Data.dll and Mono.Data.Sqlite.dll from C:\Program Files (x86)\Unity\Editor\Data\Mono\lib\mono\2.0\ and paste them in your Assets/ folder in your unity project.
  6. Access the database as above, only where “/GameMaster” is put “/YourDbName”. Note if you did this correctly MonoDevelop should have all of the methods when you type reader.
  7. When building you must copy your database file to the folder that automatically is created called yourProject_Data wherever you saved the executable.
 I create database using SQLite Manager addons of Mozilla Firefox.


Script:
using UnityEngine;
using System.Collections;
using Mono.Data.Sqlite;
using System.Data;
using System;

public class SqliteDb : MonoBehaviour {

 // Use this for initialization
 void Start () {
  string connectionString = "URI=file:" +Application.dataPath + "/sampledb.sqlite"; //Path to database.
  IDbConnection dbcon;
  dbcon = (IDbConnection) new SqliteConnection(connectionString);
  
  dbcon.Open(); //Open connection to the database.
  
  IDbCommand dbcmd = dbcon.CreateCommand();
  string sql = "SELECT col1, col2 FROM `sampletable`";
  dbcmd.CommandText = sql;
  IDataReader reader = dbcmd.ExecuteReader();
  
  while(reader.Read()) {
   int Col1 = reader.GetInt16 (0);
   string Col2 = reader.GetString (1);
   Console.WriteLine(Col1 + " " + Col2);
   Debug.Log (Col1 + Col2);
  }
  
  // clean up
  reader.Close();
  reader = null;
  dbcmd.Dispose();
  dbcmd = null;
  dbcon.Close();
  dbcon = null;
 }
 
 // Update is called once per frame
 void Update () {

 }
}

Unity console.



Important Copy sqlite3.dll into your into your project's Plugins folder (make a folder called Plugins if you don't have one).
  • You won't get a warning if you don't do this, and your project will run fine in the editor, however, it will fail to work when you actually build your project, and will only provide information about this in the log file.
  • This will give you a “License error. This plugin is only supported in Unity Pro!” if you're using Unity Indie, but it doesn't seem to have an effect on the actual play in the editor, nor does it seem to effect the ability to build stand-alone versions.
  • Alternately, you can leave it out of your project entirely, but when you build your application, you'll need to include a copy of sqlite3.dll in the same directory as the .exe in order for it to work.
Attachment Dropbox

Unity Automatic Resize OnGUI object

using UnityEngine;
using System.Collections;

public class GameGUI : MonoBehaviour{
public GUIStyle customGUI;

Rect ResizeGUI(Rect _rect){
 float FilScreenWidth = _rect.width / 480;
 float rectWidth = FilScreenWidth * Screen.width;
 float FilScreenHeight = _rect.height / 320;
 float rectHeight = FilScreenHeight * Screen.height;
 float rectX = (_rect.x / 480) * Screen.width;
 float rectY = (_rect.y / 320) * Screen.height;
 Debug.Log(_rect.x+" - "+_rect.y);
 //Automatic resize font size
 customGUI.fontSize=(int)rectHeight/4;
 
 //Return new position and height
 return new Rect(rectX,rectY,rectWidth,rectHeight);
}

void OnGUI(){
 GUI.Label(ResizeGUI(new Rect(190,60,100,100)), "Label position and size", customGUI);
}
}

Unity OnMouseDrag

Move Object with dragging mouse / drag object with mouse
Script:
float distance_to_screen;
Vector3 pos_move;
void OnMouseDrag(){
 distance_to_screen = Camera.main.WorldToScreenPoint(gameObject.transform.position).z;
 pos_move = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, distance_to_screen ));
 transform.position = new Vector3( pos_move.x, pos_move.y, pos_move.z );
}

Unity Phone Accelerometer

In the unity to use accelerometer using script Input.acceleration
 Example Code:
using UnityEngine;
using System.Collections;

public class AccelerometerInput : MonoBehaviour {

 float accX=0,maxSpeed=8;

 void FixedUpdate(){
  float move = Input.acceleration.x;
  rigidbody2D.velocity = new Vector2 (move * maxSpeed, rigidbody2D.velocity.y);
  //transform.Translate(new Vector2(move * maxSpeed * Time.deltaTime,0));
 }
}

Unity Save and Load Data

In Unity, to save and load data using PlayerPrefs

Static Functions

DeleteAllRemoves all keys and values from the preferences. Use with caution.
DeleteKeyRemoves key and its corresponding value from the preferences.
GetFloatReturns the value corresponding to key in the preference file if it exists.
GetIntReturns the value corresponding to key in the preference file if it exists.
GetStringReturns the value corresponding to key in the preference file if it exists.
HasKeyReturns true if key exists in the preferences.
SaveWrites all modified preferences to disk.
SetFloatSets the value of the preference identified by key.
SetIntSets the value of the preference identified by key.
SetStringSets the value of the preference identified by key.

Example Code:
using UnityEngine;
using System.Collections;

public class Teaser : MonoBehaviour {
 int rnd=0,data=0;
 
 // Use this for initialization
 void Start () {
  rnd= Random.Range(2, 6);
  data= PlayerPrefs.GetInt("Data");
  Debug.Log("Data Loaded "+data);
  Debug.Log("Random Number "+rnd.ToString());
  PlayerPrefs.SetInt("Data", rnd);
  Debug.Log("Data Saved "+rnd.ToString());
 }

}

Melihat Password Asterisk di Web

         Apakah Anda pengguna jasa Telkom Speedy, kemudian tidak diberi tau password user modem speedy Anda. Jangan khawatir, Anda bisa melihat sendiri password modem Anda yang cuma kelihatan ••••••••• dengan menggunakan fasilitas Inspect Element/Inspeksi Elemen yang ada pada Firefox (kebetulan saya menggunakan firefox), di Google Chrome kalau tidak salah namanya Periksa Elemen. Caranya sederhana, tinggal pilih kotak password dan ganti element/type kotak isian password tersebut menjadi type="text". Sebenarnya fasilitas inspeksi elemen ini digunakan untuk memeriksa elemen-elemen website selain cara manual dengan view source, ada juga manfaat lain inspeksi elemen ini bisa digunakan untuk merubah tampilan website secara real time namun tidak merubah file asli, apabila halaman di refresh maka tampilan akan kembali seperti semula.

Untuk menggunakan inspeksi elemen langsung saja klik kanan pada halaman, pilih Inspeksi Elemen.

Game dakon atau congklak dengan flash

      Pernahkan pada masa kecil Anda bermain dakon? jika belum pernah mungkin Anda lahir di jaman yang sudah modern. Di Wikipedia Congklak adalah suatu permainan tradisional yang dikenal dengan berbagai macam nama di seluruh Indonesia. Biasanya dalam permainan, sejenis cangkang kerang digunakan sebagai biji congklak dan jika tidak ada, kadangkala digunakan juga biji-bijian dari tumbuh-tumbuhan dan batu-batu kecil.



Game Jaringan Ping - Pong dengan VB

        Iseng-iseng mbuat game Ping-Pong yang bisa di mainkan dua orang melalui jaringan dengan LAN. Game ini dibuat menggunakan VB6.0. Tampilannya sederhana dengan komponen-komponen VB yang sudah tersedia. Untuk koneksi jaringannya menggunakan component Microsoft Winsock control 6.0 (Winsock), dimana Winsock berfungsi mengirim dan menerima data antar server client dengan IP dan port yang sudah ditentukan. Permainan ini fungsinya seperti aplikasi chatting, dimana server mengirim dan menerima kiriman data dari client. Di posisi client yang menerima kiriman data dari server memproses data tersebut yang datanya antara lain data posisi bola, data posisi pemain, dan data nilai. Aplikasi ini sederhana cuma 50kb.

Perintah koneksi Winsock untuk Server:
      Winsock1.LocalPort = 1234      '>Port yang di ijinkan koneksi ke server
    Winsock1.Listen     '>menunggu koneksi

Perintah koneksi Winsock untuk Client:
      Winsock1.RemoteHost = 127.0.0.1      '>alamat IP server
    Winsock1.RemotePort = 1234      '>Port yang di ijinkan koneksi ke server
    Winsock1.Connect      '>lakukan koneksi

Untuk mengirim data dengan Winsock menggunakan perintah:
      Winsock1.SendData ("Data")     '>Data yang dikirim bisa berbagai type
    DoEvents      '>Bisa di akhiri dengan perintah DoEvents

Untuk menangkap data yang dikirim dengan Winsock, data di tangkap di private sub bawaan Winsock:
    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
       Winsock1.GetData data, vbString  '>vbString tergantung data yang dikirim
    End Sub

Source code dan aplikasi nya dapat di download disini(Dropbox)

Membaca file text di VB6

   Susah-susah gampang membaca file text di VB6. Walaupun sudah bukan jamannya lagi pakai VB6, mungkin di VB yang lebih tinggi seperti VS2010 maupun 2012 atau yang terbaru juga bisa menggunakan script di bawah ini. Algoritmanya simpel, pertama deklarasi variabel kemudian dengan script "Open" file tujuan di buka, setelah itu di tampilkan. Tapi kalau gak tau scriptnya percuma tau algoritmanya =).

• Membuka Teks dari File

Dim i As Integer
i = FreeFile
Open "D:\contoh.txt" For Input As #i
Text1.Text = Input(LOF(i), i)
Close #i

Android EditText Array

     Untuk menjadikan EditText sebagai Array bisa melihat contoh di bawah. Masukkan script ini pada main script (.java), maka akan terbuat EditText Otomatis sebanyak perulangan yang diinginkan.



import java.util.ArrayList;
import java.util.List;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends Activity {

EditText ed;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
                //Membuat array EditText
List<EditText> allEds = new ArrayList<EditText>();
for (int i = 0; i < 4; i++) {   
   ed = new EditText(this);
   allEds.add(ed);
   ed.setText("a"+i);
   ll.addView(ed);
}
TextView tv = new TextView(this);
ll.addView(tv);

                //Menampilkan ke layout android
this.setContentView(ll);

                //Menampilkan isi EditText ke TextView tv.setText(allEds.get(1).getText().toString());
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}


Selamat mencoba, Semoga bermanfaat

Installasi JDK dan NetBeans di Linux Ubuntu

        Untuk menginstall NetBeans sebelumnya install dulu Java Development Kit (JDK). JDK adalah sebuah perangkat lunak untuk pengembang Java. JDK terdiri dari java runtime environment yang ada di atas layer sistem operasi serta program yang memerlukan compile, debug, dan aplikasi yang ditulis menggunakan bahasa pemrograman Java.


Installasi JDK

Untuk menginstall JDK ada banyak cara. Cara yang saya gunakan yaitu dengan Langkah-langkah dibawah ini :

1. Download JDK di situs resminya > Oracle
2. Pilih JDK sesuai dengan versi OS anda. Saya menggunakan Ubuntu 12.04 32bit jadi saya download JDK linux x86 yang berekstensi tar.gz

Instalasi Asterisk dan Asterisk GUI

      Instalasi Asterisk dan Asterisk GUI di Ubuntu Server 11.04, saya yakin di ubuntu server lainnya juga seperti ini dan bisa dilakukan cuma kebetulan aja saya pakai Ubuntu Server 11.04. Di dalam tutorial PDF ini terdapat cara untuk install asterisk, install asterisk gui, sedikit manual digium asterisk gui, dan implementasi ke softphone.
Tampilan Asterisk GUI dengan Digium
Silahkan download PDF nya disini(4shared)
Selamat mencoba semoga dapat membantu