One More Thing

Wednesday, October 09, 2024

Ekstraksi Nomor Referensi Dari Teks Tidak Beraturan

October 09, 2024 Posted by nurmanx , No comments

Ekstraksi nomor referensi dari suatu teks, diperlukan untuk mendapatkan nomor tertentu sehingga dapat digunakan untuk pengolahan data berikutnya, misalnya untuk dilakukan VLOOKUP ke data lain. Kendala yang sering muncul yaitu posisi nomor referensi tersebut tidak seragam pada suatu teks, sehingga kita tidak dapat menggunakan formula MID biasa.



 


 

 

 

 

 

Contoh teks yang mengandung informasi nomor referensi yaitu :

1. 982688811392 - JKL6218 ###>?+ INV.36301 @@ 88.6003
2. 982688811889 - JKL4953 ### INV.64576 @@ 88.8515

Pada contoh tersebut, posisi nomor referensi (INV) tidak seragam antara contoh nomor 1 dan nomor 2. Untuk itu, kita perlu menggunakan formula MID yang digabungkan dengan formula SEARCH.

Formula  MID

Formula MID mengembalikan jumlah karakter tertentu dari sebuah string teks, dimulai dari posisi yang Anda tentukan, berdasarkan jumlah karakter yang Anda tentukan.

Syntaks :

MID(text, start_num, num_chars)

Formula MID memiliki argumen berikut:

  • text : String teks yang memuat karakter yang ingin Anda ekstrak.
  • start_num : Posisi karakter pertama yang ingin Anda ekstrak dalam teks. Karakter pertama dalam teks memiliki start_num 1, dan seterusnya.
  • num_chars : Menentukan jumlah karakter yang ingin dikembalikan oleh MID.

Formula  SEARCH

Formula SEARCH menemukan satu string teks dalam string teks kedua, dan mengembalikan nomor posisi awal string teks pertama dari karakter pertama string teks kedua. Sebagai contoh, untuk menemukan posisi huruf "n" di kata "printer", Anda bisa menggunakan fungsi ini:

=SEARCH("n","printer")

Formula ini mengembalikan 4 karena "n" adalah karakter keempat dalam kata "printer."

Sintaks

SEARCH(find_text,within_text,[start_num])

Formula SEARCH memiliki argumen berikut:

  • find_text : Teks yang ingin Anda temukan.
  • within_text : Teks yang di dalamnya Anda ingin mencari nilai dari argumen find_text.
  • start_num : Nomor karakter dalam argumen within_text di mana Anda ingin memulai pencarian.

Contoh penggunaan formula MID yang digabungkan dengan formula SEARCH yaitu :


Contoh spreadsheet dapat dilihat di : Esktraksi Nomor Referensi Dari Teks

Semoga Bermanfaat 😀

Thursday, September 12, 2024

Membuat Daftar File Menggunakan Javascript

September 12, 2024 Posted by nurmanx No comments

Membuat daftar file yang sudah atau belum diterima terkadang sangat merepotkan karena jumlah file yang sangat banyak ataupun nama file yang sangat panjang sehingga menyulitkan untuk dilakukan pengecekan file yang sudah diterima.

Contoh daftar file yang diterima :


Untuk membuat daftar file tersebut, kita dapat menggunakan file .html sederhana yang dapat didownload di : App Membaca Daftar File.html

Langkah-langkah :

  • Buka file .html tersebut dengan browser
  • Tampilan pada browser :

  • Klik tombol "Choose Files"
  • Pilih semua file, kemudian klik Open

  • Hasilnya :


  • Olah hasil output tersebut menggunakan excel, sehingga menghasilkan laporan seperti berikut :


Semoga bermanfaat 😀

Sunday, January 29, 2017

USB Modem Refresh - Auto Connection

January 29, 2017 Posted by nurmanx , No comments
Trik berikut digunakan untuk mengatur connect atau disconnect modem secara otomatis. Hal ini kadang diperlukan untuk me-refresh modem sehingga memulihkan kecepatan transfer data yang sempat turun. Memang belum ada penjelasan teknis tentang mengapa me-refresh (men-disconnect kemudian meng-connect-kan lagi) modem bisa memulihkan kecepatan transfer data. ( Jika ada yang tau, silahkan dishare di comment :) )

