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/29/buku-pemrograman-matlab-export-import-data-dan-format-table/
Sinopsis Dasar-Dasar Pemrograman Matlab - Export Import Data
Kalian pasti sudah sering menggunakan format penyimpanan data tabel dengan Excel yang terdiri dari baris dan kolom yang sudah banyak digunakan, ada juga format pertukaran yang bersifat terbuka seperti JSON, XML, SQLITE, CSV, dan yang lainnya. Kalau kalian menggunakan bahasa yang lain untuk menyimpan data menggunakan format binary atau disebut teknik serialisasi dan deserialisasi, maka di Matlab menggunakan format *.mat yang sangat mudah digunakan bahkan semua variabel yang ada di memory langsung bisa di save lho. Untuk versi R2009a keatas Matlab sudah dilengkapi dengan library seperti di Pandas (Python) yaitu readtable. Kalian ikuti saja point-point dibawah ini- Format Binary Data IO di Matlab
- Membaca file CSV, Excel
- Bekerja dengan Format Currency dan Datenum
Jangan lupa ya Follow dan Subcribe ya
Terima kasih
Format Binary Data IO di Matlab
Kalau kalian cek di Workspace Window yang menampilkan informasi VariableBisa disimpan dengan perintah save
Dengan perintah save file.mat maka semua variabel yang ada di memory akan tersimpan dalam sebuah disk/file. Untuk meload kembali, cukup perintah load() dengan struct sebagai penampung variabelnya.
data = load('dataku.mat')
Untuk akses variabel a cukup perintah berikut
a = data.a
Coba kalian pelajari lagi mengenai struct di Bab sebelumnya. Sedangkan untuk akses variabel b pun juga sama koq.
b = data.b
Tentu adakalanya kalian tidak ingin menyimpan semua variabel tapi hanya tertentu saja, misalkan ada 4 variabel dibawah ini, hanya 2 saja disimpan.
clc;clear all;close all
a = 1;
b = [2,3]
c = [4,5;6,7]
d = 'persamaan kecepatan'
save('dataku.mat','c','d')
Perintah diatas akan menyimpan variabel c dan d saja dan untuk load sama juga koq dengan sebelumnya cukup perintah load
Sangat bermanfaat bukan? Format *.mat mampu menyimpan beragam jenis variabel di Matlab dan memudahkan kalian mengatur pertukaran data dengan cepat. Tapi kalau orang lain tidak punya Matlab gimana? Sebenarnya format *.mat bisa dibaca koq menggunakan Octave, Net Framework, Java, serta Python dengan pustaka yang banyak disediakan oleh komunitas kalau pun tidak mau menggunakan format*.mat kalian bisa menggunakan pertukaran data yang umum yang bersifat open seperti CSV, Excel bisa kalian gunakan seperti tulisan selanjutnya.
Membaca file CSV, Excel
Excel sangat banyak digunakan oleh kalangan umum sebagai format penyimpanan data berjenis tabel ataupun CSV. Kalian bisa menggunakan perintah readtable() untuk aksesnya yang banyak mendukung beragam format data seperti:- .txt, .dat, or .csv for delimited text files
- .xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx, or .ods for spreadsheet files
Penulis kasih contoh data excel saja yang lebih mudah.
Kalian bisa akses dengan perintah berikut
clc;clear all;close all;
data = readtable('data excel.xlsx')
Tentu untuk akses perkolom sangat mudah juga seperti struct sesuai dengan nama kolomnya
Akses sesuai dengan kolom yang dipilih
Kalian juga bisa memilih nama kolom tertentu yang ingin di import menggunakan perintah berikutclc;clear all;close all
opts = detectImportOptions('data excel.xlsx');
opts.SelectedVariableNames = {'no','jumlah'};
data = readtable('data excel.xlsx',opts)
Mengubah Tabel ke Array
Seperti contoh diatas dengan tabel yang berisi angka semuanya, kalian bisa gunakan function table2array untuk menghasilkan array dari sebuah tabelMemilih Data Perbaris
Atau hanya menampilkan baris tertentu sajadata.barang(3:4)
Memilih Data Perbaris dan Kolom
Kalian juga bisa memilih data berdasarkan baris dan kolom yang diinginkandata(3:4,{'barang','jumlah'})
Menyimpan data ke excel dan CSV
Kalau kalian ingin menyimpan data dalam bentuk excel ataupun CSV sangat gampang koq menggunakan perintah berikut:
clc;clear all;close all;
no = reshape([1:5],5,1);
nama = {'bejo';'pamungkas';'bagus';'tika';'eko'};
tinggi = [176;163;131;133;119];
T = table(no,nama,tinggi);
writetable(T,'data ku.txt','Delimiter',',')
writetable(T,'data ku.xlsx')
Array2Table
Array juga bisa kalian konvert menjadi Table, tapi ingat ya, susunan table lebih kepada urutan baris dan kolom, jadi jangan lupa transposeclc;clear all;close all;
tinggi = [145,146,156,157,167,168];
berat_badan = [45,41,40,50,51,45];
data = array2table(transpose([tinggi;berat_badan]),...
'VariableNames',{'tinggi','berat_badan'})
Hasilnya
data =
6×2 table
tinggi berat_badan
______ ___________
145 45
146 41
156 40
157 50
167 51
168 45
Atau kalian kelupaan untuk menambahkan kolom no, maka berikan perintah addvars seperti berikut
%kalian lupa untuk menambahkan no
no = transpose([1:length(tinggi)]);
data = addvars(data,no,'Before','tinggi');
%tampilkan data
head(data)
Hasil
ans =
6×3 table
no tinggi berat_badan
__ ______ ___________
1 145 45
2 146 41
3 156 40
4 157 50
5 167 51
6 168 45
atau mungkin malah mau delete column dengan perintah removevars
data = removevars(data,{'tinggi'});
head(data)
Hasil
ans =
6×2 table
no berat_badan
__ ___________
1 45
2 41
3 40
4 50
5 51
6 45
Bekerja dengan Format Currency dan Date
Data dengan format Currency dan Date banyak ditemui kalau kalian bekerja dengan analisis saham ataupun Forecasting Time Series Data. Ada beberapa function penting yang kalian harus pahami yaitu- Datestr : mengubah format tanggal menjadi string/huruf
- Datenum: mengubah format tanggal menjadi angka
- Serta currency menggunakan regex
- dd/mm/yy
- dd/mm/yyyy
- dd-mm-yyy
- mm-dd-yy
- mm-dd-yyy
- jan-19,1988
Mengubah Format Date dan Currency
ada banyak sekali format penyajian date diatas yang disesuaikan oleh konsumen. Nah untuk handle beragam format penyajian tersebut, kalian bisa menggunakan datestr sebagai pengolah date.
Perhatikan kolom Date dengan format point 6, oiya kalau ada nama kolom sama dengan keyword maka akan di rename otomatis oleh Matlab, misalkan nama kolom Date akan direname menjadi x___Date_

