Monday, December 26, 2016

Teknik Penerapan Enkripsi RSA ada File Biner

Pada tulisan sebelumnya
http://www.softscients.web.id/2016/12/teknik-penerapan-enkripsi-rsa-untuk.html
kita telah mempelajari teknik enkripsi text dengan RSA, apakah kita melakukan enkripsi sebuah file biner? Seperti *.jpg, *.bmp, *.exe,*.bin menggunakan RSA?
Kamu bisa membaca ini http://www.softscients.web.id/2016/12/encrypt-file-using-rsa-java.html
Walau tidak efektif sih sebenarnya karena bisa menjadi bengkak ukuran file nya. Kita harus mengerti dari format base64 sebagai berikut:
https://blog.aldebaran.web.id/2016/01/03/120/
https://hxpinter.wordpress.com/2011/06/21/enkripsi-data-dan-script-dengan-php-part-base64/

Tuesday, December 6, 2016

Buku Belajar Machine Learning dengan Java - Mengapa RSA tidak cocok untuk enkripsi file binary



Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link












Mengapa RSA tidak cocok / pas untuk enkripsi sebuag file binary Berikut penjelasannya:

referensi : http://stackoverflow.com/questions/16546959/how-to-do-encryption-and-decryption-of-a-file

RSA is not designed to encrypt files. Just use a symmetric algorithm (AES, Blowfish, etc.) to encrypt your file, and use RSA only on that symmetric key, if you need symmetric encryption.

You cannot encrypt a file using RSA because RSA (well, to be more precise, the implementation of RSA in Java) does not let you encrypt more data than the length of the key. For a 1024 bits key, you can only encrypt 1024 bits that is to say 128 bytes (actually a bit less for padding reasons).
In all cases, it is bad practice to encrypt a large piece of data using a public-key algorithm (asymmetric cryptography) for two main reasons.
  1. The is no practical, appropriate and secure cryptographic mode/padding to encrypt large amounts of data using RSA (ie it is not really secure to do that).
  2. Public-key algorithms require a large key to be secure (1024 bits, 2048 bits) and are therefore much slower than symmetric-key algorithms (which only require 128 to 256 bits keys to be secure).
If you want more details on why you should not use solely RSA to encrypt large amounts of data, see these two great stacktexchange posts :
  1. http://crypto.stackexchange.com/questions/14/how-can-i-use-asymmetric-encryption-such-as-rsa-to-encrypt-an-arbitrary-length/126#126
  2. http://crypto.stackexchange.com/questions/2789/is-rsa-in-a-ecb-like-mode-safe-for-bulk-encryption

You cannot encrypt a file using RSA because RSA (well, to be more precise, the implementation of RSA in Java) does not let you encrypt more data than the length of the key. For a 1024 bits key, you can only encrypt 1024 bits that is to say 128 bytes (actually a bit less for padding reasons).
In all cases, it is bad practice to encrypt a large piece of data using a public-key algorithm (asymmetric cryptography) for two main reasons.
  1. The is no practical, appropriate and secure cryptographic mode/padding to encrypt large amounts of data using RSA (ie it is not really secure to do that).
  2. Public-key algorithms require a large key to be secure (1024 bits, 2048 bits) and are therefore much slower than symmetric-key algorithms (which only require 128 to 256 bits keys to be secure).
If you want more details on why you should not use solely RSA to encrypt large amounts of data, see these two great stacktexchange posts :
If you want to encrypt a large amount of data, the standard way to proceed is to generate a session key (a cryptographically secure random number used once). You encrypt the session key with the public key. Then you encrypt the file (the large amount of data) with a symmetric algorithm (such AES) using the unencrypted session key. You then store the encrypted session key and the encrypted data altogether in the final file. That's the way PGP (or GnuPG) proceeds when it sends an encrypted mail. SSL/TLS also works in a similar way. Lastly, properly using cryptography is complicated (pretty much anything can create a security flaw : encryption modes, padding, etc...) so I would advise you to be very careful and make sure your code is going to be reviewed by someone knowledgeable in crypto matters. Here is a piece of code that shows the general process :