Script berikut juga dapat digunakan oleh Spammer, karena dengan me-refresh modem, kita akan mendapatkan IP address baru, sehingga hal tersebut bisa digunakan untuk mengelabuhi IP address filtering yang diterapkan oleh kebanyakan website. Misalnya, prosedur filtering yang diterapkan oleh www.aweber.com yaitu: posting akan di tolak jika posting tsb berasal dari IP address yang sama lebih dari 7 kali. (mungkin hal ini juga tergantung setting yang diatur oleh client).

Trik ini dijalankan menggunakan kombinasi script VBS dan Javascript berikut

Dim cConnectionName
Dim cUsername
Dim cPassword
Dim oShell
Dim i
'modem setting
cConnectionName = "Wireless Terminal" 'connection name
cUsername = "smart"
cPassword = "smart"
 
Set oShell = WScript.CreateObject ("WScript.shell")
 
for i = 1 to 1000 'number of connection: 1000 times connect/disconnect
oShell.Exec("rasdial /DISCONNECT")
oShell.Exec("rasdial """ & cConnectionName & _
 """ " & cUsername & " " & cPassword)
WScript.Sleep(8000) 'waiting 8 seconds before next connection : it use to uploading your form to target server
oShell.Run "http://localhost/submitform.php" 'change to your own form
WScript.Sleep(20000) 'waiting 20 second before disconnect command
next

(script dimodofikasi dari VBScript: Dialer Anti Mati – Modem EVDO Smart.

File submitform.php dapat berisi form asli yang sudah dimodifikasi untuk meng-upload data ke server target.

Semoga bermanfaat dan dipergunakan dengan bijak :)

Excel : VLOOKUP/SUMPRODUCT data rentang waktu

January 29, 2017 Posted by nurmanx , No comments
Sering kita menemui data yang berbentuk rentang waktu, misalnya data kurs dari Kementerian Keuangan untuk perhitungan pajak ataupun data tarif angkutan yang memperhitungkan waktu (peak time atau normal time). Untuk mengolahnya, tidak cukup menggunakan fungsi VLOOKUP karena akan menghasilkan error #N/A, jadi harus menggunakan fungsi yang lainnya, misalnya fungsi SUMPRODUCT.

Contoh:
Untuk mengetahui berapa Kurs USD pada tanggal 19 Juli 2014, digunakan rumus sbb:

=SUMPRODUCT((I7>=$C$1:$C$283)*(I7<=$D$1:$D$283);$E$1:$E$283)


Lalu, bagaimana rumus SUMPRODUCT tersebut bekerja?

SUMPRODUCT merupakan salah satu fungsi pada Microsoft Excel yang berfungi untuk mengalikan komponen-komponen terkait dalam array yang diberikan dan mengembalikan jumlah dari setiap hasil perkalian tersebut. Untuk pengertian array sendiri adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Pada aktivitas sehari-hari fungsi SUMPRODUCT bisa digunakan untuk menjumlahkan semua pembelian, mengitung (count) pada suatu data dengan kriteria tertentu, dan lain sebagainya. 
Untuk menggunakan fungsi ini sintaksnya adalah sebagai berikut:
=SUMPRODUCT(array1, [array2], [array3], ...)
Keterangan:

  • Array1 (diperlukan) merupakan argumen array pertama yang komponen-komponennya akan dikalikan kemudian ditambahkan;
  • Array2, Array3, ... (opsional) argumen array 2 hingga ke 255 merupakan komponen-komponen yang akan dikalian kemudian ditambahkan.

Dari contoh diatas, jika kita bedah rumus satu per satu maka akan menjadi
(I2>=$C$1:$C$283)*(I2<=$D$1:$D$283) akan menghasilkan array {0;0;0;0;0;0;0;0;0;0;1;0; dst}
Kemudian array tersebut akan dikalikan dengan array (KURS) pada range $E$1:$E$283 atau dapat ditulis dengan rumus sbb:
{(0*11601)+(0*11868)+(0*12020)+(0*11955)+(0*11806)+(0*11841)+(0*11683)+(0*11513)+(0*11466)+(1*11544)+(0*11558)+ dst ))}
Karena yang match dengan kondisi hanya ada 1, maka rumus tersebut menghasilkan 1*11544 = 11544

Bagaimana jika tabel Kurs tidak hanya terdiri dari valuta USD saja?
Berati kita harus menambahkan 1 kondisi lagi pada rumus SUMPRODUCT sebelumnya menjadi :
=SUMPRODUCT((I6>=$C$2:$C$284)*(I6<=$D$2:$D$284)*($A$2:$A$284=J6);$E$2:$E$284)

Bagaimana, mudah bukan? Semoga bermanfaat.

File contoh : Excel : VLOOKUP/SUMPRODUCT data rentang waktu

Monday, May 05, 2014

jTable Wordpress Integration

May 05, 2014 Posted by nurmanx 5 comments
In this tutorial, I will show you how to combine a jTable to wordpress's post or page. jTable is a jQuery plugin used to create AJAX based CRUD tables without coding HTML or Javascript. It has so many features that can simplify your "life" when you want to handle a complex table. Let's get started!

Step 1
Requirement:
1. wordpress-3.8.1
2. wordpress plugin : insert-javascript-css, download from www.nutt.net
3. jTable with PHP Samples, download from www.jtable.org

Step 2
1. Install and activate "insert-javascript-css" plugin to your wordpress


2. Create database (separate from wordpress main database) for jTable and create table "people" with data from Samples included (jtabletestdb.sql)


3. Edit SQL connection in "PersonActions.php" with your own setting for example :

$con = mysql_connect("localhost","root","root"); //change with your database connection setting mysql_select_db("jtabletestdb", $con);


4. Put jTable-PHP-Samples folder into wordpress folder



Step 3
1. Find "header.php" in your wordpress themes folder, I'm using hueman themes, so the "header.php" should stored in wp-content\themes\hueman\header.php . Edit "header.php" with inserting the jTable prerequisite script beetween <head></head> like this:


<title><?php wp_title(''); ?></title>
<link href="&lt;?php bloginfo('pingback_url'); ?&gt;" rel="pingback"></link>
<!--START INSERTING JTABLES PREREQUISITE SCRIPT -->
<link href="jTable-PHP-Samples/codes/themes/redmond/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css"></link>
<link href="jTable-PHP-Samples/codes/scripts/jtable/themes/lightcolor/blue/jtable.css" rel="stylesheet" type="text/css"></link>
<script src="jTable-PHP-Samples/codes/scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="jTable-PHP-Samples/codes/scripts/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>
<script src="jTable-PHP-Samples/codes/Scripts/jtable/jquery.jtable.js" type="text/javascript"></script>
<!--END INSERTING-->


Step 4
1. Create a New Post
2. Insert Javascript/CSS (click the plugin icon)



Insert this script in the dialog box above and then "Save" :

<script type="text/javascript">
$(document).ready(function () {
//Prepare jTable
$('#PeopleTableContainer').jtable({
title: 'Table of people',
actions: {
listAction: 'jTable-PHP-Samples/codes/PersonActions.php?action=list',
createAction: 'jTable-PHP-Samples/codes/PersonActions.php?action=create',
updateAction: 'jTable-PHP-Samples/codes/PersonActions.php?action=update',
deleteAction: 'jTable-PHP-Samples/codes/PersonActions.php?action=delete'
},
fields: {
PersonId: {
key: true,
create: false,
edit: false,
list: false
},
Name: {
title: 'Author Name',
width: '40%'
},
Age: {
title: 'Age',
width: '20%'
},
RecordDate: {
title: 'Record date',
width: '30%',
type: 'date',
create: false,
edit: false
}
}
});

//Load person list from server
$('#PeopleTableContainer').jtable('load');
});

</script>

3. Insert in Post Content



<div id="PeopleTableContainer" style="width: 600px;"> </div>

4. View Your Post


Congratulations! You're done. :)