Senin, 08 Juli 2019

Tugas Softskill 4 : Analisa Jurnal dengan Tema Komputasi Kuantum


Analisa Jurnal dengan Tema Komputasi Kuantum

Latar Belakang

Penggunaan komputer kini sudah semakin meluas dan telah menjadi bagian integral dari kehidupan manusia. Komputer digunakan untuk mencari nilai data pada database suatu perguruan tinggi, juga digunakan untuk memprediksi keadaan cuaca yang akan datang. Semua permasalahan ini hadir dengan data terkait yang harus di olah dan dijadikan suatu output yang dapat dipahami maknanya. Kini permasalahannya adalah data yang terkumpul demikian banyak. Data yang banyak tersebut harus mampu untuk diolah dengan efektif dan efisien sehingga dapat menghasilkan pengetahuan yang dibutuhkan. Untuk mengatasi masalah tersebut, optimasi terhadap proses komputasi ini terus dilakukan, salah satunya adalah menemukan algoritma yang mampu mengolah data dengan lebih cepat. Peneliti ingin mencoba membandingkan algoritma pencarian sequensial dan mengangkat salah satu algoritma quantum. Pada algoritma quantum, langkah penyelesaian masalah dan instruksi di implementasikan pada komputer quantum. Algoritma quantum memanfaatkan fitur-fitur dasar dari komputasi quantum seperti quantum superposition atau quantum entanglement. Menurut penelitian yang telah dilakukan, penggunaan fitur-fitur ini telah mampu mengoptimasi pemrosesan data, terutama pengolahan data besar. Pada makalah ini akan di paparkan beberapa algoritma quantum dan keunggulannya terhadap metode komputasi konvensional.

Metode

            Pada jurnal ini, peneliti membuat perbandingan antara pencarian dengan metode klasik yaitu menggunakan algoritma Sequential Search dengan metode yang lebih cepat  menggunakan algoritma quantum Grover. Dalam mengimplementasian algoritma Grover, peneliti tidak mencoba menurunkan algoritma grover secara simbolis, tapi mencoba memanfaatkan suatu tool yant telah disediakan oleh IBM yaitu IBM Quantum Computing Composer.

Analisis

Setelah melakukan percobaan dengan mengimplementasikan Algoritma Pencarian Grover dengan menggunakan composer Quantum Experience IBM, didapatkan hasil dimana yang dicari langsung ditemukan pada satu langkah saja, bahkan pada worstcase (untuk n=4). Sedangkan ketika dicoba lagi dengan mengulang percobaan sebanyak 1024 kali, didapatkan hasil pencarian tidak tepat 100%, namun sekitar 90%. Hal ini dapat disebabkan oleh hardware yang menjalankan algoritma terkait, yaitu komputer quantum yang menjalankannya. Hal ini sangat mungkin terjadi dilihat dari kompleksnya sistem di skala quantum serta kemungkinan miss akibat ketidakpastian yang ada.
Tentunya pada pengunaan quantum algorithm yang sebenarnya, daftar yang dicari akan berjumlah lebih dari empat item. Untuk melakukannya, algoritma mungkin mengulangi tiga operasi kuantum berkali-kali, menggeser sistem menuju state yang diinginkan setiap kali melewati loop. Apa yang membuat pencarian quantum begitu kuat adalah bahwa, untuk daftar N item, algoritma hanya membutuhkan sekitar akar kuadrat dari langkah N dibandingkan metode sequensialnya yang membutuhkan rata-rata N / 2 langkah dari pencarian. Sehingga komputer kuantum bisa melakukan pencarian pada buku telepon dengan satu juta nama hanya dengan 1.000 iterasi ketimbang 500.000 kali. Semakin panjang suatu daftar, semakin tampak keunggulan dari algoritma kuantum dibandingkan metode klasik.

Kesimpulan
Semakin kompleksnya permasalahan akibat banyaknya data yang harus diolah. Kini sudah tidak bisa lagi bergantung pada metode komputasi yang sudah ada (komputer konvensional) dibutuhkan metode komputasi yang lebih cepat. Untuk kasus pencarian algoritma quantum Grover dapat mengoptimasi pemecahan masalah pencarian. Dalam menghadapi kasus yang berbeda tentu dibutuhkan metode yang berbeda pula dalam penyelesaiannya, maka algoritma quantum lainnya dapat digunakan seperti Grover's Algorithm, Deutsch's Algorithm, Shor's Algorithm, Quantum Factoring, dsb. Tentu penggunaan algoritma ini tak terlepas dari terobosan baru berupa teknologi komputer quantum dan kekuatannya dalam melakukan komputasi.

Sumber
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=15&cad=rja&uact=8&ved=2ahUKEwjN9sjy26TjAhUq7XMBHd6-CTQ4ChAWMAR6BAgEEAI&url=http%3A%2F%2Finformatika.stei.itb.ac.id%2F~rinaldi.munir%2FMatdis%2F2016-2017%2FMakalah2016%2FMakalah-Matdis-2016-063.pdf&usg=AOvVaw0ajNe1WuvsYUOxHQ8AGhpn