// 1. Generate a session key
KeyGenerator keyGen = KeyGenerator.getInstance("AES");
keyGen.init(128)
SecretKey sessionKey = keyGen.generateKey();

// 2. Encrypt the session key with the RSA public key
Cipher rsaCipher = Cipher.getInstance("RSA");
rsaCipher.init(Cipher.ENCRYPT_MODE, rsaPublicKey)
byte[] encryptedSessionKey = rsaCipher.doFinal(sessionKey.getEncoded());

// 3. Encrypt the data using the session key (unencrypted)
Cipher aesCipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
aesCipher.init(Cipher.ENCRYPT_MODE, sessionKey); <-- sessionKey is the unencrypted
//                                                   session key.
// ... use aesCipher to encrypt your data

// 4. Save the encrypted data along with the encrypted 
// session key (encryptedSessionKey).
// PLEASE NOTE THAT BECAUSE OF THE ENCRYPTION MODE (CBC),
// YOU ALSO NEED TO ALSO SAVE THE IV (INITIALIZATION VECTOR).
// aesCipher.aesCipher.getParameters().
//     getParametersSpec(IvParameters.class).getIV();

 



Saturday, November 12, 2016

Tahapan Automatic Number Plate Recognition

Topik yang satu ini menjadi naik daun sedari dulu (5 tahun belakang) sampai sekarang, padahal objek nya itu-itu saja koq. Bagi pemula terkadang main ambil topik padahal riset ini begitu rumit sekali. Malahan dasar-dasar image processing tidak begitu familiar.

Thursday, November 10, 2016

File Explorer menggunakan TreeView

Aplikasi kecil ini dibuat oleh penulis untuk mengerjakan tugas sehari-hari di kantor, yaitu untuk menampilkan dokumen (*.jpg) agar mudah dalam melakukan verifikasi. Seperti aplikasi Picasa.
Penulis menggunakan IDE Sharp Develop dan component standar GUI di C#.
Juga melibatkan sedikit Thread dikarenakan banyak sekali looping

Monday, November 7, 2016

Tips Persiapan Menulis Tugas Akhir

Hal yang paling kritis dalam studi yaitu menulis tugas akhir. Merancang sebuah tulisan untuk tugas akhir butuh keuletan tersendiri, oleh karena itu, kamu yang sedang dalam tahap proses tersebut sebaiknya dapat mengikuti tips berikut

Saturday, November 5, 2016

Menambang Insight dari record transaksi – dengan teknik Recency Frequency Monetary - data minning (RFM)


RFM merupakan tools yang berguna untuk mendapatkan insight dari sejumlah data transaksi. Data transaksi biasanya akan memuat informasi mengenai ID customers, date purchase, Quantity, dan Amount nya
Sebelum lanjut, ada baiknya kamu mengerti sedikit mengenai RFM yaitu
http://www.ryerson.ca/~rmichon/mkt700/SPSS/RFM%20Analysis.htm
http://www.responseb2b.com/files/rfm.ppt
http://en.wikipedia.org/wiki/RFM
                 (The above definitions are from Wikipeida.)
http://www.slideshare.net/WhiteRavenPL/rfm-segmentation
untuk mempelajari dan memahami, kamu bisa menggunakan data berikut
http://www.brucehardie.com/datasets/
 

Cara Kerja Teknik RFM : Persiapan Data

Download lah yang http://www.brucehardie.com/datasets/CDNOW_sample.zip
Disitu akan terdapat 5 kolom yang masing-masing berikut
Each record in this file, 6919 in total, comprises five fields:
1.    the customer's ID in the master dataset,
2.    the customer's ID in the 1/10th sample dataset (ranging from 1 to 2357),
3.    the date of the transaction,
4.    the number of CDs purchased,
5.    and the dollar value of the transaction.

Monday, October 31, 2016

Local Binary Pattern untuk Texture Feature Recognition

Tulisan ini berkaitan erat mengenai teknik untuk mencari ciri fitur atas sebuah gambar. Kita mengenal gambar texture 2D yang dicirikan sebagai berikut :
  1. spatial structure (pattern)
  2. contrast (‘amount’ of texture)

