Minggu, 03 Desember 2017

PEMROGRAMAN PYTHON

1.   Bahasa pemrograman
Zaman sekarang ini kita sudah tidak asing lagi dengan berbagai aplikasi yang sudah banyak dipergunakan baik itu di PC komputer ataupun di Handphone.Pernahkah kalian berfikir bagaimana sebuah aplikasi bisa berjalan? Bagaimana program bisa mengerti bahasa manusia? Tentunya butuh satu bahasa yang dapat menerjemahkan bahasa manusia kedalam bahasa mesin. Nah, bahasa itulah yang disebut Bahasa Pemrograman. 
Bahasa pemrograman adalah media komunikasi antara manusia (user) dan perangkat komputer (mesin). Bahasa pemrograman berfungsi untuk memberikan perintah kepada komputer untuk mengolah data dan informasi. Manusia yang menjalankannya disebut programmer dan hasil keluarannya berupa program/aplikasi yang diterapkan di segala aspek kehidupan kita sehari-hari.
Bahasa pemrograman yang digunakan untuk membangun sebuah aplikasi bergitu banyak jenisnya. Salah satu yang akan kita pelajari adalah bahasa Pemrograman Python.
a) Python
Python adalah sebuah bahasa pemograman scripting tingkat tinggi atau high-level, interpreted, interactive, dan object-oriented. Python dengan desain yang sangat mudah di baca dan dipahami, karena sama seperti bahasa pemograman yang lainnya yaitu dengan menggunakan kata bahasa inggris.Selain itu juga lebih sedikit dalam penggunaan rumus dan syntax.
b) Sejarah python
Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai kelanjutan dari bahasa pemrograman ABC. 
Versi terakhir yang dikeluarkan CWI adalah 1.2. Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah ke BeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations.
Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang dikoordinir Guido dan Python Software Foundation. Python Software Foundation adalah sebuah organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi 2.1 dan dengan demikian mencegah Python dimiliki oleh perusahaan komersial. Saat ini distribusi Python sudah mencapai versi 2.6.1 dan versi 3.0. Adapun yang akan kita pakai dalam pelatihan kali ini adalah versi 3.5 .
1.   Mengapa menggunakan python?

o        Mudah untuk dipelajari: Python memiliki beberapa kata kunci dengan struktur sederhana, dan sintaks yang jelas. Hal ini memungkinkan kita untuk lebih mudah memahami bahasa dengan cepat.
o        Mudah dibaca: kode Python terlihat lebih jelas
o        Standar library: Python dengan library yang sangat portabel dan cross-platform yang kompatibel pada UNIX, Windows, dan Macintosh.
o        Interaktif Mode: Python memiliki dukungan untuk mode interaktif yang memungkinkan pengujian interaktif dan debugging dari potongan kode.
o        Portabel: Python dapat dijalankan pada berbagai macam platform perangkat keras dan memiliki antarmuka yang sama pada semua platform.
o        Extendable: artinya kita dapat menambahkan modul tingkat rendah ke interpreter Python.
o        Database: Python menyediakan antarmuka untuk semua database komersial utama.
o        GUI Programming: Python mendukung aplikasi GUI yang dapat dibuat dan porting ke banyak sistem panggilan, libraries, dan sistem windows, seperti Windows MFC, Macintosh, dan sistem X Window of Unix.
o        Scalable: Python menyediakan struktur yang lebih baik dan dukungan untuk program dari shell scripting.
IT mendukung metode pemrograman fungsional dan terstruktur serta OOP. Hal ini dapat digunakan sebagai bahasa scripting atau dapat dikompilasi untuk byte-code untuk membangun aplikasi yang berkualitas. Dapat dengan mudah diintegrasikan dengan C, C ++, COM, ActiveX, CORBA, dan Java.


MASIHHH BANYAKKK LAGI MATERI YANG BELUM TERSAMPAIKAN . DITUNGGU AJA YAAAAHHH . ;)

Senin, 27 November 2017

NOTASI PENULISAN ALGORITMA




