Monday, July 15, 2019

BUKU TEORI DAN PRAKTEK PEMROGRAMAN PYTHON


BUKU TEORI DAN PRAKTEK PEMROGRAMAN PYTHON



Python telah menjadi populer untuk aplikasi-aplikasi yang berkaitan dengan bisnis, santifik, dan akademik dan sangat cocok untuk programer pemula. Ada banyak alasan mengapa Python sekarang sukses dan berkembang. Python memiliki sintaksis yang jauh lebih ringkas dari bahasa-bahasa pemrograman populer yang ada saat ini seperti Java, C, dan C++. Oleh karena itu, Python jauh lebih mudah untuk dipelajari.

Buku ini merupakan buku teks pemrograman komputer menggunakan Python yang difokuskan untuk pembelajaran efektif. Sengaja dirancang untuk pelbagai tingkat ketertarikan dan kemampuan pembelajar, buku ini cocok untuk siswa SMA/SMK, mahasiswa, insinyur, dan bahkan peneliti dalam berbagai displin ilmu. Tidak ada pengalaman pemrograman yang diperlukan, dan hanya sedikit kemampun aljabar tingkat sekolah menenga atas yang diperlukan.

Buku ini memang dirancang untuk mengambil rute tradisional, dengan lebih dahulu menekankan sintaksis-sintaksis dasar, struktur-struktur kendali, fungsi, dekomposisi prosedural, dan struktur data built-in seperti list, set, dan kamus (dictionary). Panduan langkah-demi-langkah di dalamnya diharapkan bisa membantu kepercayaan diri pembaca untuk menjadi programer yang bisa menyelesaikan permasalahan-permasalahan pemrograman. Sejumlah contoh disediakan untuk mendemonstrasikan bagaimana menerapkan konsep-konsep yang telah disajikan terhadap sejumlahan tantangan pemrograman.

Pada Bab 1, Anda akan diajari mengenal IDE Spyder untuk memprogram Python dan mengetahui sintaksis dasar dari program sederhana Python. Pada Bab 2, Anda akan belajar: Mendefinisikan dan menggunakan variabel dan konstanta; Memahami sejumlah watak dan keterbatasan bilangan integer (bilangan bulat) dan titik-mengambang (bilangan pecahan); Memahami pentingnya komentar dan tataletak kode; Menulis ekspresi aritmatik dan statemen penugasan; Menciptakan program yang membaca dan memproses masukan, dan menampilkan hasilnya; Bagaimana menggunakan string Python; Menciptakan program grafika menggunakan sejumlah bangun dasar dan teks.

Pada Bab 3, Anda akan belajar: Mengimplementasikan keputusan menggunakan statemen if; Membandingkan bilangan integer, titik-mengambang, dan string; Menuliskan statemen menggunakan ekspresi Boolean; Memvalidasi masukan user. Pada Bab 4, Anda akan belajar: Mengimplementasikan loop while dan for; Menjadi familiar dengan algoritma-algoritma yang melibatkan loop; Memahami loop bersarang; Memproses string. Pada Bab 5, Anda akan belajar: Bagaimana mengimplementasikan fungsi; Menjadi familiar dengan konsep pelewatan parameter; Mengembangkan strategi pendekomposisian pekerjaan kompleks menjadi pekerjaan-pekerjaan yang lebih mudah; Mampu menentukan skop variabel.

Pada Bab 6, Anda akan belajar: Mengumpulkan elemen-elemen menggunkan list; Menggunakan loop for untuk menjelajah list; Menggunakan sejumlah algoritma umum untuk memproses list; Menggunakan list dengan fungsi; Bekerja dengan tabel data. Pada Bab 7, Anda akan belajar: Membangun dan menggunakan kontainer set; Menggunakan operasi-operasi set untuk memproses data; Membangun dan menggunakan kontainer dictionary; Menggunakan dictionary untuk tabel; Menggunakan struktur kompleks.

Akhir kata, semoga buku ini menjadi berguna bagi semua pembaca. TERIMAKASIH.



PENULIS

