Anda di halaman 1dari 14

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN

Algoritma Sekuensial dan Pemilihan

PROGRAM STUDI TEKNIK TELEKOMUNIKASI


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI JAKARTA
2019
1. Dasar Teori
Java merupakan pemrograman yang menanjak popularitasnya akhir-akhir ini, java gratis,
mudah didapatkan dan juga tangguh. Java lahir pada tahun 1991 yang diperkarsai oleh
team sun melalui proyek bernama green yang dipimpin oleh james gosling.

Java menerapkan fitur-fitur dari bahasa pemrograman lain, dimana fitur tersebut dianggap
merupakan suatu kelebihan oleh tim sun. contohnya JVM (Java Virtual Machine) atau JRE
(Java Runtime Envronment) yang merupakan mesin maya pada pascal, sintaks dan
Exception Handling diambil dari C/C++ dan lain sebagainya.
JVM atau JRE merupakan fitur java yang membuatnya dapat berjalan pada semua platform
sistem operasi.

 Keunggulan Java
Ada beberapa keunggulan java diantaranya
A. Sederhana
Bahasa pemrograman Java yang menggunakan coding hampir sama C++, namun sintaks
pada java sudah banyak diperbaiki terutama menghilangkan penggunaan pointer yang
rumit dan multiple inheritance. Java menggunakan automatic memory
allocation dan memory garbage collection.
B. Berorientasi objek (object oriented)
Java menggunakan pemrograman berorientasi objek yang membuat program dapat dibuat
secara modular dan dapat dipergunakan kembali. Pemrograman objek oriented
memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek
tersebut.
C. Dapat didistribusi dengan mudah
Java dibuat untuk aplikasi terdistribusi secara mudah dengan adanya libraries networking
yang terintegrasi pada java.
D. Portable
Source code maupun program java dapat mudah dibawa ke platform yang berbeda-beda
tanpa harus dikompilasi ulang.
E. Dinamis
Java didesain untuk dapt dijalankan pada lingkungan yang dinamis. Perubahan suatu class
dengan cara menambahkan properties ataupun method dapat dilakukan tanpa mengganggu
program yang menggunakan class tersebut.

MACAM MACAM STRUKTUR ALGORITMA


1. Algoritma Runtunan (sekuensial)
Definisi
Algoritma runtunan ini adalah proses yang dilakukan secara beruntun dari langkah
1 sampai langkah n, atau langkah akhir. Tiap barisnya hanya dikerjakan satu-persatu tanpa
ada loncatan atau perulangan, dilakukan sekali tiap instruksi.

Analogi
Pernah melihat atau merasakan baris-berbaris? XD Barisan yang rapih itu bisa disebut
beruntun atau berurutan. Sama seperti urutan alphabet [a-z] atau angka [1-n].

Struktur
{ Judul }
algoritma_sekuensial

{ Kamus }
nama: String

{ Algoritma }
Output('Masukkan nama kamu: ')
Input(nama)
Output('Halo, ', nama, '!')

Pseudocode, struktur algoritma paling sederhana. Penggunaan format ini hanya sebagai
patokan, bukan sebuah bahasa pemrograman.
Flow Chart, struktur algoritma ini berbentuk bagan alir atau diagram. Setiap bentuk bagan
memiliki definisi masing-masing.

1.1 Bagan Alir Runtunan


Studi Kasus
Contoh gambar:

2.1 Proses Algoritma Runtunan


Contoh Program:
{ Judul }
algoritma_sekuensial

{ Kamus }
nama: String

{ Algoritma }
Output('Masukkan nama kamu: ')
Input(nama)
Output('Halo, ', nama, '!')

2.2 Contoh Program Pascal


2. Algoritma Switch Case Default
Program KonversiAngkaKeTeks
{Mencetak kata untuk angka 1 sampai 4.}

DEKLARASI
angka : integer {angka yang di baca}

ALGORITMA :
read (angka)
case angka
1 : write (‘satu’)
2 : write (‘dua’)
3 : write (‘tiga’)
4 : write (‘empat’)
otherwise : write (‘angka yang dimasukan salah’)
endcase
Nah inilah pengaplikasian Algoritma tadi kedalam bahasa C dan C++ :

Bahasa C :
/* PROGRAM NAMA NAMA HARI */
/* Mencetak nama hari berdasarkan nomor bulan (1..3) */
//blogemashyda.blogspot.com
#include <stdio.h>

main ()
{
/* DEKLARASI */
int nomor_hari;

/*ALGORITMA */
printf(“Masukan amgka hari (1-7) :”); scanf(“%d”,
&nomor_hari);
switch (AngkaHari)
{
case 1 : printf(“senin \n”); break;
case 2 : printf(“selasa \n”); break;
case 3 : printf(“rabu \n”); break;
case 4 : printf(“kamis \n”); break;
case 5 : printf(“jumat \n”); break;
case 6 : printf(“sabtu \n”); break;
case 7 : printf(“minggu \n”); break;
default : printf(“bukan hari yang benar”); break;
}
}

Bahasa C++ :
/* PROGRAM NAMA NAMA HARI */
/* Mencetak nama hari berdasarkan nomor bulan (1..3) */
//blogemashyda.blogspot.com

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])


