Anda di halaman 1dari 8

HANDOUT ALGORITMA PEMROGRAMAN DAN STRUKTUR DATA 1

PRODI SISTEM INFORMASI UKDW

# TWO
BAHASA PEMROGRAMAN DAN FLOWCHART

Perkembangan Bahasa Pemrograman


Pada dasarnya bahasa pemrograman dapat dibedakan menjadi:

1. Bahasa Mesin (Mnemonic Code)


Bahasa mesin adalah bahasa yang berisi kode-kode mesin yang hanya dapat
diinterpretasikan langsung oleh mesin komputer. Bahasa ini merupakan bahasa level
terendah dan berupa kode numerik 0 dan 1. Sekumpulan instruksi dalam bahasa
mesin dapat membentuk microcode (semacam prosedur dalam bahasa mesin).
Keuntungan: Eksekusi cepat
Kerugian: Sangant sulit dipelajari manusia
2. Bahasa Assembly
Bahasa assembly adalah bahasa simbol dari bahasa mesin. Setiap kode bahasa
mesin memiliki simbol sendiri dalam bahasa assembly. Misalnya ADD untuk
penjumlahan, MUL untuk perkalian, SUB untuk pengurangan, dan lain-lain.
Sekumpulan kode-kode bahasa assembly dapat membentuk makroinstruksi.
Bahasa assembly juga memiliki program untuk men-debugnya tidak seperti bahasa
mesin. Misalnya: Turbo Assembler dan debug pada DOS. Assembler akan
mencocokkan token dari awal dengan akhir dan dikodekan menjadi bahasa mesin.
Kelebihan: Eksekusi cepat, masih bisa dipelajari daripada bahasa mesin, file kecil
Kekurangan: Tetap sulit dipelajari, program sangat panjang.
3. Bahasa Tingkat Tinggi (High Level Language)
Bahasa tingkat tinggi adalah bahasa pemrograman yang lebih tinggi daripada bahasa
assembly. Bahasa ini lebih dekat dengan bahasa manusia. Bahasa inilah yang akan
dibahas pada matakuliah ini. Bahasa ini juga memberikan banyak sekali fasilitas
kemudahan pembuatan program, misalnya: variabel, tipe data, konstanta, struktur
kontrol, loop, fungsi, prosedur dan lain-lain. Contoh: Pascal, Basic, C++, dan Java.
Keuntungan:
- Mudah dipelajari
- Mendekati permasalahan yang akan dipecahkan
- Kode program pendek
Kerugian: Eksekusi lambat
Bahasa generasi ini disebut juga bahasa generasi ke-3 (3rd Generation Programming
Language). Bahasa inilah yang akan kita pelajari dalam Algoritma dan Struktur Data 1
4. Bahasa yang berorientasi pada masalah spesifik (specific problem oriented).
Bahasa ini adalah bahasa yang digunakan langsung untuk memecahkan suatu
masalah tertentu. Misalnya SQL untuk database, Regex untuk mencocokkan pola
string tertentu. Bahasa ini juga masuk ke bahasa tingkat tinggi.
Bahasa ini disebut juga bahasa generasi ke-4 (4th Generation Programmming
Language).

Translator
Translator melakukan pengubahan source code ke dalam target code/object code/object
program. Source code ditulis dengan suatu bahasa pemrograman tertentu sedangkan object
code bisa bermacam-macam outputnya tergantung pada translatornya.
Ada beberapa translator:
1. Assembler
Source code adalah bahasa assembly, object code adalah bahasa mesin

File ASM Assemble EXE/COM

2. Interpreter
Input berupa source code yaitu bahasa scripting seperti PHP, Basic, Perl, Javascript,
ASP, Java bytecode, Basic. Interpreter tidak menghasilkan object code. Hanya
menghasilkan translasi internal. Input dapat berasal dari source code maupun dari
inputan program dari user. Source code dan inputan data user diproses pada saat
yang bersamaan. Pada interpreter: program tidak harus dianalisis seluruhnya dulu, tapi
bersamaan dengan jalannya program.
Keuntungan: mudah bagi user, debuging cepat
Kekurangan: eksekusi program lambat, tidak langsung menjadi program executable.
Source
Code Assembler Hasil

Input Data