Local Binary Pattern untuk Texture Feature Recognition : Pengertian Dasar

Sampai pada akhirnya mencari literatur mengenai Local Binary Pattern
Ojala T, Pietikäinen M & Harwood D (1996) A comparative study of texture measures with classification based on feature distributions. Pattern Recognition 29:51-59.
An example of computing  LBP and C in a 3x3 neighborhood:


Local Binary Pattern untuk Texture Feature Recognition : Uji Coba pada Citra Digital

Penulis menggunakan LBP untuk mencoba mencari perbedaan kedua gambar berikut

Local Binary Pattern untuk Texture Feature Recognition : Ploting Histogram

Hasil ploting histogram menghasilkan berikut:
Line merah merupakan plant
Line hijau merupakan stone

Dari plot diatas, sedikit mendapati ciri fitur menggunakan hasil histogram nya, penulis menggunakan nilai radius = 3 dan jumlah point = 12

Friday, October 14, 2016

Digital Signal Recognition with Fast Forier Transform - FFT

Sebelum memasuki pengolahan sinyal tingkat lanjut, ada baiknya anda mengerti kegunaan FFT.
Ketika 2 buahnya sinyal dengan frekuensi yang berbeda yaitu 3 dan 5 yang mempunyai time periode yang sama digabung menjadi satu

Visualisasi Sinyal Sederhana

 Menjadi berikut
 

Ubah domain Waktu ke Frekuensi 

Akan menjadi cukup sulit untuk mengetahui bahwa gelombang diatas terdiri dari 2 frekuensi yang berbeda, untuk itu kita harus mengubah domain waktu ke domain frekuensi. Seperti contoh berikut

 

Cari Peak nya

Terlihat bahwa terdapat 2 peak dengan nilai 3 dan 5. Akan tetapi dalam dunia nyata, tidak sebersih plot sinyal diatas, dikarenakan adanya noise, dalam hal ini, kita akan menggunakan Additve White Gaussian Noise. Seperti sinyal berikut

Noise sendiri merupakan hal yang umum terjadi ketika kita bekerja menggunakan peralatan elektronika http://www.softscients.web.id/2016/07/apa-itu-additve-white-gaussian-noise_4.html
Kita akan coba plot kan lagi menggunakan FFT untuk mengetahui sebuah sinyal diatas.

Dalam domain frekuensi akan menjadi sangat jelas mendapatkan profile sebuah sinyal!
(anda bisa membaca peak detection in plot di keyword google)

Implementasi

Penulis menggunakan FFT untuk mengurai sebuah data rekaman dari piano, Sinyal berikut merupakan data rekaman WAV format untuk nada D,E,G,D,E,G


Ketika pianis memencet tuts untuk chord diatas, kemudian direkam dalam bentuk WAV Format.
SEPARASI SINYAL
Anda bisa melihat pada plot diatas terdiri dari 6 sinyal yang berurutan, yang masing-masing chord terdiri dari 3 nada, (1 chord terdiri dari 3 nada), yang artinya bahwa tiap chord terdiri dari 3 sinyal yang berbeda. Dalam teknik seperasi sinyal diatas, penulis menggunakan teknik sebagai berikut
1.    Blocking dengan ukuran M = 1000 dan N = 500
2.    Window Hamming
3.    Powering, dan
4.    Threholding
(ada baiknya anda membaca pengolahan sinyal di www.softscients.web.id)

 Setelah didapatkan powering, maka kita akan melakukan croping tiap block.

Penulis menggunakn mark merah sebagai penanda awal sinyal dan hijau sebagai akhir sebuah sinyal.


Penulis sengaja coloring untuk memperjelas antara sinyal dan garis biru merupakan noise (atau kondisi dimana tuts piano tidak ditekan - idle).

Digital Signal Recognition with Fast Forier Transform

Berikut hasil penerapan FFT pada sinyal ke satu

 Dan selanjutnya




 Ini membuktikan bahwa FFT sangat berguna untuk mengurai sebuah sinyal.