{
/* DEKLARASI */
int nomor_hari;

/*ALGORITMA */
printf("Masukan angka hari (1-7) :");
scanf("%d",&nomor_hari);
switch (nomor_hari)
{
case 1 : printf("senin \n"); break;
case 2 : printf("selasa \n"); break;
case 3 : printf("rabu \n"); break;
case 4 : printf("kamis \n"); break;
case 5 : printf("jumat \n"); break;
case 6 : printf("sabtu \n"); break;
case 7 : printf("minggu \n"); break;
default : printf("bukan hari yang benar"); break;
}
system("PAUSE");
return EXIT_SUCCESS;

3. Algoritma Pemilihan (Selection)


Definisi
Ada instruksi yang hanya dikerjakan ketika memenuhi persyaratan. Komputer pun akan
mengerjakannya berdasarkan syarat yang dipenuhi tersebut.

Analogi
Seperti judulnya “selection”, ketika kamu memilih satu presiden dari dua presiden. Pilihan
kamu itu yang akan dilanjutkan atau dijalankan, sesuai instruksi selanjutnya. E.g: jadi
presiden atau mundur (instruksinya)

Struktur
1 Kasus
Hanya if, namun dengan inisialisasi atau nilai awal.
Contoh gambar:
a.1 Gambar 1 kasus
Contoh pseudocode:
{ Judul }
Memeriksa_angka_genap_atau_ganjil

{ Kamus }
angka: Integer
keterangan: String

{ Algoritma }
Input(angka);

{ Pemilihan - 1 Kasus }
keterangan <- 'Angka ganjil' // inisialisasi

If angka mod 2 == 0 Then


keterangan <- 'Angka genap'

Output(keterangan)

1.1 Contoh 1 Kasus — keterangan memiliki nilai awal


2 Kasus
if-else, struktur ini perlu memiliki 2 kasus untuk melanjutkan instruksinya.
Contoh gambar:
a.2 Gambar 2kasus
Contoh pseudocode:
{ Judul }
Membandingkan_dua_nilai

{ Kamus }
a, b: Integer
keterangan: String

{ Algoritma }
Input(a, b);

{ Pemilihan - 2 Kasus }
If a > b Then
keterangan <- 'A lebih besar dari B'
Else
keterangan <- 'B lebih besar dari A'

Output(keterangan)

1.2 Contoh 2 Kasus — keterangan tidak perlu di inisialisasi


N kasus (banyak)
Dikenal sebagai nested-if. Struktur yang akan memeriksa N kasus, dengan memeriksa (n -
1) kasus.
Contoh gambar:
a.3 Gambar N kasus
Contoh pseudocode:
{ Judul }
Menentukan_indeks_nilai

{ Kamus }
nilai: Real
indeks: Char

{ Algoritma }
Input(nilai);

{ Pemilihan - N Kasus dengan Kasus N - 1 }


If nilai > 80 Then
indeks <- 'A'
ElseIf nilai > 70 Then
indeks <- 'B'
ElseIf nilai > 60 Then
indeks <- 'C'
ElseIf nilai > 40 Then
indeks <- 'D'
Else
indeks <- 'E'

Output(indeks)

1.3 Contoh N Kasus — Menentukan indeks dengan banyak syarat (n-1)


2. Praktikum

a) Program
1. Algoritma Pengubah Sekuensial
int q, w, ee;
q = 3;
w = 5;

System.out.println ("nilai sebelum ditentukan a = " +q+ "dan b =" +w);

ee = q;
q = w;
w = ee;

System.out.println ("nilai setelah diubah a=" +q+ " dan b =" +w);

