Program Sederhana Python dengan Fungsi

[Hari|Matkul|Jur|Dosen: Rabu.29.04.2020|Logika-prt.7|AK|Rahmadya,PhD]

Jika pada pertemuan yang lalu program menggunakan input, proses dan output seperti biasa, pada pertemuan kali ini menggunakan sebuah fungsi. Setelah data diterima, fungsi dipanggil untuk memproses data tersebut. Hasilnya ditampilkan lewat perintah print.

print(" ———Toko Amanah Jaya———")
def total(harga,jumlah):
"""fungsi untuk menghitung Total bayar"""
return harga*jumlah
#input data
harga= int(input("masukan harga barang: "))
jumlah= int(input("masukan jumlah baju yang dibeli: "))
Total=total(harga,jumlah)
#diskon 5% tiap pembelian di atas Rp.100rb
if Total>100000:
Total=Total-0.05*Total
print("Total Harga = ", "Rp.",Total)
Bayar=int(input("Jumlah Nominal Uang =" ))
Kembalian= (Bayar-Total)
print("Uang Kembalian = ", "Rp.",Kembalian)

Baris kedua sampai keempat menunjukan fungsi perhitungan total yang harus dibayarkan. Kata kunci yang menyatakan sebuah fungsi adalah def dilanjutkan dengan tab segai indikator bahwa statemen tersebut adalah fungsi. Pada baris ke-10 dan ke-11 diperkenalkan cara menggunakan if untuk pengecekan kondisi tertentu, misalnya apa perlu diberi diskon atau tidak.

Untuk jelasnya dapat dilihat pada link berikut ini. Lihat postingan berikutnya tentang memanggil fungsi eksternal (file lain). Sekian, semoga bermanfaat.

Iklan

Menggunakan Graphics Processing Unit (GPU) Google Colab

Google Colab selain menyediakan Integrated Development Environment (IDE) yang diserta kompiler Python juga menyediakan CPU dan GPU-nya. Untuk membuktikannya Google Colab memberikan link tersendiri di sini.

Jika langsung dijalankan sel pertama akan muncul pesan kesalahan sebagai berikut.

Hal ini terjadi karena kita belum mengeset accelerator GPU. Pilih accelerator dengan masuk ke menu Edit Notebook Setting.

Berikutnya Anda diminta memilih acceleratornya. Ada dua pilihan: 1) Graphics Processing Unit (GPU) dan 2) Tensor Processing Unit (TPU). Pilih saja sesuai pokok bahasan kita yaitu GPU.

JIka dijalankan sel pertama program contoh pengaksesan GPU akan muncul keluaran sebagai berikut yang memastikan bahwa GPU ditemukan.

Jalankan sel berikutnya yang menguji kecepatan tensorflow menggunakan CPU dan GPU. Pastikan tidak ada error.

Perhatikan kecepatan eksekusi menggunakan GPU yang lebih cepat kira-kira 20 kali lebih dari CPU. Sekian semoga membuat tertarik memanfaatkan hardware GPU Google.

Django, Flask dan Jinja2 Untuk Python di Web

Biasanya programer Python menggunakan fasilitas Graphic User Interface (GUI) dari library Tkinter (lihat post yang lalu). Namun tren aplikasi berbasis web membuat programer Python membuat aplikasi berbasis web. Postingan ini menggambarkan bagaimana program Python bekerja di web. Pertama-tama yang dibutuhkan adalah donwload library. Di sini saya menggunakan cara tergampang, yaitu dari Anaconda Navigator

Untuk pembuatan aplikasi web skala besar, gunakan Django dengan fasilitas framework-nya yang lengkap. Caranya sama untuk mengunduh librarynya lewat Anaconda Navigator. Pastikan library tersebut terinstal di Anaconda agar nanti bisa digunakan di Jupyter Notebook lewat instruksi import.

Django Atau Flask? Jinja2 untuk Apa?

Sesuai dengan fungsinya, jika ingin membuat aplikasi besar gunakan saja Django. Tetapi untuk aplikasi ringan, flask lebih cepat. Bagaimana dengan Jinja2? Fungsi Jinja2 memang berbeda dengan Django dan Flask. Aplikasi ini berfungsi untuk membuat template yang nanti muncul di browser. Jika sudah ok, template tersebut dapat diterapkan baik di Django maupun Flask. Walaupun Django bisa juga untuk merancang template tetapi dengan Jinja2 programmer lebih senang karena cepat karena tidak membutuhkan fasilitas-fasilitas lain Django yang tidak ada hubungannya dengan template.

