Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Membandingkan String Pada Matlab Dari File Excel

Membandingkan String Pada Matlab (Compare String In Matlab) 

Cara Membandingkan String Pada Matlab Dari File Excel - Sebelumnya kita telah belajar bagaimana cara membaca data dari file Excel per kolom dan per cell menggunakan perintah "readcell".

Sekarang dari data tersebut akan kita baca per cell dan membandingkan nilai yang ada pada cell dengan nilai yang telah kita tentukan. Nilai ini akan kita bandingkan sebagai String.

Kasus seperti ini akan sangat sering anda jumpai nanti, jika anda membuat projek matlab dengan database, seperti membaca, melakukan filter, membandingkan dan menentukan hasil akhir.

Katakanlah nama file excelnya adalah "database.xlxs" yang berisikan data plat nomor polisi beserta nama pemiliknya. 

Untuk gambar database ini, silahkan lihat pada tutorial sebelumnya.

 

Membandingkan String Pada Matlab (Compare String In Matlab)
Compare String In Matlab

A. Membaca Database File Excel Per Cell

Langkah pertama yang harus dilakukan adalah membaca database per cell. Ini akan sangat penting dilakukan karena akan menghemat program yang kita buat.

Katakanlah data yang ingin kita ambil berada pada cell B2.

Cara programnya adalah menggunakan perintah berikut:

>> database = readcell('database.xlsx', 'Range', 'B2:B2')

Maka hasil pembacaan oleh matlab adalah sebagai berikut:

database =

1×1 cell array

{'B1472PQH'}

Di sini kita telah mendapatkan data "B1472PQH" pada cell B2. Data ini berupa data String.

Selanjutnya mari kita belajar cara membandingkannya.

 

B. Membandingkan Data String Pada Matlab

Membandingkan string ini akan sangat penting anda pelajari, karena sering sekali menggunakan Matlab kita membuat projek dengan membandingkan teks untuk mendapatkan algoritma hasil akhir.

Seperti contoh:

  • Jika data input adalah "123", maka lakukan rencana "A".
  • Jika data input adalah "001", maka lakukan rencana "B".
  • Jika data input adalaha "abc", maka lakukan rencana "C".
  • dan sebaginya.
Untuk membandingkan string pada matlab, kita menggunakan perintah "strcmp" atau dibaca "string compare".
 
Perintah dasarnya adalah :
 
>> strcmp (string_1, string_2);
 
Jika string_1 dan string_2 adalah sama, maka matlab akan menghasilkan nilai 1. 
Jika tidak sama, matlab akan menghasilkan nilai 0.
 
Contoh kasus kita akan membandingkan kata "ABC" dengan "ABC":
 
>> strcmp ('ABC', 'ABC')
 
Hasilnya:
 
ans =

logical

1
 
Jika kita bandingkan kata "ABC" dan "EBC", maka hasilnya adalah:
 
>> strcmp ('ABC', 'EBC')

ans =

logical

0
 
Nah, dari logika 1 dan 0 ini kita dapat membuat program perbandingan untuk mengambil keputusan selanjutnya.
 

C. Membaca Seluruh Data Dari Excel dan Membandingkan Datanya per Cell untuk Pengambilan Keputusan

Program yang kita buat selanjutnya tidak sesederhan diatas. Adakalanya, nilai di database tersebut lebih banyak jumlahnya, katakanlah 1000 baris.
 
Bagaimana caranya kita dapat membaca secara dari database dan membandingkan 1000 data tersebut dengan data yang udah kita tentukan?
 
Caranya adalah menggunakan perulangan, boleh pakai "while" boleh juga pakai "for".
 
Dalam artikel ini kita akan menggunakan perulangan menggunakan "while".
 
Bagi anda pemula yang belum memahami perulangan while dan For, saya menjelaskan disini secara singkat saja.
 
Perulangan While adalah bentuk perulangan berdasarkan kondisi benar dan salah. Jika kondinya benar, maka perulangan akan terus terjadi.
 
Jika kondisi salah, maka perulangan akan berhenti.
 
Perulangan For adalah perulangan yang berdasarkan ketentuan jumlahnya. Misalnya, kondisinya 1 hingga 20, maka perulangan akan terjadi sebanyak 20 kali.
 
Jika for 1 hingga 30, maka perulangan akan terjadi sebanyak 30 kali.
 
Kira-kira jelas ya?
 
Baik. Sekarang kita akan membuat program menggunakan perulangan membaca data sebanyak baris data yang ada pada databse.
 
Bagaimana caranya?
 
Pertama, kita baca dulu databasenya dengan spesifik kolom, katakanlah hanya kolom B saja:
 
>> database =  readcell ('database.xlsx', 'Range', 'B1');
 
Kedua, kita hitung berapa jumlah baris data pada kolom B tersebut, perintahnya adalah:
 
>> rows = size(database, 1)

rows =

7
 
Sebagai contoh pada file database.xlxs memiliki data sebanyak 7 data.
 
Ketiga, lakukan pembacaan dan membandingkan data sebanyak 7 kali. Jumlah perulangan 7 kali ini akan dilakukan secara otomatis tidak dalam program, bukan kita yang tentukan.
 
Maka dasar baris programnya adalah:
 
ulang = 1;
hitung = 0;

while ulang
hitung = hitung + 1;
ambilData = database(hitung);
tf = strcmp(ambilData, final_output);

if tf == 1
ulang = 0;

//buat progam lainnya disini, lakukan sesuatu

end

if (rows == hitung) && (tf == 0)
hitung = 0;
ulang = 0;

//buat progam lainnya disini, lakukan sesuatu

end

end
 
Progam perulangan diatas, tidak dapat dilakukan pada Command Windows, namun kita harus memasukkan kedalam script matlab dengan ekstensi .m, silahkan anda buat scriptnya pada matlab dengan cara:
  • Klik menu "New"
  • Pilih "Script"
  • Lalu akan terbuka lembaran kosong, silahkan anda salin progam berikut, lalu pastekan kedalam file script tadi.

    database =  readcell ('database.xlsx', 'Range', 'B1');
    rows = size(database, 1);

    ulang = 1;
    hitung = 0;

    while ulang
    hitung = hitung + 1;
    ambilData = database(hitung);
    tf = strcmp(ambilData, "B1472PQH");

    if tf == 1
    ulang = 0;
    disp("Benar");
    end

    if (rows == hitung) && (tf == 0)
    hitung = 0;
    ulang = 0;
    disp("Salah");
    end

    end
  • Simpan file script tersebut dengan exstensi .m.
  • Lalu buat sebuah file database menggunakan file excel dengan struktur data seperti berikut:

  • Lalu simpan file excel tersebut bersama dalam satu folder dimana file matlab tadi berada.
  • Beri nama file excel tersebut dengan nama "database.xlxs".
  • Lalu setelah itu, jalankan file matlab dengan klik "Run" yang berada pada menu atas matlab.
Jika hasil yang keluar pada Command Windows adalah "benar", itu artinya ada data "B1472PQH" didalam database. 
 
Jika muncul adalah "salah", maka data yang di bandingkan tidak ada didalam database.
 
Silahkan anda ganti kata "B1472PQH" yang ada pada matlab dengan kata yang lain. Lalu klik "Run" lagi, anda akan melihat hasilnya.
 
Semoga artikel singkat ini dapat membantu anda dalam mengembangkan projek menggunakan Matlab.
 
Jika anda merasa artikel ini bermanfaat, silahkan dibagikan dengan rekan-rekan anda menggunakan tombol share berikut:

Posting Komentar untuk "Cara Membandingkan String Pada Matlab Dari File Excel"