Thursday, February 26, 2015

Algoritma dan Pemrograman

Algoritma dan Pemrograman

Algoritma adalah urutan langkah-langkah yang ditulis secara sistematis untuk menyelesaikan suatu masalah. Sedangkan yang disebut algoritma pemrograman adalah urutan langkah-langkah yang ditulis secara sistematis untuk menyelesaikan masalah pemrograman komputer. Langkah-langkah yang terdapat di dalam algoritma harus logis dan harus bernilai benar, algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya. Algoritma merupakan langkah pertama yang harus ditulis terlebih dahulu sebelum menuliskan suatu program. Algoritma adalah metode dan tahapan sistematis dalam program, sedangkan program adalah kumpulan pernyataan komputer. Struktur data dan algoritma berhubungan sangat erat pada sebuah program, suatu algoritma yang baik tanpa struktur data yang tepat akan membuat program menjadi kurang bagus. Algoritma mempunyai awal dan akhir artinya suatu algoritma memiliki langkah yang terbatas, setiap langkah di dalam algoritma harus didefinisikan dengan tepat sehingga tidak memiliki arti gandan dan membingungkan, suatu algoritma memiliki input sebelum dilaksanakan dan output, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma. Di dalam algoritma terdapat istilah-istilah seperti Definiteness, Finiteness, Effevtiveness, Generality. Definiteness adalah langkah-langkah yang ditulis di dalam algoritma yang terdefinisi dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma, Finiteness adalah suatu algoritma harus memiliki kondisi akhir atau output setelah sejumlah langkah yang terbatas jumlahnya dilakukan terhadap setiap kondisi awal atau input yang diberikan, Effevtiveness adalah setiap langkah dalam algortima dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya didapatkan solusi sesuai dengan yang diharapkan, Generality adalah langkah-langkah algoritma untuk setiap himpunan input yang sesuai dengan persoalan yang diberikan, tidak hanya untuk himpunan tertentu. Pemrograman adalah suatu kegiatan yang berhubungan dengan pembuatan program dengan mengikuti struktur bahasa pemrograman tertentu. Dalam pemrograman terdapat sejumlah bahasa pemrograman seperti Pascal dan C. Bahasa pemrograman terbagi menjadi dua yaitu bahasa pemrograman tingkat tinggi dan bahasa pemrograman tingkat rendah. Bahasa pemrograman tingkat tinggi adalah bahasa pemrograman yang menggunakan bahasa manusia sehari-hari. Contoh bahasa pemrograman tingkat tinggi adalah C, C#, BASIC, PHP, VB, VB.NET, dan JAVA. Bahasa pemrograman tingkat rendah adalah bahasa pemrograman yang menggunakan bahasa mesin. Bahasa ini hanya menggunakan kode biner atau suatu kode sederhana untuk menggantikan kode-kode tertentu dalam sistem biner. Contoh bahasa pemrograman tingkat rendah adalah kode ASCII. Sebelum menyelesaikan masalah dengan program, terdapat langkah-langkah yang harus dilakukan terlebih dahulu, seperti menganalisis masalah, membuat algoritma, menuangkan algoritma ke dalam bentuk program dan menguji program. Menganalisis masalah yaitu tindakan untuk mengidentifikasi informasi yang menjadi keluaran pemecahan masalah dan data-data yang menjadi masukan. Membuat algoritma yaitu menuangkan ide dari pengidentifikasian masalah ke dalam bentuk algoritma baik dengan menggunakan Flowchart atau pseudocode. Menuangkan algortima ke dalam bentuk program yaitu proses membuat kode dengan menggunakan sebuah  bahasa pemrograman untuk mendapatkan hasil sesuai dengan permasalahan. Menguji program yaitu proses pengujian terhadap suatu program yang akan digunakan, apakah program tersebut berhasil sesuai yang diharapkan atau masih terjadi kesalahan-kesalahan. Penyajian algoritma bisa dalam dua bentuk penyajian yaitu dalam bentuk tulisan dan dalam bentuk gambar. Penyajian algoritma dengan tulisan yaitu dengan struktur bahasa Indonesia atau bahasa Inggris dan pseudocode. Pseudocode adalah suatu kode yang hampir sama dengan kode pemrograman yang sebenarnya seperti Pascal atau C sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dihubungkan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, misalnya dengan  flowchart. Secara umum, pseudocode mengekspresikan ide-ide secara informal dalam proses penyusunan algoritma. Salah satu cara untuk menghasilkan pseudocode adalah dengan meregangkan aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan diekspresikan. Flowchart merupakan gambar atau bagan yang memperlihatkan urutan 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. Tahapan yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah dengan mendefenisikan masalah, membuat bagan dan struktur cara penyelesaian, memilih metode penyelesaian, pengkodean, mencari kesalahan, menguji dan verifikasi program, dokumentasi program, pemeliharaan program dan memodifikasi program. Mendefenisikan masalah dapat dilakukan dengan menentukan apa yang menjadi masalah, menentukan data input yang diperlukan dan menentukan output yang diinginkan. Membuat bagan dan struktur cara penyelesaian dapat dilakukan dengan membuat bagan secara global dan mendeskripsikan tugas masing-masing subprogram. Memilih metode penyelesaian dapat dilakukan dengan memilih struktur data dan memilih algoritma terbaik yang akan digunakan. Pengkodean dapat dilakukan dengan memilih bahasa pemrograman yang sesuai dan menterjemahkan algoritma ke bahasa pemrograman. Mencari kesalahan dapat dilakukan dengan mencari kesalahan penulisan program dan mencari kesalahan pelaksanaan. Menguji dan verifikasi program dapat dilakukan dengan menguji dengan data yang benar dan menguji dengan data yang salah. Dokumentasi program dapat dilakukan dengan cara mencatat mengenai program yang telah dirancang. Pemeliharaan program dapat dilakukan dengan cara  memperbaiki kekurangan yang ditemukan di dalam program. Memodifikasi program dapat terjadi karena perubahan spesifikasi. Algoritma sangat penting untuk ilmu komputer. Banyak cabang ilmu komputer yang mengarah ke dalam pemahaman algoritma. Tetapi algoritma tidak selalu identik dengan imu komputer  saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara- cara membuat masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah membuat masakan. Bila langkah-langkahnya tidak logis atau tidak tepat, tidak dapat menghasilkan masakan yang diinginkan.

Nama : Fritz Raynold Mula Artha Napitupulu
NIM         :       D1041141058

Sumber :
https://andikafisma.wordpress.com/algoritma-dan-pemrograman/
http://staff.unipdu.ac.id/nufan/2013/09/24/pengantar-algoritma-dan-pemrograman/

Wednesday, February 25, 2015

ALGORITMA DAN PEMROGRAMAN DASAR

ALGORITMA DAN PEMROGRAMAN DASAR

A.    Algoritma
Algoritma ditemukan oleh seorang ahli matematika yang juga seorang penulis buku Arab dari Uzbekistan bernama Abu Abdullah Muhammad Ibn Musa al-Khwarizmi sekitar abad ke-9. Algoritma adalah langkah-langkah, metode dan tahapan yang logis dan terstruktur atau sistematis yang digunakan untuk menyelesaikan suatu permasalahan. Kata kunci dalam algoritma ada di logis. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar (https://andikafisma.wordpress.com/algoritma-dan-permrograman/). Ketika seseorang menemukan suatu masalah dan berusaha untuk menyelesaikannya, tak dapat dipungkiri metode atau teknik yang digunakan bisa terdiri atas banyak cara, tidak hanya satu, dan kita harus memilih akan menggunakan metode yang mana yang akan kita gunakan untuk memecahkan permasalahan tersebut. Begitu pula yang terjadi dalam algoritma, metode yang digunakan dalam pemecahan masalah mungkin berlainan.
Terdapat contoh soal bagaimana algoritma dapat menyelesaikan masalah (http://www.unej.ac.id/files/pdf2/Budi-Algoritma-Pemrograman-Dalam-Bahasa-Pascal.pdf):
Soal 1 :
1.    Terdapat dua buah gelas yang berisi air yang berwarna merah dan gelas yang berwarna biru. Kita ibaratkan gelas yang berwarna merah adalah gelas A dan gelas yang berwarna biru adalah gelas B. Jika isi gelas A ingin kita pindahkan ke dalam gelas B dan isi gelas B berpindah ke gelas A aagar tidak merubah warna masing-masing gelas tentukan cara bagaimana isi gelas tersebut dapat berpindah tempat tanpa merubah isi dalam gelas tersebut.

Penyelesaian :
1.    Kita tambahkan gelas kosong yang kita asumsikan sebagai gelas C.
2.    Pindahkan isi gelas A ke dalam gelas kosong C sehingga sekarang gelas A kosong dan isi gelas C adalah air bwerwarna merah.
3.    Setelah itu pindahkan isi gelas B ke dalam gelas A sehinga gelas B kosong dan berpindah ke gelas A.
4.    Pindahkan isi gelas C yang berisi air warna merah ke dalam gelas B yang sudah kosong karena isinya sudah berpindah ke dalam gelas A.
5.    Hasil akhirnya adalah gelas A berisi air berwarna bisu dan gelas B berisi air berwarna merah.

Dalam hal ini tampak dengan jelas bagaimana algoritma dapat menyelesaikan suatu masalah dengan tidak menimbulkan suatu masalah baru. Bisa dikatakan bahwa seorang programer harus dapat menguasai algoritma, karena setiap masalah yang dihadapi oleh seorang programer dapat diselesaikan dengan algoritma.

B.    Dasar Algoritma
1.    Pernyataan dan Aksi
Adalah langkah yang digunakan dalam penyelesaian suatu algoritma. Suatu penyataan menggambarkan aksi algoritmik yang dapat dieksekusi (http://www.unej.ac.id/files/pdf2/Budi-Algoritma-Pemrograman-Dalam-Bahasa-Pascal.pdf):

2.    Runtutan atau Sequence
Algoritma merupakan runtutan suatu instruksi atau lebih , yang berarti:
a.    Setiap instruksi di kerjakan satu persatu.
b.    Setiap instruksi dilaksanakan sekali, tidak ada instruksi pengulangan.
c.    Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi, sesuai dengan yang tertulis dalam teks algoritmanya.
d.    Akhir dari instruksi terakhir adalah akhir algoritma.

3.    Pemilihan
Dalam sebuah program adakalanya kita dihadapkan pada suatu kondisi yang mana kondisi tersebut akan mempengaruhi alur program yang akan kita buat.
Contohnya:
Jika lampu padam
Maka ruangan akan gelap

Pernyataan diatas dapat kita tulis ke dalam pernyataan kondisional seperti ini:
If kondisi then aksi

Artinya :
If lampu padam then ruangan akan gelap

Contoh lain :
If nasi habis then masak lagi
If merasa haus then beli minuman

If yang dalam Bahasa Indonesia berarti jika dan then berarti maka dimana hal ini bisa menghasilkan nilai benar atau salah.

4.    Pengulangan
Dalam algoritma kita dapat membuat pengulangan kalimat sebanyak apapun yang kita inginkan. Misalnya kita akan menulis “saya minta maaf” sebanyak 200 kali maka kita dapat gunakan format sebagai berikut:

Program menulis kata :
{Menuliskan kata sebanyak 100 kali}
Deklarasi
Algoritma
For i dari 1 sampai 100
Tulis „Saya akan belajar yang rajin‟;
End for

Algoritma diatas akan mengulangi kata “Saya minta maaf‟ sampai dengan 100 kali, jika perulangan sudah terpenuhi maka perulangan pun akan berhenti

C.    Algoritma dan Program
Program adalah suatu implementasi dari bahasa pemrograman (https://andikafisma.wordpress.com/algoritma-dan-permrograman/). Keuntungan yang didapat dalam pembuatan algoritma adalah sebagai berikut:
1.    Suatu penulisan algoritma tidak bergantung pada bahasa pemprograman manapun, yang berarti suatu penulisan algoritma tidak terikat atau bebas dari bahasa pemrograman dan komputer yang melaksanakannya.
2.    Penterjemahan notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
Hal-hal yang harus diperhatikan dalam pembuatan algoritma adalah antara lain:
1.    Suatu teks algoritma di dalamnya terdapat deskripsi langkah-langkah dalam menyelesaikan masalah. Deskripsi tersebut ditulis dalam notasi yang dapat dengan mudah dimengerti dan dipahami.
2.    Dalam menulis algoritma notasi yang digunakan disebut notasi algoritmik.
3.    Aturan penulisan dan notasi algoritmik dapat dibuat sendiri oleh setiap orang.
4.    Dalam penulisan program, seorang penulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalankannya.
5.    Algoritma pada dasarnya digunakan untuk membantu kita dalam mengkonversikan suatu masalah ke dalam bahasa pemrograman.
6.    Algoritma merupakan suatu hasil pemikiran yang konseptual, agar dapat dijalankan dengan komputer, algoritma tersebut harus ditranslasikan ke dalam bahasa pemrograman. Dalam hal ini terdapat beberapa hal yang harus diperhatikan:
a.    Pendeklarasian Variabel
Disini tidak semua bahasa pemrograman membutuhkan pendeklarasian variabel.
b.    Pemilihan Tipe Data
Pemilihan tipe data digunakan jika bahasa pemrograman yang digunakan membutuhkan pendeklarasian variabel.
c.    Pemakaian Instruksi-instruksi
Instruksi yang digunakan memiliki kegunaan yang sama, tetapi masing-masing istruksi tersebut tentunya memiliki kelebihan dan kekurangan yang berbeda.
d.    Aturan Sintaks
Dalam penulisan program, kita terikat dengan aturan sintaks dalam pemrograman yang akan digunakan.


e.    Tampilan Hasil
Tampilan hasil saat penyajian tidak dipikirkan pada saat pembuatan algoritma. Hal teknis seperti ini diperhatikan hanya saat hasil tersebut dikonversikan menjadi program.
f.    Cara Pengoperasian Compiler atau Interpreter
Compiler atau Interpreter merupakan kelompok yang didalamnya terdapat bahasa pemprograman.




DAFTAR PUSTAKA
(https://andikafisma.wordpress.com/algoritma-dan-permrograman/).
(http://www.unej.ac.id/files/pdf2/Budi-Algoritma-Pemrograman-Dalam-Bahasa-Pascal.pdf)






Nama: Widiya Hidayatullah
NIM : D1041141012

DEFINISI ALGORITMA DAN PEMROGRAMAN

Penyajian Algoritma dan Pemrograman
Algoritma merupakan pola pikir yang terstruktur yang berisi tahap-tahap untuk penyelesaian suatu masalah secara sistematis. Algoritma juga adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Dalam melakukan pemilihan algoritma yang pertama adalah algoritma harus bernilai benar. Artinya, algoritma ini akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak melihat sebagus apapun algoritma, yang dikerjakan, bila algoritma tersebut memberikan keluaran yang salah, maka algoritma itu bukanlah sebuah algoritma yang baik.
Pertimbangan yang kedua yaitu harus memperhatikan dan mengetahui seberapa baik hasil yang dicapai oleh algoritma itu. Hal ini sangat penting saat algoritma tersebut menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya mendekati). Algoritma yang baik juga harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya. Yang ketiga adalah efisiensi algoritma. Sebuah efisiensi algoritma dapat dilihat dari 2 hal yaitu suatu efisiensi waktu dan efisiensi memori. Meskipun algoritma tersebut memberikan keluaran yang benar (paling mendekati), tetapi juga kalau kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut kadang tidak akan dipakai, karena pasti setiap orang akan menginginkan keluaran yang cepat. Begitu juga dengan memorinya, semakin besar memori yang telah digunakan maka semakin tidak bagus juga algoritma tersebut untuk digunakan lagi. Dalam kenyataannya, setiap orang pasti bisa membuat sebuah algoritma yang berbeda untuk menyelesaikan suatu permasalahan mereka, walaupun terjadi perbedaan dalam menyusun algoritma, pastinya kita akan mengharapkan suatu keluaran yang sama atau paling tidak mendekati hasilnya. Jika terjadi demikian, carilah algoritma lainnya yang lebih efisien dan tercepat.
Algoritma dapat disajikan dengan cara dua teknik, antara lain dengan menggunakan  teknik tulisan dan teknik gambar.  penyajian algoritma dalam bentuk tulisan biasanya menggunakan metode English structure dan pseudocode, sedangkan penyajian algoritma dengan teknik gambar biasanya menggunakan metode structure chart, hierarchy plus input-process-output, flowchart dan Nassi Schneiderman chart.
Konsep sebuah pemrograman terstruktur memegang suatu peran yang penting dalam menyusun, merancang, dan mengembangkan suatu program, khususnya sebuah program aplikasi yang besar dan kompleks.
Berikut ini adalah beberapa istilah dasar dari pemrograman:
a. program adalah bagian dari kata, ekspresi, pernyataan atau kombinasinya yang disusun dan dirangkai menjadi satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan suatu masalah yang diimplemetasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh komputer.
b. bahasa pemrograman merupakan prosedur/tata cara penulisan program. Pada bahasa pemrograman terdapat dua factor penting yaitu sintax dan semantic. Sintax (sintaks) adalah sebuah aturan gramatikal yang mengatur tata cara penulisan kata, ekspresi, dan pernyataan, sedangkan semantic adalah aturan yang menyatakan suatu arti.
c. pemrograman merupakan proses mengimplemasikan urutan lamgkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman.
d. pemrograman terstruktur merupakan proses pengimplementasikan urutan langkah-langkah untuk menyelesaikan suatu masalah dalam bentuk program yang memiliki rancang bangun yang sistematis atau terstruktur dan tidak terlalu rumit sehingga mudah untuk dicermati,   di telusuri dan dikembangkan oleh setiap orang.
Membangun program
Untuk menyusun sebuah program yang besar dan lengkap, pemrogram memerlukan beberapa tahapan penyusunan yang sistematis dan tepat, antara lain sebagai berikut:
1. Definisi masalah.
2. Analisi kebutuhan.
3. Penyusunan algoritma.
4. Pengkodean/ pemrograman.
5. Testing dan Debuging
6. Pemeliharaan
7. Dokumentasi
Untuk memecahkan suatu masalah sederhana pemrogram tidak perlu melalui ketujuh tahpa yang telah ada di atas, tetapi cukup hanya dengan mengidentifikasikan masalah, yaitu dengan menentukan input, proses, dan output yang diinginkan; menentukan algoritma; mengimplemasikan dengan suatu bahasa pemrograman tertentu dan melakukan testing.
Ada beberapa alasan mengapa pemrograman perlu menggunakan tahap-tahap penyusunan program tersebut, yaitu :
a) Pertimbangan logis
Melalui tahap definisi masalah dan analisi kebutuhan, maka pemrogram dapat mengetahui dengan jelas bobot atau tingkat kesulitan yang harus dipecahkan sehingga dapat melakukan perhitungan dengan tepat dan cepat, baik untuk menentukan jumlah tenaga, harga, sumber daya maupun waktu yang dibutuhan untuk menyusun program.
b) Pertimbangan analogi
Menyusun program sangat identik dengan membangun rumah di mana dibutuhkan rancangan arsitektur dan definisi tahap-tahap pengerjaan yang harus terencana dengan baikdan sistematis, sebelum ia mulai membangun.
c) Pertimbangan jumlah data
Jumlah dan jenis data serta proses pengolahan data merupakan suatu hal yang perlu diperhatikan secara teliti. Jenis dan jumlah pada data sangat mempengaruhi dalam  menentukan jenis variabel dan struktur data yang akan digunakan dalam penyusunan program tersebut.


d) Pertimbangan untuk pengembangan
Bila melewati suatu tahap penyusunan program akan diperoleh suatu program yang baik, terstruktur, dan sistematis yang disertai denagn dokumentasi uang lengkap sehingga dapat dengan mudah dikembangkan di masa yang akan dating.
e) Pertimbangan prinsip
Saat menyusun program sebaiknya pemrogram membuat persiapan dan rancangan arsitektur program dengan matang sehingga tidak menimbulkan masalah pada tahap pemrograman dan testing.

Ciri teknik pemrograman terstruktur
a) Algoritma pemecahan masalah tersbut harus yang tepat, benar, sederhana, standard dan efektif.
b) Mempunyai struktur logika dan struktur program yang benar dan mudah dipahami serta menghindari penggunaan instruksi GOTO.
c) Memerlukan  biaya testing, pemeliharaan dan pengembangan yang rendah.
d) Memiliki dokumentasi yang baik.

Standar program dibutuhkan untuk mrnciptakan suatu program yang baik yang memilikinportabilitas yang tinggi sehingga memudahkan dalam merancang dan merawat program serta meningkatkan efektifitas penggunaan peralatan computer.
Untuk menentukan standar program yang baik dibutuhkan beberapa standar sebagai dasar penilaian, seperti :
a. Teknik pemecahan masalah
b. Penyusunan program
c. Perawatan program
d. Standar prosedur
Standar –standar tersebut sering dilihat oleh pemrogram sebagai batasan kreatifitas dan kemampuan untuk menuangkan berbagai macam ide ke dalam sebuah bentuk program. Namun standar tersebut akan membuat beberapa program menjadi konsisten dan mudah untuk dikembangkan lebih lanjut.
Sumber: https://andikafisma.wordpress.com/algoritma-dan-pemrograman/
Sutedjo Budi, Algoritma & Teknik Pemrograman, penerbit andi, Yogyakarta,2004

SISCA LESTARI TEKNIK INFORMATIKA (A)
D1041141042

PSEUDOCODE

A. Pengertian
Pseudocode atau dalam bahasa Indonesia disebut kode palsu adalah deskripsi dari algoritma pemrograman computer yang menggunakan konvensi struktural dari suatu bahasa pemrograman, dan ditujukan agar dapat dibaca oleh manusia dan bukanya oleh mesin.
Pseudocode biasanya tidak menggunakan elemen cukup detail yang tidak perlu untuk kebutuhan pemahaman manusia dari suatu algoritma, seperti deklarasi variabel, kode ataupun subrutin untuk sistem yang bersifat spesifik.

B. Tujuan
Tujuan pseudocode adalah agar manusia dapat dengan mudah dalam pemahaman dibandingkan dengan menggunakan bahasa pemrograman yang umumnya digunakan, lebih lagi aspeknya yang relatif ringkas dan tidak bergantung pada suatu sistem tertentu yang merupakan prinsip utama dalam suatu algoritma.
Pseudocode pada umumnya digunakan di dalam buku-buku ataupun publikasi karya ilmiah yang mendokumentasikan dari suatu algortima, dan juga dalam perencanaan pengembangan program komputer, untuk membuat sketsa atas struktur sebuah program sebelum program yang sesungguhnya ditulis.
Tidak ada satu pun standar yang berlaku untuk pseudocode, sebuah program yang masih berupa pseudocode belum dapat dijalankan. Pseudocode juga mirip dengan kerangka program (skeleton programs) termasuk dummycode, yang bisa dikompilasi tanpa kesalahan. Diagram alur dapat juga dimasukkan sebagai alternatif berbasis grafis sebuah pseudocode.

