Tampilkan postingan dengan label Sains. Tampilkan semua postingan
Tampilkan postingan dengan label Sains. Tampilkan semua postingan

Selasa, 05 September 2017

Memperoleh Database Klasifikasi Makhluk Hidup Dengan CatalogueOfLife Web Service API


Blogging bisa jadi membosankan apabila kita sudah kehabisan ide untuk ditulis sebagai postingan baru. Jika kalian merasa demikian, coba ikuti ide saya.

Setelah lama terjun dalam dunia blogging, rupanya pundi rupiah masih tak kunjung penuh untuk memenuhi hasrat keinginan sehari-hari. Sehingga saya mulai bereksperimen membuat mesin pencari konten LOMBA ASIA. Saya akhirnya sadar, ada cara lebih mudah untuk menghasilkan pemasukan pasif dari internet.

Keluar dari tema lomba, saya berusaha menemukan ide konten yang mudah diperoleh untuk dipublikasikan kembali. Bertemulah saya dengan web fishbase.org dan catalogueoflife.org. Dari kedua objek itu, saya akhirnya memilih catalogueoflife.org dan segera mempelajari API web service-nya. Usaha tersebut begitu berat, tapi semua terbayarkan setelah http://namalatin.web.id selesai saya rilis.

Saya tidak akan membagikan source kode web nama latin tersebut, tapi setidaknya kali ini kalian akan mempelajari bagaimana memperoleh data dari catalogueoflife.org dari saya. Soal pengolahan dan sisanya, silahkan pelajari sendiri, ya. hehe :D

Jika ada yang belum jelas dari tutorial ini, silahkan baca dokumentasinya sendiri dari link berikut: http://www.catalogueoflife.org/annual-checklist/2017/webservice

Data spesies makhluk hidup dapat dicari dari titik pusat web service catalogueoflife.org; dan diikuti dengan parameter request berisi data yang ingin dicari. Parameter tersebut antara lain:
name             Kata kunci yang ingin dicari, mialnya "ikan", "singa", "Oreochromis niloticus" atau "tiger"
id                  Data spesies yang ingin diperoleh berdasarkan ID record spesifik. Gunakan ini, setelah kita mencari data dengan parameter name dan ingin memperoleh informasi detail dari tiap nama yang ditemukan. Tiap nama yang ditemukan akan memiliki ID unik.
format           Format hasil yang ingin anda peroleh. Anda bisa memilih nilai berikut: format=xml, format=json (default) dan format=php;
response       Tipe hasil yang diperoleh. Konfigurasi yang valid adalah response=terse (default) dan response=full. Format terse akan mengembalikan data rinci,sementara format full akan mengembalikan data lengkap. Perbedaan detailnya, silahkan baca referensi link diatas.
start               Record pertama yang harus dikembalikan. Misalnya, kata kunci "ikan" ditemukan hasil 100. Jika ditentukan nilai start=50, record 0 - 50 diabaikan. Nilai parameter ini penting, mengingat bahwa jumlah record maksimum yang dikembalikan oleh response=terse adalah 500 dan untuk response=full hanya 50.

Pencarian Data
Pencarian data sebaiknya menggunakan format=terse agar tidak memberatkan server. Lagipula, hasil pencarian yang ditampilkan biasanya hanya nama dan beberapa data lain yang tidak begitu spesifik.

<?php
function cari_nama($katakunci,$mulai){
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, "http://www.catalogueoflife.org/annual-checklist/2017/webservice?name=$katakunci&format=json&response=terse&start=$mulai");
 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla Firefox 1.0");
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 $hasil = curl_exec($ch);
 if(curl_errno($ch) == 0){
  curl_close($ch);
  return json_decode($hasil);
 }
 curl_close($ch);
 return NULL;
}
?>

Pencarian ID
Hasil pencarian ID dapat dipastikan hanya mengembalikan 1 buah record saja (apabila ID valid). Format=full sangat tepat dipilih, untuk memperoleh detail data yang lengkap.

<?php
function cari_id($id){
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, "http://www.catalogueoflife.org/annual-checklist/2017/webservice?id=$id&format=json&response=full);
 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla Firefox 1.0");
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 $hasil = curl_exec($ch);
 if(curl_errno($ch) == 0){
  curl_close($ch);
  return json_decode($hasil);
 }
 curl_close($ch);
 return NULL;
}
?>


Tiap kali pemanggilan API, baik itu pencarian ID ataupun dengan katakunci, hasilnya akan diapit oleh struktur data semacam ini:

<results id="" name="" total_number_of_results="" number_of_results="" start="" error_message="" version="1.9 rev c957d6a">

     <result></result>     <!-- one <result /> for each record returned -->

</results>

Jika hasil ditemukan,  total_number_of_results tentu saja bukan 0. Hasil yang ditemukan akan disimpan sebagai array objek result, yang merupakan anakan objek results. Ada banyak varian objek result. Kita bisa mengetahuinya dengan melihat result->name_status. Sejauh ini, saya mengetahui name_status bisa salah satu dari string accepted_name, common_name, synonym, ambiguous_synonym atau higher_taxa.
(PENTING: Lihat macam-macam varian dan bentuknya dari link referensi di atas)

Contoh Implementasi
Dari 2 fungsi PHP di atas, saya akan menunjukkan bagaimana menampilkan hasil yang berkaitan dalam bentuk list sederhana.

<?php
...
$hasil = cari_nama("dog");
foreach ($hasil->results as $item){
 echo "<li>{$item->name}</li>"
}
?>


Lebih lanjutnya, silahkan pelajari sendiri dari dokumentasi, ya. Selamat mencoba :D
Read more

Minggu, 19 Juni 2016

Cukup Dengan Memori 68 KB Untuk Keliling Angkasa

Ada yang sudah kenal Voyager? Saya kira belum banyak yang pernah mendengarnya, apalagi sampai mengenalnya. Tapi, tentunya semua sudah tidak asing lagi dengan NASA kan?
Ya, Voyager adalah sebuah proyek yang dikembangkan oleh NASA untuk mengemban misi eksplorasi luar angkasa.





Dalam Voyager terdapat 3 jenis komputer, dan masing masing jenis berjumlah 2. Jenis komputer tersebut ialah:
  • Computer Command System (CCS) - 18-bit word, interrupt type processors (2) with 4096 words each of plated wire, non-volatile memory.
  • Flight Data System (FDS) - 16-bit word machine (2) with modular memories and 8198 words each
  • Attitude and Articulation Control System (AACS) - 18-bit word machines (2) with 4096 words each.

Jika ditotal, ternyata Voyager hanya memiliki memori sekitar 68 KB. Selain itu, menurut FAQ situs resmi Voyager, pengendali utama mampu berjalan pada frekuensi 4MHz, namun CPU hanya mampu mencapai frekuensi 250 KHz saja. Setiap instruksi diperkirakan membutuhkan waktu 80 microsecond untuk dieksekusi, dalam waktu 1 detik ada sekitar 8000 instruksi tereksekusi. Sangat berbeda jauh dengan mikroprosesor zaman sekarang yang pada umumnya telah mencapai satuan frekuensi GHz dan kecepatan eksekusi hingga angka milyaran instruksi per detiknya.

Ada 2 Voyager yang diluncurkan oleh NASA. Keduanya biasa dikenal dengan sebutan Voyager 1 dan Voyager 2. Jika dihitung, keduanya sudah berada di angkasa selama lebih dari 37 tahun, yaitu sejak peluncurannya pada tahun 1977.

Misi utama Voyager sebelumnya adalah melakukan eksplorasi Jupiter dan Saturnus. Kemudian Voyager 2 melanjutkan perjalanannya ke Neptunus dan Uranus. Dan sekarang, keduanya tengah bekerja untuk mencapai misi eksplorasi ke bagian paling tepi dari orbit tata surya. Sampai saat ini, Voyager adalah satu-satunya objek yang berhasil melakukan perjalanan terjauh dari bumi.

Sangat sulit untuk dipercaya, tapi begitulah faktanya. Voyager memberikan kita sebuah hikmah, bahwa kekurangan bukanlah suatu pembatas.

Info lebih lanjut: http://voyager.jpl.nasa.gov/faq.html

Read more

Jumat, 06 Desember 2013

3 Robot Humanoid Paling Pintar

Di masa depan banyak diceritakan dunia dikuasai oleh robot. Sepertinya hal itu terlalu khayal untuk dipikirkan. Tapi, bukan berarti tidak mungkin, mengingat sekarang ini juga banyak robot canggih yang diberitakan memiliki fitur-fitur canggih, bahkan mirip seperti manusia. Robot yang demikian disebut humanoid.
Adapun, robot-robot humanoid yang sekarang ini banyak dikenal dunia antara lain.
 
1. ASIMO
ASIMO merupakan kepanjangan dari Advanced Step in Innovative MObility. ASIMO adalah salah satu robot humanoid(menyerupai manusia) yang dikembangkan oleh Honda. Robot ini mulai dikenalkan sejak 21 Oktober 2000, dengan maksud untuk menjadikan robot multifungsi. Robot ini diciptakan dengan tinggi 130 cm dan berat 54 kg.


Pada Asimo model tahun 2000an, Honda telah menambahkan banyak fitur yang memungkinkan Asimo dapat berinteraksi lebih baik dengan manusia. Fitur-fitur ini termasuk dalam 5 kategori:
1. Pengenalan benda bergerak
2. Pengenalan postur dan gerak
3. Pengenalan lingkungan
4. Membedakan suara
5. Pengenalan wajah


2. Nao
Nao (diucapkan seperti membaca kata 'now'), adalah salah satu robot humanoid yang dikembangkan oleh Aldebaran Robotic dengan bahasa pemrograman C++, Python, Java, MATLAB, Urbi, C dan .Net. Proyek pengembangan robot ini dimulai sejak tahun 2004 dan mulai dikenal publik pada tahun 2011 lalu. Didalam tubuh Nao dengan tinggi 58 cm dan berat 4,3 kg terdapat prosesor Intel Atom 1.6 GHz dengan sistem operasi Linux.


Nao juga memiliki fitur sistem multimedia yang powerful, termasuk empat mikrophone, dua speaker dan dua kamera CMOS, empat sintesis text-to-speech, lokalisasi suara dan pengenalan wajah dan bentuk, dan variasi kemampuan lainnya. Bahkan, kabarnya Nao sekarang bisa berbicara dalam 19 bahasa.


3. HRP-4C
HRP-4C, adalah robot humanoid yang diciptakan oleh National Institute of Advanced Industrial Science and Technology (AIST).
HRP-4C atau yang disebut dengan panggilan "Miim" ini terhitung memiliki tinggi 158 cm dan berat 43 kg.
Miim dapat berjalan layaknya manusia dengan menggerakkan 30 buah motor di dalamnya. Miim juga dapat merespon dan mengeja kata dengan software speech recognition, Selain itu Miim jugta bisa menyanyi juga lho. wow :D
Software yang menggerakkan robot dikembangkan dengan Open Robotics Platform (OpenRTP), OpenRTM-aist dan OpenHRP3.


Dalam demonstrasi publik yang diadakan pada 16 Maret 2009, HRP-4C dapat menunjukkan mimik wajah dan melakukan pergerakan kepala.

WOW, luar biasa bukan? sekarang bagaimana pendapat anda tentang masa depan? mari kita tunggu saja... ;)
Read more