Sabtu, 22 Juni 2019

TUGAS SOFTSKILL 3 : ANALISA 2 JURNAL MENGENAI PENGANTAR THREAD PROGRAMMING


ANALISA 2 JURNAL MENGENAI PENGANTAR THREAD PROGRAMMING

 
LATAR BELAKANG


Pengolahan citra digital memiliki peranan yang cukup penting dalam mengawal perkembangan teknologi komputer. Dewasa ini, citra digital memegang peranan cukup vital sebagai media yang sering digunakan oleh pengguna teknologi kkomputer, seperti handset dan digital camera yang dapat menghasilkan citra digital, dan teknologinya terus menerus dalam pengembangan. Beragam aplikasi komputer dapat digunakan untuk memanipulasi citra digital bertujuan untuk menghasilkan karya seni dan juga untuk kepentingan-kepentingan lain. 

Masing-masing citra digital memiliki ukuran file yang berbeda-beda tergantung dari panjang dan lebar citra. Semakin besar dimensi dan kedalaman warna dari suatu citra digital maka akan semakin mahal proses komputasi yang dilakukan. Salah satu indikator kerja proses komputasi citra digital dapat dilihat berdasarkan lamanya proses pengolahan citra. Pemrosesan yang lebih cepat sangatdiharapkan daripada pemrosesan yang lambat. Kecepatan pengolahan suatu citra menjadi topik penting mengingat pengolahannya sering dilakukan secara non-paralel.

Thread adalah unit terkecil dalam suatu proses yang bisa dijadwalkan oleh sistem operasi. Multi-threading merupakan salah satu teknik dalam pemrograman komputer yang bertujuan untuk membuat proses berjalan secara paralel (bersamaan). Dengan teknik ini, dapat dimungkinkan untuk membuat program komputer melakukan pekerjaan yang banyak dalam satu waktu. 

Kedua jurnal menggunakan multithreading sebagai salah satu jenis dari konsep pemrograman thread dalam menjalankan penelitiannya. Pada jurnal pertama, yang berjudul “Penerapan Multi-threading untuk Meningkatkan Kinerja Pengolahan Citra Digital” menggunakan metode multi-threading dalam pengolah citra digital. Sedangkan pada jurnal kedua yang berjudul “Implementasi Multi-threading Programming Concept untuk Efiensi Proses Steganografi Metode LSB” menggunakan metode yang sama yaitu multi-threading untuk proses efiensi steganografi.


METODE
Pada jurnal pertama menggunakan konsep pemrograman multithreading untuk meningkatkan kinerja pengolahan citra. Sedangkan pada jurnal kedua, menggunakan konsep pemrogaman multithreading pada proses steganografi dengan memanfaatkan bagian prosesor yang idle.


ANALISA
Pada jurnal pertama Perangkat lunak yang dihasilkan dalam penelitian ini dikembangkan dengan paradigma berorientasi obyek dengan bahasa pemrograman Java dalam IDE NetBeans dengan dua buah fitur utama yaitu pemrosesan secara singl-thread dan pemrosesan secara multi-thread maka dapat dilakukan pengujian untuk tiga buah sampel citra bahkan jika diperlukan jumlah sampel dapat diperbanyak lagi. Berdasarkan hasil pengujian perangkat lunak untuk rata-rata waktu proses seperti terlihat pada Tabel 1 menunjukkan teknik pemrograman multi-threading menghasilkan pemrosesan yang lebih cepat. Berdasarkan selisih waktu pemrosesan secara single-thread dengan multi-thread menunjukkan bahwa perbedaan waktu keduanya semakin signifikan untuk citra yang berukuran semakin besar. Hal ini disebabkan karena teknik pemrograman multi-threading dapat lebih mengoptimalkan kinerja prosesor terutama untuk komputer dengan prosesor ganda. 



Pada jurnal kedua, Aplikasi yang dikembangkan ini menggunakan Borland Delphi 7. Untuk menghitung lama proses, digunakan fungsi MilliSecondsBetween(). Setelah aplikasi dimodifikasi dengan menam-bahkan fitur multithread pada proses steganografi, maka diperoleh hasil sebagai berikut untuk penggunaan 3, 6 dan 9 thread (Gambar 4, 5 dan 6): 





Dari hasil percobaan yang dilakukan terhadap kelima file di atas, dapat dilihat bahwa semakin banyak thread yang digunakan maka semakin singkat waktu yang dibutuhkan untuk proses steganografi. Hal ini ditunjukkan dengan selisih waktu yang dibutuhkan yaitu antara 438 dan 8.568 milliseconds. 


KESIMPULAN

Kedua jurnal membahas mengenai salah satu jenis thread programming yaitu multithread programming. Teknik pemrograman multithreading dapat mempercepat proses pengolahan citra terutama untuk citra dengan ukuran besar.





SUMBER:

 

