22 September 2017

Pengenalan Sage

Softcopy makalah "Kriptografi dan Implementasinya Menggunakan Sagemath"dapat di download di sini : https://app.box.com/s/e69kumvcbfjvtcs2gsmsr7cy188nl8y6

SageMath adalah perangkat lunak matematika yang bersifat open source dan gratis yang berlisensi di bawah GNU Public License (GPL). SageMath menggabungkan sekitar 100 paket open source dengan jumlah kode program yang sangat besar untuk menyediakan platform open source gratis dalam perhitungan matematis. 2.1 Tentang SageMath Proyek pembuatan SageMath dimulai pada awal tahun 2005. SageMath dibuat dengan tujuan agar pengguna bisa melihat seperti apa program yang digunakan berjalan yaitu dengan melihat source code-nya. Banyak aplikasi matematika yang bersifat komersial, akan tetapi kita tidak bisa melihat isi source code yang digunakannya sehingga kita tidak dapat mengetahui bagaimana aplikasi tersebut berjalan. Sedangkan untuk matematika, kita harus mengetahui secara pasti bagaimana sebuah sistem bekerja.

SageMath dibuat dengan bahasa pemrogramanan yang mainstream, tidak seperti aplikasi matematika yang lain seperti Maple, Mathematica, dan Matlab, yang masing-masing menggunakan bahasa khusus yang ditulis hanya untuk matematika. SageMath dibuat dengan menggunakan Python (Python 2.x), yang merupakan salah satu bahasa pemrograman populer di dunia. Dengan menggunakan Python, seseorang bisa menggunakan hampir semua yang ditulis dengan Python langsung di SageMath. Daripada membuat banyak library untuk SageMath, lebih baik kita menggunakan library yang sudah dibuat dengan Python untuk diimplementasikan pada SageMath.