Catatan:
  1. Penulis menggunakan banyak sekali library untuk kegiatan riset diatas yaitu Python, numpy, wavio, matplotlib, pyside
  2. Informasi lebih lanjut ke www.softscients.web.id
  3. IDE – Integrated Develop Environment yang penulis sarankan yaitu Spyder

Sunday, October 2, 2016

Filter Gabbor

Kita bisa menggunakan function di opencv yaitu 
cv2.getGaborKernel(ksize, sigma, theta, lambda, gamma, psi, ktype)

ksize adalah ukuran dimensi yang dihasilkan
sigma adalah standar deviasi dari Gaussian
theta adalah arah orientasi
lambda adalah panjang gelombang faktor sinus dari persaman diatas
gamma adalah ratio spasial rentang nilai  0 – 1, semakin mendekati 1 maka semakin bulat!
psi adalah pase
ktype jenis type data yang digunakan
ini adalah visualisasi gabbor filter


Friday, September 30, 2016

Buku Pengolahan Citra Digital dengan Python dan OpenCV-Contour Retrieval Mode Find Contour


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di  http://softscients.com/2020/03/30/buku-pengolahan-citra-digital-dengan-python-dan-opencv-contour-retrieval-mode-find-contour/


Sinopsis

Sering akan kita gunakan findcontours jika berhadapan untuk menentukan jumlah dan lokasi sebuah objek dalam operasi morfologi. Ada beberapa opsi yang kita gunakan mengenai Contour Retrieval Mode yaitu RETR_EXTERNAL dan RETR_TREE Perbedaan mendasar keduanya yaitu seperti berikut


Bila kita menginginkan hasil untuk sebuah objek (berlubang) hanya dikenal untuk sebagai 1 kesatuan objek, maka gunakan RETR_EXTERNAL yang artinya bahwa out boundary yang akan digunakan!

Tuesday, September 20, 2016

Microsoft OCR Library for Windows Runtime

Library untuk OCR
https://blogs.windows.com/buildingapps/2014/09/18/microsoft-ocr-library-for-windows-runtime/#e2MbpWqEmeT2L8rY.97
http://www.nuget.org/packages/Microsoft.Windows.Ocr/
http://digit.lk/optical-character-recognitionocr-in-c/

Sunday, September 18, 2016

Face Detection in Matlab and OpenCV-Python


[ www.softscients.web.id ] Tulisan ini dibuat sebagai informasi awal untuk pemula yang ingin mengambil fokus face detection, karena biasanya membuat algoritma face detection menjadi sulit sekali, jadi kenapa tidak menggunakan pustaka yang sudah ada?! Anda harus memahami 2 istilah berikut

Face detection yaitu mencari posisi wajah dalam gambar






Face recognition yaitu mencari pemilik wajah dalam gambar Ilustrasi berikut menggambarkan face detection sekaligus face recognition



Sunday, September 11, 2016

Python - Discrete Wave Transform to Image Compression


[www.sofscients.web.id] DWT juga bisa digunakan untuk mengurangi ukuran sebuah gambar dengan teknik lossy (alias kualitas gambar bisa menurun). Untuk mempermudah dalam melakukan teknik kompressi, maka penulis bekerja menggunakan format grayscale untuk menggambarkan keluaran DWT yaitu



  • csA: Approximation Coefficient
  • csH: Horizontal Coefficient
  • csV: Vertical Coefficient
  • csD: Diagonal Coefficient
Setiap coeffisien akan menghasilkan angka lebih dari 255 dan kurang dari 0, Sehingga kita harus menjadikannya

x>=255 menjadi 255, dan
x<=0 menjadi 0

Library Wavelet Transform In Python



[www.softscients.web.id] Bila anda menggunakan wavalet transform untuk melakukan pengolahan citra, anda bisa menggunakan library berikut
penulis sarankan untuk download format whl nya yaitu PyWavelets-0.4.0-cp27-none-win32.whl
ini adalah contoh penggunakan wavelet yang diterapkan untuk gambar






Sunday, September 4, 2016

How to Install Another Modul in Anaconda Environment

[www.softscients.web.id] Postingan ini mungkin anda akan temui ketika melakukan install modul yang sangat penting yaitu scipy yang membutuhkan lapack dan blast.
Padahal melakukan kompilasi lapack dan blast menurut penulis agak ribet!