3. Kompiler
Input berupa source code program seperti Pascal, C, C++.
Object code adalah bahasa assembly. Source code dan data input diproses pada saat
yang berbeda. Compile time adalah saat pengubahan dari source code menjadi object
code, sedangkan Runtime adalah saat eksekusi object code dan mungkin menerima
input data dari user.
Output : bahasa assembly. Hasil berupa file EXE
Kekurangan: debugging lebih lambat
Keuntungan: eksekusi program lebih cepat, menghasilkan file executable yang berdiri
sendiri.

Input
Prepocessor Libraries Data
Hasil
EXE
Source Object Linker
Code Compiler Code

Compile Time Runtime

FLOWCHART

Flowchart adalah bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara
sekuensial. Flowchart digunakan untuk merepresentasikan maupun mendesain program.
Oleh karena itu flowchart harus bisa merepresentasikan komponen-komponen dalam bahasa
pemrograman.

Baik flowchart maupun algoritma bisa dibuat sebelum maupun setelah pembuatan program.
Flowchart dan Algoritma yang dibuat sebelum membuat program digunakan untuk
mempermudah pembuat program untuk menentukan alur logika program, sedangkan yang
dibuat setelah pembuatan program digunakan untuk menjelaskan alur program kepada orang
lain.

KETERANGAN LAMBANG CONTOH


Mulai/Selesai (Terminator)
Mulai

Aliran Data Masukkan P


Input/Output

Masukkan L

L←P*L

Proses
Tulis L

Selesai
Percabangan

T
Perulangan

syarat

Bagian yang diulang

Pencacah
Preparation (Pemberian nilai
awal suatu variabel)

Call (Memanggil suatu


prosedur / fungsi)

Titik connector yang berada


di halaman yang sama

Titik konektor yang berada


di halaman lain

MENGENAL C/C++
C/C++ adalah bahasa pemrograman tingkat menengah yang dirancang oleh Dennis M
Ritchie di Bell Laboratories pada tahun 1972. Pada tahun 1978 Dennis dan Brian W.
Kernighan mempublikasikan bahasa C melalui The C Programming Language. Kemudian C
distandarisasi ANSI tahun 1989.
Bahasa C adalah bahasa yang general, tidak dikhususkan untuk suatu bidang/aplikasi
tertentu.
Contoh program C:
#include <stdio.h>
#include <conio.h>

void main(){
clrscr();
char nama[20];
int umur;
printf(“Hallo Selamat Belajar C”);
printf(“Masukkan nama : “); scanf(“%s”,nama);
printf(“Masukkan umur: “); scanf(“%d”,&umur);
printf(“Anda bernama : %s dan berumur %d”,nama,umur);
if(umur < 20){
for(int i=0;i<umur;i++) printf(“%d\n”,i);
printf(“Anda masih muda\n”);
} else
if(umur > 50){
printf(“Anda sudah berumur!\n”);
} else printf(“Lainnya\n”);
getch();
}

MENGENAL C#
C# merupakan bahasa baru yang berkembang mulai tahun 2000 sejak Microsoft
mengeluarkan .NET. C# secara sintaks mendekati C, juga mirip dengan Java. C#
dikembangkan oleh Anders Hejlsberg, salah satu pengembang IDE Pascal, yaitu Delphi.
Microsoft memberikan definisi berikut tentang C#:
”C# is a simple, modern, object oreinted, and type-safe programming language derived from
C and C++. C# is firmly planted in the C and C++ family tree of languages, and will
immediately be fimiliar to C and C++ programmers. C# aim to combine the high productivity
of visual Basic and the raw power of C++”.

Teknologi .NET Framework


.NET framework memiliki suatu komponen dengan nama CLR (Common Language Runtime)
yang memungkinkan semua bahasa yang berbeda dirubah menjadi MSIL (bahasa tingkat
menengah ala Microsoft), yang kemudian dikelola dalam suatu lingkungan yang termanage
dalam hal alokasi resource.

Contoh program C#:


using System;
public class strukdat1App
{
public static void Main(string[] args)
{
string nama;
int umur;
Console.WriteLine("Hallo, selamat belajar C#");
Console.Write("Masukkan nama : ");
nama = Console.ReadLine();
Console.Write("Masukkan umur : ");
umur = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Anda bernama "+nama+", Anda berumur
"+umur);
if(umur < 20){
for(int i=0;i<umur;i++) Console.WriteLine(i);
Console.WriteLine("Anda masih muda");
} else
if(umur > 50){
Console.WriteLine("Anda sudah berumur!");
}else
Console.WriteLine("Lainnya");
}
}

NEXT
Operator dan Percabangan