Menjawab Problem Data type “Struct” di Matlab

Menjawab permasalahan yang dijumpai ketika membuat kode program dengan bahasa Matlab adalah dengan cara: 1) membaca help, 2) situs www.matworks.com, 3) komunitas di internet, dengan bantuan google, dan 4) youtube. Permasalahan muncul karena karakter bahasa matlab yang sedikit berbasis objek. Buku yang beredar di pasaran pun tidak sanggup menjawab seluruh pertanyaan yang beredar. Pertanyaan-pertanyaan liar selalu bermunculan baik melalui komentar ataupun email. Salah satu yang bikin ribet adalah masalah struktur data, karena Matlab memiliki struktur data yang agak banyak. Banyaknya struktur data mungkin dikarenakan kemudahan-kemudahan yang matlab berikan melebihi bahasa induknya yaitu c++ dan fortran.

Beberapa kata kunci yang melibatkan struktur data di matlab dan dapat diakses di fasilitas help antara lain: num2str, cellstr, num2cell, dan sebagainya. Untuk mengetahui tata caranya secara cepat dengan cara mengetik di command window, misalnya: >>help num2str.

Yang menarik di sini, kita dapat mengetahui pula fungsi-fungsi yang berhubungan dengannya lewat informasi “See also”. Untuk mengetahui secara detail dalam bentuk GUI yang rapi dapat mengganti help dengan doc sebelum kata fungsi yang ingin kita ketahui lebih lanjut. Atau menekan tulisan doc num2str.

Untuk situs resmi matlab, sepertinya formatnya tidak jauh berbeda dengan help, yang memaksa kita untuk membaca luas yang terkadang jadi lupa dengan masalah utamanya. Sepertinya andalan utama untuk saat ini adalah searching di internet dengan search engine tercanggih di dunia, google (www.google.com). Untuk bahasa pemrograman, biasanya google mengarahkan ke situs resmi dan komunitas programming, seperti misalnya stackoverflow (www.stackoverflow.com). Perhatikan jawaban di bawahnya oleh para senior, misalnya pertanyaan untuk kasus saya di muka berikut ini:

Terkadang kita tidak mengenal fungsi-fungsi tertentu, karena memang jumlahnya sangat banyak dan tidak mungkin dihapal semuanya. Nah, di sini karena yang ikut terlibat adalah programmer-programmer dengan latar belakang yang beragam, bagi programmer tertentu mungkin banyak memakai fungsi tertentu yang khas di bidangnya yang bagi orang di bidang lain masih dianggap asing. Contoh di atas adalah fungsi setfield yang masih asing bagi pemula atau yang menggunakan matlab untuk komputasi yang tidak berhubungan dengan database. Ikuti di command window saran di atas, dan berhasil. Tentu saja andalan utama kita adalah help yang resmi dari Matlab. Berikut ini trik untuk mengupdate nilai field dari data jenis struct.

Misalkan kita punya data landtype:

  • landtype =
  • 4134884 7681103
  • 9275435 3020821
  • 2063774 5498421
  • 5850328 1631791
  • 5932021 1324960
  • 4557209 2641519
  • 1531668 5462547
  • 2804685 2757848
  • 7250245 6744421
    • ……….

Akan dimasukan ke variabel struktur “data” untuk variabel X dan Y di dalam data tersebut.

  • data =
  • 17×1 struct array with fields:
  • Geometry
  • X
  • Y
  • ID

Dengan mengetikan instruksi ini, fields X dan Y akan berisi landtype.

  • for i=1:17
  • data(i).X=landtype(i,1)
  • data(i).Y=landtype(i,2)
  • end

Kita uji, misalnya untuk data pertama.

  • >> [data(1).X data(1).Y]
  • ans =
  • 4134884 7681103

Bernilai sama dengan landtype pada data di atas yang dicetak tebal. Berikutnya akan kita ekspor hasilnya menjadi shapefile agar bisa dibuka di arcview / arcgis.

>> shapewrite(data,’result’)

Tentang rahmadya

I'm a simple man .. Lahir di Sleman Yogyakarta, 7 Juni 1976 PENDIDIKAN: TK : - (tidak ada TK di tj Priok waktu itu) SDN : Papanggo, Jakarta 83 - 89 SMPN : 129, Jakarta 89 - 92 SMAN : 8, Yogyakarta 92 - 95 Univ. : Fak. Teknik UGM, Yogyakarta 95 - 2001 Pasca. : Tek. Informatika STMIK Nusa Mandiri, Jakarta 2008 - 2010 Doctoral : Information Management Asian Institute of Technology, Thailand 2013 - 2018 PEKERJAAN: Tek. Komputer AMIK BSI Jakarta : 2002 - 2005 IT Danamon Jakarta : 2005 - 2008 Tek. Informatika STMIK Nusa Mandiri Jakarta : 2005 - 2008 Univ. Darma Persada Jakarta: 2008 - 2013 Fakultas Teknik Universitas Islam "45" Bekasi : 2008 - Skrg ( Homebase) Univ. Bhayangkara Jakarta Raya: 2018 - Skrg Univ. Nusa Putra Sukabumi: 2018 - Skrg
Pos ini dipublikasikan di Geographic Information System, Matlab, Riset dan Penulisan. Tandai permalink.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.