Minggu, 21 April 2019

TUGAS SOFTSKILL PENGANTAR KOMPUTASI MODERN 2

Review NoSQL


Latar Belakang
Pada setiap aplikasi yang dibangun oleh developer tidak akan lepas dari peran database. Database atau basis data sendiri adalah kumpulan data yang disimpan secara sistematis di dalam komputer yang dapat diolah maupun direkayasa menggunakan perangkat lunak untuk menghasilkan informasi. Basis data merupakan aspek yang sangat penting dalam sistem informasi dimana basis data merupakan gudang penyimpanan data yang akan diolah lebih lanjut. Basis data menjadi penting karena dapat mengorganisasi data, menghidari duplikasi data, hubungan antar data yang tidak jelas dan juga update yang rumit. Dan beberapa sistem yang telah ada masih mengadopsi cara kerja single-tenant database. Cara kerja seperti ini cenderung akan membatasi proses bisnis yang akan berkembang kedepannya.
Perencanaan sumber daya perusahaan, atau sering disingkat ERP dari istilah bahasa Inggris-nya Enterprise Resource Planning, adalah sistem informasi yang diperuntukkan bagi perusahan manufaktur maupun jasa yang berperan mengintegrasikan dan mengotomasikan proses bisnis yang berhubungan dengan aspek operasi, produksi maupun distribusi di perusahaan bersangkutan.
Ritel/eceran atau disebut pula retail dalam bahasa inggris adalah salah satu cara pemasaran produk meliputi semua aktivitas yang melibatkan penjualan barang secara langsung ke konsumen akhir untuk penggunaan pribadi dan bukan bisnis. Jadi ERP Retail merupakan sebuah sistem informasi yang menangani kebuhan perusahaan dalam hal pemasaran produk termasuk penjualan barang hingga sampai ke konsumen.
Isi dari makalah ini adalah membandingkan antara database relational (SQL) dengan database non-relational (NoSQL) dalam hal performance, flexibility, dan scalability. Setelah terbukti database mana yang lebih unggul dari keduanya maka akan diterapkan untuk aplikasi ERP Retail yang berorientasikan multitenancy. Dengan begitu diharapkan ERP Retail yang dibangun akan memiliki performa yang optimal dalam hal store data. Juga menjadikan aplikasi yang bersifat fleksibel agar mampu mensuport penyimpanan data yang dinamis berdasarkan skema setiap tenant, dan perkembangan proses bisnis yang akan selalu berkembang kedepannya. Dan menjadi aplikasi yang scalable dalam artian mampu mengatasi jumlah data yang selalu berkembang dengan distributed database.
Metode
            Metode yang digunakan oleh penulis adalah dengan melakukan pengujian fleksibilitas yang dilakukan dengan memasukkan beberapa data berbeda yang membentuk skema dalam database.
Analisis
            Isi dari makalah ini adalah membandingkan antara database relational (SQL) dengan database non-relational (NoSQL) dalam hal performance, flexibility, dan scalability. Setelah terbukti database mana yang lebih unggul dari keduanya maka akan diterapkan untuk aplikasi ERP Retail yang berorientasikan multitenancy.
Uji coba pada Query Insert


Uji coba pada Join/Agregasi


Uji coba pada Select


Uji coba pada Delete


Uji coba pada Update


Kelebihan dan Kekurangan
Kelebihan NoSQL di banding Relasional Database
a.       NoSQL bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala besar (big data/cloud).
b.      Menggunakan OOP dalam pengaksesan atau manipulasi datanya.
c.       NoSQL tidak mengenal schema tabel yang kaku dengan format data yang kaku. NoSQL sangat cocok untuk data yang tidak terstruktur, istilah singkat untuk fitur ini adalah Dynamic Schema.
d.      Autosharding, istilah sederhananya, jika database noSQL di jalankandi cluster server (multiple server) maka data akan tersebar secara otomatis dan merata keseluruh server.

Kekurangan dari database NoSQL
a.       Hostingnya mahal, beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting database noSQL. Selain itu, saya belum pernah menemukan hosting Cpanel yang mendukung database MongoDB atau database noSQL lainnya.
b.      Perlu waktu untuk belajar. Contohnya ketika anda pindah dari MongoDB ke Cassandra, maka anda harus belajar lagi dari awal, berbeda dengan database RDMS.
Kesimpulan
            Database NoSQL terbukti unggul dalam proses transaksi CRUD daripada SQL dengan jumlah selisih runtime insert 0,167, select 0,009, update 0,44, delete 0,056. Namun lemah untuk menghadapi transaksi join/agregasi dengan jumlah selisih runtime 0,039. Database NoSQL mampu memenuhi kebutuhan aplikasi ERP Retail yang bisa mensupport perbedaan skema dari setiap tenant dan mengikuti perkembangan proses bisnis kedepannya. Database NoSQL bersifat scalable dibuktikan dengan mendistribusikan 1000 data raw ke dua shard (shard1 dan shard2).

Sumber: