Showing posts with label Software. Show all posts
Showing posts with label Software. Show all posts

Saturday, February 17, 2024

Belajar Pemrograman Games dengan Unity

Gunakan Unity Editor untuk membuat game, aplikasi, dan pengalaman 2D dan 3D. Unduh Editor di unity3d.com. Panduan Pengguna Unity membantu Anda mempelajari cara menggunakan Unity Editor dan layanan terkaitnya. Anda dapat membacanya dari awal sampai akhir, atau menggunakannya sebagai referensi. Jika ini pertama kalinya Anda menggunakan Unity, lihat dokumentasi pengantar tentang Bekerja dengan Unity, dan lihat Tutorial Unity.




Ada 3 ciri utama sebuah listing program yang terstruktur (OOP) yaitu "Encapsulation", "Inheritance" dan "Polymorphism".

Di Unity ada beberapa Method utama yang sering digunakan dalam pembuatan game, berikut adalah method-method C# unity.

- Void Awake adalah method yang akan dieksekusi terlebih dahulu sebelum Method Void Start(). contoh:
void Awake(){
    anim = GetComponent<Animator>();
    player = GameObject.Find("Player");
    partikel = enemy.GetComponent<ParticleSystem>();
    darahUtama = GetComponent<DarahUtama>();
}
- Void Start() hanya akan mengeksekusi listing program satu kali dan di awal saat program dijalankan. contoh:
void Start(){
    umur = 20;
    darahPemain = DarahUtama;
    Phi = 3.14159265;
}
- Void Update() akan mengeksekusi program per frame artinya akan terus mengeksekusi listing program selama program berjalan. Void Update() digunakan untuk mengeksekusi perintah yang selalu berubah sesuai kondisi. contoh:
void Update(){
    time += Time.DeltaTime;
    Debug.Log("void update");
    if(darah <= 0) { Die();}
}
- Void FixedUpdate Memiliki fungsi yang sama dengan void Update(), perbedaannya void Update() lebih fokus ke perubahan grafis game dan void FixedUpdate() lebih fokus ke perubahan fisik pada objek. contoh: 
void FixedUpdate(){
    rigidbody.AddForce(Vector3.up);
}
- Void LateUpdate akan terlambat dieksekusi ketika program dijalankan, contoh yang paling sering digunakan adalah ketika camera mengikuti gerakan pemain. contoh: 
void LateUpdate(){
    Vector3 targetCamPos = target.position + offset;
    transform.position = Vector3.Lerp (transform.position, targetCamPos, smoothing * Time.deltaTime);
}
- Void OnGUI biasa digunakan pada Unity versi 4.5 kebawah, method ini digunakan untuk mengeksekusi perintah atau komponen GUI. contoh:
void OnGUI(){
    GUI.Button(new Rect(10,10,100,20), "Tombol");
}

Dengan skrip yang berasal dari kelas MonoBehaviour bawaan Unity, Kita dapat membuat komponen kustom sendiri untuk mengontrol perilaku GameObjects. Sedangkan dengan skrip yang berasal dari ScriptableObject Kita dapat menyimpan data dalam jumlah besar secara efisien di aplikasi.

Tidak seperti kebanyakan aset lainnya, skrip biasanya dibuat langsung di dalam Unity. Untuk membuat skrip baru yaitu:
- buka Assets > Create > Scripting dan pilih jenis skrip yang ingin Anda buat. Selain itu bisa dengan menggunakan klik tanda plus di toolbar jendela Proyek, lalu buka Scripting dan pilih jenis skrip yang ingin Anda buat.
- Selanjutnya Unity akan membuat skrip baru di folder mana pun yang kita pilih di panel Proyek. Itu juga memilih nama file skrip untuk diedit, dan meminta kita untuk mengubah nama.
- Nama file yang dimasukkan saat pembuatan skrip juga akan digunakan untuk nama kelas yang ditentukan di dalamnya. Oleh karena itu, praktik yang baik jika nama file skrip cocok dengan nama kelas yang ditentukan di dalamnya.

Untuk skrip yang berasal dari tipe Unity bawaan MonoBehaviour dan ScriptableObject, Unity masih dapat menyelesaikan tipe kelas yang ditentukan dalam skrip kita meskipun nama file tidak cocok, namun ada beberapa batasan:
- Jika beberapa kelas ditentukan dalam skrip, Unity memilih kelas dengan nama yang sama dengan file.
- Jika kita menggunakan kata kunci parsial C# untuk mendefinisikan satu kelas turunan MonoBehaviour di beberapa file, hanya file dengan nama yang sama dengan kelas parsial yang dapat digunakan sebagai Komponen.

Catatan: Jika nama kelas tidak dapat dicocokkan secara jelas dengan file tertentu, Unity akan menampilkan peringatan.



Sunday, June 19, 2022

Resolve OPENCV PYTHON Problem for your Environment Project

Several opencv problem and the resolve:

_____

- Problem:

on centos
ImportError: libGL.so.1: cannot open shared object file: No such file or directory

- Resolve: 

yum install mesa-libGL

_____

- Problem:

cannot start Anaconda environment in windows

- Resolve: 

C:\Users\webiot>D:/Anaconda/Scripts/activate

_____

- Problem:

cv2.error: OpenCV(3.4.17) D:\a....\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:383: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

- Resolve: 

camera=cv2.VideoCapture(0) #check for input device, maybe 0 or 1 etc.

_____

- Problem:

recognizer = cv2.face.LBPHFaceRecognizer_create(); #create a recognizer, LBPH is a face recognition algorithm.Local Binary Patterns Histograms
AttributeError: module 'cv2' has no attribute 'face'

- Resolve: 

pip uninstall opencv-contrib-python

and install again:

pip install opencv-contrib-python

_____

- Problem:

faces=detector.detectMultiScale(frame,1.1,7)

cv2.error: OpenCV(3.4.17) D:\a\opencv-python\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1729: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'

- Resolve: 

run python as your path in the code

_____

- Problem:

sqlite3.OperationalError: no such column: 

- Resolve: 

check your parameter and add the value with single Quote each.

_____

- Problem:

sqlite3.OperationalError: database is locked

- Resolve: 

close all opened db browser

_____

- Problem:

CvCapture_MSMF::grabFrame videoio(MSMF): can't grab frame. Error: -2147483638

- Resolve: 

downgrade your opencv-python with:

(base) C:\Users\webiot>pip uninstall opencv-python

(base) C:\Users\webiot>pip install opencv-python==3.4.17.63

(base) C:\Users\webiot>pip install opencv-contrib-python==3.4.17.63

_____


ANATHOR PROBLEM IN PYTHON

- Problem:

ModuleNotFoundError: No module named 'mysql.connector'; 'mysql' is not a package

- Resolve: 

if you have install the mysql connector by: pip install mysql-connector-python

You make sure or rename your py file not as mysql.py

_____

- Problem:

Redirect has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header

- Resolve: 

Add this extension on chrome browser:

Allow CORS: Access-Control-Allow-Origin

_____

- Problem:

python flask not reading image from ajax POST request form

- Resolve: 

make sure that params use encodeURIComponent(uri):

ex:

client side

var tes = canvas.toDataURL("image/jpeg");

params = "baseku="+encodeURIComponent(tes);

xmlhttp.send(params);

server side

@app.route('/img', methods=['POST'])

def img():

    if 'baseku' in request.form:

        photo_base64 = request.form['baseku']

        return jsonify(response=photo_base64)

_____



Saturday, May 28, 2022

WEBIOT ID Learn and Start CodeIgniter 4

 Tutorial instalasi Codeigniter 4 dari awal sampai akhir publish


Based on Bahasa PHP


System Requirement (all in XAMPP):

- PHP 7.3 or higher

- intl & mbstring (extentions) / (activated it by uncomment in php.ini file)

- libcurl

- MySQL 5.1 or higher


Tahap awal instalasi:

- XAMPP

- Code Editor (Visual Studio Code, Sublime Text, Notepad++, etc...)

- Composer

- Git Bash

Jika semua sudah terinstalasi dengan baik, maka lakukan pengetesan seperti gambar di atas.


For Visual Studio Code install-> (PHP Intelephense, Prettier, Snippet)


Instalasi Codeigniter melalui download manual atau composer sesuai petunjuk user guide di situsnya.