2. Algoritma If Else
/* if else */
System.out.println ("");
System.out.println ("algoritma untuk menentukan bilangan positif atau
bilangan negatif dengan kasus 2 kondisi. bilangan a = -11");
int bilangan ;
bilangan = 11 ;
if( bilangan < 0) {
System.out.println ("bilangan a disebut bilangan negatif");
} else {
System.out.println ("bilangan a disebut bilangan positif");
}
/*lebih dari dua kondisi*/
System.out.println ("nilai akhir sebuah MK dengan kondisi nilai = 89");
int mk;
mk = 90;
if (mk >= 80){
System.out.println ("mk mendapat indeks a"); }
else if (mk >= 70) {
System.out.println ("mk mendapat indeks b");}
else if (mk >=60){
System.out.println ("mk mendapat indeks c");}
else if (mk >=50){
System.out.println ("mk mendapat indeks d");}
else{
System.out.println ("mk mendapat indeks e");}
System.out.println ("");

3. Algoritma Switch Case


System.out.println ("Tulisankan algroitma untuk hari, misalnya hari ke - 2
adalah hari selasa");
int hari = 10 ;
System.out.println ("maka hari kedua sama dengan");
switch (hari) {
case 1 :
System.out.print ("Senin"); break ;
case 2 :
System.out.print ("selasa"); break ;
case 3 :
System.out.print ("rabu"); break ;
case 4 :
System.out.print ("kamis"); break ;
case 5 :
System.out.print ("jumat"); break ;
case 6 :
System.out.print ("sabtu"); break ;
case 7 :
System.out.print ("minggu"); break ;
default :
System.out.print ("kalender belum lunas");

b) Penjelasan Program
1. Algoritma Pengubah Sekuensial
Dalam beberapa kasus pemograman algoritma, java dapat menyelesaikan kasus
sesuai dengan input yang sesuai dengan tujuan kasus. Seperti kasus pengubahan
nilai satu dengan satu yang lain. Dalam kasus yang saya kerjakan saya akan
mengubah variable a (input q) yang sebelumnya bernilai 3 menjadi bernilai 5
yang tadinya dimiliki oleh variable b (input w). Dalam penukaran kedua nilai
ini terdapat variabel c sebagai “gerbang perantara” dari kedua variable a dan b.

ee (varibel c) = q (variable a) ;
nilai a akan ditampung pada variable c
q (variable a) = w (variable b);
nilai a yang sekarang kosong, diberi nilai dari b
w (variable b) = ee (variable c);
nilai b yang sekarang kosong, diberi nilai dari c (sebelumnya telah menampung
nilai a)
setelah dimasukan input diatas makan nilai a dengan b akan mengubah ke nilai
lawannya

2. Algoritma If Else
Dalam beberapa kasus pemograman algoritma, java dapat menyelesaikan kasus
sesuai dengan input yang sesuai dengan tujuan kasus. Seperti kasus pemilihan.
Dalam 2 kondisi kasus ini saya membuat agar ouput menyimpulkan
kemungkinan kemungkinan yang saya berikan. Kasus pertama dengan kondisi
hanya dua kemungkinan. Saya ingin mengeluarkan output bahwa angka 11
merupakan bilangan positif. Maka saya memebrikan input pernyataan bilangan
kurang dari 0 sama dengan negative berarti selainnya adalah bilangan positif.
Dengan memasukan input if dan else maka angka 11 menjadi diluar jangakauan
kurang dari 0, maka outputnya bilangan 11 merupakan bilangan positif. Kasus
kedua dengan lebih dari 2 kemungkinan. Saya ingin mengeluarkan output bila
nilai mahasiswa 90, maka output akan mengeluarkan indeks nilai a untuk nilai
mata kuliah tersebut. Dalam kasus ini saya menginput, if, else, else if sesuai
dengan dasar teori yang ada, maka output menunjukan bahwa mk mendapat
nilai indeks a karena 90 lebih besar sama dengan 80 (nilai 90 termasuk
pengelompokan nilai diatas 80). Jika kita mengganti inputnya maka output akan
menyimpulkan sesuai dengan kemungkinan kemungkinan yang telah kita input.

3. Algoritma Switch Case


Dalam beberapa kasus pemograman algoritma, java dapat menyelesaikan kasus
sesuai dengan input yang sesuai dengan tujuan kasus. Seperti kasus
percabangan atau switch case. Dalam kasus ini saya ingin mengeluarkan output
program java bisa menarik kesimpulan dengan beberapa ketentuan yang saya
berikan (dengan case case yang saya input). Saya menginput switch, case,
default sesuai dengan dasar teori. Case disini merupakan kemungkinan yang
kita berikan, seperti jika kita masukan input 1 mempunyai hasil a (input
ketentuan diberikan pada case 1, jika kita memberikan input 2 mempunyai hasil
(input ketentuan diberikan pada case 2), dan terakhir ketentuan diberikan pada
deault artinya tidak ada lagi kemungkinan selain ketentuan yang kita berikan.
Dalam kasus ini saya ingin mengeluarkan input bahwa hari ke 10 tidak ada,
maka saya meberikan case – case sampai 7 yaitu hari senin sampai minggu tapi
hari ke 10 tidak ada (memakai input di default), maka akan keluar kalender
tidak ada saat input 10, tapi jika saya berikan input 2 maka akan keluar selasa
(case 2 yaitu selasa), seperti it selanjutnya.

c) Hasil
1. Algoritma Pengubah Sekuensial
2. Algoritma If Else

3. Algoritma Switch Case

3. Kesimpulan

Java merupakan pemograman yang sederhana dan mudah digunakan untuk membuat suatu
program jika kita mengetahui semua fungsi fungsi yang terdapat pada Java. Dari praktik
ini dapat disimpulkan bahwa dalam algoritma pengubah sequential tanda “=” bisa
digunakan sebagai pengubah sequential dengan variable lain sebagai penampung
sementara; dalam algoritma pemilihan input “if” digunakan untuk memasukan
kemungkinan pengelompokan pertama lalu “else if” digunakan untuk memasukan
kemungkinan selanjutnya dan “else” digunakan untuk memasukan kenungkinan terakhir,
serta dalam algoritma percabangan “switch” digunakan untuk memasukan keterangan
kasus kita, “case 1 – case keinginan kita (angka)” digunakan untuk memasukkan ketentuan
yang kita inginkan, dan “default” digunakan untuk memasukan ketentuan kita bila
ketentuan sebelumnya tidak ada dalam deklarasi yang kita berikan.

Anda mungkin juga menyukai