C. Penggunaan
Penggunaan pseudocode pada umumnya juga banyak kita temukan di dalam buku-buku teks dan publikasi ilmiah yang membahas tentang ilmu komputer serta komputasi numerik yang sering menggunakan pseudocode dalam mendeskripsikan suatu algoritma dengan tujuan agar programer dapat memahaminya meskipun mereka belum bisa memahami bahasa pemrograman yang digunakan. Di dalam buku-buku teks biasanya disertakan juga pengantar yang membahas tentang notasi dan konvensi yang digunakan, termasuk yang digunakan pada pseudocode. Untuk tingkat kejelasan secara lebih detail dari penggunaan suatu bahasa pemrograman kadang-kadang digunakan juga sebagai pendekatan. Contoh, buku teks Donald Knuth "The Art of Computer Programming" yang menggunakan bahasa assembly untuk mikroprosesor yang sebenarnya tidak ada. Kadang juga penggunaan pseudocode bisa kita temukan dalam perencanaan pengembangan suatu program komputer.

Seorang programer yang akan mengimplementasikan suatu algoritma yang sifatnya spesifik, utamanya algoritma yang masih belum dikenalinya, umumnya menggunakan pseudocode sebagai penjelasan, kemudian ia akan dengan mudah "menerjemahkan" penjelasan tersebut ke dalam bahasa pemrograman dan mengubahsuai agar dapat berinteraksi secara benar dan menyeluruh dalam program. Programer juga dapat memulai sebuah proyek dengan membuat sketsa kode dengan menggunakan pseudocode di atas kertas sebelum menulisnya dalam bahasa pemrograman yang sesungguhnya, seperti yang dilakukan dalam pendekatan "top-down".

D. Sintaksis
Pseudocode umumnya tidak mengikuti aturan umum yang berlaku pada suatu bahasa pemrograman, artinya tidak ada suatu bentuk standar yang sistematik, meskipun penulis umumnya menggunakan tata cara ataupun sintaksis, contohnya struktur kontrol dari bahasa pemrograman umum yang digunakan. Sintaksis yang populer digunakan menggunakan sintaksis bahasa pemrograman BASIC, Pascal, Java, C, C++,  Lisp, dan ALGOL. Deklarasi variabel umumnya tidak digunakan, begitu pula halnya dengan blok kode yang seringkali digantikan dengan satu baris penjelasan dalam bahasa manusia (natural).
Bentuk serta corak dari pseudocode bisa sangat beragam tergantung pada penulis dari publikasi masing-masing dan buku teks tersebut, dari yang model pseudocode paling sederhana hingga sangat detail sehingga hampir menyerupai dengan bahasa pemrograman yang sesungguhnya.

E. Struktur Pseudocode
Judul
{Berisi Judul Algoritma}
Deskripsi
{Berisi Deklarasi Variabel atau Konstantan}
Implementasi
{Berisi Inti Algoritma}
Notasi – notasi Pseudo
1. Bentuk Pernyataan
X <—- Y
keterangan :
X : diberi nilai
Y : Memberi Nilai
Ex : Hasil <—- Bilangan Mod 2
2. Bentuk Percabangan
if kondisi then
pernyataan
if kondisi 1 then
pernyataan 1
else
pernyataan 2
if kondisi 1 then
pernyataan 1
else if kodisi 2 then
pernyataan 2
else if kondisi n then
pernyataan
else
pernyataan else
3. Bentuk Perulangan
for (persyaratan) do
pernyataan for
while (persyaratan)
pernyataan while
Repeat
pernyataan repeat
Until (persyratan)

F. Contoh-contoh Penulisan Pseudocode:
1. Untuk menampilkan tulisan Test:
Start
Print “Test”
End
2. Untuk menampilkan variable berisi tulisan Test:
Start
a = “Test”
Print a
End
3. Untuk menghitung hasil penjumlahan:
Start
Read a, b
c = a + b
Print c, “ ditambah “, b, “ hasilnya “, c
End
4. Untuk menampilkan isi variable yang hanya lebih kecil dari 8
Start
Read e
If e < 8 Then
          Print e
Else
          Print “Masukkan angka kurang dari 8!”
End If
End
5. Untuk menampilkan isi variable di antara 0 dan 8:
Start
Read f
If f > 0 Then
          If f < 8 Then
                   Print f
          Else
                   Print “Masukkan angka di antara 0 dan 8!”
          End If
Else
          Print “Masukkan angka di antara 0 dan 8!”
End If
End
6. Untuk menampilkan mata kuliah sesuai nomor yang dimasukkan
Start
      Print “Masukkan nomor mata kuliah Anda (1-4):”
      Read g
      Switch g
                Case 1 : Print “Logika Matematika”
                Case 2 : Print “Kalkulus”
                Case 3 : Print “Algoritma dan Pemrograman”
                Case 4 : Print "Basis Data 1*"
                Else : Print “Masukkan hanya nomor 1-4”
      End Switch
End
7. Untuk menampilkan tulisan Test sebanyak 3 kali dengan fungsi For
Start
      For h = 1 To 3 Do
                Print “Test ”
      End For
End
8. Untuk menampilkan tulisan Test sebanyak 3 kali dengan fungsi While-Do
Start
      i = 1
      While i <= 3 Do
                Print “Test ”
                i = i + 1
      End While
End
9. Menampilkan tulisan Test sebanyak 3 kali dengan fungsi Repeat-Until
Start
      j = 1
      Repeat
                Print “Test ”
                j = j + 1
      Until j <= 3
End


ALGORITMA & PEMROGRAMAN BAHASA COBOL

Dalam dunia yang sudah serba praktis ini,tentunya pekerjaan seperti apapun ingin dilakukan dengan praktis.Pekerjaan seperti menghitung gaji karyawan dengan jumlahnya yang banyak juga bisa dikerjakan dengan singkat.Pekerjaan seperti itu bisa kita selesaikan dengan menggunakan algoritma.Algoritma itu sendiri adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.Dan akan dibentuk menjadi sebuah program. Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan.Dalam konteks ini kita akan membicarakan tentang bahasa pemrograman tingkat tinggi yaitu COBOL.Lebih baiknya kita mengenal terlebih dahulu apa itu bahsa pemrograman tingkat tinggi, bahasa tingkat tinggi adalah bahasa yang membuat pemrograman lebih mudah dimengerti, lebih mudah diolah, dan berorientasi ke bahasa manusia dalam bahasa Inggris. Tetapi, program dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Hal itu perlu diterjemahkan dan diolah terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi dengan CPU.

COBOL,yang merupakan singkatan dari Common Business Oriented Language adalah suatu bahasa komputer orang awam yang bisa disebut High Level Language yang berorientasi langsung dalam seputar permasalahan bisnis. COBOL hampir bisa dipakai dan digunakan pada semua komputer bila terdapat compiler COBOL-nya. Diciptakan atau ditemukan pada tahun 1959 dan dikembangkan oleh suatu grup bernama CODASYL (Conference on DataSystem Language).Diperkenalkan pertama kali secara formal pada bulan Januari 1960. COBOL memiliki banyak versi, sehingga untuk mempermudah penggunanya COBOL terus dikembangkan dandistandarisasi pada tahun 1968 dan 1974, diberi nama ANSI COBOL (American NationalStandard Institute COBOL).
Struktur Program COBOL.

Program COBOL dapat dikelompokkan menjadi 4 Divisi,setiap divisi dimulai dengan judul divisi dengan urutan sebagai berikut:Identification Division,Environment Division,Data Division,Procedure Division.Penjelasan divisi-divisi dalam program COBOL:
1.IDENTIFICATION DIVISION
Merupakan divisi yang pertama dalam COBOL dan yang sederhana bentuknya.Identification Division tidak dipecah dalam beberapa section tetapi langsung terdiri dari beberapa paragraph.
2.ENVIRONMENT DIVISION
Memberikan  informasi atau data tentang peralatan yang dipergunakan didalam program.
3. DATA DIVISION
Memperlihatkan suatu penjelasan atau keterangan yang ada tentang input dan output data yang dipergunakan, atau berisisemua keterangan tentang file, record, nama-data serta bentuk / format yang akandipergunakan didalam PROCEDURE DIVISION.
4.PROCEDURE DIVISION
Procedure division merupakan sebuah inti atau pusat saat melakukan pemrograman dengan COBOL. Statement yang ada pada PROCEDURE DIVISIONdibentuk dari verb, diantara contohnya adalah: MOVE, DISPLAY, ACCEPT, dan STOP.
-MOVE verb
Difungsikan pengguna untuk memindahkan data dari sebuah field ke lokasi field yang lain, sehingga inputdata dapat dimanipulasi untuk menghasilkan output.
-DISPLAY verb
Digunakan pengguna untuk memperlihatkan  hasil dilayar ataupun printer.
-ACCEPT verb
Digunakan pengguna untuk memasukkan atau menginput data melalui layar saat  program tersebut dijalankan.
-STOP verb
Digunakan pengguna untuk memberhentikan program dengan secara permanen maupun sementara.
-ADD Verb
Digunakan pengguna untuk menambah 2 atau lebih operand numerik dan menyimpan hasilnya.
-SUBSTRACT Verb
Digunakan pengguna untuk operasi pengurangan suatu nilai data numerik.
-MULTIPLY Verb
Digunakan pengguna untuk menghitung,mengalikan 2 nilai numerik dan menyimpan hasilnya.
-COMPUTE
Digunakan pengguna untuk melakukan operasi yang lebih rumit, untuk menyederhanakan 4 arithmatic verb sebelumnya.
-GO TO Verb
Digunakan pengguna untuk mengalih kontrol tanpa syarat ke paragraph tertentu
-PERFORM Verb
Digunakan untuk membuat suatu statement yang akan membawa proses dari programmeloncat ke suatu paragraph, lalu menjalankan seluruh statetement yang ada padaparagraph tersebut. Jika telah selesai akan kembali ke statement setelah PERFORM
-ALTER Verb
Digunakan pengguna untuk merubah arah tujuan proses dari statement GO TO yang telah ada diprogram.
-GO TO … DEPENDING Verb
Digunakan pengguna untuk alih kontrol bersyarat. Beralih pada paragraph tertentu dengan kondisitertentu.

Setiap divisi tersusun urutan susunan bagian yang tersusun secara baik,yang memiliki urutan sebagai berikut:
Division,Region,Section,Paragraph,Sentence/Entry,Statement/Clause,Phrase/Option.
Beberapa sebutan Region,sentence, statement dan phrase/option digunakan pada Procedure Division, sedangkan istilah Entry dan clause digunakan pada ke-3 divisi lainnya.
1.Division, merupakan bagian utama dari suatu program COBOL dan selalu di awali dengan juduldivisi.
2.Region , merupakan suatu kumpulan bagian tertentu dalam PROCEDURE DIVISION.
3.Section , merupakan suatu kumpulan dari paragraph atau entry dan selalu diawali denga judul seksi.
4.Paragraph ,merupakan suatu grup dari kalimat (sentences) didalam PROCEDUREDIVISION dan selalu diawali dengan nama/ judul Paragraph.
5.Entry  , merupakan sesuatu yang harus dituliskan pada tempat-tempat tertentu didalamprogram COBOL. Suatu entry dapat juga dikatakan sebagai suatu set (kumpulan) dari clause (anak kalimat) yang diakhiri dengan titik
6.Sentence , merupakan kumpulan dari satu atau lebih statement, dan harus diakhiridengan tanda titik.
7.Clause , merupakan kumpulan dari kata yang membentuk suatu arti.
Clause adalahbagian dari entry.
8.Statement , merupakan perintah pengerjaan untuk komputer.
Statement  dalam bentukkata kerja yang merupakan COBOL Reserved Words.
9.Phrase, suatu group kata yang merupakan bagian dari statement  atau clause.
10.Option, kebanyakan Phrase adalah optional (boleh disertakan/tidak) maka, seringdisebut dengan Option.

User Defined Word
Seorang programmer bisa membentuk serangkaian kata untuk membuat dan mendefinisikan tersendiri untuk pemberian nama pada:
1.Nama-program(program-name) adalah suatu nama yang diberikan untuk menunjukkan identitas dari program yang dibuat, dan dimasukkan pada paragraph PROGRAM-ID dalam lingkup IDENTIFICATION DIVISION.
2.Nama-alat(mnemonic-name) adalah nama yang dibuat oleh programmer untuk menunjukkan suatu alat tertentu. Dibentuk dalam sebuah paragraph SPECIAL-NAMES dan dalam lingkup ENVIRONMENTDIVISION.
3.Nama-file(file-name) adalah nama yang dibuat untuk menunjukkan suatu file tertentu yang dipergunakan dalam sebuah program. Dibentuk pada paragraph FD (File Description) dalam DATADIVISION atau pada statement CLOSE< OPEN< READ dalam PROCEDURE DIVISION.
4.Nama-record, pada COBOL, record harus diberi nama-record (Record-name) pada DATARECOR clause dan pada record description entry  dalam DATA DIVISION.
5.Nama-data (data-name) adalah nama yang dibuat untuk menunjukkan suatu data item yang dipergunakan dalam sebuah program. Dibentuk dalam FILE SECTION di record description entry dalam DATA DIVISION dan pada WORKING-STORAGE SECTION.
6.Nama-indek dan nama-data-indek, digunakan untuk data dalam tabel yang di-indek.Dibentuk secara implisit dengan menggunakan OCCURS dan INDEXED BY clause. Nama-data-indekdidefinisikan dengan mengunakan USAGE IS INDEX dalam DATA DIVISION.
7.Nama-kondisi (condition-name) adalah nama data yang dihubungkan dengan suatu nilai tertentu. Nama data ini didefinisikan dalam sebuah DATA DIVISION dengan level number 88 dan dioperasikandalam PROCEDURE DIVISION pada statement IF.
8.Nama-prosedur (procedure-name) atau nama-paragraph (paragraph-name) adalah nama yang menunjukkan suatu paragraph dalam PROCEDURE DIVISION. Nama-paragraph diperlukan bila saat proses akan melompat ke paragraph tertentu dengan menggunakan statement GO TO dan PERFORM dalam PROCEDURE DIVISION.
9.Nama-seksi, pada PROCEDURE DIVISION, bisa dibuat jadi beberapa seksi dan tiap seksi dapat dibentuk dengan dimulai judul seksinya yang disebut dengan Section-name.
10.Nama-kualifikasi bila nama-data atau nama-kondisi tidak unik (bila ada yang sama antara satu dan lainnya), ini digunakan untuk kita dapat menentukan yang mana yang akan digunakan, bisa menggunakan qualifier.

Syarat Pemberian nama:
1.Gabungan dari huruf A-Z atau a-z, angka 0-9, Hypen (-).
2.Panjang maksimum 30 karakter.
3.Paling sedikit harus mengandung 1 huruf.
4.tidak boleh mengandung karakter khusus kecuali hypen yang diletakkan di tengah, tidak boleh diawal atau diakhir.
5.Tidak boleh mengandung COBOL reserved word.
6.Tidak boleh ada blank atau spasi.

Sumber:
1.http://www.academia.edu/7864645/MODUL_ALGORITMA_DAN_PEMROGRAMAN_BAB_I_Menjelaskan_Struktur_Algoritma
2. http://www.academia.edu/4820543/Konsep_Dasar_Program_COBOL

Nama     :Dimas Apriyandi
NIM       :D1041141008

Algoritma dan Pemrograman