Cara menjalankan awal bisa menggunakan Git Bash (dalam folder htdocs), lalu mengetik "php spark serve" (http://localhost:8080) atau langsung menggunakan localhost XAMPP merujuk ke folder public.

- Konsep folder dan setting semua file bisa custom dengan file ".env"

- Read Docs CodeIgniter

- Setting Routes dan Controller

- Setting Views (additional theme with bootstrap)

- 




Monday, April 27, 2020

Cara membuat koneksi SQLite3 dengan PHP dan contohnya

Anda pasti pernh menemukan satu file dengan berekstensi .db belakangan ini, itu adalah database SQLite. SQLite3 merupakan salah satu dari banyaknya database (DBMS) yang paling mudah digunakan karena berbasis file. Bentuk Query-nya pun masih sama dengan sintaks SQL dan bersifat relasional. Tidak hanya di Android, SQLite3 pun dapat digunakan oleh PHP.

Sebelum menggunakan SQLite, jika menggunakan localhost, maka tentunya harus ada konfigurasi Apache dalam XAMPP, antara lain:

Ubah dan uncomment atau hilangkan tanda komentar pada file php.ini dalam folder php/php.ini:


...
extension=php_pdo_sqlite.dll
...
extension=php_sqlite3.dll
...
[sqlite3]
sqlite3.extension_dir =
...


Setelah itu restart Apache dengan cara Stop dan Start kembali. Jika hal ini tidak digunakan, maka saat load class SQLite akan terdapat tampilan berikut:

Fatal error: Class 'SQLite3' not found in F:\xampp\htdocs\sqlite\open-sqlite3.php on line 3

Berikut adalah cara membuat dan mengakses sebuah database SQLite3 di PHP:


<?php
$db = new SQLite3('local.db');

if(!$db) {
  echo $db->lastErrorMsg();
} else {
  echo "Open database success...\n";
}

echo realpath("local.db");

echo "<br/><br/>";

// CARA 1
 $q = $db->query('SELECT *, COUNT(*) as count FROM face_info');

 while ($r = $q->fetchArray()) {
     //var_dump($r);
     $baris_kedua[] = $r;
 }
 // Gunakan count untuk mengetahui num_rows atau jumlah baris
 echo '<br/><br/>Jumlah baris tabel face_info adalah '.$q->fetchArray()[7].' atau '.$baris_kedua[0]['count'].'<br/>';


// CARA 2
$sql =<<<EOF
 SELECT * FROM face_info;
EOF;

 $query = $db->query($sql);
 if(!$query){
   echo $db->lastErrorMsg();
 } else {
     while ($row = $query->fetchArray()) {
         //print_r($row);
         $line_row[] = $row;
     }
 }
 // Menampilkan satu data ID
 echo '<br/><br/>Selanjutnya CARA 2, ID kedua adalah '.$line_row[1]['dwFaceId'].'<br/>';


// CARA 3, hanya mengambil satu baris data (single)
$sql1 =<<<EOF
      SELECT * FROM face_info WHERE dwFaceId="1";
EOF;

 $query1 = $db->querySingle($sql1, true);
 if(!$query1){
   echo $db->lastErrorMsg();  // Jaga-jaga kalau tidak ada data
 } else {
     //print_r($query1);
  // Menampilkan satu data ID
  echo '<br/><br/>Selanjutnya CARA 3, ID pertama adalah '.$query1['dwFaceId'].'<br/>';
 }

// Contoh mengambil gambar tipe blob dari data CARA 1
echo '<br/>CARA 1<br/><img src="data:image/png;base64,' . base64_encode( $baris_kedua[0]['FaceMB'] ) . '" width="100"/>';
// Contoh mengambil gambar tipe blob dari data CARA 3
echo '<br/>CARA 3<br/><img src="data:image/png;base64,' . base64_encode( $query1['FaceMB'] ) . '" width="100"/><br/>';

// Contoh simpan gambar ke dalam folder
echo "<br/><br/>Contoh simpan gambar ke dalam folder<br/>";
    $path = "./images/";
    // option 1
 $file = fopen($path.$baris_kedua[0][1].".jpeg","w") or die("Unable to open file!");
 echo "File name: ".$path.$baris_kedua[0][1].".jpeg";
 fwrite($file, base64_decode($baris_kedua[0]['FaceMB']));
 fclose($file);

 // option 2 (sederhana)
 // file_put_contents($path."/".$name, base64_decode($image));

?>


Jika menggunakan XAMPP, maka pastikan file .db masih dalam satu folder yang sama di htdocs. Apabila dijalankan pada browser dengan akses localhost, maka terlihat keterangan berikut:

Open database success...


Maka silahkan gunakan kode SQL seperti biasa untuk mengakses file local.db secara CRUD. Jika ingin mengaksesnya layaknya phpmyadmin silahkan gunakan DB Browser for SQLite. Contact us kalau ingin contoh file local.db

Sunday, April 26, 2020

Apa yang harus dilakukan saat upload web aplikasi pada Server dengan menggunakan CodeIgniter (CI)

Dalam membuat sebuah sistem informasi dibutuhkan skill dan logika yang mumpuni. Setidaknya memahami dalam setiap masalah yang ada seperti dalam aplikasi berbasis web dengan CodeIgniter. Pernahkah anda memiliki hasil tampilan seperti ini:




A PHP Error was encountered

Severity: Warning
Message: is_dir(): open_basedir restriction in effect. File(/opt/alt/php72/var/lib/php/session) is not within the allowed path(s): (/home/webiotid/:/tmp:/var/tmp:/opt/alt/php71/usr/share/pear/:/dev/urandom:/usr/local/lib/php/:/usr/local/php71/lib/php/)
Filename: drivers/Session_files_driver.php
Line Number: 134
Backtrace:
File: /home/webiotid/domains/webiot.id/public_html/link/application/controllers/Main.php
Line: 8
Function: __construct
File: /home/webiotid/domains/webiot.id/public_html/link/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning
Message: mkdir(): open_basedir restriction in effect. File(/opt/alt/php72/var/lib/php/session) is not within the allowed path(s): (/home/webiotid/:/tmp:/var/tmp:/opt/alt/php71/usr/share/pear/:/dev/urandom:/usr/local/lib/php/:/usr/local/php71/lib/php/)
Filename: drivers/Session_files_driver.php
Line Number: 136
Backtrace:
File: /home/webiotid/domains/webiot.id/public_html/link/application/controllers/Main.php
Line: 8
Function: __construct
File: /home/webiotid/domains/webiot.id/public_html/link/index.php
Line: 315
Function: require_once

An uncaught Exception was encountered

Type: Exception
Message: Session: Configured save path '/opt/alt/php72/var/lib/php/session' is not a directory, doesn't exist or cannot be created.
Filename: /home/webiotid/domains/webiot.id/public_html/link/system/libraries/Session/drivers/Session_files_driver.php
Line Number: 138
Backtrace:
File: /home/webiotid/domains/webiot.id/public_html/link/application/controllers/Main.php
Line: 8
Function: __construct
File: /home/webiotid/domains/webiot.id/public_html/link/index.php
Line: 315
Function: require_once

Lalu bagaimana cara mengatasi masalah ini,

Bagaimana cara untuk membedakan CodeIgneter atau CI di locahost dan server atau hosting,

Jika ada masalah seperi di atas, maka lakukan perubahan Config pada Folder Application/config/config.php.
Jika menggunakan localhost, maka cari dan gunakan kode berikut:



$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
//$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;


Jika menggunakan server atau hosting, maka cari dan gunakan kode berikut:



$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
//$config['sess_save_path'] = NULL;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;




Masih banyak masalah lainnya. Seperti

A PHP Error was encountered

Severity: Runtime Notice
Message: Only variables should be passed by reference
Filename: controllers/Main.php
Line Number: 58
Backtrace:
File: F:\xampp\htdocs\yourApp\application\controllers\Main.php
Line: 58
Function: _error_handler
File: F:\xampp\htdocs\yourApp\index.php
Line: 315
Function: require_once

Fatal error: Maximum execution time of 30 seconds exceeded in F:\xampp\htdocs\yourApp\system\database\drivers\mysqli\mysqli_driver.php on line 305

A PHP Error was encountered

Severity: Error
Message: Maximum execution time of 30 seconds exceeded
Filename: mysqli/mysqli_driver.php
Line Number: 305
Backtrace:


Pemecahan masalahnya adalah sebagai berikut:



<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Main extends CI_Controller
{
 function __construct()
 {
     parent::__construct();
     setlocale(LC_TIME, "");
.................................................
         ini_set('max_execution_time', 0); 
         ini_set('memory_limit','2048M');
 }



Kode ini ditambahkan pada Controller yang ingin diberikan tambahan waktu upload file
         ini_set('max_execution_time', 0);
        ini_set('memory_limit','2048M');


Kesalahan lain:


Warning: Declaration of ActiveRecord\DateTime::setTime($hour, $minute, $second = NULL) should be compatible with DateTime::setTime($hour, $minute, $second = NULL, $microseconds = NULL) in F:\xampp7\htdocs\project\vendor\php-activerecord\php-activerecord\lib\DateTime.php on line 139

Pemecahan masalah:
ganti file dengan https://github.com/jpfuentes2/php-activerecord/blob/master/lib/DateTime.php
hilangkan  implements DateTimeInterface pada baris 36 yaitu:
class DateTime extends \DateTime

Warning: Class 'Former\Facades\Former' not found in F:\xampp7\htdocs\project\application\config\config.php on line 85

A PHP Error was encountered

Severity: 8192
Message: implode(): Passing glue string after array is deprecated. Swap the parameters
Filename: php-activerecord/ActiveRecord.php
Line Number: 41
Backtrace:
File: F:\xampp7\htdocs\project\vendor\php-activerecord\php-activerecord\ActiveRecord.php
Line: 41
Function: implode
File: F:\xampp7\htdocs\project\application\config\config.php
Line: 85
Function: class_alias
File: F:\xampp7\htdocs\project\index.php
Line: 283
Function: require_once

A PHP Error was encountered

Severity: 8192
Message: implode(): Passing glue string after array is deprecated. Swap the parameters
Filename: php-activerecord/ActiveRecord.php
Line Number: 41
Backtrace:
File: F:\xampp7\htdocs\project\vendor\php-activerecord\php-activerecord\ActiveRecord.php
Line: 41
Function: implode
File: F:\xampp7\htdocs\project\vendor\anahkiasen\former\src\Former\Facades\Former.php
Line: 10
Function: spl_autoload_call
File: F:\xampp7\htdocs\project\vendor\composer\ClassLoader.php
Line: 378
Function: include
File: F:\xampp7\htdocs\project\vendor\composer\ClassLoader.php
Line: 270
Function: Composer\Autoload\includeFile
File: F:\xampp7\htdocs\project\application\config\config.php
Line: 85
Function: class_alias
File: F:\xampp7\htdocs\project\index.php
Line: 283
Function: require_once

A PHP Error was encountered

Severity: 8192
Message: implode(): Passing glue string after array is deprecated. Swap the parameters
Filename: php-activerecord/ActiveRecord.php
Line Number: 41
Backtrace:
File: F:\xampp7\htdocs\project\vendor\php-activerecord\php-activerecord\ActiveRecord.php
Line: 41
Function: implode
File: F:\xampp7\htdocs\project\application\core\MY_Loader.php
Line: 56
Function: spl_autoload_call
File: F:\xampp7\htdocs\project\index.php
Line: 283
Function: require_once

A PHP Error was encountered

Severity: Warning
Message: Use of undefined constant MCRYPT_RIJNDAEL_192 - assumed 'MCRYPT_RIJNDAEL_192' (this will throw an Error in a future version of PHP)
Filename: core/MY_Loader.php
Line Number: 56
Backtrace:
File: F:\xampp7\htdocs\project\application\core\MY_Loader.php
Line: 56
Function: _exception_handler
File: F:\xampp7\htdocs\project\index.php
Line: 283
Function: require_once

A PHP Error was encountered

Severity: Warning
Message: Use of undefined constant MCRYPT_MODE_CFB - assumed 'MCRYPT_MODE_CFB' (this will throw an Error in a future version of PHP)
Filename: core/MY_Loader.php
Line Number: 56
Backtrace:
File: F:\xampp7\htdocs\project\application\core\MY_Loader.php
Line: 56
Function: _exception_handler
File: F:\xampp7\htdocs\project\index.php
Line: 283
Function: require_once

Fatal error: Uncaught Error: Call to undefined function PHPEncryptData\mcrypt_get_key_size() in F:\xampp7\htdocs\project\vendor\archwisp\php-encrypt-data\Simple.php:111 Stack trace: #0 F:\xampp7\htdocs\project\vendor\archwisp\php-encrypt-data\Simple.php(33): PHPEncryptData\Simple->_getKeySize() #1 F:\xampp7\htdocs\project\application\core\MY_Loader.php(58): PHPEncryptData\Simple->__construct('wpOxcuvJLA4Z4aX...', 'YeYcxVpY/ug6zwY...') #2 F:\xampp7\htdocs\project\system\core\Common.php(186): MY_Loader->__construct() #3 F:\xampp7\htdocs\project\system\core\Controller.php(67): load_class('Loader', 'core') #4 F:\xampp7\htdocs\project\system\core\CodeIgniter.php(357): CI_Controller->__construct() #5 F:\xampp7\htdocs\project\index.php(283): require_once('F:\\xampp7\\htdoc...') #6 {main} thrown in F:\xampp7\htdocs\project\vendor\archwisp\php-encrypt-data\Simple.php on line 111

A PHP Error was encountered

Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at F:\xampp7\htdocs\project\system\core\Exceptions.php:211)
Filename: core/Common.php
Line Number: 551
Backtrace:

A PHP Error was encountered

Severity: Error
Message: Uncaught Error: Call to undefined function PHPEncryptData\mcrypt_get_key_size() in F:\xampp7\htdocs\project\vendor\archwisp\php-encrypt-data\Simple.php:111 Stack trace: #0 F:\xampp7\htdocs\project\vendor\archwisp\php-encrypt-data\Simple.php(33): PHPEncryptData\Simple->_getKeySize() #1 F:\xampp7\htdocs\project\application\core\MY_Loader.php(58): PHPEncryptData\Simple->__construct('wpOxcuvJLA4Z4aX...', 'YeYcxVpY/ug6zwY...') #2 F:\xampp7\htdocs\project\system\core\Common.php(186): MY_Loader->__construct() #3 F:\xampp7\htdocs\project\system\core\Controller.php(67): load_class('Loader', 'core') #4 F:\xampp7\htdocs\project\system\core\CodeIgniter.php(357): CI_Controller->__construct() #5 F:\xampp7\htdocs\project\index.php(283): require_once('F:\\xampp7\\htdoc...') #6 {main} thrown
Filename: php-encrypt-data/Simple.php
Line Number: 111
Backtrace:



set_userdata codeigniter not working
Codeigniter $this->session->set_userdata() not working

In CodeIgniter 3.x if you just upgraded to PHP version 7.x, go to system/libraries/Session/session.php at line 281 and replace or give comment for this line "//":

ini_set('session.name', $params['cookie_name']); 

change it with:

ini_set('session.id', $params['cookie_name']);



how to enable error log in codeigniter
/application/config/config.php

$config['log_threshold'] = 1



Monday, March 3, 2014

Download BBM untuk Gingerbread Samsung Galaxy Young

Postingan singkat pada malam hari ini. Saya hanya ingin membagikan link download untuk aplikasi BBM atau Blackberry Messenger untuk OS Android yang masih Gingerbread. Tentunya saya sudah tidak perlu lagi menjelaskan apa itu aplikasi BBM, ataupun kenapa disini saya hanya membagikan link BBM untuk Gingerbread saja. Saya rasa kalian semua pasti sudah tau sebelum kalian nyasar ke artikel ini.

Untuk mendownload BBM untuk Gingerbread Samsung Galaxy Young, silahkan klik link dibawah ini :


Cara installnya tinggal kalian pindahkan file .apk yang sudah didownload ke sdcard Android kalian. Setelah itu tinggal kalian klik saja filenya, lalu pilih Install. 




Semoga bermanfaat :)