Algoritma berisi langkah-langkah penyelesaian masalah. Notasi algoritma merupakan hal dasar yang harus diketahui oleh setiap orang yang ingin membuat suatu pogram, karena dalam notasi algoritma inilah terdapat kerangka-kerangka suatu program. Deskripsi langkah-langkah dalam algoritma tidak mengacu pada sintaks bahasa pemrograman apapun dan tidak tergantung pada spesifikasi komputer yang mengeksekusinya. Tidak ada aturan baku dalam menuliskan algoritma, yang penting mudah dibaca dan menggunakan bahasa yang mudah dipahami. Meskipun demikian untuk menghindari kekeliruan, ketaatan terhadap notasi perlu diperhatikan. Terdapat tiga cara yang umum digunakan dalam menuliskan algoritma yaitu :
1. Kalimat deskriptif
2. Pseudocode
3. Flowchart
Uraian berikutnya akan membahas lebih detail tentang notasi penulisan algoritma disertai dengan contoh.
1. Kalimat Deskriptif
Notasi penulisan algoritma dengan menggunakan bahasa deskriptif biasa juga disebut dengan notasi alami. Dilakukan dengan cara menuliskan instruksi-instuksi yang harus dilaksanakan dalam bentuk untaian kalimat deskriptif dengan menggunakan bahasa yang jelas. Dasar dari notasi bahasa deskriptif adalah Bahasa Inggris, namun dapat dimodifikasi dengan bahasa sehari-hari termasuk Bahasa Indonesia. Karena tidak ada aturan baku dalam menuliskan algoritma dengan notasi deskriptif, maka setiap orang dapat membuat aturan penulisan dan notasi algoritma sendiri. Kata kerja adalah jenis kata yang biasa digunakan dalam penulisan bahasa deskriptif, contohnya tulis, baca, hitung, tampilkan, ulangi, bandingkan, dan lain-lain.
Pada dasarnya teks algoritma dengan bahasa deskriptif disusun oleh tiga bagian utama yaitu:
a) Bagian judul (header)
b) Bagian deklarasi (kamus)
c)  Bagian deskripsi.
Setiap bagian disertai dengan komentar untuk memperjelas maksud teks yang dituliskan. Komentar adalah kalimat yang diapit oleh pasangan tanda kurung kurawal (‘{’ dan‘}’).

a) Bagian judul (header)

Merupakan bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi)
 tentang algoritma tersebut. Dibagian ini juga digunakan untuk menentukan apakah teks algoritma yang dibuat tersebut adalah program, prosedur, atau fungsi. Nama algoritma
 sebaiknya singkat namun cukup menggambarkan apa yang dilakukan oleh algoritma tersebut. algoritma yang dituliskan dalam kurung kurawal ({}). Algoritma harus ditulis sesuai dengan spesifikasi yang didefinisikan. Gambar 2.1 adalah contoh judul algoritma menghitung luas lingkaran yang disertai dengan penjelasan singkat.
a) Bagian Deklarasi
Di dalam algoritma, deklarasi atau kamus adalah bagian untuk mendefinisikan semua nama yang dipakai di dalam algoritma. Nama tersebut dapat berupa nama variabel, nama konstanta, nama tipe, nama prosedur atau nama fungsi. Pendefinisian nama fungsi atau prosedur sekaligus dengan pendefinisian spesifikasi dan parameternya. 

a) Bagian Deskripsi.

Deskripsi adalah bagian inti dari struktur algoritma. Bagian ini berisi uraian langkah-langkah penyelesaian masalah. Langkah-langkah ini dituliskan dengan notasi yang lazim  dalam penulisan algoritma. Setiap langkah algoritma dibaca dari langkah paling atas hingga langkah paling bawah. Urutan penulisan menentukan urutan pelaksanaan perintah. Pada bagian deskripsi inilah letak tiga struktur algoritma tersebut.
Gambar 2.4 adalah contoh algoritmam menghitung luas lingkaran yang dituliskan
menggunakan kalimat deskriptif secara lengkap.

