LAPORAN PRAKTIKUM I PENGENALAN SISTEM OP
LAPORAN PRAKTIKUM I
PENGENALAN SISTEM OPERASI, IDE VISUAL C++, DAN
ALGORITMA PEMROGRAMAN
Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++
Dibimbing oleh Bapak Wahyu Sakti Gunawan Irianto
Oleh:
Wenda Aditama
150533604429
S1 PTI’15 OFF D
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
Oktober 2015
PENGENALAN SISTEM OPERASI, IDE VISUAL C++, DAN
ALGORITMA PEMROGRAMAN
Tujuan
Setelah mempelajari bab ini diharapkan mahasiswa akan mampu :
1. Mengoperasikan komputer khususnya Windows yang baik.
2. Mengenali dan menggunakan IDE C++ dengan baik.
3. Membuat program sederhana menggunakan C++.
DASAR TEORI
SISTEM OPERASI
Sistem Operasi atau Operating System adalah perangkat lunak yang dipasang
pada PC, laptop, atau perangkat lain yang berfungsi sebagai perantara (interface)
antara pengguna dan perangkat keras.
Gambar 1.0 Fitur Umum Sistem Operasi
Secara umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang
ditempatkan pada memori komputer pada saat komputer dinyalakan booting.
Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan,
dan Sistem Operasi akan melakukan layanan inti untuk software-software itu.
Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan
tugas schedule task, dan antar-muka user GUI/CLI. Sehingga masing-masing
software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat
dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugastugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Kalau sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi
adalah penghubung antara lapisan hardware dengan lapisan software. Sistem
Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin
aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar.
Sistem Operasi menjamin aplikasi lainnya dapat menggunakan memori,
melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada
sistem berkas. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem
Operasi mengatur schedule yang tepat, sehingga sedapat mungkin semua proses
yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor
(CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsifungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga
dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi
tersebut dari awal.
Sistem Operasi secara umum terdiri dari beberapa bagian:
Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
Kernel, yaitu inti dari sebuah Sistem Operasi
Command Interpreter atau shell, yang bertugas membaca input dari pengguna
Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar
yang dapat dipanggil oleh aplikasi lain
Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk
mengontrolnya.
Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada
satu waktu (misalnya DOS), tetapi sebagian besar Sistem Operasi baru
mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang
bersamaan. Sistem Operasi seperti ini disebut sebagai Multi-tasking Operating
System (misalnya keluarga sistem operasi UNIX). Beberapa Sistem Operasi
berukuran sangat besar dan kompleks, serta inputnya tergantung kepada input
pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan
asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering
disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS,
contohnya adalah Windows, Linux, Free BSD, Solaris, palm, symbian, dan
sebagainya.
Sistem operasi-sistem operasi utama yang digunakan komputer umum (termasuk
PC, komputer personal) terbagi menjadi 3 kelompok besar:
1. Sistem Microsoft Windows - yang antara lain terdiri dari Windows
Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows
95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x,
Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003,
Windows Vista, Windows Server 2008, Windows 7 (Seven) yang dirilis
pada tahun 2009, dan Windows 8 yang dirilis pada Oktober 2012)).
2. Sistem Unix yang menggunakan antarmuka sistem operasi POSIX, seperti
SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux,
Zeath OS (berbasis kernel linux yang dimodifikasi.)MacOS/X (berbasis
kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan
GNU/Hurd.
3. Sistem
Mac
OS,
adalah
sistem
operasi
untuk
komputer
keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi
yang terbaru adalah Mac OS X versi 10.6 (Snow Leopard). Musim panas
2011 direncanakan peluncuran versi 10.7 (Lion).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak
sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari
sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX,
dll.
Fungsi dari sistem operasi adalah:
1. Sistem operasi mengatur kerja hardware sehingga hardware bisa dan mudah
digunakan.
2. Mengatur dan mengontrol program aplikasi yang terinstall di PC
3. Melakukan manajemen memory
4. Memproteksi PC dari malware, virus, dan ancaman lain
5. Sebagai resource manager dan resource allocator
PEMROGRAMAN DAN ALGORITMA
Defisini Pemrograman
Pemrograman adalah aktifitas yang berhubungan dengan pembuatan program
dengan mengikuti kaidah bahasa pemrograman tertentu. Dalam konteks
pemrograman terdapat sejumlah bahasa pemrograman seperti Pascal, C, C#, dan
BASIC.
Adapun secara garis besar bahasa pemrograman dikelompokkan menjadi :
1. Bahasa pemrograman tingkat tinggi ( high-level language )
Adalah bahasa pemrograman yang berorientasi kepada bahasa manusia. Program
yang dibuat dengan menggunakan bahasa pemrograman yang mudah dipahami
oleh manusia, biasanya menggunakan bahasa inggris, misalnya IF, FOR, While,
dll.
Contoh bahasa pemrograman tingkat tinggi adalah : C, C#, BASIC, PHP, VB,
VB.NET, JAVA, dll.
2. Bahasa pemrograman tingkat rendah ( low-level language )
Adalah bahasa pemrograman yang berorientasi kepada mesin. Bahasa ini hanya
menggunakan kode biner ( hanya mengenal bilangan 0 dan 1 ) atau suatu kode
sederhana untuk menggantikan kode-kode tertentu dalam system biner.
Contoh : kode ASCII yang merepresentasikan karakter ke dalam bilangan biner.
Defisini Algoritma
Ada beberapa definisi algoritma diantaranya adalah :
1. Algoritma adalah penyusunan langkah-langkah penyelesaian masalah dalam
bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan
matematis.
2. Algoritma adalah suatu prosedur yang jelas untuk menyelesaikan suatu
persoalan dengan menggunakan langkah-langkah tertentu dan terbatas
jumlahnya.
3. Algoritma adalah susunan langkah yang pasti, yang bila diikuti maka akan
mentransformasi data input menjadi output yang berupa informasi.
Sejarah Algoritma
Sejarah mencatat bahwa algoritma berasal dari sebuah kata al-khawarizmi yang
berasal dari seorang muslim yang bernama lengkap Abu Ja’far Muhammad Ibnu
Musa Al-Kwarizmi, beliau merupakan ahli matematika dan astronomi dari Persia,
dan juga merupakan penulis buku “Aljabar wal Muqobala”. Beliau dianggap
sebagai pencetus pertama algoritma karena di dalam buku tersebut Abu Ja’far
menjelaskan langkah-langkah dalam menyelesaikan berbagai persoalan arirmatika
(aljabar).
Ciri-ciri Algoritma
Menurut Donald E. Knuth penulis buku algoritma abad XX, menyatakan bahwa
ada beberapa ciri algoritma, yaitu :
1. Algoritma mempunyai awal dan akhir, suatu algoritma harus berhenti setelah
mengerjakan serangkaian tugas. Dengan kata lain, suatu algoritma memiliki
langkah yang terbatas.
2. Setiap langkah harus didefinisikan dengan tepat, sehingga tidak memiliki arti
ganda, tidak membingungkan (not ambiguous)
3. Memiliki masukan (input) atau kondisi awal
4. Memiliki keluaran (output) atau kondisi akhir
5. Algoritma harus efektif, bila diikuti benar-benar maka akan menyelesaikan
masalah.
Sifat Algoritma
Sesuai dengan ciri-ciri dari algoritma pada penjelasan di atas, maka dapat
disimpulkan bahwa sifat suatu algoritma adalah :
1. Input : Suatu algoritma mempunyai input atau kondisi awal sebelum
dilaksanakan, bias berupa nilai-nilai peubah yang diambil dari himpunan
khusus.
2. Output : Suatu algoritma akan menghasilkan output setelah dilaksanakan.
Suatu algoritma akan mengubah sebuah kondisi awal menjadi kondisi akhir,
dimana nilai output diperoleh dari nilai input yang telah diproses melalui
algoritma.
3. Definiteness : Langkah-langkah yang dituliskan dalam algoritma terdefini
dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.
4. Finiteness : Suatu algoritma harus memiliki kondisi akhir atau output setelah
sejumlah langkah yang terbatas jumlahnya dilakukan terhadap setiap kondisi
awal atau input yang diberikan.
5. Effevtiveness : Setiap langkah dalam algortima dilaksanakan dalam suatu
selang waktu tertentu sehingga pada akhirnya didapatkan solusi sesuai dengan
yang diharapkan.
6. Generality : Langkah-langkah algoritma berlaku untuk setiap himpunan input
yang sesuai dengan persoalan yang diberikan, tidak hanya untuk himpunan
tertentu.
Struktur Algoritma
Agar algoritma yang ditulis lebih teratur, maka struktur algoritma sebaiknya
dibagi ke dalam beberapa bagian. Diantaranya :
1. Bagian kepala (header) : memuat nama algoritma serta informasi atau
keterangan tentang algoritma yang ditulis
2. Bagian Deklarasi ( definisi variable ) : memuat definisi nama variable, nama
tetapan, nama prosedur, nama fungsi, tipe data yang akan digunakan dalam
algoritma.
3. Bagian Deskripsi (rincian langkah ) : memuat langkah-langkah penyelesaian
masalah, termasuk beberapa perintah seperti baca data, tampilkan, ulangi, yang
mengubah data input menjadi output.
Contoh berikut ini adalah struktur algoritma. Algoritma ini akan menghitung luas
sebuah luas lingkaran dengan input jejari lingkaran tersebut. Luas lingkaran
adalah phi*jari*jari.
Algoritma Luas_lingkaran
{Menghitung sebuah luas lingkaran apabila jari-jari tersebut diberikan}
Deklarasi
{Definisi nama tetapan}
Const phi = 3.14;
{Definisi nama peubah/variabel}
Real jari-jari, Luas;
Deskripsi
Read(jari-jari);
Luas = phi * jari-jari * jari_jari;
Write(Luas);
FLOWCHART
Flowchart atau diagram alir merupakan sebuah diagram dengan simbol-simbol
grafis yang menyatakan aliran algoritma atau prosesyang menampilkan langkahlangkah yang disimbolkan dalam bentuk kotak, beserta urutannya dengan
menghubungkan masing masing langkah tersebut menggunakan tanda panah.
Diagram ini bisa memberi solusi selangkah demi selangkah untuk penyelesaian
masalah yang ada di dalam proses atau algoritma tersebut.
Gambar 1.1 Flowchart yang berhubungan dengan kerusakan listrik
Gambar 1.2 Flowchart faktorial
Simbol-simbol
Gambar
Simbol
Keterangan
untuk
Proses /
Menyatakan kegiatan yang akan ditampilkan
Langkah
dalam diagram alir.
Proses / Langkah dimana perlu adanya
Titik
keputusan atau adanya kondisi tertentu. Di titik
Keputusan
ini selalu ada dua keluaran untuk melanjutkan
aliran kondisi yang berbeda.
Masukan /
Keluaran
Data
Terminasi
Garis alir
Digunakan untuk mewakili data masuk, atau
data keluar.
Menunjukkan awal atau akhir sebuah proses.
Menunjukkan arah aliran proses atau
algoritma.
Kontrol /
Menunjukkan proses / langkah dimana ada
Inspeksi
inspeksi atau pengontrolan.
Jenis-jenis Flowchart/Diagram Alir
Sterneckert (2003) menyarankan untuk membuat model diagram alir yang
berbeda sesuai dengan perspektif pemakai (managers, system analysts and clerks)
sehingga dikenal ada 4 jenis diagram alir secara umum: [2]
Diagram Alir Dokumen, menunjukkan kontrol dari sebuah sistem aliran
dokumen.
Diagram Alir Data, menunjukkan kontrol dari sebuah sistem aliran data.
Diagram Alir Sistem, menunjukkan kontrol dari sebuah sistem aliran secara
fisik.
Diagram Alir Program, menunjukkan kontrol dari sebuah program dalam
sebuah sistem.
Latihan Praktikum I
Pemrograman C++
Nama Program
: Menampilkan kalimat
Bahasa Pemrogramam
: C++
Compiler
: MinGW Developer Studio
Script program
:
// header file
#include
//deklarasi fungsi main
int main ()
{
// mencetak kalimat
printf("Selamat Datang di Kelas Bahasa Pemrograman
Terstruktur\n");
}
Output Program
:
Flowchart
:
Penjelasan Program
:
Program di atas digunakan untuk menampilkan kalimat. Pada program di atas
menggunakan header file #include .Dam kalimat yang
dimasukan dalam script akan ditampilkan di program setelah di compile .
Latihan Praktikum II
Pemrograman C++
Nama Program
: Program Operasi Hitung Luas Segitiga
Bahasa Pemrogramam
: C++
Compiler
: MinGW Developer Studio
Script program
:
#include
int main()
{
float Alas, Tinggi, Luas_Segitiga;
printf("Masukan Nilai Alas : ");
scanf("%f",Alas);
printf("\nMasukan Nilai Tinggi : ");
scanf("%f",Tinggi);
Luas_Segitiga=0.5*Alas*Tinggi;
printf("\nNilai Luas Segitiga adalah :
%f",Luas_Segitiga);
}
Output Program
:
Flowchart
:
START
Masukan Nilai
Alas, dan Tinggi
Hitung Luas Segitiga
Tampilan Hasil
Luas Segitiga
END
Penjelasan Program
:
Program di atas digunakan untuk menghitung luas segitiga. Input yang berupa
nilai alas dan tinggi akan diproses dalam rumus yaitu rumus luas
segitiga.Kemudian dari proses tersebut akan keluar output yang merupakan hasil
penghitungan dari luas segitiga dari input .Tampilan output akan ditampilkan di
program.
Tugas Rumah
Pemrograman C++
Nama Program
: Konversi Suhu Celcius ke Reamur, Fahrenheit dan
Kelvin
Bahasa Pemrogramam
: C++
Compiler
: MinGW Developer Studio
Script program
:
#include
int main()
{
float Celcius, Reamur, Fahrenheit, Kelvin;
cout
PENGENALAN SISTEM OPERASI, IDE VISUAL C++, DAN
ALGORITMA PEMROGRAMAN
Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++
Dibimbing oleh Bapak Wahyu Sakti Gunawan Irianto
Oleh:
Wenda Aditama
150533604429
S1 PTI’15 OFF D
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
Oktober 2015
PENGENALAN SISTEM OPERASI, IDE VISUAL C++, DAN
ALGORITMA PEMROGRAMAN
Tujuan
Setelah mempelajari bab ini diharapkan mahasiswa akan mampu :
1. Mengoperasikan komputer khususnya Windows yang baik.
2. Mengenali dan menggunakan IDE C++ dengan baik.
3. Membuat program sederhana menggunakan C++.
DASAR TEORI
SISTEM OPERASI
Sistem Operasi atau Operating System adalah perangkat lunak yang dipasang
pada PC, laptop, atau perangkat lain yang berfungsi sebagai perantara (interface)
antara pengguna dan perangkat keras.
Gambar 1.0 Fitur Umum Sistem Operasi
Secara umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang
ditempatkan pada memori komputer pada saat komputer dinyalakan booting.
Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan,
dan Sistem Operasi akan melakukan layanan inti untuk software-software itu.
Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan
tugas schedule task, dan antar-muka user GUI/CLI. Sehingga masing-masing
software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat
dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugastugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Kalau sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi
adalah penghubung antara lapisan hardware dengan lapisan software. Sistem
Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin
aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar.
Sistem Operasi menjamin aplikasi lainnya dapat menggunakan memori,
melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada
sistem berkas. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem
Operasi mengatur schedule yang tepat, sehingga sedapat mungkin semua proses
yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor
(CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsifungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga
dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi
tersebut dari awal.
Sistem Operasi secara umum terdiri dari beberapa bagian:
Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
Kernel, yaitu inti dari sebuah Sistem Operasi
Command Interpreter atau shell, yang bertugas membaca input dari pengguna
Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar
yang dapat dipanggil oleh aplikasi lain
Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk
mengontrolnya.
Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada
satu waktu (misalnya DOS), tetapi sebagian besar Sistem Operasi baru
mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang
bersamaan. Sistem Operasi seperti ini disebut sebagai Multi-tasking Operating
System (misalnya keluarga sistem operasi UNIX). Beberapa Sistem Operasi
berukuran sangat besar dan kompleks, serta inputnya tergantung kepada input
pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan
asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering
disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS,
contohnya adalah Windows, Linux, Free BSD, Solaris, palm, symbian, dan
sebagainya.
Sistem operasi-sistem operasi utama yang digunakan komputer umum (termasuk
PC, komputer personal) terbagi menjadi 3 kelompok besar:
1. Sistem Microsoft Windows - yang antara lain terdiri dari Windows
Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows
95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x,
Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003,
Windows Vista, Windows Server 2008, Windows 7 (Seven) yang dirilis
pada tahun 2009, dan Windows 8 yang dirilis pada Oktober 2012)).
2. Sistem Unix yang menggunakan antarmuka sistem operasi POSIX, seperti
SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux,
Zeath OS (berbasis kernel linux yang dimodifikasi.)MacOS/X (berbasis
kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan
GNU/Hurd.
3. Sistem
Mac
OS,
adalah
sistem
operasi
untuk
komputer
keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi
yang terbaru adalah Mac OS X versi 10.6 (Snow Leopard). Musim panas
2011 direncanakan peluncuran versi 10.7 (Lion).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak
sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari
sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX,
dll.
Fungsi dari sistem operasi adalah:
1. Sistem operasi mengatur kerja hardware sehingga hardware bisa dan mudah
digunakan.
2. Mengatur dan mengontrol program aplikasi yang terinstall di PC
3. Melakukan manajemen memory
4. Memproteksi PC dari malware, virus, dan ancaman lain
5. Sebagai resource manager dan resource allocator
PEMROGRAMAN DAN ALGORITMA
Defisini Pemrograman
Pemrograman adalah aktifitas yang berhubungan dengan pembuatan program
dengan mengikuti kaidah bahasa pemrograman tertentu. Dalam konteks
pemrograman terdapat sejumlah bahasa pemrograman seperti Pascal, C, C#, dan
BASIC.
Adapun secara garis besar bahasa pemrograman dikelompokkan menjadi :
1. Bahasa pemrograman tingkat tinggi ( high-level language )
Adalah bahasa pemrograman yang berorientasi kepada bahasa manusia. Program
yang dibuat dengan menggunakan bahasa pemrograman yang mudah dipahami
oleh manusia, biasanya menggunakan bahasa inggris, misalnya IF, FOR, While,
dll.
Contoh bahasa pemrograman tingkat tinggi adalah : C, C#, BASIC, PHP, VB,
VB.NET, JAVA, dll.
2. Bahasa pemrograman tingkat rendah ( low-level language )
Adalah bahasa pemrograman yang berorientasi kepada mesin. Bahasa ini hanya
menggunakan kode biner ( hanya mengenal bilangan 0 dan 1 ) atau suatu kode
sederhana untuk menggantikan kode-kode tertentu dalam system biner.
Contoh : kode ASCII yang merepresentasikan karakter ke dalam bilangan biner.
Defisini Algoritma
Ada beberapa definisi algoritma diantaranya adalah :
1. Algoritma adalah penyusunan langkah-langkah penyelesaian masalah dalam
bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan
matematis.
2. Algoritma adalah suatu prosedur yang jelas untuk menyelesaikan suatu
persoalan dengan menggunakan langkah-langkah tertentu dan terbatas
jumlahnya.
3. Algoritma adalah susunan langkah yang pasti, yang bila diikuti maka akan
mentransformasi data input menjadi output yang berupa informasi.
Sejarah Algoritma
Sejarah mencatat bahwa algoritma berasal dari sebuah kata al-khawarizmi yang
berasal dari seorang muslim yang bernama lengkap Abu Ja’far Muhammad Ibnu
Musa Al-Kwarizmi, beliau merupakan ahli matematika dan astronomi dari Persia,
dan juga merupakan penulis buku “Aljabar wal Muqobala”. Beliau dianggap
sebagai pencetus pertama algoritma karena di dalam buku tersebut Abu Ja’far
menjelaskan langkah-langkah dalam menyelesaikan berbagai persoalan arirmatika
(aljabar).
Ciri-ciri Algoritma
Menurut Donald E. Knuth penulis buku algoritma abad XX, menyatakan bahwa
ada beberapa ciri algoritma, yaitu :
1. Algoritma mempunyai awal dan akhir, suatu algoritma harus berhenti setelah
mengerjakan serangkaian tugas. Dengan kata lain, suatu algoritma memiliki
langkah yang terbatas.
2. Setiap langkah harus didefinisikan dengan tepat, sehingga tidak memiliki arti
ganda, tidak membingungkan (not ambiguous)
3. Memiliki masukan (input) atau kondisi awal
4. Memiliki keluaran (output) atau kondisi akhir
5. Algoritma harus efektif, bila diikuti benar-benar maka akan menyelesaikan
masalah.
Sifat Algoritma
Sesuai dengan ciri-ciri dari algoritma pada penjelasan di atas, maka dapat
disimpulkan bahwa sifat suatu algoritma adalah :
1. Input : Suatu algoritma mempunyai input atau kondisi awal sebelum
dilaksanakan, bias berupa nilai-nilai peubah yang diambil dari himpunan
khusus.
2. Output : Suatu algoritma akan menghasilkan output setelah dilaksanakan.
Suatu algoritma akan mengubah sebuah kondisi awal menjadi kondisi akhir,
dimana nilai output diperoleh dari nilai input yang telah diproses melalui
algoritma.
3. Definiteness : Langkah-langkah yang dituliskan dalam algoritma terdefini
dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.
4. Finiteness : Suatu algoritma harus memiliki kondisi akhir atau output setelah
sejumlah langkah yang terbatas jumlahnya dilakukan terhadap setiap kondisi
awal atau input yang diberikan.
5. Effevtiveness : Setiap langkah dalam algortima dilaksanakan dalam suatu
selang waktu tertentu sehingga pada akhirnya didapatkan solusi sesuai dengan
yang diharapkan.
6. Generality : Langkah-langkah algoritma berlaku untuk setiap himpunan input
yang sesuai dengan persoalan yang diberikan, tidak hanya untuk himpunan
tertentu.
Struktur Algoritma
Agar algoritma yang ditulis lebih teratur, maka struktur algoritma sebaiknya
dibagi ke dalam beberapa bagian. Diantaranya :
1. Bagian kepala (header) : memuat nama algoritma serta informasi atau
keterangan tentang algoritma yang ditulis
2. Bagian Deklarasi ( definisi variable ) : memuat definisi nama variable, nama
tetapan, nama prosedur, nama fungsi, tipe data yang akan digunakan dalam
algoritma.
3. Bagian Deskripsi (rincian langkah ) : memuat langkah-langkah penyelesaian
masalah, termasuk beberapa perintah seperti baca data, tampilkan, ulangi, yang
mengubah data input menjadi output.
Contoh berikut ini adalah struktur algoritma. Algoritma ini akan menghitung luas
sebuah luas lingkaran dengan input jejari lingkaran tersebut. Luas lingkaran
adalah phi*jari*jari.
Algoritma Luas_lingkaran
{Menghitung sebuah luas lingkaran apabila jari-jari tersebut diberikan}
Deklarasi
{Definisi nama tetapan}
Const phi = 3.14;
{Definisi nama peubah/variabel}
Real jari-jari, Luas;
Deskripsi
Read(jari-jari);
Luas = phi * jari-jari * jari_jari;
Write(Luas);
FLOWCHART
Flowchart atau diagram alir merupakan sebuah diagram dengan simbol-simbol
grafis yang menyatakan aliran algoritma atau prosesyang menampilkan langkahlangkah yang disimbolkan dalam bentuk kotak, beserta urutannya dengan
menghubungkan masing masing langkah tersebut menggunakan tanda panah.
Diagram ini bisa memberi solusi selangkah demi selangkah untuk penyelesaian
masalah yang ada di dalam proses atau algoritma tersebut.
Gambar 1.1 Flowchart yang berhubungan dengan kerusakan listrik
Gambar 1.2 Flowchart faktorial
Simbol-simbol
Gambar
Simbol
Keterangan
untuk
Proses /
Menyatakan kegiatan yang akan ditampilkan
Langkah
dalam diagram alir.
Proses / Langkah dimana perlu adanya
Titik
keputusan atau adanya kondisi tertentu. Di titik
Keputusan
ini selalu ada dua keluaran untuk melanjutkan
aliran kondisi yang berbeda.
Masukan /
Keluaran
Data
Terminasi
Garis alir
Digunakan untuk mewakili data masuk, atau
data keluar.
Menunjukkan awal atau akhir sebuah proses.
Menunjukkan arah aliran proses atau
algoritma.
Kontrol /
Menunjukkan proses / langkah dimana ada
Inspeksi
inspeksi atau pengontrolan.
Jenis-jenis Flowchart/Diagram Alir
Sterneckert (2003) menyarankan untuk membuat model diagram alir yang
berbeda sesuai dengan perspektif pemakai (managers, system analysts and clerks)
sehingga dikenal ada 4 jenis diagram alir secara umum: [2]
Diagram Alir Dokumen, menunjukkan kontrol dari sebuah sistem aliran
dokumen.
Diagram Alir Data, menunjukkan kontrol dari sebuah sistem aliran data.
Diagram Alir Sistem, menunjukkan kontrol dari sebuah sistem aliran secara
fisik.
Diagram Alir Program, menunjukkan kontrol dari sebuah program dalam
sebuah sistem.
Latihan Praktikum I
Pemrograman C++
Nama Program
: Menampilkan kalimat
Bahasa Pemrogramam
: C++
Compiler
: MinGW Developer Studio
Script program
:
// header file
#include
//deklarasi fungsi main
int main ()
{
// mencetak kalimat
printf("Selamat Datang di Kelas Bahasa Pemrograman
Terstruktur\n");
}
Output Program
:
Flowchart
:
Penjelasan Program
:
Program di atas digunakan untuk menampilkan kalimat. Pada program di atas
menggunakan header file #include .Dam kalimat yang
dimasukan dalam script akan ditampilkan di program setelah di compile .
Latihan Praktikum II
Pemrograman C++
Nama Program
: Program Operasi Hitung Luas Segitiga
Bahasa Pemrogramam
: C++
Compiler
: MinGW Developer Studio
Script program
:
#include
int main()
{
float Alas, Tinggi, Luas_Segitiga;
printf("Masukan Nilai Alas : ");
scanf("%f",Alas);
printf("\nMasukan Nilai Tinggi : ");
scanf("%f",Tinggi);
Luas_Segitiga=0.5*Alas*Tinggi;
printf("\nNilai Luas Segitiga adalah :
%f",Luas_Segitiga);
}
Output Program
:
Flowchart
:
START
Masukan Nilai
Alas, dan Tinggi
Hitung Luas Segitiga
Tampilan Hasil
Luas Segitiga
END
Penjelasan Program
:
Program di atas digunakan untuk menghitung luas segitiga. Input yang berupa
nilai alas dan tinggi akan diproses dalam rumus yaitu rumus luas
segitiga.Kemudian dari proses tersebut akan keluar output yang merupakan hasil
penghitungan dari luas segitiga dari input .Tampilan output akan ditampilkan di
program.
Tugas Rumah
Pemrograman C++
Nama Program
: Konversi Suhu Celcius ke Reamur, Fahrenheit dan
Kelvin
Bahasa Pemrogramam
: C++
Compiler
: MinGW Developer Studio
Script program
:
#include
int main()
{
float Celcius, Reamur, Fahrenheit, Kelvin;
cout