Definisi ALgoritma
Algoritma ialah susunan langkah-langkah yang masuk akal menyelesaikan masalah yang disusun sistematis dan logis. Logis merupakan kata kunci dalam algoritma. Langkah-langkah di algoritma haruslah masuk akal dan harus bernilai benar atau salah.
Dalam beberapa situasi, algoritma adalah spesifikasi urutan langkah yang digunakan untuk menyelesaikan pekerjaan khusus. Yang harus dilihat dalam pemilihan algoritma ialah:
1.       Algoritma tidak boleh salah, harus benar. Artinya algoritma akan mengeluarkan hasil yang diinginkan dari sejumlah masukan yang diberikan.
2.      Kita harus mengetahui hasil yang dicapai oleh algoritma tersebut seberapa baik hasilnya. Algoritma yang baik harus memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.
3.      Efesiensi Algoritma. Maksud dari efesiensi ialah algoritma tidak hanya harus memberikan hasil yang mendekati hasilnya tetapi juga harus dengan waktu yang cepat. Selain itu juga harusnya memiliki kapasitas kecil, jika kapasitasnya besar tidak akan dipakai algoritma itu.
Jadi, algoritma yang akan dipakai ialah algoritma yang memberikan keluaran hasil benar, hasil yang mendekati nilai sebenarnya, efesiensi dalam waktu dan efesiensi dalam memori.

Beda Algoritma dan Program
            Program ialah rangkaian penjelasan komputer, sedangkan cara dan tahapan logis dalam program adalah algoritma. Ciri khusus program ialah ditulis menggunakan bahasa komputer(pemograman). Jadi dapat dikatakan program ialah suatu penerapan dari bahasa pemograman. Dapat disimpulkan bahwa program ialah gabungan antara algoritma dengan bahasa pemograman.
Program = Algoritma + Bahasa (Struktur Data)
Tidak dapat dipungkiri struktur data dan algoritma memiliki keterkaitan sangat erat pada sebuah program. Struktur data yang baik tanpa adanya algoritma yang seimbang akan membuat sebuah program menjadi kurang baik, begitu juga jika algoritmanya baik tapi struktur datanya yang buruk maka itu juga akan membuat program menjadi kurang baik juga.

Algoritmat Inti dari Ilmu Informatika
            Algoritma merupakan jantung atau inti dari ilmu komputer atau ilmu informatika. Algoritma tidak juga selalu berkaitan dengan ilmu komputer, di kehidupan sehari-hari juga terdapat algoritma. Misalnya, resep pembuatan kue dan cara memasak makanan yang dinyatakan dalam suatu langkah-langkah dan resep juga disebut algoritma. Resep-resep itu memiliki langkah, jika langkah-langkahnya tidak masuk akal maka makanan yang dihasilkan tidak sesuai keinginnan. Kita mencoba memasak dengan membaca setiap langkah-langkah yang terdapat dalam resep. Secara umum, benda yang mengerjakan proses disebut juga pemroses(procecor). Pemroses tidak harus komputer, bisa juga manusia,robot, dan alat-alat elektronika lain.



Belajar Cara Memprogram dan Belajar Bahasa Pemrograman
            Belajar memprogram dan belajar bahasa pemrograman tidaklah sama. Belajar cara memprogram ialah belajar mengenai ilmu tentang metode atau metodologi penyelesaian masalah, kemudian memasukannya ke dalam suatu catatan tertentu yang mudah dipahami dan dibaca. Sedangkan belajar bahasa pemrograman berarti belajar bagaimana cara memakai suatu bahasa yang sudah memiliki suatu aturan-aturan tata bahasa tersendiri, penjelasan-penjelasan, aturan pengoperasian compiler-nya, dan menggunakan penjelasan-penjelasan itu untu membuat program yang dibuat hanya ditulis dalam bahasa itu saja. Sampai sekarang terdapat berbagai bahasa permrogram, contohnya: bahasa rakitan (assembly), Cobol, Frotran, Ada, Algol, PL/I, C,C⁺⁺,Pascal, Basic, LISP, Prolog, PRG, bahasa-bahasa tiruan seperti Simscript, GPSS,CSMP, Dinamo. Berdasarkan tujuannya, bahasa pemrograman dapat digolongkan atas dua kelompok:
1.      Bahasa pemrograman bertujuan khusus. Yang terdapat dalam kelompok ini ialah Fortran (terapan komputasi ilmiah), bahasa rakitan (terapan pemrograman mesin), Cobol (untuk terapan bisnis dan administrasi), Prolog (terapan kecerdasan buatan).
2.      Bahasa pemrograman bertujuan umum, yang bisa dipakai untuk bermacam-macam aplikasi. Yang terdapat dalam kelompok ini ialah bahasa C, Pascal dan Basic.
          Kategori bahasa pemrograman:
-          Bahasa pemrograman tingkat rendah ( Low Level Programming language)
Ø  Bahasa yang agak sulit dipahami karena berkaitan dengan mesin komputer biasa disebut juga bahasa robot. Contohnya Bahasa Assembler.
-          Bahasa pemrograman tingkat tinggi ( High Level Programming Language)
Ø  Bahasa yang mudah dipahami oleh manusia dikarenakan pernyataan dan kata-katanya mudah dimengerti, maupun masih jauh berbeda dengan bahasa manusia yang sebenarnya. Contohnya Bahasa C, C⁺⁺, dan Pascal.
Notasi Algoritma
            Notasi algoritma tidak termasuk notasi bahasa pemrograman. Tapi notasi algoritma dapat diartikan ke berbagai jenis bahasa pemrograman. Penotasian algoritma harus dilakukan dengan sedemikian detail hingga mudah dimengerti dan dibaca. Meskipun notasi algoritma tidak memiliki bentuk bakunya seperti bahasa pemrograman, namun kestabilan terhadap notasi perlu dilihat untuk menghindari kesalahan.


Ø  Macam notasi algoritma :
-          Uraian deskriptif
-          Pseudocode




1.      Uraian Deskriptif

Dengan notasi berbentuk uraian, mendeskrisi setiap langkah yang dijelaskan dengan bahasa yang gampang. Proses dimulai dengan kata kerja seperti ‘hitung’ atau ‘menghitung’ , ’baca’ atau ‘membaca’ , ‘ganti’ atau ‘membagi’ , ‘bagi’ atau ‘membagi’, dan lain-lain, sedangkan penjelasan kondisional dikemukakan dengan ‘jika ... maka ...’. 

Ø   Contoh  menyelesaikan permasalahan menghitung luas dan keliling suatu lingkaran
Algoritma Hitung_Luas_dan_Keliling_Lingkaran 

DESKRIPSI:                                            
 • Masukkan jari-jari lingkaran (r)                                                                       
 • Hitung luas lingkaran dengan rumus L = Ï€  × r2                                      
 • Hitung keliling lingkaran dengan rumus K = 2 × Ï€ × r                                       
 • Tampilkan luas lingkaran                                                                    
 • Tampilkan keliling lingkaran.




2.      Psuecode

Psuecode adalah sebuah notasi yang serupa dengan notasi bahasa pemrograman tingkat tinggi, khususnya bahasa C dan pascal.
Contoh menyelesaikan permasalahan menghitung luas dan keliling suatu lingkaran dengan menggunakan bentuk pseudocode:
Algoritma Hitung_Luas_dan_Keliling_Lingkaran
{ Dimasukkan nilai jari-jari lingkaran (r). Carilah dan cetak luas dan keliling lingkaran tersebut dengan menggunakan rumus L=phi*r*r dan K=2*phi*r }

DEKLARASI:
const phi = 3.14
r, L, K = real

DESKRIPSI:
 read(r)
 L ← phi * r * r
K ← 2 * phi * r
 write(‘Luas lingkaran = ‘,L)
write(‘Keliling lingkaran = ‘,K)



Nama   :    MUHAMMAD FARID YUANDITTRYA
NIM     :   D1041141070


Algoritma dan Pemrograman

Algoritma dan Pemrograman