Mencoba Flask

Untuk membuat Python web dengan Flask kita harus memiliki template HTML. Gunakan template berikut ini.

Beri nama template.html, silahkan gunakan editor, misalnya notepad. Jangan lupa ekstensi harus html bukan txt. Buat folder baru di direktori Python, beri nama template. Posisi file kira-kira seperti ini. Dimana folder templates harus disediakan, berisi file HTML (lihat refernsi ini). Silahkan isi requirement.txt atau dengan nama lain misalnya readme.txt. Atau tidak ada juga tidak apa-apa karena hanya berisi penjelasan program.

Letakan template.html di folder tersebut. Sementara itu program utama tetap di direktori Python. Gunakan kode berikut.

  • from flask import Flask, render_template
  • app = Flask(__name__)
  • @app.route(“/”)
  • def template_test():
  • return render_template(‘template.html’, my_string=”Wheeeee!”, my_list=[0,1,2,3,4,5])
  • if __name__ == ‘__main__’:
  • app.run(debug=True)

Masuk ke Terminal dan jalankan dengan mengetik.

  • python run.py

Anda harus berhasil melihat hasilnya di http://127.0.0.1:5000 seperti instruksi di terminal. Di sini maksudnya kita diminta melihat localhost dengan port 5000, port yang diberikan oleh flask untuk mengakses via browser.

Silahkan lihat referensi di bawah untuk melihat bagaimana Jinja2 bekerja pada template. Di atas digunakan Flask, bisa juga dengan Django. Python saat ini sangat kuat dalam komputasi yang bekerja di back-end misalnya untuk mesin pembelajaran, dengan aplikasinya bisa jalan juga di web, berarti bahasa ini sangat diminati karena bisa bekerja selain di back-end maupun front-end, mengungguli bahasa-bahasa komputasi lainnya (lihat post yang lalu tentang tren bahasa pemrograman).

Referensi: https://realpython.com/primer-on-jinja-templating/

 

Tren Bahasa Pemrograman

Untuk adik-adik yang baru mulai bahasa pemrograman, ada baiknya mengikuti tren yang ada saat ini. Tren ini berkaitan dengan permintaan akan keahlian tersebut. Tren yang tinggi berarti permintaan terhadap skill tersebut saat ini juga tinggi.

Namun untuk mengetahui tren bahasa pemrograman, ada baiknya mengetahui karakteristik bahasa pemrograman karena fungsi bahasa pemrograman sangat beragam. Pada umumnya dikenal bahasa pemrograman untuk saintis atau biasanya disebut back-end, seperti python, c++, java, matlab, dll dan bahasa front-end yang fokus ke interface seperti php, javascript, dan sejenisnya. Namun saat ini tren pemrograman mobile cukup tinggi, dengan beberapa bahasa pendukung yaitu java, kotlin, dan lain-lain. Tentu saja ada juga bahasa yang multifungsi, seperti java yang fleksibel.

Survey Google

Untuk mengetahui tren suatu bahasa, cara termudah adalah mencarinya lewat situs pencari terkenal saat ini yaitu Google. Silahkan akses situs http://trends.google.com untuk melihat tren segala hal, salah satunya adalah tren bahasa pemrograman.

Bahasa Komputasi Teknis

Komputasi teknis di sini maksudnya bahasa untuk melakukan komputasi matematis dimana proses kalkulasi dilakukan lewat bahasa ini. Java, Python, C dan Matlab masih dibutuhkan hingga saat ini. Tetapi terjadi proses perubahan dimana Python saat ini paling diminati.