1. Pseudocode
Pseudocode adalah cara penulisan algoritma yang menyerupai bahasa pemrograman tingkattinggi. Pseudocode menggunakan bahasa yang hampir menyerupai Bahasa pemrograman. Biasanya pseudo-code menggunakan bahasa yang mudah dipahami secara universal dan juga lebih ringkas dari pada algoritma. Pseudocode berisi deskripsi dari algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa bahasa pemrograman tetapi bahasa tersebut hanya di tujukan agar dapat di baca manusia. Sehingga pseudocode tidak dapat dipahami oleh komputer. Supaya notasi pseudocode bias dipahami oleh komputer maka harus diterjemahkan terlebih dahulu menjadi sintaks Bahasa pemrograman komputer tertentu.
Dalam pseudocode, tidak ada sintaks standar yang resmi. Karena itu, pseudocode ini dapat diterapkan dalam berbagai bahasa pemograman. Disarankan untuk menggunakan keyword yang umum digunakan seperti : if, then, else, while, do, repeat, for, dan lainnya Keuntungan menggunakan notasi pseudocode adalah kemudahan mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudocode dengan notasi bahasa pemrograman. Tabel dibawah ini menunjukkan perbandingan beberapa kata yang biasa digunakan dalam penulisan algoritma dengan menggunakan kalimat deskriptif dan pseudocode.

Kalimat Deskriptif
Pseudocode
Masukkan panjang
Input panjang
Read panjang
Baca panjang
Hitung luas dengan rumus panjang x lebar
panjang ß luas panjang * lebar
Tampilkan luas
Output luas
Print luas
Write luas
Jika sudah selesai, cetak luas
If kondisi_selesai == true then print luas
Nilai B ditambah 5
B ß B+5
Jika nilai A lebih kecil dari 5 maka nilai B
dibagi 3
If A<5 then B ß B/3

Struktur penulisan pseudocode secara umum sama dengan struktur penulisan algoritma dengan menggunakan kalimat deskriptif yaitu dimulai dari judul/header, deklarasi/kamus dan diakhiri dengan deskripsi. Meskipun tidak ada sintaks khusus dalam penulisan pseudocode, tetapi terkadang pseudocode dituliskan dengan menggunakan style atau gaya penulisan dari beberapa bahasa pemrograman yang ada, seperti Fortran, Pascal, C dan lain-lain. 

1. Flowchart
Flowchart adalah cara penulisan algoritma dengan menggunakan notasi grafis. Flowchart merupakan gambar atau bagan yang memperlihatkan urutan atau langkah-langkah dari suatu program dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Disamping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek.


Namum demikian terdapat beberapa anjuran yang harus diperhatikan, yaitu :

1. Flowchart digambarkan di suatu halaman dimulai dari sisi atas ke bawah dan dari sisi kirike kanan.
2. Aktivitas yang digambarkan harus didefinisikan dengan menggunakan Bahasa dan simbol yang tepat dan definisi ini harus dapat dimengerti oleh pembacanya.
3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas. Hanya terdapat satu titik awal dan satu titik akhir.
4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja, misalkan MENGHITUNG NILAI RATA-TARA.
5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.
6. Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan 21 percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.
7. Gunakan simbol-simbol flowchart yang standar.

Simbol-simbol flowchart yang biasanya dipakai adalah simbol-simbol flowchart standar yang dikeluarkan oleh ANSI dan ISO. Beberapa symbol flowchart yang digunakan dalam menggambar suatu flowchart:

Gambar terkait


Rabu, 23 Agustus 2017

PENGERTIAN DASAR LOGIKA DAN ALGORITMA

A. PENGERTIAN DASAR
1. LOGIKA
Logika berasal dari bahasa Yunani yaitu dari kata “ logos “ yang berarti kata atau pikiran. Diperkenalkan pertama kali oleh Aristoteles (384-322 SM) melalui karyanya yang berjudul The Organon yang berarti alat, maksudnya alat untuk berpikir. Lebih jauh logos diartikan sebagai pikiran yang benar.
2. ALGORITMA
Algoritma adalah urutan atau langkah-langkah penyelesaian masalah secara sistematis dan logis. Diperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi. Seorang ilmuan Persia yang menulis kitab al jabr w’al muqabala (rules of restoration and reduction) sekitar tahun 825 M
B. DEFINISI
1. Logika
=> penalaran atau bentuk pemikiran.
=> ilmu yang memberikan prinsip-prinsip yang harus diikuti agar dapat berfikir valid menurut aturan yang berlaku.