Agar komputer dapat mengerjakan suatu hal, Kita harus menuliskan suatu program komputer. Dalam menulis program komputer, kita harus memberitahukan kepada komputer langkah-langkah apa saja yang harus dilakukan. Sehingga komputer dapat menyelesaikan setiap langkah dan mencapai tujuan.
Ketika kita ingin memberikan perintah kepada komputer langkah apa yang harus dilakukan, kita harus menentukan bagaimana hal tersebut dapat dilakukan. Hal ini merupakan peran dari Algoritma komputer.
A. Algoritma
Algoritma adalah sekumpulan langkah-langkah atau metode yang disusun secara sistematis dan logis digunakan untuk menyelesaikan suatu masalah. Sedangkan algoritma pemrograman adalah sekumpulan metode yang di tulis sercara sistematis untuk menyelesaikan masalah pemrograman komputer. Suatu algoritma harus ditulis dalam bentuk yang dimengerti oleh pemroses. Sehingga suatu pemroses harus mengerti setiap metode atau langkah dalam algoritma dan menjalankanya sesuai dengan langkah tersebut.
Tujuan algoritma adalah memberikanpetunjuk tentang metode logika penyelesaian masalah dalam bentuk yang mudah dimengerti manusia sebagai tolak ukur dalam pengembangan program komputer.
Beberapa karakter yang harus dipenuhi oleh algoritma yaitu:
a. General (algoritma harus bersifat Umum).
b. Finiteness (Algoritma harus mempunyai akhir).
c. Efisien (algoritma yang ditulis harus sefisien mungkin)
d. Setiap langkah tidak memiliki makna ganda.
Notasi algoritma berbeda dengan notasi bahasa pemrograman, tetapi notasi algoritma dapat diterjemahkan kedalam berbagai bahasa pemrograman. Penotasian algoritma harus dilakukan agar mudah dibaca dan dipahami.
Dalam pembuatannya algoritma di bedakan dengan beberapa notasi, diantaranya sebagai berikut:
a. Bahasa ilmiah
Algoritma ini ditulis menggunakan bahasa yang baik dan mudah dimengerti.
Contoh algoritma yang menggunakan bahasa ilmiah menghitung luas :
1. Start
2. Input sisi
3. Proses luas persegi = sisi x sisi
4. Output luas persegi
5. End

b. Bagan Alir (flow Chart)
Algoritma ini menggunakan simbol-simbol untuk menyatakan seluruh kegiatannya atau operasinya.
c. Kode Semu (Pseu Code)
    Pseu Code adalah penjelasan bagaimana cara menyelesaikan suatu masalah. Pseu code menggunakan bahasa yang hampirmirip dengan bahasa pemrograman.
Contoh penulisan algoritma menggunakan pseu code menghitung luas persegi :
Start
Read (sisi)
Luas_persegi :=sisi*sisi
Write Luas_persegi
End

Tanpa kita sadari  Di sekitar kita tidak jarang kita temui hal-hal yang berkaitan dengan algoritma, seperti resep, dan lain-lain.
Contoh sederhana algoritma:
Misalnya untuk mengisi pulsa handphone menggunakan voucher, algoritmanya adalah:
Start
Mengosok hologram pada voucher
Mengetikan kodenya pada handphone
Melakukan panggilan atau akses pada kode tersebut.
End

B. Pemrograman
Program adalah algoritma yang ditulis dalam bahasa pemrograman. Sedangkan kegiatan mengkonversi algoritma kedalam bahasa pemrograman di sebut Pemrograman. Bahasa pemrograman adalah teknik standar untuk memerintah atau mengoperasikan komputer.
Bahasa pemrograman yaitu sekumpulan aturan sintaks dan semantik yang digunakan untuk mendefinisikan program komputer contoh Java, Visual Basic, C++, C, PHP dan lain-lain. Fungsi bahasa pemrograman adalah memerintah kepada komputer untuk mengolah data sesuai yang kita inginkan.
Bahasa pemrograman yang banyak digunakan  antara lain:
JavaScript
Sangat populer digunakan untuk menambah fitur halaman web maupun aplikasi. Bahasa ini termasuk paling mudah untuk dipelajari dan digunakan,sehingga populer dikalangan pemula.

PHP
Bahasa pemrograman ini biasanya digunakan untuk mengembangkan halaman web dinamis.
C++
Digunakan untuk menambah fitur dengan orientasi objek dalam bahasa C.
Java
Digunakan untuk membuat aplikasi Android dan lainnya.
Visual Basic
Sangat banyak digunakan untuk komputasi personal, mudah dan cepat untuk membuat program sederhana dan juga dapat digunakan untuk coding komlpeks.
Bahasa pemrograman terbagi menjadi beberapa tingkatan,yakni:
1. Bahasa Mesin adalah bahasa yang digunakan memberikan perintah kepada komputer menggunakan bahasa biner.
2. Bahasa pemrograman tingkat rendah (asembly) adalah bahasa yang digunakan untuk memberikan perintah kepada komputer dengan menggunakan kode-kode singkat atau mnemonic code. Contoh: Asembly, dan lain-lain.
3. Bahasa pemrograman tingkat menengah adalah bahasa yang digunakan untuk memberikan perintah kepada komputer menggunakan campuran instruksi kata-katad bahasa manusia. Contoh: bahasa C, C++.
4. Bahasa pemrograman tinkat tinggi adalah bahasa yang digunakan untuk memberikan perintah kepada komputer dengan menggunakan instruksi dari unsur bahasa manusia. Agar komputer bisa mengerti bahasa ini dibutuh kan program compiler atau interpreter. Contoh: Visual Basic, Pascal, Java dan lain-lain.
Proses pembuatan program adalah penulisan pada teks editor seperti notepad kemudian mengubahnya menjadi bahasa mesin agar dapat dieksekusi oleh prosesor/CPU. Dalam proses pengubahan kode sumber menjadi bahasa mesin di bagi menjadi dua macam yaitu kompilasi dan interpretasi.
a. Kompilasi
Pada proses kompilasi semua kode sumber dibaca terlebih dahulu untuk menghindari kesalahan sehingga program dapat dijalankan dengan baik dalam bentuk executable. Untuk melakukan proses kompilasi kita membutuhkan sebuah program yg disebut Compiler. Bahasa yang menggunakan kompilasi diantaranya bahasa C, Pascal, C++ dan lain-lain.
b. Interpretasi
Pada proses Interpretasi kode sumber akan dibaca dan dieksekusi perbaris. Sehingga jika terjadi kesalahan maka program akan berhenti pada baris tersebut. Untuk melakukan proses kompilasi kita membutuhkan sebuah program yg disebut Interpreter. Bahasa yang menggunakan teknik ini diantaranya bahasa Pearl, Phyton, Ruby dan lain-lain.

c. Kombinasi (Kompilasi sekaligus Interpretasi)
Pada proses ini bahasa pemrograman menghasilkan programnya dengan teknik kompilasi sekaligus interpretasi. Contohnya bahasa Java, Dalam peroses pembuatan program java kode sumber di ubah menjadi bytecode. Untuk menjalankan bytecode tersebut kita membutuhkan Java Runtime Evironment (JRE) berfungsi sebagai interpreter untuk menghasilkan program dari bytecode tersebut.



Oleh: Bandel Elon Subrata
NIM: D1041141002



Sumber:
http://id.wikipedia.org/wiki/Bahasa_pemrograman
http://bangkitimamputrasetiawan.blogspot.com/2013/02/algoritma-dan-pemrograman.html
http://www.academia.edu/8999541/Bab_1_ALGORITMA_DAN_PEMROGRAMAN_1

FLOWCHART

A.    Pengertian
Flowchart berasal dari dua kata yaitu flow yang berarti alir atau alur dan chart yang berarti diagram. Dalam ilmu teknologi flowchart adalah diagram yang berupa simbol-simbol grafis yang membentuk aliran algoritma yang menggambarkan langkah-langkah dalam penyelesaian masalah dalam program atau sistem secara logika.