Perhatikan dari tahun 2004 dimana Java masih diminati, mengikuti perjalanan waktu hingga saat ini, tren tertinggi mulai digeser oleh Python. Hal ini mungkin yang membuat Google mendukung bahasa ini lewat Google Colab (http://colab.research.google.com).

Bahasa Front-End

Bahasa jenis ini merupakan bahasa yang menghubungkan manusia/user dengan mesin komputasi. Biasanya adalah web dan mobile. Untuk desktop sepertinya sudah mulai jarang digunakan. Bahasa ini antara lain PHP, Kotlin, Rust, dan C#. Bagaimana tren-nya? Kita buka kembali Google Trends.

Bahasa PHP cukup turun drastis tren-nya sejak tahun 2004. Sementara javascript masih tetap bertahan. Namun uniknya bahasa untuk web ini masih paling diminati jika kita mensortir untuk wilayah Indonesia.

Sebaiknya kuasai bahasa yang cukup abadi seperti Java, dan yang sedang tren yaitu python. PHP masih layak karena di Indonesia masih dibutuhkan. Bahasa untuk mobile juga layak dikuasai. Tapi sebenarnya jika kita mampu berfikir komputatif (computational thinking) bahasa apapun terasa mudah. Sekian, semoga bermanfaat.

Program Sederhana Python dengan Google Interactive Notebook (Google Colab)

[Hari|Matkul|Jur|Dosen: Rabu.22.04.2020|Logika-Prt.6|AK|Rahmadya,PhD]

Bahasa Python kian digemari karena sederhana dan cepat. Beberapa perusahaan besar sudah menerapkan bahasa ini, salah satunya adalah Google yang memberikan fasilitas bahasa pemrograman Python online lewat Google Interactive Notebook (http://colab.research.google.com). Selain menyediakan fasilitas bahasa tersebut, Google Colab juga menyediakan tiga jenis prosesor handalnya untuk keperluan mesin pembelajaran (machine learning) yaitu: Central Processing Unit (CPU), Graphic Processing Unit (GPU) dan Tensor Processing Unit (TPU). Berikut cara mencobanya.

Pertama-tama masuk ke situs Google Colab yang sudah disebutkan di atas. Jangan lupa kita harus punya login Gmail (gmail. Com atau ac.id yang berbasis Gmail). Berikutnya cancel/tutup jika Ada perinta mencari file notebook karena memang kita baru mulai.

Masuk ke File – New Notebook. Di bagian atas ada tulisan Untitled0.ipynb yang merupakan file program yang akan tersimpan di Google (berlokasi di Google Drive). Isi sel dengan kode program pembelian barang berikut ini.


print(" ——Toko Amanah Jaya———-")
#input data
harga= int(input("masukan harga barang: "))
jumlah= int(input("masukan jumlah baju yang dibeli: "))
Total=harga*jumlah
print("Total Harga = ", "Rp.",Total)
Bayar=int(input("Jumlah Nominal Uang =" ))
Kembalian= (Bayar-Total)
print("Uang Kembalian = ", "Rp.",Kembalian)

Jalankan dan pastikan akan muncul proses interaktif memasukan data dan memproses pembayaran. Oiya, kalo copas tanda ” harus diketik ulang karena dianggap bukan tanda petik di Google Colab. Hasilnya sebagai berikut.

SIlahkan lihat video berikut untuk lebih jelasnya. Sekian, semoga bermanfaat.

Referensi:

Situs Coding: https://www.codepolitan.com/belajar-membuat-aplikasi-sederhana-dengan-python-3-7-4

Cross Validation dengan Scikit-Learning Python

Selain dengan membagi data latih dengan data validasi/testing dengan proporsi tertentu misalnya 70/30 (lihat pos terdahulu untuk split data), teknik lain yang terkenal dan sangat dianjurkan adalah validasi silang (cross validation). Metode ini mirip split data tetapi dengan mentraining ulang data latih yang dirubah menjadi data testing dan sebaliknya. Dikenal dengan istilah K-Fold Cross Validation dengan K berarti jumlah sub pelatihannya. Perhatikan 5 data grup pelatihan pada 5-Fold Cross Validation berikut.

Masing-masing grup split terdiri dari 4 data latih dan 1 data uji yang berwarna biru. Bagaimana dengan akurasinya? Mudah saja. Kita tinggal merata-ratakan berapa akurasi tiap pelatihan.

Menggunakan Jupyter Notebook/Google Colab

Berikutnya kita coba menggunakan data latih bawaan Scikit-Learning. Gunakan kode berikut yang diambil dari situs resminya ini.

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn import datasets
from sklearn import svm
X, y = datasets.load_iris(return_X_y=True)
from sklearn.model_selection import cross_val_score
clf = svm.SVC(kernel='linear', C=1)
scores = cross_val_score(clf, X, y, cv=5)
scores

Perhatikan baris terakhir yang memangil fungsi cross validation dengan cv=5. Jalankan maka anda akan memperoleh akurasinya. Di sini diambil contoh menggunakan SVM. Berikut tampilan dengan menggunakan Google Colab.

Jika dirata-rata akurasinya adalah (0.967 + 1 + 0.967 + 0.967 + 1)/5 sekitar 0.98 (98%) yang berarti sangat akurat dengan lima kali cek akurasi dengan 5 grup split data berbeda.  Untuk Cross Validation pada Jaringan Syaraf Tiruan silahkan lihat video di bawah. Sekian, semoga bermanfaat.

Membuat Kelas Online di Google Classroom

Google selain mesin pencari, email, dan tempat penyimpanan, bisa juga untuk pembuatan kode program dengan bahasa Python (lihat pos tentang Google Colab). Namun ternyata mampu juga mendukung pembelajaran online lewat Google Classroom, bahkan pemerintah menganjurkan untuk menggunakan fasilitas ini (lihat post sebelumnya).

Membuat Kelas Online

Pertama-tama Anda wajib menggunakan Gmail, sebaiknya Gmail pendidikan (berekstensi ‘ac.id’) agar bisa terintegrasi dengan Google Meet. Masuk ke Situs Google Classroom terlebih dahulu.

Di sini sebaiknya jangan menggunakan akun gmail.com gratisan seperti contoh saya tersebut. Gunakan saja yang pendidikan (‘ac.id’). Setelah “sign up” dengan cara yang kilat di atas, lanjut membuat satu kelas yang kita miliki pada pilihan Create Class (khusus pengajar, mahasiswa tinggal memasukan kode kelas di pilihan ‘Join Class’).

Setelah menekan Continue di Notice yang muncul sebelum memulai, kita langsung memberi nama kelas, section, subject, dll.

Memulai Google Classroom

Setelah mengisi dan menekan Create maka kelas sudah kita buat, mudah sekali ternyata. Bagaimana cara mahasiswa ikut kelas kita? Ternyata kita tidak perlu memasukan satu persatu. Klik di bagian Class Code, di bagian atasnya maka akan muncul kode kelas. Nah kode kelas inilah yang dishare ke mahasiswa kita.

Jika sudah masuk ke Classwork untuk memulai pembelajaran. Ada beberapa pilihan yaitu Assignment, Quiz Assignment, Question, Materials, dan lain-lain.

Mengeset Ujian/Quiz

Sebagai contoh, misalnya kita akan membuat Assignment atau ujian dalam bahasa Indonesia, bisa UTS, UAS, atau susulan.

Beri judul dan instruksi pengerjaan agar mahasiswa/siswa bisa mengikuti arahan soal yang ingin diikuti.

Di bagian bawah tampak tombol Add yang digunakan untuk meng-upload soal ujiannya.

Terakhir Anda tinggal menunggu siswa yang mengerjakan soal-soal tersebut dan mengupload jawabannya. Berikut tampilan siswa yang selesai mengupload tugas-tugas. Bentuknya sangat mudah dibuka sehingga proses pengoreksian bisa lebih cepat. Jika ingin membuat soal pilihan berganda, bisa coba gunakan Google Form, tetapi kelemahannya tidak ada waktu pengerjaan, silahkan gunakan fasilitas lain, misalnya Kahoot!! (lihat post terdahulu) yang bisa menggunakan waktu yang ketat agar mahasiswa tidak sempat menyontek atau meng-capture soal untuk disebarkan ke rekan-rekannya.

Update 20 April 2020

Jika Anda menggunakan gmail berformat ac.id maka mahasiswa harus ac.id juga. Siswa komplain ke saya kalau dia tidak bisa masuk, ternyata harus ac.id, kecuala teacher menggunakan gmail.com untuk membuat google classroom.

Yuk, Menggunakan Google Classroom

Saat tulisan ini dibuat, wabah COVID-19 mulai membesar, bahkan di tempat saya, Bekasi, sudah diberlakukan Pembatasan Sosial Berskala Besar (PSBB). Entah mengapa saya tidak suka dengan istilah COVID-19, terutama angka di belakangnya, seolah-olah nanti ada COVID-20, COVID-21, dan seterusnya, repot dah.

Wabah COVID-19 memaksa institusi memanfaatkan metode pembelajaran online. Repotnya tidak semua kampus atau sekolah siap dengan infrastruktur pembelajaran online. Nah, untungnya saat ini banyak fasilitas-fasilitas yang tersedia dan tidak berbayar yang bisa digunakan sebagai tools pembelajaran online baik dalam bentuk kuliah online, ujian online, maupun pembelajaran online. Salah satu yang cukup ampuh dan secara official resmi diperkenalkan oleh Kemendikbud adalah Google Classroom yang dapat diakses di situs: https://classroom.google.com. Berikut surat resminya.

Bahkan saat ini Google Classroom sudah terintegrasi dengan Google Meet untuk kuliah online. Asalkan Gmail Anda bukan @gmail.com bisa memulai Google Meet, misalnya email dengan “ac.id” buatan google berikut ini.

Untuk bagaimana mennggunakannya silahkan lanjut ke post berikutnya.

Membuat Soal Ujian dengan Kahoot

Saat wabah Corona seperti saat tulisan ini dibuat, aplikasi-aplikasi online menjadi primadona, baik itu pembelajaran streaming online, e-learning, maupun ujian. Salah satu aplikasi yang kita bahas di postingan ini adalah aplikasi untuk ujian online dengan aplikasi yang dipilih KAHOOT !.

Mendaftar Kahoot (Sign Up)

Kahoot bisa diakses di www.kahoot.com dengan login bisa langsung lewat Gmail. Atau bisa juga dengan memasukan alamat email dan passwordnya untuk sign up jika Anda belum punya akun kahoot.

Ada paket berbayar, tapi jangan khawatir, tersedia juga paket yang gratis. Klik saja di bagian “get basic for free” yang kecil di bawah. Setelah itu Anda siap menggunakan Kahoot.

Berikutnya ada data yang harus diisi, misalnya nama universitas tempat Anda mencari sesuap nasi (khusus dosen) atau tempat Anda berpusing-pusing ria (khusus mahasiswa).

Membuat Quiz

Tekan Create di bagian kanan atas untuk membuat quiz baru.

Tekan create new kahoot di bagian tengah di jendela yang baru muncul. Selanjutnya ada bagian soal, bagian jawaban, dan bagian navigasi.

Ada pilihan waktu untuk menjawab tiap soal, misalnya 10 detik, 20 detik dan seterusnya. Tinggal klik tidak perlu mengetik waktu tersebut.

Tekan Add question di bagian navigasi untuk menambah soal baru. Jika sudah selesai tekan Done di bagian kanan atas. Selanjutnya Anda siap menjalankan quiz tersebut.

Menjalankan Quiz

Ada dua pilihan Quiz, kontes bareng-bareng atau seperti ujian masing-masing siswa mengerjakan sendiri-sendiri. Jika di dalam kelas, lebih seru menggunakan kontes. Tetapi jika saat masa “work from home” tidak ada kelas di kampus, bisa menggunakan pilihan Assign.

Untuk ujian ada baiknya dengan assign karena tidak memakan bandwidth besar akibat “streaming online” lewat zoom, google meet, dll. Akibatnya jika si dosen lepas sinyalnya, maka permainan jadi kacau.

Membuat Skenario Ujian Online

Setelah memilih assign maka dosen akan mengeset jadwal ujian yang sebaiknya ketat dan dalam waktu bersamaan agar si mahasiswa tidak membocorkan soal. Karena bisa jadi siswa meng-capture soal ujian dan disebarkan ke teman-temannya.

Misalnya ada 10 soal, per soal 20 detik, maka ada kira-kira 200 detik (3 menitan) jika dia langsung next ke soal berikut. Untuk jaga-jaga siswa tidak langsung ke soal berikutnya, ambil jeda kira-kira 30 detik per soal, maka butuh waktu 200 detik + 300 detik = 500 detik (9 menit).

Misal rencananya quiz hari ini, hari minggu, dan akan ditutup jam 10 malam. Untuk menghindari kebocoran soal, kabari saja siswa siap-siap di depan laptop/hp jam tertentu. Create saja quiz di date = minggu, time= 9.45 (untuk jaga2 sekitar 5 menit), dan ketika di share, siswa harus segera menjawab karena jam 10.00 (lihat isian di atas) quiz ditutup (ujian berakhir). Jadi tidak ada peluang siswa meng-capture soal dan membocorkannya.

Berikutnya Anda tinggal share link (challenge link) atau PIN yang diakses lewat www.kahoot.it. Misal kita beri nama peserta quiz “testing”. Tekan Ok, go !

Tampilan soal seperti di bawah ini sebagai gambaran. Jika jawaban salah muncul sebagai berikut.

Jawabannya dikumpulkan secara otomatis dan dapat dilihat langsung skornya. Klik Report di atas dan pilih quiz yang ada. Jika “in progress” berarti quiz masih menunggu jawaban/belum ditutup, jika sudah ditutup muncul tanggal pelaksanaannya.

Tampak skor “Testing” dengan jawaban benar 6 dan salah 4. Total score berdasarkan hitungan Kahoot yang memperhitungkan kecepatan menjawab, selain jawaban yang benar. Sekian semoga bermanfaat.

Update 12 Nov 2021

Ada sedikit masalah, ternyata untuk yang free max ujian/lesson 10 peserta saja. Akhirnya saya beralih ke Quizziz yang bisa sampai 25 orang.

Membagi Data Latih dan Uji Secara Otomatis Pada Python

Sebenarnya menggunakan data yang kita ambil sekaligus menjadi data latih dan uji tidak diperkenankan. Namun permasalahan itu dapat diselesaikan dengan membagi data yang kita peroleh menjadi data latih dan data uji, misalnya dengan proporsi 70% untuk data latih dan sisanya 30% untuk data uji. Di sini istilah data uji pun kurang pas, yang pas adalah data validasi, mengingat data uji seharusnya diambil dari data di luar data yang kita kumpulkan, dan seharusnya data terkini yang baru saja diambil di luar data latih dan validasi.

Mengapa harus memisahkan data latih dengan data uji? Jawabannya adalah menghindari terjadinya overfitting, yaitu suatu kondisi pelatihan yang hasil uji terhadap data yang dilatih sangat bagus tetapi diuji oleh data lain yang tidak digunakan dalam pelatihan sangat buruk. Overfitting terjadi karena kegagalan model dalam proses generalisasi.

Split Data dengan Skicit-Learning

Python menyediakan satu library terkenal bernama Skicit-Learning yang berisi metode-metode mesin pembelajaran dalam proses regresi, klasifikasi, pengolahan data, dan lain-lain. Fungsi yang disediakan adalah train_test_split dengan parameter berupa proporsi data untuk pengujian. Skicit-Learning atau disingkat Sklearn menyediakan juga sampel data untuk uji coba metode-metode yang ada. Kode berikut membagi data irish menjadi 60% data latih dan 40% data uji. Gunakan Jupyter Notebook atau Google Colab untuk mencoba kode berikut.

  • import numpy as np
  • from sklearn.model_selection import train_test_split
  • from sklearn import datasets
  • from sklearn import svm
  • X, y = datasets.load_iris(return_X_y=True)
  • X.shape, y.shape
  • X_train, X_test, y_train, y_test = train_test_split(
  • X, y, test_size=0.4, random_state=0)
  • X_train.shape, y_train.shape
  • X_test.shape, y_test.shape
  • clf = svm.SVC(kernel=’linear’, C=1).fit(X_train, y_train)
  • clf.score(X_test, y_test)

Contoh di atas menggunakan Support Vector Machine (SVM) dalam melatih model dan mengujinya. Hasil tampil lewat fungsi score.

Tampak akurasi yang dihasilkan sebesar 96,7% ketika diuji dengan data tes sebanyak 40% (test_size=0.4 di kode di atas). Sekian dan semoga bisa sedikit membantu.

Source: scikit-learn.org/stable/modules/cross_validation.html#cross-validation

Membuat Multiple Plot dengan Python

Multiplot menggunakan prinsip subplot di Python. Mirip dengan pada Matlab (lihat pos terdahulu). Ketika akan membuat multiplot, fungsi “subplot” diperlukan dengan format berapa baris dan berapa kolom yang dibutuhkan.

Misalnya kita ingin menggunakan dua buah subplot dalam satu tampilan grafik, atas dan bawah, maka berarti ukuran yang diperlukan adalah dua baris dan satu kolom (2 x 1). Jadi subplot pertama didefinisikan sebagai (2,1,1) dan yang kedua (2,1,2). Sangat mirip dengan Matlab. Sebagai contoh kita ambil dari situs resmi “matplotlib” ini.

  • import numpy as np
  • import matplotlib.pyplot as plt
  • x1 = np.linspace(0.0, 5.0)
  • x2 = np.linspace(0.0, 2.0)
  • y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
  • y2 = np.cos(2 * np.pi * x2)
  • plt.subplot(2, 1, 1)
  • plt.plot(x1, y1, ‘o-‘)
  • plt.title(‘A tale of 2 subplots’)
  • plt.ylabel(‘Damped oscillation’)
  • plt.subplot(2, 1, 2)
  • plt.plot(x2, y2, ‘.-‘)
  • plt.xlabel(‘time (s)’)
  • plt.ylabel(‘Undamped’)
  • plt.show()

Subplot paling atas, yaitu plot.subplot(2,1,1), berisi fungsi y1 sementara yang bawahnya plt.subplot(2,1,2), menampilkan fungsi y2. Untuk mengujinya silahkan gunakan Google Colab atau Jupyter Notebook.

Mengecek Apakah Artikel Kita Terindeks Web of Science dari Publons

Ada dua pengindeks terkenal di dunia saat ini yaitu Scopus dan Web of Science (WoS). Kedua-duanya merupakan pengindeks yang masuk perhitungan skor Sinta Ristekdikti/BRIN. Untuk Scopus (lihat link ini) sudah banyak yang mengetahui. Untuk WoS akan kita bahas di postingan ini.

A. PUBLONS

Pertanyaan pertama seperti biasa apakah situsnya berbayar atau tidak. Jawabannya ada dua, mirip Scopus, ada yang gratis ada yang bayar. Jika ingin membuat ID WoS cukup daftar saja ke situs berikut ini untuk memperoleh ID WoS. Lihat post terdahulu tentang WoS. Sedikit berbeda dengan Scopus yang harus punya tulisan terlebih dahulu tetapi untuk publons tidak perlu punya tulisan yang terindeks WoS. Hal ini sangat meringankan karena untuk terindeks WoS cukup sulit.

B. MENAMBAH DAFTAR ARTIKEL KE PUBLONS

Biasanya ketika tulisan kita terindeks di WoS maka secara otomatis akan terambil di akun publons kita. Namun bisa saja kita menambahkan secara manual artikel-artikel kita. Bukan saja artikel yang terindeks WoS, tetapi artikel-artikel lain yang diindeks oleh Scopus bisa ditambahkan. Jadi ketika seseorang mengklaim ada tulisannya di WoS lewat publons tentu saja belum tentu terindeks Web of Science.

C. MENGECEK TULISAN TERINDEKS WEB OF SCIENCE

Sebenarnya cara mudah untuk mengetahui apakah tulisan terindeks WoS adalah dengan masuk ke link Web of Science langsung di sini. Hanya saja harus punya akun, dan tentu saja bayar.

Bagaimana jika tidak punya akun WoS? Caranya bisa dengan melihat artikel-artikel yang ada di publons kita. Biasanya artikel yang tidak dimasukan secara manual merupakan artikel yang terindeks di WoS. Ciri-ciri jika terindeks WoS tampak di artikel tersebut (di bagian kanan). Jika ada tulisan “WOS” maka berarti terindeks di WoS. Jika mouse diarahkan di tulisan WOS muncul tulisan “Indexed in Web of Science Core Collection“. Perhatikan di bawah ini, satu tulisan terindeks di Web of Science tetapi yang lainnya tidak.

Cara lain adalah lewat akun Sinta kita. Jika dicek daftar publikasi ada di list WoS maka akan muncul grafiknya. Jika ingin melihat, tekan “WoS document” di sebelah kiri “research. Berbeda dengan Scopus yang bisa direfresh oleh verifikator Sinta di masing-masing kampus, WoS sangat mengandalkan admin Sinta di pusat. Sekian semoga bisa membantu.

Membuat Grafik Deret Waktu Pada Matlab

Matlab cukup baik membuat grafik/plot standar jurnal dibanding pengolah data standar seperti Excel. Namun terkadang data yang ingin dibuat grafiknya berupa deret waktu (time series). Misalnya kita punya data seperti ini.

Misalnya data tersebut di atas adalah bulan Maret 2020. Bagaimana cara membuat Plot nya? Sebelumnya mudah saja menggunakan fungsi “plot” untuk data biasa non tipe “date”. Untuk data “date” gunakan fungsi “datetime” untuk mengkonversi tanggal tabel di atas menjadi data tanggal sesungguhnya.

Perhatikan penggunaan “datetime” dimana data sebelumnya ditambahkan dengan tanggal. Coba buat plotnya dengan fungsi “plot” dan pastikan sumbu axis sudah berupa tanggal/deret waktu.

  • >> plot(x,data(:,2),’*’)
  • >> hold
  • Current plot held
  • >> plot(x,data(:,2),’-‘)