Vivian Siahaan merupakan pembelajar mandiri yang suka melakukan hal-hal baru. Ia lahir, besar di Hinalang Bagasan, Balige, wilayah tepian Danau Toba, dan menamatkan pendidikan menengah dari SMAN-1 Balige. Ia memulai sendiri belajar bahasa pemrograman Java, Android, JavaScript, CSS, C++, Python, R, Visual Basic, Visual C#, MATLAB, Mathematica, PHP, JSP, MySQL, SQL Server, Oracle, Access, dan lainnya. Ia mempelajari pemrograman mulai dari nol, dimulai dari sintaksis dan logika yang paling dasar, dengan membangun beberapa aplikasi GUI sederhana dan aplikatif. Animasi dan game merupakan bidang pemrograman yang menjadi minat yang selalu ingin dikembangkannya. Di samping menyukai logika matematika dan pemrograman, penulis juga memiliki kesenangan membaca novel. Vivian Siahaan telah menulis puluhan ebook yang telah diterbitkan pada Sparta Publisher: Struktur Data dengan Java; Pemrograman Java: Cookbook; Pemrograman C++: Cookbook; Pemrograman C Untuk SMA/SMK dan Mahasiswa; Pemrograman Java Untuk SMA/SMK Sederajat; Tutorial Java: GUI, Grafika, dan Animasi; Pemrograman Visual Basic: Dari A Sampai Z; Pemrograman Java Untuk Animasi dan Game; Pemrograman C# Untuk SMA/SMK dan Mahasiswa; MATLAB Untuk Mahasiswa dan Peneliti; Grafika Dalam JavaScript: Seri Belajar Cepat; Metode-Metode Pengolahan Citra JavaScript: Dari A Sampai Z; Studi Kasus Java GUI: AWT & Swing; Dasar CSS dan JavaScript; Pemrograman PHP/MySQL: Cookbook; Visual Basic: Cookbook; Pemrograman C++ Untuk SMA/SMK dan Mahasiswa; Konsep dan Praktek C++; PHP/MySQL Untuk Mahasiswa; Pemrograman C#: Dari A Sampai Z; Visual Basic Untuk SMA/SMK dan Mahasiswa; C#.NET dan SQLServer Untuk SMA/SMK dan Mahasiswa.

Dr.Eng Rismon Hasiholan Sianipar, S.T, M.T, M.Eng lahir di Pematang Siantar, pada tahun 1994. Selepas lulus dari SMA Negeri 3 Pematarang Siantar, penulis merantau ke kota Jogjakarta. Pada tahun 1998 dan 2001 penulis menyelesaikan pendidikan Sarjana Teknik (S.T) dan Magister Teknik (M.T) keduanya di Teknik Elektro Universitas Gadjah Mada, di bawah bimbingan Prof. Dr. Adhi Soesanto dan Prof. Dr. Thomas Sri Widodo, dengan fokus penelitian pada sinyal-sinyal tak-stasioner dengan menganalisa energinya menggunakan peta waktu-frekuensi. Karena sifatnya yang tak-stasioner, sebaran energi sinyal menjadi sangat dinamis pada peta waktu-frekuensi. Dengan memetakan sebaran energi pada bidang waktu-frekuensi menggunakan transformasi wavelet diskret, seseorang dapat merancang tapis tak-linier sehingga bisa menganalisa watak dan pola data yang terkandung di dalamnya. Pada tahun 2003, penulis mendapatkan beasiswa Monbukagakusho dari Pemerintah Jepang. Pada tahun 2005 dan 2008, dia menyelesaikan pendidikan Master of Engineering (M.Eng) dan Doctor of Engineering (Dr.Eng) di Universitas Yamaguchi, di bawah bimbingan Prof. Dr. Hidetoshi Miike. Baik pada tesis master dan pada tesis doktoralnya, R.H. Sianipar menggabungkan kekuatan tapis tak-linier SR-FHN (Stochastic Resonance Fitzhugh-Nagumo) dengan kriptosistem ECC (elliptic curve cryptography) 4096-bit baik untuk menekan derau pada citra digital dan video digital maupun mempertahankan otentikasinya. Hasil penelitian ini telah didokumentasikan dalam jurnal ilmiah internasional dan dipatenkan secara resmi di Jepang. Salah satu patennya telah dipublikasikan di jepang dengan nomor registrasi 2008-009549. Di samping sebagai penulis aktif mengajar di Teknik Elektro Universitas Mataram, Ia juga aktif melakukan kerjasama dengan beberapa universitas dan lembaga riset di Jepang, khususnya pada bidang kriptografi, kriptanalisis, dan forensik audio/citra/video digital. R.H. Sianipar juga memiliki pengalaman dalam melakukan metode pemecah-kode (kriptanalisis) atas sejumlah data intelijen yang menjadi objek kajian penelitian di Jepang. R.H. Sianipar memiliki sejumlah paten Jepang, dan telah menulis sejumlah artikel ilmiah nasional/internasional, dan puluhan buku nasional. R.H. Sianipar juga pernah mengikuti sejumlah workshop yang berkaitan dengan kriptografi, kriptanalisis, digital watermarking, dan forensika digital. Pada sejumlah workshop tersebut, R.H. Sianipar membantu Prof. Hidetoshi Miike untuk menciptakan aplikasi-aplikasi yang berkaitan dengan pemrosesan citra/video digital, steganografi, kriptografi, watermarking, penapisan tak-linier, visi komputer berbasis deskriptor cerdas, dan lainnya, yang digunakan sebagai bahan pelatihan. Bidang ketertarikan pengkajian R.H. Sianipar adalah keamanan multimedia, pemrosesan sinyal/citra/video digital, kriptografi, komunikasi digital, forensik digital, dan kompressi/pengkodean data. Sampai saat ini, R.H. Sianipar tetap kontinyu mengembangkan aplikasi-aplikasi yang berkaitan dengan analisis sinyal, citra, dan video digital, baik analisis untuk kepentingan penelitian maupun untuk kepentingan komersial berbasis bahasa pemrograman MATLAB, VB.NET, C#.NET, dan Java.