B.    Jenis Flowchart
Ada beberapa jenis flowchart yaitu
1.    Systems Flowchart (Bagan Alir Sistem)
Systems flowchart merupakan bagan alir yang menunjukkan alur pekerjaan yang sedang dikerjakan secara keseluruhan dari sistem. Flowchart ini juga menunjukkan serta menjelaskan secara grafik urutan prosedur-prosedur yang terkombinasi di dalam sistem dan membentuk suatu sistem.
Contoh system flowchart untuk mengoreksi jawaban ujian dan kemudian mendapatkan hasil ujian tersebut.

Keterangan:
1)    Data jawaban ujian dimasukkan
2)    Koreksi jawaban ujian
3)    Cetak daftar koreksi data
4)    File utama ujian disimpan
5)    File utama ujian dan tabel siswa diperiksa dan dicocokan keduanya.
6)    File siswa lulus disimpan
7)    Cetak laporan hasil ujian

2.    Document Flowchart (Bagan Alir Dokumen) / Paperwork Flowchart
Bagan alir dokumen (Document Flowchart) atau disebut juga bagan alir formulir (Form Flowchart) atau paperwork flowchart menelusuri alur dari data yang ditulis melalui sistem. Bagan alir dokumen ini sering digunakan untuk menelusuri alur form dan laporan sistema dari satu bagian ke bagian yang lain untuk mengetahui bagaimana alur form diproses, dicatat, dan disimpan. Bagan alir dokumen menggunakan symbol-simbol yang sama seperti bagan alir sistem.
Berikut ini adalah contoh flowchart yang menggambarkan mengenai alur pembuatan kartu anggota suatu perpustakaan.


Keterangan:
#: Proses pengisian data calon anggota ke dalam computer
P: Tanda tangan dan validasi data

3.    Schematic Flowchart (Bagan Alir Skematik)
Bagan alir skematik merupakan bagan alir yang mirip dengan bagan alir sistem yaitu untuk menggambarkan suatu sistem atau prosedur. Perbedaan bagan alir skematik dan bagan alir sistem adalah bagan alir skematik tidak hanya memakai simbol-simbol flowchart standar yang biasanya digunakan pada bagan alir sistem, tetapi juga menggunakan gambar-gambar yang terdapat dalam komputer atau peralatan lain yang digunakan dalam sistem.
Flowchart skematik ini digunakan sebagai alat komunikasi antara analis sistem dengan orang-orang yang tidak mengerti tentang simbol-simbol pada bagan alir yang konvesional. Dengan memakai gambar yang terdapat pada komputer atau peralatan lain yang digunakan sebagai pengganti simbol-simbol bagan alir dapat memudahkan orang yang tidak familiar dengan simbol flowchart dalam memahami bagan alir dalam waktu lebih cepat. Simbol-simbol pengganti ini dapat mengurangi kemungkinan kesalahan pengertian dalam memahami sistem karena gambar-gambar tersebut dapat memudahkan pengamat untuk mengerti segala sesuatu yang dimaksudkan oleh analis sistem.

4.    Program Flowchart (Bagan Alir Program)
Bagan alir program digunakan untuk memperlihatkan secara lebih rinci tentang bagaimana setiap langkah dari suatu program dan hubungan proses dalam suatu program. Flowchart ini menunjukkan langkah suatu program tepat pada saat program itu terjadi.
Bagan alir program sering dipakai untuk memecahkan masalah dan untuk menggambarkan proses input menjadi output. Programmer menggunakan flowchart ini untuk menggambarkan urutan instruksi  dari program komputer. Sedangkan analis menggunakan flowchart ini untuk mengurutkan tugas-tugas pekerjaan dalam suatu prosedur atau operasi.
Bagan alir program terbagi menjadi dua metode penggambaran flowchart yaitu Conceptual Flowchart yang digunakan untuk menggambarkan alur pemecahan masalah secara global dan Detail Flowchart yang digunakan untuk menggambarkan alur pemecahan masalah secara rinci.
Contoh Conceptual Flowchart


5.    Process Flowchart (Bagan Alir Proses)
Bagan alir proses sering digunakan dalam teknik industri. Flowchat ini merupakan teknik penggambaran rekayasa yang sering digunakan oleh analis sistem untuk memecah masalah dan menganalis langkah-langkah selanjutnya dalam suatu prosedur atau sistem.
Flowchart proses mempunyai lima sombol khusus



C.    Simbol-simbol Flowchart
Simbol-simbol yang digunakan dalam flowchat terbagi menjadi tiga kelompok yaitu
1.    Flow Direction Symbols
Flow Directions Symbols adalah symbol-simbol yang di gunakan untuk menghubungkan setiap simbol.
Flow / Arus yaitu simbol yang menyatakan jalannya arus suatu proses.



Symbol Off-line Connector yaitu simbol yang digunakan untuk keluar atau masuk prosedur atau proses dalam lembar/halaman yang lain.

Symbol Connector yaitu simbol yang digunakan untuk keluar atau masuk prosedur atau proses dalam lembar/halaman yang sama.

Communication Link / Hubungan Transmisi yaitu simbol yang menyatakan transmisi data dari satu lokasi ke lokasi lain.

2.    Processing Symbols
Simbol-simbol yang menunjukan jenis operasi pengolahan dalam suatu proses atau prosedur.
Symbol Process yaitu simbol yang menunjukkan pengolahan yang dilakukan oleh komputer.

Symbol Manual Operation yaitu simbol yang menunjukkan pengolahan yang tidak dilakukan oleh komputer.

Symbol Decision / Keputusan yaitu simbol untuk kondisi yang akan menghasilkan beberapa   kemungkinan jawaban atau dua kemungkinan jawaban yaitu “iya” atau “tidak”.
Symbol Predefined Process yaitu simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan di dalam storage.

Symbol Terminal yaitu simbol yang digunakan untuk menyatakan permulaan atau akhir dari suatu program.

Symbol Terminal yaitu simbol yang digunakan untuk menyatakan permulaan atau akhir dari suatu program.

Symbol Manual Input yaitu simbol yang digunakan untuk memasukkan data secara manual melalui on-line keyboard.

Symbol Keying Operation yaitu symbol yang digunakan untuk menyatakan segala jenis operasi yang diproses dengan menggunakan mesin yang mempunyai keyboard.



3.    Input / Output Symbols
Simbol-simbol yang menunjukkan jenis suatu peralatan yang  digunakan sebagai media input dan output.
 Symbol input / output yaitu simbol yang menyatakan proses input dan output tanpa tergantung pada jenis peralatan input output yang digunakan.

 Symbol magnetic-tape unit yaitu simbol yang menyatakan input berasal pita magnetic atau output disimpan ke pita magnetic.


 Symbol punched card yaitu simbol yang menyatakan input berasal dari kartu atau output ditulis ke kartu.-

 Symbol disk and on-line storage yaitu simbol untuk menyatakan input berasal dari disk atau output disimpan ke disk.

 Symbol display yaitu simbol yang menyatakan peralatan output yang digunakan dan mencetak keluaran pada peralatan output tersebut seperti layar, plotter, dan sebagainya.

 Symbol dokumen yaitu simbol yang menyatakan input berasal dari dokumen dalam bentuk kertas atau output dicetak ke kertas.


Daftar Pustaka
1.    El Said, Fairuz. (2010). Analisis Sistem Informasi – Pedoman Membuat Flowchart. [Online]. Tersedia: https://fairuzelsaid.wordpress.com/2010/01/13/analisis-sistem-informasi-pedoman-membuat-flowchart/ [20 Februari 2015].
2.    Jogiyanto, analisis dan desain system informasi Andi off set Yogyakarta, 1990.
3.    Tavri D. Mahyusir, Analisa Perancangan Sistem Pengolahan data. PT Elex Media Komputindo, 1989.
4.    Yourdon Edward, Modern Structur Analisis, Prentice – Hall, Inc, 1989.


Nama    : M. ALFIN MU’TASHIM
NIM    : D1041141010