Membuat Fungsi Auto Increment Bertipe String dengan PHP

Biasanya jika ingin kode unik/identitas yang digunakan sebagai primary key pada database akan bertambah secara otomatis ketika ada data baru, caranya dengan memberikan parameter auto increment pada kolom sebuah tabel. Namun, itu hanya berlaku ketika kolom bertipe integer. Jika kode unik tersebut bertipe String/Varchar kita harus membuat sebuah fungsi pada php untuk meng-generate kode terakhir agar bertambah. Di bawah ini adalah fungsi sederhana untuk menggantikan fungsi auto increment pada kolom bertipe String/Varchar.

Fungsi PHP yang digunakan

Kemampuan

  • membuat autonumber bertipe String

kode PHP

<?php

// fungsi ini untuk menghasilkan autonumber bertipe string
// terdapat tiga parameter yang dibutuhkan untuk menggunakan fungsi ini
// $id_terakhir adalah kode terakhir dari database ex: KNS0015
// $panjang_kode adalah panjang karakter string pada kode
//				 pada KNS0015 nilai $panjang_kode = 3
// $panjang_angka adalah panjang karakter angka pada kode
//				 pada KNS0015 nilai $panjang_angka = 4

function autonumber($id_terakhir, $panjang_kode, $panjang_angka) {

	// mengambil nilai kode ex: KNS0015 hasil KNS
	$kode = substr($id_terakhir, 0, $panjang_kode);

	// mengambil nilai angka
	// ex: KNS0015 hasilnya 0015
	$angka = substr($id_terakhir, $panjang_kode, $panjang_angka);

	// menambahkan nilai angka dengan 1
	// kemudian memberikan string 0 agar panjang string angka menjadi 4
	// ex: angka baru = 6 maka ditambahkan strig 0 tiga kali
	// sehingga menjadi 0006
	$angka_baru = str_repeat("0", $panjang_angka - strlen($angka+1)).($angka+1);

	// menggabungkan kode dengan nilang angka baru
	$id_baru = $kode.$angka_baru;

	return $id_baru;
}

// contoh penggunaan kode
echo autonumber('KNS0009', 3, 4); // hasil KNS0010
echo '<br/>';

echo autonumber('D001', 1, 3); // hasil D002

?>

Semoga bermanfaat :)

Fungsi Page Break pada HTML untuk Print Preview

page break

Pada minggu kemarin saya memiliki masalah dalam melakukan pencetakan laporan dari aplikasi website yang saya bangun, Bagaimann caranya agar data yang saya cetak bisa dibagi perhalaman, setelah berselancar di internet saya menemukan solusi penggunaan Page Break sebagai css style pada html. saya baru tahu ada properti ini pada css. berikut ini contoh kode penggunaan Page Break.

<html>
<head>
<title>CSS - Page Break</title>
<body bgcolor="#ffffff">
<center>
Halaman 1
<div style="page-break-before:always;">
Halaman 2 </div>
<div style="page-break-after:always;">
Halaman 3 </div>
Gunakan print preview untuk melihat hasilnya
</center>
</body>
</html>

page-break-before berarti page break akan diaplikasikan sebelum tag div sehingga teks Halaman 2 akan berada pada halaman yang terpisah, sedangkan page-break-after berarti Page Break akan diaplikasikan setelah tag div sehingga tulisan “Gunakan print preview untuk melihat hasilnya” berada pada halaman tersendiri.
sumber:

W3Schools

Auto Scroll Down pada Android TextView

Beberapa hari kemarin saya sedang membuat sebuah antarmuka aplikasi Android yang salah satu komponenya berfungsi sebagai log dari proses serta peringatan. Komponen yang saya gunakan adalah TextView dan ScrollView, namun ada problem yang saya temui yaitu bagaimana caranya agar teks yang ditampilkan adalah teks terakhir atau bisa dikatakan ScrollView tadi menampilkan TextView yang paling bawah. Setelah beberapa saat berselancar di Google saya menemukan solusi dari web Stack Overflow.  Berikut ini beberapa potongan tampilan Layout dan kode dari program yang saya buat

potongan kode pada berkas activity_main.xml

    <ScrollView
        android:id="@+id/log_sv"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <TextView
            android:id="@+id/log_text"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textAppearance="?android:attr/textAppearanceSmall" />
    </ScrollView>

potongan kode pada berkas MainActivity.java

		//inisialisasi komponen
		txServer = (EditText) findViewById(R.id.server);
		tvLog = (TextView) findViewById(R.id.log_text);

		// menambahkan teks ke dalam TextView tanpa menghapus teks sebelumnya
		tvLog.append("tampilkan pesan kesalahan\n");

		// otomatis melakukan scroll ke bawah
		svLog.fullScroll(View.FOCUS_DOWN);

Tampilan layar dari percobaan aplikasi saya.

auto-scroll

Menjalankan SpeedTest di Terminal Linux

Kebiasaan yang umum dilakukan ketika pertama kali mendapatkan koneksi internet adalah mengukur kecepatan koneksi internet tersebut. Cara paling mudah adalah dengan membuka web speedtest.net. Tapi, bagaimana jika kita sedang berada pada mode terminal di Linux atau sedang melakukan koneksi ke server dengan ssh? Matt Martz membuat sebuah skrip menggunakan bahasa pemrograman Python yang berfungsi melakukan pengukuran kecepatan koneksi internet seperti pada web speedtest.net. Berikut ini cara pemasangan dan penggunaan skrip speedtest-cli.

Pemasangan

Ada beberapa cara pemasangan skrip ini namun saya lebih suka mengunduh skrip ini sebagai berkas yang berdiri sendiri dan sewaktu-waktu dapat dihapus tanpa meninggalkan bekas pada direktori lain. Pada terminal jalankan perintah.

wget -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
chmod +x speedtest-cli

atau

curl -o speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
chmod +x speedtest-cli

Penggunaan
pastikan berada pada direktori tempat mengunduh berkas speedtest-cli kemudian jalankan perintah.

./speedtest-cli

maka hasilnya akan seperti ini

Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from PT Telkom Indonesia...
Selecting best server based on latency...
Hosted by Telekomunikasi Indonesia (Surabaya) [4.68 km]: 70.131 ms
Testing download speed........................................
Download: 1.03 Mbits/s
Testing upload speed..................................................
Upload: 0.26 Mbits/s

jika ingin menggunakan server lain maka jalankan perintah.

./speedtest-cli --list

Setelah menuntukan kode server tujuan lanjutkan dengan menjalankan perintah

./speedtest-cli --server NOMOR_SERVER

Referensi:

speedtest-cli

Berkas PSD Desain Nokia X

nokia-x-wireframe

berkas PSD saya buka melalui GIMP

 

Bisa dibilang sedang marak berita mengenai Nokia X, produk terbaru dari nokia yang berbasis Android AOSP. Kemarin saya sempat mencari berkas desain untuk menampilkan tangkapan layar aplikasi yang saya buat pada perangkat Nokia X. Secara kebetulan saya menemukan satu Desain Kit Nokia X dalam bentuk berkas PSD pada website deviantart. Pada berkas yang dilampirkan di website pembuatnya, tersedia tiga warna yaitu hijau, merah dan kuning. Jika tertarik, anda bisa mengunduhnya dengan mengklik gambar di bawah ini.

pratampil dari website pembuat di deviantart