SageMath memiliki fitur-fitur sebagai berikut :
  1. SageMath bersifat gratis, hal ini dimungkinkan karena usaha para sukarelawan dari ratusan orang dan dana dari dermawan National Science Foundation, sumbangan pribadi, dan lainnya seperti Google dan Microsoft. Tidak ada kode lisensi atau salinan perlindungan.
  2. SageMath juga bersifat open source, sama sekali tidak ada algoritma rahasia atau proprietary di SageMath. Tidak ada yang tidak bisa kita lihat atau kita ubah.
  3. SageMath memiliki fitur kompiler Cython, yang memungkinkan seseorang menggabungkan library Python, C / C ++ / Fortran, dan jenis mesin lain yang berpotensi memiliki performa yang lebih tinggi. 
  4. SageMath secara unik dapat menggabungkan fungsionalitas dari lusinan program matematika lainnya. Kita dapat menggabungkan kode Lisp, Mathematica, dan C untuk tujuan tertentu.
  5. SageMath memiliki antarmuka grafis (GUI) yang berbasis multiuser yang canggih dan antarmuka command prompt yang powerful. SageMath juga bisa digunakan untuk bekerja lingkungan pengembangan interaktif Python (IDE), SageCloud dan SageCell.
  6. SageMath memiliki kemampuan matematis terluas dari setiap sistem perangkat lunak matematis yang ada. SageMath dan komponennya dikembangkan oleh komunitas orang-orang matematika, sains, dan teknik yang aktif dan antusias di seluruh dunia.
  7. SageMath memungkinkan modifikasi secara terbuka. Jika kita memiliki ide, library atau program yang ingin kita masukkan ke dalam library SageMath atau bahkan menemukan sebuah kesalahan(bug), kita bisa mengajukannya untuk ditinjau dan jika sesuai maka akan bisa dimasukkan secara resmi menjadi library SageMath.
  8. SageMath juga memiliki banyak sumber yang tersedia untuk membantu kita menggunakan SageMath. Secara khusus, SageMath memiliki kelompok diskusi (millist) pendukung SageMath (http://groups.google.com/group/sage-support) dan website ask.sagemath.org.
Meskipun Sage banyak diimplementasikan dengan menggunakan Python, tidak dibutuhkan backgroud Python untuk membaca tutorial ini. Pada Interactive Shell di bawah ini, kita dapat memasukkan, merubah dan menjalankan command line sesuai yang kita inginkan. Jika terjadi error dan eksekusi kode tidak bisa jalan lagi, browser di-refresh/reload saja agar bisa digunakan kembali. Klik tombol Evaluate Sage Code untuk menjalankan program pada Shell.

Coba saja masukkan beberapa contoh kode di bawah ini (yang dicetak miring saja) pada  interactive shell di atas dan lihat hasilnya.

Contoh 1: Contoh mencari faktorial.
factor(-2007)

Contoh 2: Contoh sebuah Matrix, dengan nilai masing-masing baris dan kolomnya dengan nilai default berupa index-nya. Masukkan matrix? pada Interactive Shell di atas untuk melihat penjelasan tentang fungsi matrix.
A = matrix(4,4, range(16)); A
Contoh 3: Mencari karakteristik polynomial.
factor(A.charpoly())
Contoh 4: membuat sebuah matrik dan mengisi nilainya dengan nilai default berupa index dimana baris dan kolom 0,0 dikurangi dengan 3.
m = matrix(ZZ,2, range(4))
m[0,0] = m[0,0] - 3; m
Contoh 5: Adalah contoh untuk merubah kode yang diketik pada Sage untuk ditampilkan pada web browser dengan menggunakan LaTex yang merupakan program komputer yang digunakan untuk membuat typesetting suatu dokumen, atau membuat formula matematika.
k = 1/(sqrt(3)*I + 3/4 + sqrt(73)*5/9); k
N(k)
N(k,30)      # 30 "bits"
latex(k)

Jika dalam 1(satu) jendela browser terdapat lebih dari 1(satu) Interactive Shell maka semua Interactive Shell tersebut terhubung dalam 1 (satu) session jadi hasil eksekusi (misal. sebuah variabel) pada Interactive Shell yang pertama bisa digunakan pada Interactive Shell berikutnya. Atau Eksekusi Interactive Shell yang berikutnya bisa terjadi error jika Interactive Shell yang pertama tidak dieksekusi terlebih dahulu. Dalam kasus ini, program yang dijalankan tersebut menunggu sebuah definisi/nilai variabel dari Interactive Shell sebelumnya. Sebagai contoh, masukkan contoh 2 di atas pada Interactive Shell pertama dan Contoh 2 pada Interactive Shell kedua kemudian jalankan (Evaluate Sage Code).

Jika ada command/fungsi yang tidak dimengerti atau tidak tahu kegunaannya maka kita bisa tanyakan langsung pada Interactive Shell tersebut. Berikut contohnya :



INSTALASI

Jika kita tidak menginstal Sage di komputer dan hanya ingin mencoba beberapa perintah, gunakan secara online di http://sagecell.sagemath.org. atau gunakan saja Interactive Shell pada Blog ini. File download Sage dilengkapi dengan "batteries included". Dengan kata lain, meskipun Sage menggunakan Python, IPython, PARI, GAP, Singular, Maxima, NTL, GMP, dan seterusnya, kita tidak perlu menginstalnya secara terpisah karena disertakan dengan distribusi Sage. Namun, untuk menggunakan fitur Sage tertentu, misalnya, Macaulay atau KASH, kita harus menginstal paket opsional yang relevan atau setidaknya menginstal program yang relevan di komputer kita. Macaulay dan KASH adalah paket Sage (untuk daftar paket opsional yang tersedia, ketik sage -optional, atau jelajahi halaman "Download" di situs web Sage).

Pre-compiled binary version dari Sage (terdapat di situs web Sage) mungkin lebih mudah dan cepat dipasang daripada versi Souce Code-nya. Hanya unpack file-nya dan jalankan Sage.

CARA MENGGUNAKAN SAGE
Kita bisa menggunakan Sage dengan beberapa cara sebagai berikut :
  1. Notebook Graphical Interface: bisa dilihat bagian pada  manual referensi Notebook dan interface Notebook di bawah ini,
  2. Interactive Command Line: Baris perintah interaktif: bisa dilihat pada Interactive Shell,
  3. Programs: Dengan menulis program yang diinterpretasikan dan dikompilasi di Sage,
  4. Scripts: dengan menulis script Python yang berdiri sendiri yang menggunakan pustaka Sage (lihat Standalone Python / Sage Scripts).
TUJUAN JANGKA PANJANG PENGGUNAAN SAGE
  • Berguna: Pengguna Sage yang dimaksud adalah siswa matematika (dari sekolah menengah sampai sekolah pascasarjana), guru, dan matematikawan penelitian. Tujuannya adalah untuk menyediakan perangkat lunak yang dapat digunakan untuk mengeksplorasi dan bereksperimen dengan konstruksi matematis dalam aljabar, geometri, teori bilangan, kalkulus, perhitungan numerik, dan sebagainya. Sage membantu mempermudah eksperimen interaktif dengan objek matematika.
  • Efisien: Lebih cepat. Sage menggunakan perangkat lunak yang sangat optimal seperti GMP, PARI, GAP, dan NTL, dan sangat cepat pada operasi tertentu.
  • Gratis dan open source: Kode sumber harus tersedia secara bebas dan mudah dibaca, sehingga pengguna dapat memahami apa yang sebenarnya dilakukan sistem dan lebih mudah memperpanjangnya. Sama seperti ahli matematika mendapatkan pemahaman teorema yang lebih dalam dengan membaca atau setidaknya membaca sekilas bukti dengan cermat, orang-orang yang melakukan perhitungan harus dapat memahami bagaimana perhitungan bekerja dengan membaca kode sumber yang terdokumentasi. Jika kita menggunakan Sage untuk melakukan penghitungan di kertas yang kita publikasikan, kita dapat yakin bahwa pembaca Kita akan selalu memiliki akses gratis ke Sage dan semua kode sumbernya, dan kita bahkan diizinkan untuk mengarsipkan dan mendistribusikan kembali versi Sage yang kita gunakan .
  • Mudah dikompilasi: Sage mudah dikompilasi dari sumber Linux, OS X dan Windows. Ini memberikan fleksibilitas lebih bagi pengguna untuk memodifikasi sistem.
  • Kerjasama: Menyediakan antarmuka yang kuat untuk kebanyakan sistem aljabar komputer lainnya, termasuk PARI, GAP, Singular, Maxima, KASH, Magma, Maple, dan Mathematica. Sage dimaksudkan untuk menyatukan dan memperluas perangkat lunak matematika yang ada.
  • Didokumentasikan dengan baik: Tutorial, panduan pemrograman, referensi manual, dan bagaimana caranya, dengan banyak contoh dan diskusi tentang latar belakang matematika.
  • Extensible: Mampu menentukan tipe data baru atau berasal dari tipe built-in, dan gunakan kode yang ditulis dalam berbagai bahasa.
  • User friendly: Mudah untuk memahami fungsi apa yang disediakan untuk objek tertentu dan untuk melihat dokumentasi dan kode sumber. Juga memberikan dukungan yang tinggi kepada pengguna.

No comments:

Post a Comment

SAAT RESTORAN DIBUKA KEMBALI, INILAH YANG HARUS ANDA KETAHUI TENTANG AC, ALIRAN UDARA, DAN COVID-19

Pengunjung yang makan di restoran mungkin bisa memberi tahu banyak tentang bagaimana para penggiat bisnis restoran berusaha mengurangi risik...