sehingga yang tadinya penulis menggunakan python installer dengan versi https://www.python.org/downloads/release/python-2712/ yang sudah include PIP sebagai Python Installer Package nya (The Python package manager is pip), ternyata install scipy tidak semudah install package yang lainnya. Bila kita ingin install numpy cukup ketikan pip install numpy maka agak cukup ribet bila install scipy  yang membutuhkan library lapack dan blast!
Penulis beralih menggunakan anaconda dengan conda sebagai environment nya!
Awal nya sih begitu bagus! Karena cukup banyak modul yang telah terinstal!!
Mulai dari PyQT, Numpy, Matplotlib, serta Scipy
Anaconda comes with its own package manager named conda. It also doubles as a virtual environment manager.

Tuesday, August 30, 2016

Download Foxit Reader JPEG2000/JBIG Decoder by Foxit Software

[www.softscients.web.id] Jika anda menggunakan foxit reader untuk membaca file pdf yang mengandung jpeg, akan terjadi error, biasanya membutuhkan file *.dll decoder berikut
http://www.filewatcher.com/m/fxdecod1.zip.202697-0.html

Setelah didownload, letakan saya dalam 1 folder dengan foxit.exe nya

Saturday, August 20, 2016

Convert String to jSON in C#

[www.softscients.web.id]Banyak format pertukaran data yang umum digunakan dalam aplikasi yaitu XML ataupun jSON. Bahkan penulis sering menggunakan format jSON sebagai return value didalam sql di C#.

Kamu bisa menggunakan ini http://www.newtonsoft.com/json

Saturday, July 9, 2016

Aplikasi Scan LJK Gratis





Simple Digital Mark Reader [www.softscients.web.id] merupakan salah satu software untuk mengolah data dari sebuah Lembar Jawab Komputer. Ada banyak sekali model / template LJK yang disesuaikan dengan kebutuhan enduser seperti keperluan sektor finansial (pengisian form data konsumen), sekolah (pengisian lembar jawab soal), dan keperluan lainnya yang melibatkan massive nya user yang harus melakukan proses pengisian lembar jawab.

Simple DMR dibuat untuk kebutuhan general alias bisa digunakan secara umum (bisa juga di kustom lebih lanjut sesuai keinginan user dengan melibatkan model LJK). Kebutuhan secara umum yaitu dapat digunakan dengan kondisi minimum sehingga user bisa cetak sendiri Model LJK menggunakan printer seperti pada umumnya dan user bisa menggunakan Scanner ADF.

Software Simple Digital Mark Reader bebas - gratis - free  digunakan (untuk sementara ini masih support 1 model LJK), anda bisa menggunakan printer seperti biasa untuk nge print model LJK.

[Download aplikasi scanner Lembar Jawab Komputer]

Software Simple Digital Mark Reader menggunakan Net Framework sehingga anda harus install terlebih dahulu Net 3.0
https://www.microsoft.com/en-us/download/details.aspx?id=3005
https://www.microsoft.com/en-us/download/details.aspx?id=21

Software:
http://www.4shared.com/rar/nyUQCPaUba/1_OMR_28_Juli_2016.html

Model B:
http://www.slideshare.net/aktis/template-lembar-jawab-komputer-model-b 





Fujitsu Scansnap S1500 

Atau menggunakan scanner biasa bila hanya melibatkan sedikit dokumen.

Monday, July 4, 2016

Membuat Sketsa GUI dengan Mudah


Apa itu Additve White Gaussian Noise

AWGN merupakan singkatan dari Additve White Gaussian Noise. Additive artinya ditambahkan. Gaussian berarti mengikuti distribusi Gaussian atau kadang juga disebut distribusi normal. Sedangkan noise ini disebut white karena terdiri dari seluruh frekuensi dalam spektralnya sebagai cahaya putih. White noise ini sebagai WSS noise yang memiliki rapat spektral daya yang konstan. Biasanya white noise dihasilkan dalam simulasi dengan fungsi rand, sedangkan Gaussian noise dihasilkan dengan fungsi randn pada MATLAB [1].

Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link