Dengan perintah
data =readtable('TLKM Historical Data.csv');
Terdapat beberapa format yang harus kalian cermati yaitu Date dan Currency, kalian bisa ubah format Date menggunakan teknik berikut
data =readtable('TLKM Historical Data.csv');
formatOut = 'mm/dd/yy'; %format keluaran yang diinginkan
data.x____Date_ = datestr(data.x____Date_,formatOut);
data
Menghasilkan format mm/dd/yy sesuai yang kita inginkan

Tentu format Currency harus kalian ubah (format sepator ribuan masih menggunakan american standar yaitu penggunaan pemisah koma), kalian berikan saja perintah regex().
data =readtable('TLKM Historical Data.csv');
formatOut = 'mm/dd/yy'; %format keluaran yang diinginkan
tanggal = datestr(data.x____Date_,formatOut);
data.x____Date_ = datestr(data.x____Date_,formatOut)
data.Price = regexprep(data.Price,',','');
data.Open = regexprep(data.Open,',','');
data.High = regexprep(data.High,',','');
data.Low = regexprep(data.Low,',','');
data

Mengubah format date tidak harus dilakukan, ini hanya contoh saja agar mudah dilihat oleh kita yang terbiasa dengan format indonesia.
Seleksi Date
Terkadang dalam melakukan pengolahan data berbasis time series hanya memerlukan sebagian bulan atau tahun tertentu saja, misalkan saja hanya ingin menampilkan data untuk tahun 2020 saja, menggunakan perintah day(), month(), dan year() dalam operasi seleksi data.clc;clear all;close all;
data =readtable('TLKM Historical Data.csv');
data.Price = regexprep(data.Price,',','');
data.Open = regexprep(data.Open,',','');
data.High = regexprep(data.High,',','');
data.Low = regexprep(data.Low,',','');
%untuk menampilkan 1 seleksi saja
seleksi = year(data.x____Date_)==2020;
disp('Data tahun 2020')
disp(data(seleksi,{'x____Date_','Price','Open'}))
%jika menampilkan lebih dari 1 seleksi
tahun = year(data.x____Date_)==2019 ;
bulan = month(data.x____Date_)<=2;
seleksi = logical(tahun.*bulan);
disp('Data 2 bulan pertama tahun 2019')
disp(data(seleksi,{'x____Date_','Price','Open'}));
Hasil
Data tahun 2020
x____Date_ Price Open
___________ ______ ______
Jan 5, 2020 '3940' '3930'
Data 2 bulan pertama tahun 2019
x____Date_ Price Open
____________ ______ ______
Feb 24, 2019 '3910' '3900'
Feb 17, 2019 '3840' '3830'
Feb 10, 2019 '3790' '3870'
Feb 3, 2019 '3850' '3890'
Jan 27, 2019 '3870' '3880'
Jan 20, 2019 '3880' '4040'
Jan 13, 2019 '4020' '3810'
Sumber Dataset
Kalian harus paham ya karena sangat membantu kalau kalian bekerja dengan time series data. Oiya untuk data *.csv nya didapatkan dari www.investing.com Sebagai contoh saham emitem TLKM indonesia https://www.investing.com/equities/telkom-indones-historical-data
Ntar kalian pelajari juga ya mengenai https://www.softscients.web.id/2020/01/dasar-dasar-pemrograman-matlab-grafik.html agar lebih bagus buat visualisasi datanya.
No comments:
Post a Comment