2. Algoritma
=> Langkah – langkah yang dilakukan agar solusi masalah dapat diperoleh.
=> Suatu prosedur yang merupakan urutan langkah-langkah yg berintegrasi.
=> Suatu m etode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.


C. TAHAP PENYELESAIAN MASALAH

tahap penyelesaian masalah
Kriteria Pemilihan Algoritma.
1. Ada Output,
2. Efektifitas dan Efesiensi,
3. Jumlah Langkahnya Berhingga,
4. Berakhir, ( SEMI ALGORITMA )
5. Terstruktur,

Suatu Algoritma yang terbaik (The Best) : “ Suatu algoritma harus menghasilkan output yg tepat guna (efektif) dalam waktu yang relatif singkat dan penggunaan memori yang relatif sedikit (efesien) dengan langkah yang berhingga dan prosedurnya berakhir baik dalam keadaan diperoleh suatu solusi ataupun tidak ada solusinya. “
Contoh :
Sebuah prosedur ketika akan mengirimkan surat kepada teman:

1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat atau amplop
3. Masukkan surat ke dalam amplop
4. Tutup amplop surat dengan lem perekat
5. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat.
6. Tempelkan perangko pada am plop surat
7. Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis surat.

Sebuah prosedur untuk masalah menentukan akar kuadrat dari suatu bilangan Bulat Positif yang di Input :
Baca bilangan Bulat Positif yg diinput, sebut saja sebagai A
1. Dinyatakan Nilai B adalah 0
2. Hitung Nilai C yg berisikan Nilai B dikalikan Nilai B
3. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu stop.
4. Jika tidak, maka Nilai B akan bertambah 1
5. Kembali ke langkah pada No. 3

D. TAHAPAN ANALISA ALGORITMA
1. Bagaimana merencanakan suatu algoritma.
2. Bagaimana menyatakan suatu algoritma

a. Dengan bahasa semu (pseudocode).
Contoh :
Untuk menghitung Luas Segi tiga :
1. Masukan Nilai Alas
2. Masukan Nilai Tinggi
3. Hitung Luas =( Alas * Tinggi ) / 2
4. Cetak Luas

b. Dengan diagram alur atau flowchart,
Contoh :

flowchart
c. Dengan Statement program 
Contoh (menggunakan C):
int alas, tinggi, Luas; //untuk mendeklar variabel beserta tipe data.

Luas = (alas * tinggi)/2 ; // proses.
printf ("Luas= %d",Luas); //untuk output data.
3. Bagaimana validitas suatu algoritma.
4. Bagaimana Menganalisa suatu Algoritma.
5. Bagaimana Menguji Program dari suatu Algoritma.

Tahap Proses uji Algoritma :
a. Fase Debugging
yaitu fase dari proses program eksekusi yang akan melakukan koreksi terhadap kesalahan.
b. Fase Profilling
yaitu fase yang akan bekerja jika program tersebut sudah benar (telah melewati fase debugging).

Analisis Suatu Algoritma
(Untuk melihat faktor efesiensi & efektifitas dari algoritma tersebut), Dapat dilakukan terhadap suatu algoritma dengan melihat pada :

a. Waktu Tempuh (Running Time) dr suatu Algortima.
Hal-hal yg dpt m empengaruhi drpd waktu tempuh adalah :
1. Banyaknya langkah.
2. Besar dan jenis input data.
3. Jenis Operasi.
4. Komputer dan kompilator

b. Jumlah Memori Yang Digunakan.
E. SIFAT - SIFAT ALGORITMA
• Banyaknya Langkah Instruksi Harus Berhingga,
• Langkah atau Instruksi harus Jelas,
• Proses harus Jelas dan mempunyai batasan,
• Input dan Output harus mempunyai Batasan,
• Efektifitas,
• Adanya Batasan Ruang Lingkup,