2019-11-067
TEORI TAMBAHAN
MODUL 1 : FLOWCHART DAN STRUKTUR PENULISAN
Dalam perancangan flowchart sebenarnya tidak ada rumus atau patokan yang bersifat
mutlak (pasti). Hal ini didasari oleh flowchart (bagan alir) adalah sebuah gambaran dari hasil
pemikiran dalam menganalisa suatu permasalahan dalam komputer. Karena setiap analisa akan
menghasilkan hasil yang bervariasi antara satu dan lainnya. Kendati begitu secara garis besar
setiap perancangan flowchart selalu terdiri dari tiga bagian, yaitu input, proses dan output.
Sedangkan, di lihat dari jenisnya flowchart terbagi menjadi 5 di antaranya adalah sebagai
berikut :
Flowchart Sistem
Flowchart Sistem adalah suatu bagan yang menggambarkan dari alur kerja atau sesuatu
yang sedang di kerjakan pada system secara keseluruhan serta menjelaskan dari berbagai urutan
berdasarkan prosedur-prosedur yang ada di dalam system tersebut. Atau dengan kata lain,
flowchart jenis ini adalah sebuah dekripsi dengan menggambarkan grafik dari urutan prosedur-
prosedur yang terstruktur yang membentuk dari suatu system.
Flowchart Dokumen
Kemudian untuk yang ke-2 adalah document flowchart (Bagan alir dokumen) atau
umumnya di sebut juga bagan alir formulir (form flowchart), paperwork flowchart untuk
pengertiannya sendiri merupakan suatu bagan alir yang menjelaskan arus dari laporan dan juga
Flowchart Skematik
Yang ke-3 adalah schematic flowchart (Bagan alir skematik) dimana unutk bagan alir
jenis ini mirip sekali dengan bagan alir system yakni untuk menjelaskan berbagai prosedur di
dalam system. Jika di lihat dari perbedaannya adalah jika pada alir skematik selain menggunakan
berbagai symbol bagan alir sistem, juga menggunakan beberapa gambar computer serta tools
lainya. Menggunakan berbagai gambar dalam hal ini di maksudkan untuk memudahkan dalam
berkomunikasi terhadap orang yang kurang paham dengan penggunaan simbol-simbol bagan
alir. Memang, dalam menggunakan gambar-gambar tersebut agar lebih mudah di pahami, namun
sulit dan membutuhkan waktu yang cukup lama dalam menggambarnya.
Flowchart Program
Selanjutnya adalah program flowchart (Bagan alir program) yakni suatu bagan yang
menggambarkan secara detail langkah demi langkah dari proses program. Bagan alir program
sengaja di buat berdasarkan derivikasi bagan alir sistem.Bagan alir program sendiri terdiri dari 2
macam di antaranya adalah bagan alir logika program (program logic flowchart) dan bagan alir
program komputer terinci (detailed computer program flowchart). Fungsi dari Bagan alir logika
program adalah untuk menggambarkan dari tiap langkah di dalam program komputer secara
logika. Biasanya Bagan alir logika program ini ini di siapkan oleh seorang analis sistem.
Flowchart Proses
Lalu yang terakhir adalah Flowchart Proses yakni suatu teknik penggambaran rekayasa
industrial yang memecah dan mengalisis dari setiap langkah selanjutnya pada suatu prosedur
atau sistem. Dalam Bagan alir proses umumnya hanya menggunakan 5 buah symbol tersendiri
Diagram alir menggambarkan aspek-aspek tertentu dari proses dan biasanya dilengkapi
dengan jenis diagram lainnya. Misalnya, Kaoru Ishikawa mendefinisikan diagram alir sebagai
salah satu dari tujuh alat dasar kendali mutu, di sebelah histogram , diagram Pareto , lembar
periksa , diagram kontrol , diagram sebab-akibat , dan diagram sebaran . Demikian pula, dalam
UML , notasi pemodelan konsep standar yang digunakan dalam pengembangan perangkat lunak,
diagram aktivitas , yang merupakan jenis diagram alur, hanyalah salah satu dari banyak jenis
diagram yang berbeda. Diagram Nassi-Shneiderman dan Drakon-chart adalah notasi alternatif
untuk aliran proses. Nama alternatif umum meliputi: diagram alir, diagram alur proses, diagram
alur fungsional, peta proses, diagram proses fungsional, model proses bisnis, model proses,
diagram alir proses, diagram alir kerja , diagram alir bisnis. Istilah "diagram alur" dan "diagram
alir" digunakan secara bergantian. Struktur grafik yang mendasari diagram alur adalah grafik
aliran, yang mengabstraksi tipe-tipe node, isinya dan informasi tambahan lainnya.
Art Spinanger, lulusan 1944 dari kelas Mogensen , membawa alat itu kembali ke Procter
and Gamble di mana ia mengembangkan Program Perubahan Metode Sengaja mereka. Ben S.
Graham , lulusan 1944 lainnya, Direktur Teknik Formcraft di Standard Register Industrial ,
menerapkan bagan proses aliran pada pemrosesan informasi dengan pengembangan bagan proses
multi-aliran, untuk menyajikan berbagai dokumen dan hubungan mereka. Pada tahun 1947,
ASME mengadopsi set simbol yang berasal dari karya asli Gilbreth sebagai "ASME Standard:
Operation and Flow Process Charts."
Douglas Hartree pada tahun 1949 menjelaskan bahwa Herman Goldstine dan John von
Neumann telah mengembangkan diagram alur (awalnya, diagram) untuk merencanakan program
komputer.Akun kontemporernya didukung oleh insinyur IBM dan oleh ingatan pribadi
Goldstine.Diagram alur pemrograman asli Goldstine dan von Neumann dapat ditemukan dalam
laporan yang tidak dipublikasikan, "Perencanaan dan pengkodean masalah untuk instrumen
komputasi elektronik, Bagian II, Volume 1" (1947), yang direproduksi dalam karya von
Neumann yang dikumpulkan .
Flowchart menjadi alat yang populer untuk menggambarkan algoritma komputer , tetapi
popularitasnya menurun pada tahun 1970-an, ketika terminal komputer interaktif dan bahasa
pemrograman generasi ketiga menjadi alat umum untuk pemrograman komputer , karena
algoritma dapat diekspresikan lebih ringkas sebagai kode sumber dalam bahasa tersebut .
Seringkali pseudo-code digunakan, yang menggunakan idiom umum bahasa-bahasa tersebut
tanpa benar-benar mengikuti detail dari bahasa tertentu.
Flowchart saat ini masih digunakan untuk menggambarkan algoritma komputer .Teknik
modern seperti diagram aktivitas UML dan Drakon-chart dapat dianggap sebagai ekstensi dari
diagram alur.
Sterneckert (2003) mengemukakan bahwa diagram alur dapat dimodelkan dari perspektif
kelompok pengguna yang berbeda (seperti manajer, analis sistem dan juru tulis), dan bahwa ada
empat jenis umum:
Diagram alir dokumen , menunjukkan kontrol atas aliran dokumen melalui sistem
Diagram alir data , menunjukkan kontrol atas aliran data dalam suatu sistem
Diagram alir sistem , menunjukkan kontrol pada tingkat fisik atau sumber daya
Diagram alir program , menunjukkan kontrol dalam suatu program dalam suatu sistem
Namun, ada beberapa klasifikasi yang berbeda. Sebagai contoh, Andrew Veronis (1978)
menyebutkan tiga jenis dasar diagram alur: diagram alur sistem , diagram alur umum , dan
diagram alur terperinci .Pada tahun yang sama Marilyn Bohl (1978) menyatakan "dalam
praktiknya, dua jenis diagram alur digunakan dalam perencanaan solusi: diagram alur sistem dan
diagram alur program .Baru-baru ini, Mark A. Fryman (2001) mengidentifikasi lebih banyak
perbedaan: "Diagram alur keputusan, diagram alur logika, diagram alur sistem, diagram alur
produk, dan diagram alur proses hanyalah beberapa dari berbagai jenis diagram alur yang
digunakan dalam bisnis dan pemerintahan ".
Selain itu, banyak teknik diagram mirip dengan diagram alur tetapi membawa nama yang
berbeda, seperti diagram aktivitas UML
Simbol umum
Institut Standar Nasional Amerika (ANSI) menetapkan standar untuk diagram alur dan
simbol-simbol mereka pada 1960-an. Organisasi Internasional untuk Standardisasi (ISO)
mengadopsi simbol ANSI pada tahun 1970. Standar saat ini, ISO 5807, direvisi pada tahun 1985.
Secara umum, diagram alur mengalir dari atas ke bawah dan dari kiri ke kanan.
Bentuk ANSI /
Nama Deskripsi
ISO
Simbol lainnya
Standar ANSI / ISO mencakup simbol di luar bentuk dasar. Beberapa di antaranya adalah: [17] [18]
Pemrosesan paralel
Mode Paralel diwakili oleh dua garis horizontal pada awal atau akhir operasi simultan
Untuk pemrosesan paralel dan bersamaan , garis horizontal Mode Paralel atau garis
horizontal menunjukkan awal atau akhir bagian proses yang dapat dilakukan secara independen:
Diagram
Flowgorithm
Setiap program menggambar dapat digunakan untuk membuat diagram alur, tetapi ini tidak akan
memiliki model data yang mendasari untuk berbagi data dengan database atau program lain
seperti sistem manajemen proyek atau spreadsheet . Ada banyak paket perangkat lunak yang
dapat membuat diagram alur secara otomatis, baik secara langsung dari kode sumber bahasa
pemrograman, atau dari bahasa deskripsi diagram alur.
Ada beberapa aplikasi dan bahasa pemrograman visual [21] yang menggunakan diagram alur
untuk mewakili dan menjalankan program. Umumnya ini digunakan sebagai alat pengajaran
untuk siswa pemula. Contohnya termasuk Flowgorithm , Raptor . LARP, Visual Logic ,
Fischertechnik ROBO Pro, dan VisiRule.
DAFTAR PUSAKA :
https://id.wikipedia.org/wiki/Diagram_alir
https://informatikalogi.com/pengertian-flowchart-dan-jenis-jenisnya/
TEORI TAMBAHAN
MODUL 2 : TIPE DATA DASAR DAN DEKLARASI
TIPE DATA
TIPE DASAR
Yang termasuk dalam tipe dasar adalah : bilangan bulat (integer), logika (boolean),
karakter, bilangan riil (float) dan string. Tiga tipe dasar yang pertama disebut tipe ordinal karena
setiap nilai konstantanya bisa diubah ke nilai integer.
Operator untuk jenis data ini terdiri atas : + (penjumlahan) , - (pengurangan) , * (perkalian) dan /
(pembagian)
5. Tipe String
Nilai data string merupakan urut-urutan dari karakter yang terletak di antara tanda petik
tunggal. Nilai data string akan menenpati memori sebesar banyaknya karakter stringnya
ditambah dengan 1 byte.
Contoh : ’Belajar’, ’Pemrograman’, merupakan nilai konstantastring. Operasi terhadap tipe string
terdiri dari :
a. Operasi Penyambungan Operatornya : +. Digunakan untuk menyambung 2 nilai string.
Contoh : ’Belajar’ + ’Pemrograman’ menjadi ’BelajarPemrograman’
b. Operasi Perbandingan
TIPE BENTUKAN
Tipe bentukan adalah tipe yang didefinisikan sendiri oleh pemrogram. Ada dua macam
tipe bentukan, yaitu :
1. Tipe dasar yang diberi nama baru
Contoh : typedef int bilangan
2. Rekaman (struct) 3.2 Nama
Nama diberikan kepada peubah (variabel), konstanta, tipe bentukan, nama fungsi, dan
nama prosedur. Aturan penamaan : 1. Diawali dengan huruf alfabet. 2. Huruf besar atau kecil
dibedakan. 3. Nama tidak boleh mengandung operator aritmatika, operator relasional, tanda
baca, spasi
VARIABLE
Variabel adalah suatu identifier non-standar yang nilainya tidak tetap atau nilainya
merupakan hasil dari suatu proses. (variabel yang dimaksudkan disini sama seperti halnya arti
variabel pada aljabar). Bentuk umum deklarasinya adalah :
1.Jika hanya 1 (satu) variabel yang dideklarasikan : Tipe_data identifier;
2.Jika lebih dari 1 (satu) variabel dan masing-masing memiliki tipe data yang sama : Tipe_data
id-1, id-2, …., id-3;
3.Jika beberapa variabel yang berbeda tipe datanya : Tipe_data_1 identifier-1; Tipe_data_2
identifier-2; . . .
Tipe_data_n identifier-n; Contoh :
1.Int x;
2.Float p,q,r;
3.Char a,b;
EKSPRESI
Sebuah ekspresi merupakan kumpulan dari operand-operand (seperti : bilangan, konstanta,
variabel dll) yang bersama-sama dengan operator membentuk suatu bentuk aljabar dan
menyatakan suatu nilai. Ada 2 (dua) jenis ekspresi dalam bahasa C++, yaitu :
1.Ekspresi numerik / aritmatika, yaitu suatu ekspresi yang menghasilkan nilai numerik /
aritmatika. 2.Ekspresi Boolean atau ekspresi logika, yaitu suatu ekspresi yang menghasilkan nilai
boolean / logika (true/false). Contoh :
1.(b * b – 4 * a * c) / (2*a) / (2 * a) - ekspresi numerik, jika a,b dan c adalah bilangan (variabel
bernilai numerik).
2.Upah < 1000.0 -ekspresi boolean (“upah” adalah suatu variabel bernilai real).
//Program LuasLingkaran;
#include<iostream>
Using namespace std;
float jari2, Luas ;
int main(){
cout<<”Masukkan jari- jari : ”; cin>>jari2;
Luas = 314*jari2*jari2;
cout<<”Luas = ”<<Luas<<endl
; return 0; }
BAGIAN DEKLARASI
Pada bagian ini dideklarasikan : tipe, variabel, konstanta, prosedur, dan fungsi.
DEKLARASI TIPE
Digunakan untuk membuat tipe bentukan atau tipe khusus yang nantinya digunakan dalam
deklarasi variabel. Bentuk deklarasi :
Typedef pengenal = tipe data;
Contoh Typedef bilangan = int;
DEKLARASI VARIABLE
Digunakan untuk mendeklarasikan semua variabel yang dipakai dalam program. Bentuk
umum deklarasi : Bentuk umum deklarasinya adalah :
1.Jika hanya 1 (satu) variabel yang dideklarasikan :
Tipe_data identifier;
2.Jika lebih dari 1 (satu) variabel dan masing-masing memiliki tipe data yang sama :
Tipe_data id-1, id-2, …., id-3;
3.Jika beberapa variabel yang berbeda tipe datanya :
Tipe_data_1 identifier-1;
Tipe_data_2 identifier-2;
Tipe_data_n identifier-n;
Contoh :
1.Int x;
2.Float p,q,r;
DEKLARASI KONSTANTA
Deklarasi ini untuk mendefinisikan nama yang memiliki nilai tetap. Bagian umum
deklarasinya adalah :
CONST identifier = nilai;
Contoh : CONST phi = 3.14; x= 2;y = ‘S’;
DEKLARAS FUNGSI
Pada umumnya sebuah fungsi dalam bahasa c jika penulisannya ditaruh diatas fungsi main().
Deklarasi diperlukan jika penulisan fungsi berada dibawah fungsi main(). Deklarasi fungsi
diperlukan jika kita membuat fungsi dengan tipe data keluaran bukan integer misalnya float atau
string.
Contoh Deklarasi Fungsi :
#include <stdio.h>
int hitung_luas(int panjang, int lebar); //deklarasi fungsi
int main()
{
int panjang = 5;
int lebar =7;
int luas;
luas = hitung_luas(panjang,lebar);
printf("%d \n",luas);
return 0;
}
int hitung_luas(int panjang, int lebar)
{
int luas;
luas = panjang * lebar;
return(luas);
}
Baik data maupun fungsi harus dideklarasikan. Data perlu dideklarasikan agar compiler
tahu berapa byte memori yang harus disediakan untuk data yang bersangkutan, sedangkan fungsi
perlu dideklarasikan agar compiler dapat memeriksa ketepatan pemanggilan fungsi yang
bersangkutan.
Deklarasi dan definisi adalah langkah awal dalam setiap penulisan program.
DAFTAR PUSAKA :
https://www.academia.edu/23898197/
BAB_III_Pengenalan_Tipe_Data_dan_Bahasa_Pemrograman_C_C
TEORI TAMBAHAN
Modul 3 : Fungsi dan Operator
FUNGSI
Fungsi merupakan suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu
tugas tertentu dan letaknya terpisah dari program yang memanggilnya. Fungsi merupakan
elemen utama dalam bahasa C karena bahasa C sendiri terbentuk dari kumpulan fungsi-
fungsi. Dalam setiap program bahasa C, minimal terdapat satu fungsi yaitu fungsi main().
Fungsi banyak diterapkan dalam program-program C yang terstruktur. Keuntungan
penggunaan fungsi dalam program yaitu program akan memiliki struktur yang jelas
(mempunyai readability yang tinggi) dan juga akan menghindari penulisan bagian program
yang sama. Dalam bahasa C fungsi dapat dibagi menjadi dua, yaitu fungsi pustaka dan
fungsi yang didefinisikan atau dibuat oleh programmer. Fungsi ini memang wajib ada di
setiap program C karena akan dieksekusi pertama kali.Fungsi biasanya akan mengembalikan
sebuah nilai dari hasil prosesnya. Karena itu, kita harus menentukan tipe data untuk nilai
yang akan dikembalikan.Apabila fungsi tersebut tidak memiliki nilai kembalian, maka kita
harus menggunakan tipe void untuk menyatakan kalau fungsi tersebut tidak akan
mengembalikan nilai apa-apa.
klasifikasi fungsi dalam bahasa C dapat dibagi menjadi 2 yaitu :
1.) Fungsi Pustaka atau fungsi yang telah tersedia dalam Bahasa C.
2.) Fungsi yang didefinisikan atau di buat oleh progammer.
Pustaka (seringkali dirujuk sebagai library), adalah kumpulan fungsi-fungsi yang terkandung
dalam satu file, Setiap file pustaka mempunyai satu Header file yang menyimpan cetak biru
dari fungsi-fungsi yang terkandung dalam file pustaka.
Pustaka dalam Fungsi terdapat dalam 2 operasi di dalam Bahasa C yaitu :
1. Header Stdio.h
Fungsi yang terdapat dalam header tersebut adalah:
printf() Untuk menampilkan keluaran secara terformat.
1) putchar() Untuk menampilkan keluaran secara tidak terformat.
2) scanf() Untuk melakukan inputan.
3) fprintf() untuk menampilkan keluaran di printer,fungsi ini menggunakan sebuah. konstanta
stdprn untuk menampilkan hasil di printer.
· fopen() untuk membuka file yang ada di disk.
Contoh program char:
2. Header conio.h
3. Header math.h
sqrt(n) untuk menghitung akar suatu nilai numerik n
pow(x,y) untuk menghitung x pangkat y
exp(n) untuk menghitung nilai e pangkat n
idexp(x,y) untuk menghitung nilai x dikali 2 pangkat y
ceil() untuk pembulatan ke atas
floor() untuk pembulatan nilai kebawah
fmod() untuk menghitung sisa pembagian bulat
sin(),cos(),tan(),asin(),acos(),atan(),log(),log()
Contoh program :
4. Header string.h
strlen() untuk menghasilkan panjang dari suatu string kata
strcpy() untuk menyalin nilai string x ke string y
strcat (string1,string2) untuk menggabungkan 2 buah string,string 1 dan string2
strcmp() untuk membandingkan dua nilai string
strchr() untuk menyeleksi suatu nilai string yang masuk
5. Header time.h
time() untuk memberi selang waktu dalam random
ctime() untuk konversi tanggal dan waktu menjadi sebuah string
asctime() untuk konversi tanggal dan waktu menjadi nilai ASCII
Didalam progam fungsi juga dapat membuat fungsi sendiri, tapi dalam pembuatan progam
fungsi sendiri sebelum digunakan suatu fungsi harus didefinisikan dan dideklarasikan
terlebih dahulu. Berikut bentuk umum pendeklarasian dan pendefenisian seperti gambar di
bawah ini.
Untuk lebih jelasnya dalam pembuatan progam fungsi berikut contoh struktur fungsi
dalam bahasa C
Dan untuk prototype fungsi ( pendeklarasian fungsi ) saya akan mencotohkan seperti
gambar berikut.
Tampilan progam
1. Operator Aritmatika
Operator pembanding adalah operator untuk memabndingkan dua buah nilai. Operator
ini juga dikenal dengan operator relasi.
Contoh progam :
5. Operator Logika
Kalau kamu pernah belajar logika matematika, pasti tidak akan asing dengan operator ini.
Nama Operator Simbol di Java
Logika OR ||
Negasi/kebalikan !
Operator Logika digunakan untuk membuat operasi logika.
Misalnya seperti ini:
Pernyataan 1: FATHUR seorang programmer
Pernyattan 2: FATHUR menggunakan Borlan c
Jika ditanya, apakah fathur yang menggunakan borlan c?
Tentu kita akan cek dulu kebenarannya
Pernyataan 1: fathur seorang programmer = true.
Pernyattan 2: fathur menggunakan borlan c = true.
Apa fathur rogrammer dan menggunakan borlan c?
Pertnyataan 1 && Pernyataan 2 = true
Bingung?
Coba cek lagi tabel kebenaran untuk logika AND.
Operator Lain-lain
Selain dari operator yang kita bahas di atas, terdapat beberapa operator lain yang harus
diketahui:
Nama Operator Simbol Keterangan
6. Operator Relasi
Operator selanjutnya adalah operator relasi - operator ini akan banyak kita gunakan
dalam suatu statement bersyarat yang selalu menghasilkan nilai true atau false.
Nantinya kita akan sering menggunakan operator ini untuk menentukan kondisi.
Operator Keterangan
== Sama dengan
!= Tidak sama dengan
> Lebih dari
< Kurang dari
>= Lebih dari atau sama dengan
<= Kurang dari atau sama dengan
#include <iostream>
using namespace std;
void main() {
bool nilai;
nilai = 3 > 2 ; // hasil ungkapan : benar
cout << "Nilai = " << nilai;
nilai = 2 > 3 ; // hasil ungkapan : salah
cout << "Nilai = " << nilai;
}
Nilai = 1
Nilai = 0
#include <iostream>
using namespace std;
int main ()
{
int a,b;
a = (b=3, b+2);
cout << a;
}
Agak rumit namun penjelasanya seperti ini: Pertama variabel b akan diberi nilai 3,
kemudian nilai b (3) akan dijumlahkan dengan 2 sehingga variabel a bernilai 5.
8. Operator Lainnya
Operator Keterangan
Untuk mengembalikan nilai dari ukuran variabel. Contoh
sizeof sizeof(a), dimana ‘a’ adalah integer maka akan
mengembalikan nilai 4
. (dot) and -> Operator member yang digunakan untuk mereferensikan
(arrow) member class, structures, dll.
Untuk mengkonversi suatu data ke tipe data lain.
Cast
Contohnya int(2.2000) akan menjadi 2
* Digunakan sebagai operator pointer
Daftar Pusaka :
TEORI TAMBAHAN
LABORATORIUM ALGORITMA DAN PEMROGRAMAN
IT-PLN JAKARTA
Raysal Fahri
2019-11-067
MODUL 4 : PERCABANGAN DAN PERULANGAN
1. PERCABANGAN
Percabangan adalah suatu pemilihan statement yang akan dieksekusi dimana
pemilihan tersebut didasarkan atas kondisi tertentu. Di dalam C++ terdapat dua buah
jenis struktur yang digunakan untuk mengimplementasikan suatu percabangan, yaitu
dengan menggunakan struktur if/else dan struktur switch.
Statement yang terdapat dalam sebuah blok percabangan akan dieksekusi hanya
jika kondisi yang didefinisikan terpenuhi (bernilai benar). Maka otomatis jika
statement yang tidak terpenuhi (bernilai salah) maka statement tersebut juga tidak
akan tereksekusi.
Berikut ini merupakan operator perbandingan yang bisanya digunakan dalam
persoalan percabangan/perulangan:
Operator Keterangan
> Lebih dari
< Kurang dari
== Sama dengan
Lebih dari sama
>=
dengan
Kurang dari sama
<=
dengan
!= Tidak sama dengan
A. Kondisi If
Perintah if melakukan pemilihan dari suatu cabang sehingga menghasilkan seleksi
dari nilai yang diinginkan. Operasi ini merupakan struktur percabangan yang paling
sederhana karena hanya menggunakan satu buah ekspresi yang akan diperiksa.
Perlu diingat bahwa, jika if memiliki satu statement maka tidak diperlukannya
kurung kurawal namun jika mempunya dua atau lebih statement maka diwajibkan
untuk menggunakan kurung kurawal.
Contoh flowcart if :
Flowchart if else:
Terdapat juga nested if dimana terdapat nilai if dan else yang lebih kompleks yaitu
nilai if di dalam if:
D. Switch Case
Switch case dalam C++ digunakan untuk menangani pengambilan keputusan yang
melibatkan banyak pilihan, pernyataannya hampir mirip dengan if-else bertingkat.
Switch case harus menggunakan tipe data integer atau karater.
Bentuk penulisannya sebagai berikut :
Contoh code :
1. Kondisi
2. Pernyataan
3. Iterasi
Contoh :
Mencetak angka 1 sampai 10
DAFRAR PUSAKA :
http://stshofiyah.blogspot.com/2016/11/percabangan-dan-perulangan-pada-c.html
TEORI TAMBAHAN
MODUL 5 : TIPE DATA TURUNAN (ARRAY,STRUCT,AND POINTER)
1. Memberikan control atau batasan tersendiri bagi seorang programmer. Hal ini karena
tipe data telah ditentukan sebelumnya, sehingga programer tidak asal-asalan dalam
memasukkan data.
2. Menentukan memori yang digunakan dan Menentukan bilangan bulat serta bilangan
desimaDalam dunia programer.
fungsi tipe data di atas sangatlah vital. Bahkan tanpa ada tipe data akan sulit sekali
menentukan data yang ingin dimasukkan.lnya.
Karakter (char)
Adalah tipe data yang hanya bisa menyimpan 1 digit karakter dan ukurannyapun hanya 1
byte (1 byte = 8 bit). Nilai-nilai yang termasuk dalam karakter adalah karakter huruf,
karakater angka, karakter tanda baca, serta karakter khusu.
Boolean
Adalah tipe data logika yang berisi dua kemungkinan nilai yaitu TRUE dan FALSE.
A. Array
Array merupakan sebuah jenis struktur data yang dapat menyimpan ukuran dari
elemen yang mempunyai tipe data sama. Array sebuah konsep yang penting dalam
pemrograman, karena array menyimpan data dalam jumlah banyak dan terindeks.
Misalnya terdapat kumpulan data bertipe int yaitu angka 1, 2, 3, 4, dan 5. Kumpulan
data ini dapat disajikan dalam bentuk Array karena memiliki tipe data yang sama yaitu
int. Misal kumpulan data tadi kita beri nama angka sehingga jika disajikan dalam
bentuk array akan menjadi int Angka[]={1, 2, 3, 4, 5} atau int angka[5]={1, 2, 3, 4, 5}.
Pada sebuah array, index array dimulai dari indeks ke-0, sehingga pada array Angka[],
Angka 1 berada di indeks ke-0 (Array[0]), Angka 2 berada di indeks ke-1 (Array[1]),
dan seterusnya. Sedangkan pada pendeklarasian Array, Int Angka [5] berarti Array
Angka dapat menampung 5 masukan nilai int.
Type namaArray[UkuranArray];
Ukuran Array harus bilangan integer yang lebih besar dari nol, type dapat berupa tipe
data yang valid dalam bahasa C. Contoh deklarasi array yang bertipe data double :
double data[299];
Variasi Dalam Mendeklarasikan Array
Ada beberapa variasi cara mendeklarasikan sebuah array (dalam hal ini yang berdimensi
satu), di antaranya adalah sebagai berikut :
int numbers[10];
int numbers[10] = {34, 27, 16 };
int numbers[] = {2, 3, 45, 79, 14, 5, 0, 28, 1, 0 };
char text[] = "Welcome to New Zealand.";
float radix[12] = {134.362, 1913.248}; double radians[1000];
Macam-macam Array dalam Bahasa C
Diilihat dari dimensinya array terbagi menjadi array dimensi satu, array dimensi dua
dan array multi dimensi.
1. Array Satu dimensi
Array satu dimensi Adalah suatu array yang terdiri dari satu subscript atau index dan
hanya dapat menyimpan data satu jenis saja yang bertipe integer di dalam variabel array
tersebut
Bentuk deklarasi:
Type_namaArray[x];
• ‘Type’ dapat bertipe data bebas yang sesuai dalam bahasa C .
• ‘namaArray’ disesuaikan dengan compiler.
2.Array Dua Dimensi
Array Dua Dimensi adalah array yang terdiri baris dan kolom yang Biasanya dapat
berupa matrik atau table. Untuk mendeklarasikan array dua dimensi sebagai berikut:
Bentuk deklarassi:
Type_namaArray[x][y];
Contoh :
int x[3][4];
X[ X[ X[ X[
0] 0] 0] 0]
[0] [1] [2] [3]
X[ X[ X[ X[
1] 1] 1] 1]
[0] [1] [2] [3]
X[ X[ X[ X[
2] 2] 2] 2]
[0] [1] [2] [3]
Array dua dimensi dapat dianggap sebagai table yang memiliki ‘x’ jumlah
baris dan ‘y’ jumlah kolom..
Cara Mengakses array :
Untuk mengakses array,misalnya kita ingin mengisi elemen array baris 2 kolom 3
dengan 10 maka perintahnya adalah sebagai berikut :
X[1][2]=10;
Untuk mengisi dan menampilkan isi elemen array ada dua cara yaitu :
- Row Major Order(secara baris per baris)
- Column Major Order(secara kolom per kolom)
LABORATORIUM ALGORITMA DAN PEMROGRAMAN
IT-PLN JAKARTA
Raysal Fahri
2019-11-067
3. Array MultidImensi
Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua dan juga
mempunyai index lebih dari dua jenis array .
Bentuk deklarasi:
type_array nama_array[ukuran1][ukuran2]&[ukuranN];
Contoh :
float x[2][3][4];
X[ X[ X[ X[
0] 0] 0] 0]
[0] [0] [0] [0]
[0] [1] [2] [3]
X[ X X[ X[
0] [0] 0] 0]
[1] [1] [1] [1]
[0] [1] [2] [3]
X[ X X[ X[
0] [0] 0] 0]
[2] [2] [2] [2]
[0] [1] [2] [3]
B. STRUCT
Struct adalah suatu struktur data yang menggabungkan beberapa data yang berbeda tipe
(heterogen) atau tipe yang sama tetapi berkaitan.. Struct membebaskan pemrogram
untuk menyimpan data yang kompleks, data yang disimpan tidak harus bertipe data
yang sama dengan data lainnya. . Conoth pengggunaan struct yaitu data mengenai
NIM, Nama, dan IPK seorang mahasiswa. Ketiga data ini mempunyai tipe data yang
berbeda tetapi masih berhubungan yaitu data akademik seorang mahasiswa. Dengan
menggunakan struct maka data ini bisa diolah per elemen (per field) atau secara
keseluruhan (per struct, per record).
Untuk mendeklarasikan sebuah struct, dapat dipilih salah satu dari dua metode berikut
ini:
1. Pendeklarasian struct yang pertama (bentuk umum).
struct namaStruct { tipeData namaVariabel; };
Contoh kode pendeklarasian struct:
struct mahasiswa {
char nim[25];
char nama[25];
int usia;
};
2. Pendeklarasian Kedua (typedef)
C. POINTER
Pointer adalah sebuah variabel berisi alamat memori dari variabel yang lain. Suatu
pointer bukan berisi dengan suatu nilai data seperti halnya pada variabel biasa, variabel
pointer berisi dengan suatu alamat.Untuk mendeklarasikan variabel pointer kita
menggunakan tanda asterik / bintang (*) didepan variabel yang di deklarasikan pada
tipe data .Tanda ini juga dapat dipakai untuk mengakses nilai dari variabel yang telah
ditunjuk. Dan untuk mendapatkan alamat dari variabel pointer kita menggunakan tanda
&.
1. Mendeklarasikan Variabel Pointer
Suatu variabel pointer dideklarasikan dengan bentuk sebagai berikut :
Tipe*nama_variabel;
dengan tipe dapat bebas tergantung dari tipe data variable yang akan menjadi
referensinya .Adapun nama_variabel adalah nama dari variabel pointer.
`Sebagai contoh :
int *px; / *contoh 1 */
char *pch1, *pch2; / *contoh 2 */
Contoh pertama menyatakan bahwa px adalah variabel pointer yang menunjuk
ke suatu
data bertipe int, sedangkan contoh kedua masing pch1 dan pch2 adalah variabel
pointer
yang menunjuk ke data bertipe char.
Agar suatu pointer menunjuk ke variabel lain, mula-mula pointer harus diisi
dengan
alamat dari variabel yang akan ditunjuk. Untuk menyatakan alamat dari suatu
variabel,
DAFTAR PUSAKA :
https://www.algorithm-sttpln.my.id/2019/02/tipe-data-turunan-arraystruct-pointer.html
https://www.jurnalponsel.com/pengertian-tipe-data/
TEORI TAMBAHAN
MODUL6 : TIPE DATA ENUMERASI DAN OPERASI FILE
Contoh deklarasi tipe enumerasi dalam bahasa C atau C++ adalah sebagai berikut:
Contoh kode program yang menggunakan tipe enumerasi adalah sebagai berikut.
#include <stdio.h>
enum pilihan {SATU, DUA, TIGA, EMPAT, LIMA, ENAM, TUJUH, DELAPAN};
int main(){
printf("SATU = %d ?\n", SATU);
printf("DUA = %d ?\n", DUA);
printf("TIGA = %d ?\n", TIGA);
printf("EMPAT = %d ?\n", EMPAT);
printf("LIMA = %d ?\n", LIMA);
printf("ENAM = %d ?\n", ENAM);
printf("TUJUH = %d ?\n", TUJUH);
printf("DELAPAN = %d ?\n", DELAPAN);
Jika konstanta pertama di dalam suatu set enumerasi tidak diberi nilai maka secara
default nilai anggota pertamanya adalah 0. Nilai-nilai anggota selanjutnya adalah 1,
2, 3 dan seterusnya. Untuk contoh pertama di atas, maka nilai dari masing-masing
anggota tipe enumerasi yaitu :
SATU=0
DUA=1
TIGA=2
EMPAT=3
LIMA=4
ENAM=5
TUJUH=6
DELAPAN=7
Jika ada pemberian nilai pada anggota-anggota variabel dengan tipe enumerasi, maka
urutan nilai berikutnya akan dilanjutkan sesuai dengan nilai anggota sebelumnya.
Contoh pemberian nilai pada anggota enumerasi adalah seperti contoh di bawah ini.
#include <stdio.h>
enum pilihan {SATU=1, DUA, TIGA, EMPAT, LIMA, ENAM, TUJUH, DELAPAN};
int main(){
printf("SATU = %d ?\n", SATU);
printf("DUA = %d ?\n", DUA);
printf("TIGA = %d ?\n", TIGA);
printf("EMPAT = %d ?\n", EMPAT);
printf("LIMA = %d ?\n", LIMA);
printf("ENAM = %d ?\n", ENAM);
printf("TUJUH = %d ?\n", TUJUH);
printf("DELAPAN = %d ?\n", DELAPAN);
SATU=1
DUA=2
TIGA=3
EMPAT=4
LIMA=5
ENAM=6
TUJUH=7
DELAPAN=8
Berikut ini adalah contoh kode program lain yang menggunakan tipe enumerasi.
#include <stdio.h>
#include <string.h>
int main(){
struct pegawai{
char nama[100];
int nik;
int gaji;
int usia;
Jenis_kelamin jk;
pilihan kode;
};
pegawai peg;
//mendeklarasikan variabel peg1 bertipe pegawai
strcpy(peg.nama, "Geri");
peg.gaji = 5000000;
LABORATORIUM ALGORITMA DAN PEMROGRAMAN
IT-PLN JAKARTA
Raysal Fahri
2019-11-067
peg.nik = 1107130630;
peg.usia = 26;
peg.jk = Pria;
peg.kode = EMPAT;
Dari contoh di atas, kita bisa melihat bahwa nilai-nilai suatu set konstanta dalam
enumerasi tidak mesti berurutan. Anggota tipe enumerasi bisa bernilai berapapun,
dan bilangan selanjutnya akan dimulai dari nilai baru yang diinisialisasikan. Tipe
enumerasi yang nilai anggotanya tidak berurutan kurang tepat untuk digunakan di
dalam perulangan. Jika kalian menggunakan enumerasi dalam perulangan, maka nilai
yang ditampilkan bukan nilai konstanta dalam enumerasi. Untuk memastikannya,
kalian bisa mencoba untuk menggunakan tipe enumerasi yang punya beberapa nilai
acak di dalam perulangan.
Salah satu sifat tipe data enumerated di pascal, kita tidak bisa membuat nilai angka
sebagai bagian dari tipe data enumerated. Contoh berikut akan menghasilkan error:
1 program tipe_enumerated;
uses crt;
2
type
3 angka= (1,2,3,4,5);
4 var
1
readln;
2
end.
1
3
1
4
Error diatas terjadi karena saya memberikan nilai angka (integer): 1,2,3,4,5 untuk tipe
data enum ‘angka’. Jika kita ingin membuat batasan seperti ini bisa menggunakan tipe
data subrange (akan dijelaskan dalam tutorial setelah ini).
STRUKTUR DASAR
Keterangan :
FILE *pf=fopen(namafile,mode); merupakan langkah awal untuk
mengoperasikan FILE kita harus membuka dengan fopen terlebih dahulu. Namafile
dapat kita tentukan sendiri dan juga untuk mode tergantung kebutuhan kita.
Setelah dibuka, FILE wajib ditutup dengan mengunakan perintah
fclose(namavariable). Diatas karena diawal menggunakan variable pointer pf maka
perintahnya fclose(pf).
Mod Arti
e
WRITE FILE
//www.algorithm-sttpln.my.id
#define CTRL_Z 26
main()
{
FILE *pf;
char var;
if((pf=fopen(“namafile.txt”,”w”))==NULL)
{
puts(“FILE tidak ada”);
}
while((var=getche())!=CTRL_Z)
putc(var,pf);
LABORATORIUM ALGORITMA DAN PEMROGRAMAN
IT-PLN JAKARTA
Raysal Fahri
2019-11-067
fclose(pf);
}
Write file berarti kita melakukan penulisan terhadap file yang ingin kita buat. Untuk dapat
menuliskan data pada file yang ingin kita buat dilakukan dengan cara mengganti mode yang kita
gunakan. Jika saat membaca file kita menggunakan “r”, maka dipenulisan kita menggunakan
mode “w”.
DAFTAR PUSAKA :
https://www.duniailkom.com/tutorial-belajar-pascal-pengertian-dan-cara-penggunaan-
tipe-data-enumeration-pascal/
https://www.algorithm-sttpln.my.id/2019/01/operasi-file.html
https://www.codelogi.com/2019/06/tipe-data-enumerasi.html
TEORI TAMBAHAN
LABORATORIUM ALGORITMA DAN PEMROGRAMAN
IT-PLN JAKARTA
Raysal Fahri
2019-11-067
MODUL 7 : MANIPULASI BIT
Untuk menentukan apakah suatu bilangan adalah kekuatan dua, secara konseptual kita dapat
berulang kali melakukan bilangan bulat bilangan menjadi dua hingga bilangan tersebut tidak akan
terbagi 2 secara merata; jika satu-satunya faktor yang tersisa adalah 1, angka asli adalah kekuatan
2. Menggunakan bit dan operator logis, ada ekspresi sederhana yang akan mengembalikan true
(1) atau false (0):
Metode kedua menggunakan fakta bahwa kekuatan dua memiliki satu dan hanya satu bit yang
diatur dalam representasi biner mereka:
x == 0 ... 0 1 0 ... 0
x-1 == 0 ... 001 ... 1
x & (x-1) == 0 ... 000 ... 0
Jika angka bukan nol atau pangkat dua, maka akan memiliki '1' di lebih dari satu tempat:
Jika kode bahasa rakitan inline digunakan, maka instruksi yang menghitung jumlah 1 atau 0
dalam operan mungkin tersedia; operan dengan tepat satu bit '1' adalah kekuatan 2. Namun,
instruksi seperti itu mungkin memiliki latensi yang lebih besar daripada metode bitwise di atas.
Seluruh operator manipulasi bit hanya bisa dikenakan pada operand bertipe integer atau
karakter. dalam operator ini terdapat prioritas dalam pengerjaannya juga lihat table di
bawah
Note: Operasi manipulasi bit mempunyai prioritas lebih rendah dari pada operasi
aritmatika.
bit terkanan dalam penyajian bilangan biner disebut sebagai bit 0.
Operator geser kiri (<<) dan geser kanan (>>) dalam contoh program
mungkin ada yang bertanya kenapa digeser ke kiri dari 93 koq jadi 186 brikut
penjelasannya:
0000000001011101 = 93
/ / / / / / / / / / / / / / / <---- digeser 1 bit kekiri
0000000010111010 = 186
^ di bagian kanan selalu disisipi 0 (sebanyak bit yang digeser).
Jenis Jenis Operator Dalam Manipulasi Bit
Java mendukung 7 buah operator yang beroperasi pada level bit (0 dan 1), yaitu:
Table diatas artinya Apabila kedua sisi bernilai 1 pada posisi yang sama, maka akan
mengembalikan nilai 1 sebagai hasil, sisanya 0.
Contoh:
7 = 0111
5 = 0011
-------------------&(dan)
5 = 0011
Table diatas artinya apabila bit hasil berupa 0 hanya jika kedua bit yang dikenal operator |
bernilai 0, sisanya 1.
Contoh:
1001 = 9
1010 = 10
---------------------|(atau)
1011 = 11
Table diatas artinya apabila hasil bit adalah 1 maka salah satu bit yang dikenal operator ^
bernilai 1.
Contoh :
10 = 1010
9 = 1001
------------------ ^ (atau eksklusif)
3 = 0011
3. Operator ~ (negasi)
Operator ini memberikan hasil dengan masing- masing bit berupa kebalikan dari bit
operand.
Contoh:
1101 = 13
~0010 = ~13 = 2
4. Operator << (geser kiri)
Operator << atau geser kiri berfungsi untuk menggeser bit – bit ke kiri. Jumlah
pergeseran ditentukan oleh operand yang terletak di kanan operator ini.
Contoh:
Operator Bitwise
Operasi bitwise adalah operasi matematika yang berproses pada level bit/digit dari
sebuah bilangan bulat (integer). Penggunaan operasi bitwise sendiri lebih banyak pada
konteks operasi logika. Bit/digit dari sebuah bilangan juga dikenal sebagai bilangan biner
(binary) atau bilangan basis 2. Bilangan biner sendiri hanya terdiri dari 2 angka saja yaitu
1 dan 0.
Sebuah bilangan bulat jika direpresentasikan dalam bilangan biner maka akan terbentuk sebuah
urutan dari angka 1 dan 0. Misalnya angka 8, bilangan binernya adalah 1000; angka 9 = 1001; 25
= 11001
DAFTAR PUSAKA :
https://en.wikipedia.org/wiki/Bit_manipulation
http://informatikakita.blogspot.com/2010/04/operator-manipulasi-bit.html