COMP6598 - Week 1 - Introduction To Algorithm LN - Final
COMP6598 - Week 1 - Introduction To Algorithm LN - Final
COMP6598
Introduction to Programming
Minggu 1
Sesi 2
Pengenalan Algoritma
COMP6598–Introduction to Programming
LEARNING OUTCOMES
1. LO1 : Peserta diharapkan dapat merancang dan menerapkan algoritma yang tepat dalam
menyelesaikan permasalahan
OUTLINE MATERI(Sub-Topic):
1. Definisi Algoritma
2. Bahasa Pemrograman
a. Pseudocode
b. Flowchart
c. NS Diagram
COMP6598–Introduction to Programming
ISI MATERI
Algoritma
Algoritma itu sendiri biasanya menjadi alat bantu dalam pengembangan program
maupun sistem. Algoritma ini membantu menjamin bahwa sistem yang dikembangkan sesuai
dengan pembahasan dan alur kerja yang diinginkan. Tak heran di setiap perusahaan
Konsultan IT pasti selalu identik dengan nama algoritma karena ini merupakan inti dari IT.
Algoritma itu sendiri juga merupakan pencerminan dari proses bisnis dan alur kerja sistem
yang ingin dikembangkan dalam struktur yang lebih detail sehingga membantu pengembang
dalam memahami alur detail dari cara kerja sistem yang akan dikembangkan.
Algoritma yang baik diharapkan memiliki lima karakteristik, yaitu memiliki input
(masukan), menghasilkan output (keluaran), jelas, memiliki akhir dan efektif.
Mulai
Lakukan
COMP6598–Introduction to Programming
Ulangi sampai data barang selesai dimasukkan
Selain itu,
Hitung Diskon = 0
Akhiri
Bahasa Pemrograman
Komputer tidak dapat memahami bahasa manusia, jadi untuk dapat membuat komputer
mengerjakan apa yang kita inginkan maka dibutuhkan program yang dituliskan dalam bahasa
yang dapat dimengerti oleh komputer. Terdapat tiga tingkat bahasa pemrograman yaitu :
1. Bahasa Mesin (Machine Language) : bahasa pada level ini terdiri dari kode biner yaitu
0 dan 1. Sebagai contoh apabila ingin menjumlahkan dua buah bilangan bisa saja yang
ditulis sebagai berikut: 1101101010011010
3. Bahasa Tingkat Tinggi (High Level Language) : bahasa ini yang paling banyak
digunakan saat ini dikarenakan lebih mudah dipahami oleh manusia. Bahasa yang
COMP6598–Introduction to Programming
ditulis pada level ini ditulis disebut sebagai source code, dikarenakan komputer tidak
memahami bahasa tersebut maka program tambahan yang disebut compiler
dibutuhkan. Adapun beberapa jenis bahasa pemrograman yang masuk level ini adalah
C, C++, C#, FORTRAN, COBOL, Java, dll.
Beberapa hal yang harus diperhatikan dalam mengaplikasikan bahasa pemrograman pada
komputer adalah :
Hal – hal diatas mempengaruhi kinerja dan stabilitas dari bahasa pemrograman pada saat
pembuatan aplikasi.Berikut merupakan beberapa contoh bahasa pemrograman :
Secara garis besar bahasa pemrograman dibedakan dari segi pengembangan, yakni
Desktop dan Web. Dikarenakan kondisi dari kedua sistem yang dikembangkan pun berbeda
maka proses dan alur serta cara pembuatan pun menjadi berbeda. Namun untuk pemrograman
Web dibutuhkan dua jenis bahasa, yakni server side code (bahasa pemrograman pada server
COMP6598–Introduction to Programming
dimana mengacu pada pengolahan transaksi pada data base dan logika sistem) dan client side
code (bahasa pemrograman pada klien dimana mengacu pada proses logika tampilan dari
sistem yang akan dikembangkan).
Bentuk penggambaran atau ekspresi dari algoritma dapat diwujudkan dalam 3 bentuk, yakni:
1. Flowchart
Flowchart merupakan bentuk penggambaran algoritma dalam bentuk diagram alur.
Pada penggambaran dengan teknik ini proses bisnis yang akan di buat sistemnya akan
digambarkan secara detail baik dari input, proses, maupun output.
Berikut merupakan beberapa symbol yang akan dipakai pada pembuatan flowchart
pada umumnya
.
Simbol Terminator digunakan untuk memulai atau mengakhiri flowchart
Simbol Flowline digunakan untuk aliran proses
Simbol Preparation digunakan untuk inisialisasi ataupun pemberian nilai awal
Simbol Proses digunakan untuk aktifitas / proses
Simbol Input / Output digunakan untuk menerima input ataupun menghasilkan
output
Simbol Decision digunakan apabila ada alternatif yang harus dipilih.
COMP6598–Introduction to Programming
Simbol On Page Connector, digunakan apabila dibutuhkan sambungan ke
bagian lain tetapi masih berada dalam satu halaman
Simbol Off Page Connector, digunakan apabila dibutuhkan sambungan ke
bagian lain dalam halaman terpisah.
Mulai
Terdaftar
Nomor sebagai
Ya
Pelanggan Pelanggan?
Tidak
Data Barang
Tidak
Masih Ada?
Ya
Kode
Hitung Total
Barang &
Harga
Kuntatitas
Set Diskon =
Ada Nomor
Ya 0.05 x Total
Pelanggan?
Harga
Tidak
Tampilkan
Hitung Grand
Set Diskon = 0 Grand Akhiri
Total Pembelian
Total
COMP6598–Introduction to Programming
2. Pseudocode
Pseudocode merupakan bentuk penggambaran algoritma dalam bentuk kode-kode /
kata-kata formal yang dapat dengan mudah dimengerti. Pseudocode dimaksudkan
untuk menyusun kerangka proses kerja program ke dalam kata – kata yang dapat
dengan lebih mudah dipahami dan menggambarkan alur kerja program tersebut.
Contoh :
Begin
Input kode
If kode Equal with 0 Then
Print “Mendapatkan Voucher Belanja”
Else If kode Equal with 1 then
Print “Mendapatkan Discount 50%”
Else
Print “Mendapatkan Souvenir”
End If
End If
End
COMP6598–Introduction to Programming
Contoh2 :
Begin
Input angka
Set temp to zero
While temp less than angka Do
Print Angka
Temp = temp + 1
End While
End
Pada pseudocode untuk mencetak / menampilkan nilai dari variabel maka akan
dicetak tanpa menggunakan tanda kutip (“), namun apabila ingin mencetak karakter
maka perlu menggunakan tanda kutip. Misal :
Begin
Set angka = 10
Print “angka = “ + angka
End
Output :
Angka = 10
Pada penerapannya pseudocode tidak memiliki batasan bahasa sehingga dapat dibuat
pseudocode dengan menggunakan bahasa Indonesia. Pseudocode itu sendiri
menerapkan struktur sintaksis dari bahasa pemrograman seperti bahasa pemrograman
C, namun dengan bahasa yang dapat lebih mudah dimengerti.
3. NS Diagram
NS Diagram atau lebih dikenal dengan Nassi-Shneiderman Diagram atau juga biasa
disebut sebagai Structogram merupakan sebuah diagram yang menggambarkan /
mengekspresikan algoritma ke dalam suatu diagram terstruktur namun dalam satu
lingkup terbatas sehingga dibuat dalam satu kotak. NS Diagram sendiri ditujukan
untuk fokus pengembangan dengan metode Top – Down Structured dimana sistem
secara umum dispesifikasikan terlebih dahulu kemudian dilanjutkan dengan
COMP6598–Introduction to Programming
menspesifikasi detail proses didalamnya. Cara kerja ini merupakan cara kerja yang
sama dengan flowchart maupun pseudocode.
COMP6598–Introduction to Programming
Contoh penerapan NS Diagram pada sistem penggajian :
Pola kerja di bidang IT selalu identik dengan pembentukan sebuah kelompok (Team Work)
untuk setiap proyek dimana kelompok tersebut terdiri dari proyek manager, sistem analis, dan
beberapa orang pembuat program.
Pada umumnya yang akan melakukan analisa sistem adalah Sistem Analis dan untuk
meyakinkan bahwa sistem yang dirancang sesuai dengan proses bisnis yang diminta maka
sistem analis akan merancang perwujudan proses bisnis dalam bentuk penggambaran
algoritma baik berupa flowchart, DAD, workflow, maupun lainnya.
Hal ini untuk meyakinkan sistem analis dan mengarahkan Software Developer dalam
mengembangkan sistem tersebut sehingga sistem yang dikembangkan memiliki alur yang
COMP6598–Introduction to Programming
Sama seperti yang dirancang diawal. Selain itu, hal ini juga bisa membantu dalam penjelasan
kepada klien yang ingin mengetahui secara detail kerja program yang baru. Dari penjelasan
diatas dapat dilihat betapa pentingnya penggambaran / pengekspresian algoritma dari sistem
ke dalam bentuk lain sebagai sarana komunikasi dan pengarahan yang efisien dalam
memastikan sistem yang dikembangkan berada pada jalur yang benar.
Bahasa pemrograman mempunya aturan dan standar yang harus dipenuhi. Apabila penulisan
sebuah program tidak sesuai maka program tersebut tidak dapat dijalankan oleh komputer.
Standar bahasa pemrograman Java ditentukan oleh Java Language Specification dan Java
API (Application Program Interface) . Java Language Specification merupakan definisi
teknikal dari syntax dan semantik bahasa pemrograman Java. Application Program Interface
yang biasa dikenal dengan istilah library terdiri dari kumpulan class dan interface yang telah
didefinisikan sebelumnya untuk pembuatan program Java.
IDE
Netbeans
Ketika memasang Netbeans maka semua perangkat yang diperlukan sudah berada
sepaket dengan Netbeans seperti JDK, JRE, dan Text Editor sehingga dengan
memasang Netbeans di komputer maka program dengan bahasa Java dapat
dikembangkan.
COMP6598–Introduction to Programming
Borland C, Turbo C, Dev C++
Ketiga IDE ini merupakan IDE untuk bahasa C dan C++ dimana ketika memasang
IDE ini maka compilerdan library akan turut terpasang dari bahasa pemrograman
tersebut akan disimpan.
Visual Studio
Visual Studio adalah IDE untuk bahasa pemrograman berbasis .Net (C#, VB.Net,
ASP.Net, C, C++, F#, dan J# serta SQL Server) ketika memasang IDE ini maka baik
compiler, library, database management system, dan perangkat pendukung lainnya
akan turut terpasang.
Java
Java merupakan bahasa pemrograman berbasis objek yang dimana strukturnya sudah
murni dalam basis orientasi objek. Java dikembangkan dengan nama Oak dan kemudian
berganti nama menjadi Java. Java merupakan bahasa interpreter yang mana bahasa Java tidak
langsung dijalankan begitu saja dari file source code-nya namun perlu ditranslasikan terlebih
dahulu. Namun oleh karena itu java menjadi salah satu bahasa yang dapat berjalan di semua
platform sistem operasi komputer (Run in Over Platform).
File .Java Java Compiler Java Bytecode Java Virtual Machine Executed Apps
Berikut merupakan gambar bagan isi dari JDK (Java Development Toolkit) dan JRE
(Java Runtime Environment).
COMP6598–Introduction to Programming
Ketika memasang IDE ada beberapa perangkat penting yang menjadi bagian dari IDE
Java, yakni :
Pada umumnya JDK diperlukan untuk pemasangan oleh pihak pengembang dikarenakan
dalam JDK terdapat struktur sintaks (Java Language) dan Java API (Java Application
Interface) yang memungkinkan pembuatan program berbasis Java. Sedangkan pada komputer
klien cukup dipasang JRE saja karena hanya berfokus untuk menjalankan aplikasi Java
tersebut.
JVM merupakan salah satu bagian penting dari Java dimana JVM memungkinkan file
bytecode (.class) pada Java di eksekusi. Sedangkan Java API merupakan bagian dari JDK
yang berisi library dari kelas – kelas yang telah didefinisikan dan interface yang
memungkinkan pengembangan dengan bahasa Java. Java Language sendiri berisi struktur
penulisan Java serta struktur sintaks dan semantic dari bahasa Java.
COMP6598–Introduction to Programming
Create, Compile, dan Execute
Result
COMP6598–Introduction to Programming
Pada proses tahapan create, compile dan executeakan dilakukan proses sebagai berikut.
COMP6598–Introduction to Programming
SIMPULAN
COMP6598–Introduction to Programming
DAFTAR PUSTAKA
COMP6598–Introduction to Programming