Sensor Karakter di C++, C#, PHP, dan VB.NET


Assalamu'alaikum Wr. Wb.
Di postingan kali ini ane mau share trik sederhana untuk sensor teks pada string.
Biasanya sensoring ini digunakan untuk sensor informasi pribadi yaitu Email Address dan Nomor Telepon / HP. Langsung saja disimak :D



Fungsi

Sebelum lanjut ke fungsi, berikut beberapa maksud dari parameter-parameter yang ane pake di kode.



/*
 sumber = source string.
 bagian = 0 Depan 1 Belakang
 banyaknya = jumlah karakter yang akan disensor
 karakternya = tinggalin kosong untuk default
*/

C++



string sensorKata(string sumber, int bagian, int banyaknya, string karakternya = "x") {
 string output = "";
 if (banyaknya >= sumber.length()) {
  return "Banyaknya karakter tidak sesuai! :(";
 }
 for (int x = 1; x <= banyaknya; x++) {
  output += karakternya;
 }
 
 if (bagian == 0) {
  return sumber.replace(0, banyaknya, output);
 } else if (bagian == 1) {
  return sumber.replace(sumber.length() - banyaknya, sumber.length(), output);
 }
 return "Error (bagian 0/1)! :(";
}
 
// contoh penggunaan
string noHp = "+621234567890";
string email = "alamatemail@email.com";
cout << sensorKata(noHp, 1, 3);
cout << endl << endl;
cout << sensorKata(email, 0, 5);


C#




static string sensorKata(string sumber, int bagian, int banyaknya, string karakternya = "x") {
 string output = "";
 if (banyaknya >= sumber.Length) {
  return "Banyaknya karakter tidak sesuai! :(";
 }
 for (int x = 1; x <= banyaknya; x++) {
  output += karakternya;
 }
 
 if (bagian == 0) {
  return output + sumber.Substring(banyaknya, sumber.Length - banyaknya);
 } else if (bagian == 1) {
  return sumber.Substring(0, sumber.Length - banyaknya) + output;
 }
 return "Error (bagian 0/1)! :(";
}
//contoh penggunaan
 string noHP = "+621234567890";
 string email = "alamatemail@email.com";
 Console.WriteLine(sensorKata(noHP, 05));
 Console.WriteLine(sensorKata(noHP, 15));
    Console.WriteLine("\n");
 Console.WriteLine(sensorKata(email, 05));
 Console.WriteLine(sensorKata(email, 15));


PHP (Full Code)




<?php
function sensorKata($sumber, $bagian, $banyaknya, $karakternya = "x") {
 $output = "";
 if ($banyaknya >= strlen($sumber)) {
  return "Banyaknya karakter tidak sesuai! :(";
 }
 for ($x = 1; $x <= $banyaknya; $x++) {
  $output .= $karakternya;
 }

 if ($bagian == 0) {
  return $output . substr($sumber, $banyaknya);
 } else if ($bagian == 1) {
  return substr($sumber, 0, strlen($sumber) - $banyaknya) . $output;
 }
 return "Error (bagian 0/1)! :(";
}
 
 
$noHP = "+621234567890";
$email = "alamatemail@email.com";
print sensorKata($noHP, 0, 5)."\n";
print sensorKata($noHP, 1, 5);
print "\n\n";
print sensorKata($email, 0, 5)."\n";
print sensorKata($email, 1, 5);
 
?>


VB.NET