Salah satu aplikasi yang sedang dikembangkan saat ini adalah GUI Pemrosesan Sinyal, Citra, dan Video Digital, didesain agar dapat digunakan sebagai perangkat laboratorium, sebagai alat bantu riset, dan sebagai penunjang materi perkuliahan yang berkaitan dengan pemrosesan sinyal, citra, video digital, visi komputer, dan forensika digital. Perangkat Lunak GUI berbasis MATLAB ini awalnya dirancang pada awal tahun 2014. Pembaruan dilakukan sampai tahun 2017, khususnya untuk menambahkan tabel dan grafik parameter-parameter kinerja. Ini dilakukan agar perangkat lunak ini dapat dipakai baik oleh mahasiswa maupun para periset di bidang pemrosesan citra dan video digital dengan tunduk pada kaidah-kaidah ilmiah yang berlaku. Pembaruan pada GUI tersebut, yang dilakukan pada tahun 2017, dipicu oleh kasus Jessica Kumala Wongso, dimana R.H. Sianipar berkesempatan dihadirkan sebagai saksi ahli IT dan forensika digital oleh pengacara Prof. Dr. Otto Hasibuan. Pada kesempatan itulah, didapati fakta bahwa betapa perangkat lunak yang dipakai oleh penyidik untuk aplikasi visi komputer (khususnya untuk pengenalan pola, sidik jari, dan wajah) dan aplikasi forensika digital seperti fotometri, pencocokan wajah, pencocokan sidik jari, kriptografi, dan steganografi SANGAT BERGANTUNG pada perangkat lunak buatan luar negeri khususnya Amerika Serikat. Karena buatan oleh pihak ketiga (dalam hal ini negara-negara maju), maka pengguna (khususnya penyidik kepolisian) piranti-lunak buatan asing tersebut tidak mengetahui isi kode yang ada di dalamnya. Parahnya lagi, karena hanya sebagai user, piranti lunak yang dipakai menjadi cukup usang bila tidak membeli versi barunya. Banyak algoritma mutakhir tentu tidak tercantum pada versi piranti lunak usang. Selain berbahaya, penegakan hukum di Indonesia sangat bergantung oleh piranti lunak buatan asing, dan user tidak bisa membuka kode program yang ada di dalamnya untuk membuktikan apakah proses numerik di dalamnya benar atau tidak. Atas dasar semangat itu, perangkat lunak yang dirancang ini diharapkan menjadi alat bantu alternatif dan pembanding yang bisa dipakai sebagai perangkat riset dan perangkat analisis forensik baik bagi kalangan periset maupun bagi mereka yang bekerja di institusi kepolisian. Dengan membuat piranti lunak sendiri, kode program yang ditulis dapat dibuka di depan hakim dan diperiksa oleh pihak ketiga yang kompeten dan independen, untuk membuktikan benar tidaknya proses numerik yang terlibat di dalamnya, demi tegaknya hukum yang berkeadilan di Indonesia. Secara bersamaan, R.H Sianipar dan tim sedang mengembangkan piranti lunak ini berbasis Visual Basic.NET dan C#.NET untuk mengefisiensikan biaya dan waktu komputasi, khususnya proses numerik yang berkaitan dengan kriptografi, analisis citra, dan networking, dengan mengandalkan pustaka .NET yang sangat kaya dengan kelas dan fungsi pendukung.