Download BBM untuk Gingerbread Samsung Galaxy Young

Postingan singkat pada malam hari ini. Saya hanya ingin membagikan link download untuk aplikasi BBM atau Blackberry Messenger untuk OS Android yang masih Gingerbread. Tentunya saya sudah tidak perlu lagi menjelaskan apa itu aplikasi BBM, ataupun kenapa disini saya hanya membagikan link BBM untuk Gingerbread saja. Saya rasa kalian semua pasti sudah tau sebelum kalian nyasar ke artikel ini.

Untuk mendownload BBM untuk Gingerbread Samsung Galaxy Young, silahkan klik link dibawah ini :


Cara installnya tinggal kalian pindahkan file .apk yang sudah didownload ke sdcard Android kalian. Setelah itu tinggal kalian klik saja filenya, lalu pilih Install. 




Semoga bermanfaat :)

Monday, September 30, 2013

Websharing, Transfer File Dari Device Android Ke PC Semakin Mudah


Seringkali kita merasa malas ataupun lupa untuk membawa kabel data USB ketika kita sedang bepergian, padahal ada saat dimana kita membutuhkan kabel data untuk transfer file dari device Android kita ke PC. Tenang, karena aplikasi bernama Websharing, yang dapat berfungsi sebagai sarana untuk transfer file secara nirkabel, yang kita butuhkan adalah jaringan WiFi, PC/Laptop yang terhubung di jaringan tersebut, dan tentu saja aplikasi Websharing yang telah kita install pada device Android kita.