Function sensorKata(ByVal sumber As StringByVal bagian As IntegerByVal banyaknya As IntegerOptional ByVal karakternya As String = "x"As String
 Dim output As String = ""
 If (banyaknya >= sumber.Length) Then
  Return "Banyaknya karakter tidak sesuai! :("
 End If
 
 For x As Integer = 0 To banyaknya
  output &= karakternya
 Next
 If (bagian = 0Then
  Return output & sumber.Substring(banyaknya, sumber.Length - banyaknya)
 ElseIf (bagian = 1Then
  Return sumber.Substring(0, sumber.Length - banyaknya) & output
 End If
 Return "Error (bagian 0/1)! :("
End Function
 
'Contoh penggunaan
Dim noHP As String = "+621234567890"
Dim email As String = "alamatemail@email.com"
Console.WriteLine(sensorKata(noHP, 0, 5))
Console.WriteLine(sensorKata(noHP, 1, 5))
Console.WriteLine(vbNewLine)
Console.WriteLine(sensorKata(email, 0, 5))
Console.WriteLine(sensorKata(email, 1, 5))




Output





Cara Manual (Full Code)

C++



#include <iostream>
#include <string>
using namespace std;
 
int main() {
 /*
 kode berikut akan meng-sensor +621234567890 menjadi +62123456xxxx
 */
 string noHp = "+621234567890";
 cout << noHp << endl;
 cout << noHp.replace(noHp.length() - 4, noHp.length(), "xxxx"); //sensor 4 huruf (dari belakang) pada string
 
 cout << endl << endl;
 
 /*
 kode berikut akan meng-sensor alamatemail@email.com menjadi xxxxatemail@email.com
 */
 string email = "alamatemail@email.com";
 cout << email << endl;
 cout << email.replace(0, 4, "xxxx"); //sensor 4 huruf (dari depan) pada string
 
 cout << "\n\n"; system("PAUSE"); //biar program tidak langsung keluar.
}


C#



using System;
 
namespace Testing_CSharp {
    class Program {
        static void Main(string[] args) {
            /*
            kode berikut akan meng-sensor +621234567890 menjadi +62123456xxxx
            */
            string noHP = "+621234567890";
            string terSensor = noHP.Substring(0, noHP.Length - 4+ "xxxx";  //sensor 4 huruf (dari belakang) pada string
            Console.WriteLine(noHP);
            Console.WriteLine(terSensor);
 
            Console.WriteLine("\n");
 
            /*
            kode berikut akan meng-sensor alamatemail@email.com menjadi xxxxatemail@email.com
            */
            string email = "alamatemail@email.com";
            string e_terSensor = "xxxx" + email.Substring(4, email.Length - 4); //sensor 4 huruf (dari depan) pada string
            Console.WriteLine(email);
            Console.WriteLine(e_terSensor);
 
 
            Console.ReadKey();//biar program tidak langsung keluar.
        }
    }
}


PHP




<?php
//kode berikut akan meng-sensor +621234567890 menjadi +62123456xxxx
$noHP = "+621234567890";
$hasil = substr($noHP, 0, strlen($noHP) - 4); //sensor 4 huruf (daribelakang) pada string
print $noHP."\n";
print $hasil."xxxx";
 
print "\n\n";
//kode berikut akan meng-sensor alamatemail@email.com menjadixxxxatemail@email.com
$email = "alamatemail@email.com";
$hasil = substr($email, 4); //sensor 4 huruf (daridepan) pada string
print $email."\n";
print "xxxx".$hasil;
?>



VB.NET



Module Module1
 
    Sub Main()
        'kode berikut akan meng-sensor +621234567890 menjadi +62123456xxxx
        Dim noHP As String = "+621234567890"
        Dim terSensor As String = noHP.Substring(0, noHP.Length - 4) & "xxxx" 'sensor 4 huruf (dari belakang) pada string
        Console.WriteLine(noHP)
        Console.WriteLine(terSensor)
 
        Console.WriteLine(vbNewLine)
 
        'kode berikut akan meng-sensor alamatemail@email.com menjadi xxxxatemail@email.com
        Dim email As String = "alamatemail@email.com"
        Dim e_terSensor As String = "xxxx" & email.Substring(4, email.Length - 4'sensor 4 huruf (dari depan) pada string
        Console.WriteLine(email)
        Console.WriteLine(e_terSensor)
 
        Console.ReadKey() 'biar program tidak langsung keluar.
    End Sub
 
End Module




Untuk Source Code silahkan download disini .

Sekian dulu. Semoga bermanfaat :)
Silahkan tinggalkan komentar di bawah jika ada pertanyaan, feedback, atau penambahan kode :)

1 komentar :

Posting Komentar

Cancel Reply

Iklan