Rabu, 30 April 2014

Algoritma Pemrograman Tingkat Dasar

Algoritma Pemrograman Tingkat Dasar


Bahasa Pemrograman
1. Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer yaitu dalam bahasa pemrograman, dibedakan menjadi:
• Bahasa tingkat rendah (low level language):
Bahasa yang berorientasi ke mesin.
• Bahasa tingkat tinggi (high level language):
Bahasa yang berorientasi ke manusia (seperti bahasa inggris). Contoh bahasa Pascal, bahasa C, dll.
2. Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (kenal dengan biner digit) dengan menggunakan penerjemah.
Penerjemah:
• Interpreter : menerjemahkan baris per baris instruksi. Contoh bahasa Basic.
• Compiler : menerjemahkan setelah seluruh instruksi ditulis. Contoh bahasa Pascal, bahasa C/C++, dll.
Algoritma
Arti umum adalah serangkaian urutan langkah-langkah yang tepat, logis, terperinci, dan terbatas untuk menyelesaikan suatu masalah yang disusun secara sistematis.
1. Algoritma adalah inti dari ilmu komputer
2. Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah
3. Algoritma adalah blueprint dari program
4. Sebaiknya disusun sebelum membuat program
5. Kriteria suatu algoritma:
• Ada input dan output
• Efektifitas dan efisien
• Terstruktur
Contoh:
Algoritma TUKAR ISI BEJANA
Diberikan 2 buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan warna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1. Tuangkan larutan dari bejana A ke dalam bejana B
2. Tuangkan larutan dari bejana B ke dalam bejana A
Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah pertukaran kedua larutan tersebut.
Untuk itu pertukaran isi dua bejana, diperlukan sebuah tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut:
Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian hingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1. Tuangkan larutan dari bejana A ke dalam bejana C.
2. Tuangkan larutan dari bejana B ke dalam bejana A.
3. Tuangkan larutan dari bejana C ke dalam bejana B.
Ciri Penting Algoritma
1. Algoritma harus berhenti setelah menjalankan sejumlah langkah terbatas.
2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguitas).
3. Algortima memiliki nol atau lebih masukan.
4. Algoritma memiliki nol atau lebih keluaran.
5. Algoritma harus efektif (setiap langkah sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).
Memrogram dan Bahasa Pemrograman:
1. Belajar memrogram adalah belajar tentang metode pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
2. Belajar bahasa pemrograman adalah memakai suatu bahasa, aturan, tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja.
Notasi Algoritma:
1. Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
2. Notasi algoritma dapat berupa:
• Uraian kalimat deskriptif (narasi):
Contoh:
Algoritma kelulusan mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersenut dinyatakan lulus, jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
Deskripsi:
Baca nama dan nilai mahasiswa
Jika nilai >= 60 maka
Keterangan = lulus
Tetapi jika salah
Keterangan = tidak lulus
Tulis nama dan keterangan.
Tahapan Pembuatan Program:
1. Mendefinisikan masalah dan menganalisanya. Mencangkup : tujuan pembuatan, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman yang digunakan.
2. Merealisasikan dengan langkah-langkah sebagai berikut:
Contoh Algoritma:
1. Mengirim surat kepada teman:
• Tulis surat pada secarik kertas surat
• Ambil sampul surat
• Masukkan surat ke dalam sampul
• Tutup sampul surat dengan perekat
• Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul
• Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
• Tempel prangko pada sampul
• Bawa sampul ke kantor pos untuk diposkan
2. Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap:
• Masukkan sebuah bilangan sembarang
• Bagi bilangan tersebut dengan 2
• Hitung sisa hasil bagi pada langkah 2
• Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap
• Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil
Flowchart
1. Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian suatu masalah
2. Merupakan cara penyajian dari suatu algoritma
3. Ada 2 macam flowchart:
• System flowchart:
Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis penyimpanan dalam proses pengolahan data.
• Program flowchart:
Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.
Contoh program Flowchart
Simbol-simbol Flowchart
1. Flow Direction Symbols (simbol penghubung alur)
2. Processing Symbols (simbol proses)
3. Input-Output Symbols (simbol input-output)
Tabel Simbol-simbol Flowchart
Pembuatan Flowchart
1. Tidak ada kaidah yang baku
2. Flowchart = gambaran hasil analisa suatu masalah
3. Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya.
4. Secara garis besar ada 3 bagian utama:
• Input
• Proses
• Output
5. Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
6. Jalannnya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
7. Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.
Pseudocode:
1. Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus.
Deklarasi:
Nama : String
Nilai : Integer
Keterangan : String
Deskripsi:
Read (nama, nilai)
if nilai >= 60 then
Keterangan = 'lulus'
else
Keterangan = 'tidak lulus'
write (nama, keterangan)
Mungkin hanya ini yang dapat saya sampaikan, terimakasih telah berkunjung :)

Mengenal Bahasa Python

Mengenal Bahasa Python

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.

Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan guido pada acara televisi Monty Python's Flying Circus
Fitur

Python adalah bahasa pemrograman dinamis yang mendukung pemrograman berorientasi obyek. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem operasi. Seperti halnya bahasa pemrograman dinamis, python seringkali digunakan sebagai bahasa skrip dengan interpreter yang teintergrasi dalam sistem operasi. Saat ini kode python dapat dijalankan pada sistem berbasis:
* Linux/Unix * Windows
* Mac OS X * OS/2
* Amiga * Palm OS
* Symbian (untuk produk-produk Nokia)


Beberapa fitur yang dimiliki Python adalah:
- memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan modul-modul 'siap pakai' untuk berbagai keperluan.
- memiliki tata bahasa yang jernih dan mudah dipelajari.
- memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan kembali dan penulisan ulang kode sumber.
- berorientasi obyek.
- memiliki sistem pengelolaan memori otomatis (garbage collection, seperti java)
- modular, mudah dikembangkan dengan menciptakan modul-modul baru; modul-modul tersebut dapat dibangun dengan bahasa Python maupun C/C++.


Mendengar kata Python, yang selalu terbayang adalah jenis ular yang besar dan populer. Di dunia pemrograman, Python juga merupakan sesuatu yang populer, walaupun tingkat popularitas bahasa pemrograman Python mungkin tidak setinggi Java atau PHP. Tetapi, sejak mulai dikembangkan pada akhir tahun 1980-an oleh Guido Van Rossum, Python tidak surut dengan pergerakan teknologi yang pesat, bahkan Python terus mengalami kemajuan dan perbaikan yang signifikan. Hingga saat ini, update terakhir adalah pada 17 Agustus 2009 yang lalu, saat Python 3.1.1 dirilis.

Python tidaklah berbisa. Kita semua tahu bahwa ular Python tidak berbisa, tetapi tetap saja mematikan. Hubungannya apa ya? Bahasa pemrograman Python juga tidak berbisa alias sangat friendly, tetapi mampu membuat killer application. Agar anda langsung memperoleh gambaran dan fakta yang jelas mengenai kemampuannya,

berikut beberapa aplikasi populer yang dibuat dengan Python :

1. BitTorrent.
Merupakan aplikasi yang tentu sudah tidak asing lagi (terutama bagi anda yang memiliki koneksi internet unlimited), yaitu sebuah program peer-to-peer untuk melakukan upload/download file melalui protokol BitTorrent. Awalnya, BitTorrent ditulis dengan Python dan merupakan software gratis. Tetapi, sejak versi 6.0 ke atas, BitTorrent ditulis dengan menggunakan C++ dan merupakan software proprietary.

2. Yum.
Yellow dog Updater, Modified atau dikenal dengan YUM, merupakan sebuah utiliti RPM manajemen paket berbasis command line yang dikenal pada sistem operasi Linux. Eksistensi Python memang sudah cukup dikenal pada distro-distro Linux, juga sering digunakan sebagai bahasa scripting yang embedded pada berbagai aplikasi, diantaranya GIMP, Rhyhmbox, dan Vim.

3. Plone.
Merupakan salah satu Content Management System (CMS) yang memiliki tingkat security yang sangat baik dan memiliki berbagai fitur yang menarik.

4. Civilization 4.
Game komputer dengan genre strategi dan telah dirilis dengan berbagai bahasa. Game ini menggunakan Python untuk melakukan berbagai fungsi, seperti menghasilkan peta, event, dan berbagai interface pada game tersebut.

Dan masih banyak lagi contoh lainnya. Python tidak terbatas untuk pembuatan aplikasi tertentu. Selain contoh-contoh aplikasi populer diatas, berbagai aplikasi seperti instant messaging, database, media player, web framework, dan lainnya, juga dapat dihasilkan oleh bahasa pemrograman Python.

Selasa, 29 April 2014

Pengertian Rekayasa Perangkat Lunak

Pengertian Rekayasa Perangkat Lunak Menurut Para Ahli

posted by : Rpl Generasi Baru (Alea) 
Beberapa pengertian menurut para ahli dibidang perangkat lunak adalah sebagai berikut:
Menurut Stephen R. Schach:
“Rekayasa perangkat lunak adalah sebuah disiplin dimana dalam menghasilkan perangkat lunak bebas dari kesalahan dan dalam pengiriman anggaran dapat tepat waktu serta memuaskan keinginan pemakai.”
Menurut Fritz Bauer:
“Rekayasa perangkat lunak adalah pengemangan dan penggunaan prinsip rekayasa dalam rangka memperoleh perangkat lunak yang dapat dipercaya dan dapat bekerja serta efisien pada mesin nyata.”

Menurut IEEE 610.12
“Rekayasa perangkat lunak adalah sebuah studi dan aplikasi dari sebuah pendekatan kuantifiabel, disiplin, dan sistematis kepada pengembangan, operasi dan pemeliharaan perangkat lunak yang kesemuanya itu merupakan aplikasi rekayasa yang berkaitan dengan perangkat lunak.” [2]
Dari ketiga pengertian tersebut, arti yang diberikan Fritz Bauer sangat sesuai dengan tujuan dan sasaran dari rekayasa perangkat lunak. Pernyataan Stephen R. Schach terbatas pada menaggulangi kekurangan yang terjadi jika tidak menerapkan rekayasa perangkat lunak. IEEE 610.12 memberikan pengertian yang paling baik dalam menyampaikan wujud dari rekayasa perangkat lunak.
Penulis menyimpulkan dari beberapa pengertian diatas bahwa rekayasa perangkat lunak adalah disiplin ilmu yang menangani perancangan, pembuatan dan pmeliharaan suatu perangkat lunak dengan memakai sistem atau pinsip aturan tertentu yang sistematis untuk menghasilkan sebuah perangkat lunak yang sesuai dengan kebutuhan nyata pemakai dengan tingkat fungsi dan efisiensi yang maksimal.
Perangkat lunak merupakan ilmu yang paling penting untuk diperdalam karena teknologi ini memberikan stabilitas, kontrol, dan organisasi aktifitas. Beberapa tujuan yang dilakukan rekayasa perangkat lunak antara lain:
  1. Untuk membangun software yang benar dan benar sebuah software (Right, Software and Software Right).
  2. Untuk membangun software yang tepat (Correct).
  3. Dikelola dengan baik untuk pemeliharaan kebenarannya (Correctness).