Kita akan sedikit membahas apa itu Websharing, Websharing adalah aplikasi buatan Tod Lieback. Websharing yang saat penulis menulis artikel ini sudah berada pada versi 2.0.0.b9 Beta. Websharing terdiri dari 2 versi utama, yaitu versi bayar dan versi Lite alias gratis. Pada versi berbayar mempunyai fitur untuk Music Player, Video Player, dan lain-lain. Untuk versi Lite, hanya akan mendapat File Explorernya saja.

Untuk mendapatkan Websharing versi Beta (terbaru) harus melalui beberapa step, karena sesuai regulasi google untuk aplikasi yang memiliki versi beta, diperkenankan untuk menjadikan user sebagai Beta Tester. Untuk mendapatkan versi non-beta, bisa langsung diunduh disini.

Step By Step untuk mendapatkan versi paling update (Beta) :
  1. Join Komunitas Websharing Beta Testing-nya disini
  2. Masuk ke halaman aplikasi beta tester di google playsore. Lite & Paid Version
  3. Setelah selesai, silahkan download aplikasinya, maka yang terinstall adalah yang versi Beta.
  4. Jika tidak ingin dipusingkan dengan step-step diatas, dapat langsung download file .apk nya disini

Untuk memakai Websharing :
  1. Koneksikan PC/Laptop dan device Android kamu ke jaringan internet / WiFi yang sama
  2. Hidupkan aplikasi Websharing di device Android kamu
  3. Akan ada perintah untuk masuk ke alamat tertentu dan menuliskan passworddi browser PC/Laptop (contoh: http://192.168.1.136:2112/ Password: d4j68)
  4. Tulis Alamat yang muncul di aplikasi Websharing di browser PC/Laptop dan tuliskan Password-nya
  5. Aplikasi siap digunakan.


 Selamat Mencoba.

Websharing, Transfer File Dari Device Android Ke PC Semakin Mudah


Seringkali kita merasa malas ataupun lupa untuk membawa kabel data USB ketika kita sedang bepergian, padahal ada saat dimana kita membutuhkan kabel data untuk transfer file dari device Android kita ke PC. Tenang, karena aplikasi bernama Websharing, yang dapat berfungsi sebagai sarana untuk transfer file secara nirkabel, yang kita butuhkan adalah jaringan WiFi, PC/Laptop yang terhubung di jaringan tersebut, dan tentu saja aplikasi Websharing yang telah kita install pada device Android kita.

Kita akan sedikit membahas apa itu Websharing, Websharing adalah aplikasi buatan Tod Lieback. Websharing yang saat penulis menulis artikel ini sudah berada pada versi 2.0.0.b9 Beta. Websharing terdiri dari 2 versi utama, yaitu versi bayar dan versi Lite alias gratis. Pada versi berbayar mempunyai fitur untuk Music Player, Video Player, dan lain-lain. Untuk versi Lite, hanya akan mendapat File Explorernya saja.

Untuk mendapatkan Websharing versi Beta (terbaru) harus melalui beberapa step, karena sesuai regulasi google untuk aplikasi yang memiliki versi beta, diperkenankan untuk menjadikan user sebagai Beta Tester. Untuk mendapatkan versi non-beta, bisa langsung diunduh disini.

Step By Step untuk mendapatkan versi paling update (Beta) :
  1. Join Komunitas Websharing Beta Testing-nya disini
  2. Masuk ke halaman aplikasi beta tester di google playsore. Lite & Paid Version
  3. Setelah selesai, silahkan download aplikasinya, maka yang terinstall adalah yang versi Beta.
  4. Jika tidak ingin dipusingkan dengan step-step diatas, dapat langsung download file .apk nya disini

Untuk memakai Websharing :
  1. Koneksikan PC/Laptop dan device Android kamu ke jaringan internet / WiFi yang sama
  2. Hidupkan aplikasi Websharing di device Android kamu
  3. Akan ada perintah untuk masuk ke alamat tertentu dan menuliskan passworddi browser PC/Laptop (contoh: http://192.168.1.136:2112/ Password: d4j68)
  4. Tulis Alamat yang muncul di aplikasi Websharing di browser PC/Laptop dan tuliskan Password-nya
  5. Aplikasi siap digunakan.


 Selamat Mencoba.

Tuesday, September 24, 2013

Tutorial : Memperkecil Ukuran PDF Dengan Ghostscript




PDF, atau Portable Document Format pada saat ini memang menjadi primadona dalam urusan bentuk dokumen, karena selain ringkas dan dapat memuat teks, gambar dan semacamnya, juga mempunyai kemungkinan untuk diberi password. Seringkali ketika kita hendak mengirim dokumen dalam format PDF (mengirim email / lamaran kerja contohnya) pihak penerima membatasi ukuran dokumen yang dapat kita kirim. Hal ini sering membuat frustrasi banyak orang, karena untuk me-resize PDF seringkali harus me-resize dokumen asli / awal nya terlebih dahulu, baru kemudian di konversi ke format PDF, hal ini memakan banyak waktu dan trial-error untuk menyesuaikan ukuran. oleh karena itu kali ini saya akan memberikan tips bagaimana memperkecil ukuran PDF dengan Ghostscript.

Ghostscript merupakan software (dalam hal ini serangkaian perintah, dalam bentuk script) yang merupakan halaman bahasa untuk pendeskripsian PDF. Ya, kegunaannya adalah untuk mendeskripsikan PDF tersebut, yang mempunyai fungsi untuk me-render PDF untuk tampilan visual maupun saat di cetak.

Dalam tutorial ini kita akan memakai script yang sudah dibuat oleh Alfred Klomp, dengan beberapa modifikasi dan variabel tambahan.

Step by Step :
Copy-Pastekan teks dibawah ini kedalam new text document, lalu rename menjadi shrinkpdf.sh (sebenarnya nama apapun tidak masalah)

#!/bin/sh

gs -q -dNOPAUSE -dBATCH -dSAFER \
-sDEVICE=pdfwrite \
-dCompatibilityLevel=1.3 \
-dPDFSETTINGS=/screen \
-dEmbedAllFonts=true \
-dSubsetFonts=true \
-dColorImageDownsampleType=/Bicubic \
-dColorImageResolution=72 \
-dGrayImageDownsampleType=/Bicubic \
-dGrayImageResolution=72 \
-dMonoImageDownsampleType=/Bicubic \
-dMonoImageResolution=72 \
-sOutputFile=out.pdf \
$1


untuk cara memakainya adalah tinggal running di terminal, gunakan perintah :

sh shrinkpdf.sh filepdfmu.pdf

Tunggu sejenak, komputer kamu akan memproses file PDF dan hasilnya dalam folder yang sama dengan file PDF yang kamu resize akan terdapat file out.pdf . Cek hasil dan ukurannya apakah sesuai dengan yang dikehendaki, apabila belum, kamu perlu mengubah beberapa variabel nya.

Variabel yang dapat diubah:

-dCompatibilityLevel=1.3 \ 
ini untuk mengubah kompatibilitas dari versi PDF nya

-dPDFSETTINGS=/screen \
ini untuk menentukan ukuran dpi level. Pilihannya adalah :
-dPDFSETTINGS=/screen   (screen-view-only quality, 72 dpi)
-dPDFSETTINGS=/ebook    (low quality, 150 dpi)
-dPDFSETTINGS=/printer (high quality, 300 dpi)
-dPDFSETTINGS=/prepress (high quality, color, 300 dpi)
-dPDFSETTINGS=/default (hampir identik dengan /screen)

-dColorImageDownsampleType=/Bicubic \
-dColorImageResolution=72 \
-dGrayImageDownsampleType=/Bicubic \
-dGrayImageResolution=72 \
-dMonoImageDownsampleType=/Bicubic \
-dMonoImageResolution=72 \
untuk keterangan diatas adalah untuk metode resampling / rendering / interpolasi yang digunakan dan resolusi output file nya.
Untuk pilihan interpolasi ada Bicubic, Bilinear, Tricubic dan lain-lain.
Untuk ukuran resolusi, mdapat diperkecil angkanya untuk memperoleh hasil yang lebih kecil.
Pilihan opsi / variabel lain yang dapat ditambahkan atau di edit adalah :

-sPAPERSIZE=letter
untuk menentukan ukuran kertas, hampir sama fungsinya dengan opsi resolution. letter, A4, A5, dll.

-dDEVICEWIDTHPOINTS=w -dDEVICEHEIGHTPOINTS=h (point=1/72 inch)
menentukan titik lebar dan panjang
 
-dEmbedAllFonts=true
untuk menentukan pilihan apakah semua font akan di embed atau tidak.true atau false.

-dSubsetFonts=false
pilihan untuk memberikan subset pada Font yang dipakai. true atau false
 
-dFirstPage=pagenumber
-dLastPage=pagenumber
untuk memberi nomor halaman.

-dAutoRotatePages=/PageByPage
-dAutoRotatePages=/All
-dAutoRotatePages=/None
untuk merotasi halaman

-sPDFPassword=password 
untuk memberi password pada file output PDF nya.

Selamat mencoba. 











Tutorial : Memperkecil Ukuran PDF Dengan Ghostscript




PDF, atau Portable Document Format pada saat ini memang menjadi primadona dalam urusan bentuk dokumen, karena selain ringkas dan dapat memuat teks, gambar dan semacamnya, juga mempunyai kemungkinan untuk diberi password. Seringkali ketika kita hendak mengirim dokumen dalam format PDF (mengirim email / lamaran kerja contohnya) pihak penerima membatasi ukuran dokumen yang dapat kita kirim. Hal ini sering membuat frustrasi banyak orang, karena untuk me-resize PDF seringkali harus me-resize dokumen asli / awal nya terlebih dahulu, baru kemudian di konversi ke format PDF, hal ini memakan banyak waktu dan trial-error untuk menyesuaikan ukuran. oleh karena itu kali ini saya akan memberikan tips bagaimana memperkecil ukuran PDF dengan Ghostscript.

Ghostscript merupakan software (dalam hal ini serangkaian perintah, dalam bentuk script) yang merupakan halaman bahasa untuk pendeskripsian PDF. Ya, kegunaannya adalah untuk mendeskripsikan PDF tersebut, yang mempunyai fungsi untuk me-render PDF untuk tampilan visual maupun saat di cetak.

Dalam tutorial ini kita akan memakai script yang sudah dibuat oleh Alfred Klomp, dengan beberapa modifikasi dan variabel tambahan.

Step by Step :
Copy-Pastekan teks dibawah ini kedalam new text document, lalu rename menjadi shrinkpdf.sh (sebenarnya nama apapun tidak masalah)

#!/bin/sh

gs -q -dNOPAUSE -dBATCH -dSAFER \
-sDEVICE=pdfwrite \
-dCompatibilityLevel=1.3 \
-dPDFSETTINGS=/screen \
-dEmbedAllFonts=true \
-dSubsetFonts=true \
-dColorImageDownsampleType=/Bicubic \
-dColorImageResolution=72 \
-dGrayImageDownsampleType=/Bicubic \
-dGrayImageResolution=72 \
-dMonoImageDownsampleType=/Bicubic \
-dMonoImageResolution=72 \
-sOutputFile=out.pdf \
$1


untuk cara memakainya adalah tinggal running di terminal, gunakan perintah :

sh shrinkpdf.sh filepdfmu.pdf

Tunggu sejenak, komputer kamu akan memproses file PDF dan hasilnya dalam folder yang sama dengan file PDF yang kamu resize akan terdapat file out.pdf . Cek hasil dan ukurannya apakah sesuai dengan yang dikehendaki, apabila belum, kamu perlu mengubah beberapa variabel nya.

Variabel yang dapat diubah:

-dCompatibilityLevel=1.3 \ 
ini untuk mengubah kompatibilitas dari versi PDF nya

-dPDFSETTINGS=/screen \
ini untuk menentukan ukuran dpi level. Pilihannya adalah :
-dPDFSETTINGS=/screen   (screen-view-only quality, 72 dpi)
-dPDFSETTINGS=/ebook    (low quality, 150 dpi)
-dPDFSETTINGS=/printer (high quality, 300 dpi)
-dPDFSETTINGS=/prepress (high quality, color, 300 dpi)
-dPDFSETTINGS=/default (hampir identik dengan /screen)

-dColorImageDownsampleType=/Bicubic \
-dColorImageResolution=72 \
-dGrayImageDownsampleType=/Bicubic \
-dGrayImageResolution=72 \
-dMonoImageDownsampleType=/Bicubic \
-dMonoImageResolution=72 \
untuk keterangan diatas adalah untuk metode resampling / rendering / interpolasi yang digunakan dan resolusi output file nya.
Untuk pilihan interpolasi ada Bicubic, Bilinear, Tricubic dan lain-lain.
Untuk ukuran resolusi, mdapat diperkecil angkanya untuk memperoleh hasil yang lebih kecil.
Pilihan opsi / variabel lain yang dapat ditambahkan atau di edit adalah :

-sPAPERSIZE=letter
untuk menentukan ukuran kertas, hampir sama fungsinya dengan opsi resolution. letter, A4, A5, dll.

-dDEVICEWIDTHPOINTS=w -dDEVICEHEIGHTPOINTS=h (point=1/72 inch)
menentukan titik lebar dan panjang
 
-dEmbedAllFonts=true
untuk menentukan pilihan apakah semua font akan di embed atau tidak.true atau false.

-dSubsetFonts=false
pilihan untuk memberikan subset pada Font yang dipakai. true atau false
 
-dFirstPage=pagenumber
-dLastPage=pagenumber
untuk memberi nomor halaman.

-dAutoRotatePages=/PageByPage
-dAutoRotatePages=/All
-dAutoRotatePages=/None
untuk merotasi halaman

-sPDFPassword=password 
untuk memberi password pada file output PDF nya.

Selamat mencoba. 











Temukan Device Yang Hilang Dengan Android Device Manager

Ya benar, kini google memberikan layanan untuk menemukan smartphone ataupun device android kamu yang hilang. Meskipun ini bukan hal yang baru untuk tracking dan menemukan smartphone / device android yang hilang. Seperti yang pernah kita bahas tentang AndroidLost, yang mempunyai fitur yang sedemikian banyaknya. Layanan yang dilakukan oleh google ini lebih simpel dalam hal fitur, namun tetap efektif. Cukup dengan login ke akun google yang dipakai di device android mu dengan menggunakan browser dan menuju ke alamat Android Device Manager , kamu sudah dapat langsung menggunakan fitur yang ada.

Fitur-Fitur dalam Android Device Manager :
1.Map
Fitur ini mutlak pentingnya, karena dengan ini kita dapat mengetahui dimana letak device kita yang hilang.


2. Ring
Dengan Fitur ini kamu dapat membunyikan ringtone sebagai penanda keberadaan device mu.

3. Lock
Fungsinya adalah untuk mengunci smartphone, dengan memberi password pada device / smartphone mu yang hilang

4. Erase
Fungsinya adalah untuk menghapus / Factory Reset data yang ada dalam device / smartphone mu.

Untuk fitur Lock dan Erase memerlukan step untuk mengirim notifikasi dahulu ke device / smartphone android kamu, sebelum kedua fitur tersebut dapat difungsikan.
Jika kamu memiliki beberapa device android yang memakai akun yang sama, kamu tetap dapat menggunakan layanan ini secara simultan, karena device yang ter-registrasi akan berada dalam list. Apabila device / smartphone yang hilang data nya sedang tidak aktif atau berada diluar jangkauan Wi-Fi, maka layanan Android Device Manager akan langsung berfungsi seketika device / smartphone tersebut data nya aktif.


Akhir kata, walaupun fitur yang dimiliki tidak sebanyak AndroidLost, tetapi layanan yang diberikan oleh google ini tetap efektif karena apabila dalam keadaan yang genting, ketika device kamu hilang, kamu tidak perlu untuk menginstall aplikasi tambahan, karena semua cuma memakai akun google yang kamu miliki.
Selamat mencoba.

Temukan Device Yang Hilang Dengan Android Device Manager

Ya benar, kini google memberikan layanan untuk menemukan smartphone ataupun device android kamu yang hilang. Meskipun ini bukan hal yang baru untuk tracking dan menemukan smartphone / device android yang hilang. Seperti yang pernah kita bahas tentang AndroidLost, yang mempunyai fitur yang sedemikian banyaknya. Layanan yang dilakukan oleh google ini lebih simpel dalam hal fitur, namun tetap efektif. Cukup dengan login ke akun google yang dipakai di device android mu dengan menggunakan browser dan menuju ke alamat Android Device Manager , kamu sudah dapat langsung menggunakan fitur yang ada.

Fitur-Fitur dalam Android Device Manager :
1.Map
Fitur ini mutlak pentingnya, karena dengan ini kita dapat mengetahui dimana letak device kita yang hilang.


2. Ring
Dengan Fitur ini kamu dapat membunyikan ringtone sebagai penanda keberadaan device mu.

3. Lock
Fungsinya adalah untuk mengunci smartphone, dengan memberi password pada device / smartphone mu yang hilang

4. Erase
Fungsinya adalah untuk menghapus / Factory Reset data yang ada dalam device / smartphone mu.

Untuk fitur Lock dan Erase memerlukan step untuk mengirim notifikasi dahulu ke device / smartphone android kamu, sebelum kedua fitur tersebut dapat difungsikan.
Jika kamu memiliki beberapa device android yang memakai akun yang sama, kamu tetap dapat menggunakan layanan ini secara simultan, karena device yang ter-registrasi akan berada dalam list. Apabila device / smartphone yang hilang data nya sedang tidak aktif atau berada diluar jangkauan Wi-Fi, maka layanan Android Device Manager akan langsung berfungsi seketika device / smartphone tersebut data nya aktif.


Akhir kata, walaupun fitur yang dimiliki tidak sebanyak AndroidLost, tetapi layanan yang diberikan oleh google ini tetap efektif karena apabila dalam keadaan yang genting, ketika device kamu hilang, kamu tidak perlu untuk menginstall aplikasi tambahan, karena semua cuma memakai akun google yang kamu miliki.
Selamat mencoba.

Friday, September 6, 2013

AndroidLost, Temukan Dan Kendalikan Smartphone Android Yang Hilang

Sebelumnya, saya berterima kasih kepada mas Rizal Rahman karena telah diperkenankan untuk ikut menjadi penulis di Linuxku.com . Untuk memulai tulisan pertama saya, saya akan membahas tentang hal-hal yang ringan dahulu :D .



Sesuai judul, kali ini saya akan membahas mengenai AndroidLost . AndroidLost adalah suatu aplikasi yang berfungsi untuk melacak dan mengendalikan smartphone Android anda ketika hilang. Tidak seperti aplikasi yang lain, yang hanya dapat dipergunakan apabila aplikasi tersebut sudah terinstall terlebih dahulu sebelum hilang, AndroidLost dapat di install ketika smartphone anda telah hilang, menarik bukan? tentu saja ada beberapa syarat yang harus ada untuk menginstallnya.

Berikut adalah dua cara untuk menginstall AndridLost:

A. Cara Pertama (Diinstall SEBELUM smartphone anda hilang)
  • Download dan Install AndroidLost di Smartphone Android anda.
  • Setelah terinstall, akan muncul aplikasi baru, dengan nama Personal Note di Application Drawer/Homescreen anda. Jangan khawatir, ini adalah aplikasi AndroidLost yang anda install, memang namanya menjadi Personal Note.
  • Klik aplikasi tersebut untuk me-register, akan ada notifikasi kalau anda sudah ter-register.
  • Untuk mengetes apakah aplikasi tersebut berjalan dengan baik, kita perlu sign in ke website AndroidLost
  • Setelah sign in, klik kolom Controls untuk mencoba fitur-fitur dari AndroidLost.


B. Cara Kedua (Smartphone anda hilang sebelum anda sempat menginstall AndroidLost)
  • Paket data pada smartphone anda harus  dalam keadaan hidup
  • Install AndroidLost Jumpstart dari browser di PC anda (jangan lupa untuk menyesuaikan akun gmail anda dengan akun yang sama yang dipergunakan di Smartphone Android anda. Android Jumpstart berguna untuk memforce register ketika anda meginstall AndroidLost
  • Setelah beberapa saat, install AndroidLost, tunggu sejenak :D
  • Sign In ke website AndroidLost. jika berhasil, maka anda akan mendapat pesan "Congratulations..." 
  • Setelah AndroidLost terinstall, anda dapat memulai untuk mencari Smartphone Android anda yang hilang. 
VIDEO



 SUMBER: Pengalaman pribadi :)

AndroidLost, Temukan Dan Kendalikan Smartphone Android Yang Hilang

Sebelumnya, saya berterima kasih kepada mas Rizal Rahman karena telah diperkenankan untuk ikut menjadi penulis di Linuxku.com . Untuk memulai tulisan pertama saya, saya akan membahas tentang hal-hal yang ringan dahulu :D .



Sesuai judul, kali ini saya akan membahas mengenai AndroidLost . AndroidLost adalah suatu aplikasi yang berfungsi untuk melacak dan mengendalikan smartphone Android anda ketika hilang. Tidak seperti aplikasi yang lain, yang hanya dapat dipergunakan apabila aplikasi tersebut sudah terinstall terlebih dahulu sebelum hilang, AndroidLost dapat di install ketika smartphone anda telah hilang, menarik bukan? tentu saja ada beberapa syarat yang harus ada untuk menginstallnya.

Berikut adalah dua cara untuk menginstall AndridLost:

A. Cara Pertama (Diinstall SEBELUM smartphone anda hilang)
  • Download dan Install AndroidLost di Smartphone Android anda.
  • Setelah terinstall, akan muncul aplikasi baru, dengan nama Personal Note di Application Drawer/Homescreen anda. Jangan khawatir, ini adalah aplikasi AndroidLost yang anda install, memang namanya menjadi Personal Note.
  • Klik aplikasi tersebut untuk me-register, akan ada notifikasi kalau anda sudah ter-register.
  • Untuk mengetes apakah aplikasi tersebut berjalan dengan baik, kita perlu sign in ke website AndroidLost
  • Setelah sign in, klik kolom Controls untuk mencoba fitur-fitur dari AndroidLost.


B. Cara Kedua (Smartphone anda hilang sebelum anda sempat menginstall AndroidLost)
  • Paket data pada smartphone anda harus  dalam keadaan hidup
  • Install AndroidLost Jumpstart dari browser di PC anda (jangan lupa untuk menyesuaikan akun gmail anda dengan akun yang sama yang dipergunakan di Smartphone Android anda. Android Jumpstart berguna untuk memforce register ketika anda meginstall AndroidLost
  • Setelah beberapa saat, install AndroidLost, tunggu sejenak :D
  • Sign In ke website AndroidLost. jika berhasil, maka anda akan mendapat pesan "Congratulations..." 
  • Setelah AndroidLost terinstall, anda dapat memulai untuk mencari Smartphone Android anda yang hilang. 
VIDEO



 SUMBER: Pengalaman pribadi :)