clc;clear all;close all;
rand('state',0); %biar nilai random selalu sama untuk state 0
L = 1000;
x = randn(1,L);
hist(x,100),title('Random Gaussian'); 


randn adalah fungsi di matlab untuk meng-generate distribusi normal / distribusi Gaussian. AWGN kompleks ditambahkan khusus untuk simbol dengan modulasi yang menggunakan bilangan kompleks yaitu QPSK dan 4-QAM ke atas. 




AWGN ini adalah noise alami, yang selalu ada di setiap perangkat. Jadi setiap pada setiap perhitungan komunikasi yang melakui kanal maka harus ditambahkan AWGN. 



Perhatikan model sinyal di bawah ini

y = x + n

jika x adalah sinyal yang diterima pada receiver (penerima), dan n adalah noise AWGN. Maka y adalah sinyal pada penerima yang telah ditambahkan AWGN.


jika x adalah bilang complex misalnya x = a +ib, maka kita bisa mensimulasikan AWGN dengan menggunakan MATLAB yaitu dengan menambahkan AWGN pada tiap komponen real dan komplex. Misalnya


Jika dalam simulasi kita menggunakan Signal Noise to Ration (SNR), maka kita gunakan SNR ini dalam unsur magnitude yang dikalikan pada fungsi randn


di mana jika Pn adalah power dari noise AWGN. Misalnya SNR adalah 30 dB, maka Pn = 0.001.

Sedangkan karena sinyal yang diterima dan AWGN dalam tegangan (voltage), maka tegangan adalah akar dari Power

Sedangkan probability density function (pdf) dari Power Spectral Density AWGN mempunyai variance ½ N0[2], maka magnitude atau attenuasi dari randn adalah



Sehingga sinyal di penerima yang sudah ditambahkan AWGN adalah sebagai berikut:


Atau MATLAB juga sebenarnya sudah ada fungsi AWGN yaitu awgn:




clc;clear all;close all;
fs = 100;%sample rate nya!
t = 0:1/fs:1; %time vector
f1 = 3;%frekuensi sinyal 
 
y1 = sin(2*pi*f1*t); %bikin sinyal sinus 
SNR = 15;
y2 = awgn(y1,SNR); %dikasih noise
 
figure,
a = plot(t,y1,'r');
hold on
b = plot(t,y2,'b');
legend([a,b],'Sinyal Asli',['Sinyal terkena Noise, SNR = ' num2str(SNR) ' db']);
title(['Sinyal Sinus dengan ' num2str(f1) ' Hz'])

 

Apa itu SNR

Signal Noise Ratio yaitu Perbandingan (ratio) antara kekuatan Sinyal (signal strength) dengan kekuatan Derau (noise level). Nilai SNR dipakai untuk menunjukkan kualitas jalur (medium) koneksi. Makin besar nilai SNR, makin tinggi kualitas jalur tersebut. Artinya, makin besar pula kemungkinan jalur itu dipakai untuk lalu-lintas komunikasi data & sinyal dalam kecepatan tinggi. Nilai SNR suatu jalur dapat dikatakan pada umumnya tetap, berapapun kecepatan data yang melalui jalur tersebut. Satuan ukuran SNR adalah decibel (dB) <– logarithmic. efek yang bisa ditimbulkan akibat NSR yang rendah yaitu  Koneksi sering terputus, lambat, tidak bisa connect, dsb. dibawah ini merupakan klasifikasi SNR :



Makin TINGGI makin BAIK

--------------------------------------------------------
29,0 dB ~ ke atas = Outstanding (bagus sekali)
20,0 dB ~ 28,9 dB = Excellent (bagus) • Koneksi stabil.
11,0 dB ~ 19,9 dB = Good (baik) • Sinkronisasi sinyal ADSL dapat berlangsung lancar.
07,0 dB ~ 10,9 dB = Fair (cukup) • Rentan terhadap variasi perubahan kondisi pada jaringan.
00,0 dB ~ 06,9 dB = Bad (buruk) • Sinkronisasi sinyal gagal atau
                                  tidak lancar (ter-putus²).
--------------------------------------------------------