Berikut adalah sejumlah buku yang pernah dan akan diterbitkan: “Pemrograman MATLAB dalam Contoh dan Penerapan”, PENERBIT INFORMATIKA, 2013 “Java: Teori, Algoritma, dan Aplikasi”, PENERBIT ANDI, 2014 “MATLAB untuk Pemrosesan Citra Digital”, Penerbit INFORMATIKA, 2014“Pemrosesan Sinyal dan Filter Digital”, Penerbit ANDI, 2015 Tutorial Lengkap Pemrosesan Citra Digital”, PENERBIT ANDI (akan dipublikasikan pada tahun 2018) ♣ “Java Untuk Kriptografi”, PENERBIT ANDI, 2017 “SIMULINK MATLAB: Belajar Dari Contoh”, Penerbit ANDI, 2016 “Kasus dan Penyelesaian Visual Basic .NET”, PENERBIT INFORMATIKA, 2015 “Struktur Data Dengan Pemrograman Generik”, PENERBIT ANDI, 2015 “Pemrograman Java Untuk Programer”, PENERBIT ANDI, 2015 “Pemrograman Pyhton: Teori dan Implementasi”, PENERBIT INFORMATIKA, 2015“Pemrograman C: Soal dan Penyelesaian”, PENERBIT ANDI, 2015 “Soal dan Penyelesaian Visual Basic”, PENERBIT ANDI, 2015 “Soal dan Penyelesaian Visual C++”, PENERBIT ANDI, 2015 “Teori dan Implementasi Pemrograman Berorientasi Objek Menggunakan C++”, PENERBIT ANDI, 2015“Panduan Praktis C#.NET Bagi Pemula”, PENERBIT ANDI, 2014 “Soal, Kasus, dan Penyelesaian Pemrograman Java”, PENERBIT INFORMATIKA, 2014 “Pemrograman Visual C#”, PENERBIT INFORMATIKA, 2014 “Pemrograman Visual Basic .NET”, PENERBIT INFORMATIKA, 2014“Pemrograman C++ Untuk Pemula”, PENERBIT INFORMATIKA, 2014 “Pemrograman C#”, PENERBIT INFORMATIKA, 2014 “C++ Untuk Programer”, PENERBIT INFORMATIKA, 2013 “Teori dan Implementasi JAVA”, PENERBIT INFORMATIKA, 2013 “Pemrograman dan Struktur Data C”, PENERBIT INFORMATIKA, 2013 “Java: Algoritma, Struktur Data, dan Pemrograman GUI”, PENERBIT INFORMATIKA, 2013 “Pemrograman C++: Dasar Pemrograman Berorientasi Objek”, PENERBIT ANDI, 2012 “100 Kasus Pemrograman C#”, PENERBIT ANDI, 2017 “Visual Basic.NET Untuk Programer”, PENERBIT ANDI, 2017 “MATLAB Untuk Mahasiswa: Belajar dari Berbagai Studi Kasus”, PENERBIT ANDI, 2017 “100 Kasus Pemrograman Visual C#.NET”, PENERBIT ANDI, 2017 “Teori dan Aplikasi C++ dengan Contoh Lebih dari 280 Source Code, PENERBIT ANDI, 2017 “PHP MySQL Langkah Demi Langkah”, PENERBIT ANDI, 2016 “Pemrograman Database Menggunakan MySQL”, PENERBIT ANDI, 2016 “JQuery: Belajar Dari Studi Kasus”, Penerbit ANDI, 2016; “JQuery dan Ajax untuk Web Designer”, PENERBIT ANDI, 2016 “Membangun Web dengan PHP/MySQL untuk Pemula dan Programer”, PENERBIT INFORMATIKA, 2015 “Pemrograman Internet Dengan XHTML, CSS, dan JavaScript dan DHTML”, PENERBIT INFORMATIKA, 2014 “Belajar Cepat Pemrograman Query dengan MySQL”, PENERBIT ANDI, 2017.

No comments:

Post a Comment