PROGRAMMING LANGUAGE
description
Transcript of PROGRAMMING LANGUAGE
PROGRAMMING PROGRAMMING LANGUAGELANGUAGE
Pertemuan 4Pertemuan 4
PROLOG: PROLOG: THE COMPUTER SYSTEMTHE COMPUTER SYSTEM
HARDWARE
SOFTWARE
BRAINWARE
PROGRAMMING
O/ S
GAMES
APPLICATIONS
PROGRAMMING PROGRAMMING FRAMEWORKFRAMEWORK
SOURCE CODE
FILE APLIKASI
MEMORI/ RAM
CODING
COMPILING RUNNING
OPERATING
PROGRAMMER
USER
LATIHAN SOALLATIHAN SOAL
1.1. Buatlah algoritma + flowchart untuk Buatlah algoritma + flowchart untuk memasak mi instan!memasak mi instan!
2.2. Buatlah algoritma + flowchart untuk naik Buatlah algoritma + flowchart untuk naik angkot/ bus kota!angkot/ bus kota!
3.3. Buatlah algoritma + flowchart untuk Buatlah algoritma + flowchart untuk memasak telur!memasak telur!
AKAR PERS. KUADRATAKAR PERS. KUADRAT
1.1. MulaiMulai
2.2. Masukkan nilai variabel A, B, CMasukkan nilai variabel A, B, C
3.3. Hitung D =Hitung D = BB22 – 4*A*C – 4*A*C
4.4. Jika D = 0 maka XJika D = 0 maka X11 = X = X22 = – B/(2*A) = – B/(2*A)
Tapi jika D < 0 maka XTapi jika D < 0 maka X11, X, X22 Imaginer Imaginer
selain itu maka Xselain itu maka X1,21,2 = (– B ± √D)/(2*A) = (– B ± √D)/(2*A)
5.5. TampilkanTampilkan XX11, X, X22
6.6. SelesaiSelesai
FLOWCHART AKAR FLOWCHART AKAR PERSAMAAN KUADRATPERSAMAAN KUADRAT
Start
Input Nilai A, B, C
D = 0 ?
Cetak X1, X2 End
X = (– B ± √D)/(2*A)
D = B2 – 4*A*C
X1 = X2 = – B/(2*A)
YT
D < 0 ?
X1, X2 Imaginer
YT
DIKET: Y = AXDIKET: Y = AX22 + BX + C + BX + C
Bilangan FaktorialBilangan Faktorial
1.1. MulaiMulai2.2. Masukkan N (N adalah bilangan yang akan Masukkan N (N adalah bilangan yang akan
dihitung nilai faktorialnya)dihitung nilai faktorialnya)3.3. Set variabel Faktorial Set variabel Faktorial 1 14.4. Set variabel Angka Set variabel Angka 1 15.5. Hitung Faktorial Hitung Faktorial Faktorial * Angka Faktorial * Angka6.6. Angka Angka Angka + 1 Angka + 17.7. Apakah Angka > N ? Jika TIDAK kembali ke Apakah Angka > N ? Jika TIDAK kembali ke
langkah (4). Jika YA tampilkan nilai Faktorial.langkah (4). Jika YA tampilkan nilai Faktorial.8.8. SelesaiSelesai
FLOWCHART FAKTORIALFLOWCHART FAKTORIAL
Y
T
Start
Input N
Faktorial = Faktorial * Angka
A
A
Angka > N ?
Cetak Faktorial End
Faktorial 1Angka 1
Angka = Angka + 1
EX. 4! = 4 x 3 x 2 x 1 = 24EX. 4! = 4 x 3 x 2 x 1 = 24
PROGRAMMING STEPSPROGRAMMING STEPS
ANALISA MASALAHNYAANALISA MASALAHNYA INPUT-NYA APA SAJA?INPUT-NYA APA SAJA? ALGORITMA PROSESNYA BAGAIMANA?ALGORITMA PROSESNYA BAGAIMANA? OUTPUT-NYA APA?OUTPUT-NYA APA?
KETIK SOURCE CODE-NYAKETIK SOURCE CODE-NYA HEADER FILES HEADER FILES #include < library > #include < library > GLOBAL SECTIONS GLOBAL SECTIONS VARIABEL GLOBAL, FUNGSI BANTU VARIABEL GLOBAL, FUNGSI BANTU MAIN SECTIONS MAIN SECTIONS VARIABEL LOKAL, INPUT, PROSES, VARIABEL LOKAL, INPUT, PROSES,
OUTPUTOUTPUT
JALANKAN PROGRAMNYA JALANKAN PROGRAMNYA ADA ERROR ? ADA ERROR ? TES HASILNYA TES HASILNYA SUDAH BENAR ? SUDAH BENAR ? BUAT ARSIP/ DOKUMENTASINYABUAT ARSIP/ DOKUMENTASINYA
VARIABEL & TIPE DATAVARIABEL & TIPE DATA Variabel = penyimpan nilai/ data.Variabel = penyimpan nilai/ data. Setiap masalah harus dianalisa terlebih dahulu Setiap masalah harus dianalisa terlebih dahulu variabelvariabel
apa saja yang terlibat/ dibutuhkan.apa saja yang terlibat/ dibutuhkan. Setiap variabel ditentukan Setiap variabel ditentukan tipe datanyatipe datanya yang sesuai. yang sesuai. VariabelVariabel
Utama Utama menyimpan data input/ output menyimpan data input/ output Bantu Bantu dipakai selama proses dipakai selama proses
Tipe dataTipe data Angka Angka int, float, double, long, single int, float, double, long, single Karakter Karakter char char Turunan Turunan array, struct, union, pointer array, struct, union, pointer
INPUT & OUTPUTINPUT & OUTPUT FORMATFORMAT
Angka Angka %i, %d, %f %i, %d, %f Huruf/ karakter Huruf/ karakter %c %c String/ array of char String/ array of char %s %s Alamat memori Alamat memori %p %p
INPUTINPUT scanf(format, variabel) scanf(format, variabel) scanf ( “%d”, &angka );scanf ( “%d”, &angka ); getch(), getche(), getchar() getch(), getche(), getchar() gets(variabel) gets(variabel) gets ( nama );gets ( nama );
OUTPUTOUTPUT printf(kalimat, variabel) printf(kalimat, variabel) printf ( “IPK = %f“, ipk );printf ( “IPK = %f“, ipk ); putch(), putchar()putch(), putchar() puts(variabel) puts(variabel) puts ( alamat );puts ( alamat );
CONTROL STRUCTURESCONTROL STRUCTURES
SEQUENTIAL/ URUTANSEQUENTIAL/ URUTANProgram dijalankan mulai dari perintah paling Program dijalankan mulai dari perintah paling atas/ awal sampai paling akhir secara atas/ awal sampai paling akhir secara berurutan/ sekuensial.berurutan/ sekuensial.
BRANCHING/ PERCABANGANBRANCHING/ PERCABANGANPenyeleksian kondisi (TRUE/ FALSE) untuk Penyeleksian kondisi (TRUE/ FALSE) untuk menentukan proses selanjutnyamenentukan proses selanjutnya
LOOPING/ PERULANGANLOOPING/ PERULANGANMengulangi proses selama syarat/ kondisi Mengulangi proses selama syarat/ kondisi tertentu terpenuhitertentu terpenuhi
SEQUENTIAL/ URUTANSEQUENTIAL/ URUTAN
Action 1
Action 2
Action 3
Entry
Exit
BRANCHING/ PERCABANGANBRANCHING/ PERCABANGAN
Entry
Condition 1
Action 1Condition 2
Action 3Action 2
Exit
TRUE FALSE
TRUE FALSE
LOOPING/ PERULANGANLOOPING/ PERULANGAN
Action 1
Action 2
Action 3
Entry
Exit
if 1 if 2
Looping 1
Looping 2
Y
Y
T
T
IF - ELSEIF - ELSE
Biasa digunakan untuk seleksi nilai/ dataBiasa digunakan untuk seleksi nilai/ data Kondisi jamak Kondisi jamak ((kondisi_1) ((kondisi_1) &&&&/ / |||| (kondisi_2)) (kondisi_2)) ifif (kondisi=TRUE) jalankan_statement_ini (kondisi=TRUE) jalankan_statement_ini ifif (kondisi=TRUE) statement_1 (kondisi=TRUE) statement_1
elseelse statement_2 statement_2 // if kondisi=FALSE// if kondisi=FALSE ifif (kondisi=TRUE) statement_1 (kondisi=TRUE) statement_1
else ifelse if (kondisi=TRUE) statement_2 (kondisi=TRUE) statement_2elseelse statement_3 statement_3 // if kondisi=FALSE// if kondisi=FALSE
ifif (kondisi=TRUE) (kondisi=TRUE)ifif (kondisi=TRUE) nested_statement (kondisi=TRUE) nested_statement
SWITCH - CASESWITCH - CASE
Biasa digunakan untuk membuat menu dalam programBiasa digunakan untuk membuat menu dalam program
switchswitch (variabel_pilihan) { (variabel_pilihan) {casecase nilai_1 : statemen_1; nilai_1 : statemen_1; breakbreak;;casecase nilai_2 : statemen_2; nilai_2 : statemen_2; breakbreak;;casecase nilai_3 : statemen_3; nilai_3 : statemen_3; breakbreak;;……defaultdefault: statemen_default;: statemen_default;
}}
Bisa berbentuk nested/ bersarangBisa berbentuk nested/ bersarang
LOOP FORLOOP FOR
Syntax source code lebih ringkasSyntax source code lebih ringkas Biasa dipakai untuk perulangan yang Biasa dipakai untuk perulangan yang
sudah jelas jumlah perulangannyasudah jelas jumlah perulangannya
forfor(nilai_awal; syarat_ulang; inc/dec)(nilai_awal; syarat_ulang; inc/dec){{
statemen_yang_akan_diulang2;statemen_yang_akan_diulang2;}}
LOOP WHILE & DO-WHILELOOP WHILE & DO-WHILE
Biasa dipakai untuk perulangan dengan kondisi Biasa dipakai untuk perulangan dengan kondisi bersyarat/ logikabersyarat/ logika
whilewhile (kondisi=TRUE) (kondisi=TRUE){{
jalankan_statemen_ini;jalankan_statemen_ini;}}
dodo{{
jalankan_statemen_ini;jalankan_statemen_ini;}}whilewhile (kondisi=TRUE) (kondisi=TRUE)
NESTED LOOPNESTED LOOP
Perulangan bersarangPerulangan bersarang (terjadi di dalam perulangan) (terjadi di dalam perulangan) Yang biasa dipakai adalah loop FOR karena lebih Yang biasa dipakai adalah loop FOR karena lebih
mudah & ringkasmudah & ringkas Contoh kasus yang sering dipakai adalah pengolahan Contoh kasus yang sering dipakai adalah pengolahan
tampilan, angka dan matriktampilan, angka dan matrik
forfor(int i=1; i<=5; i++)(int i=1; i<=5; i++){{
forfor(int j=1; j<=i; j++)(int j=1; j<=i; j++)printfprintf(“%d “, j);(“%d “, j); // milik // milik loop forloop for dalam dalam
printfprintf(“\n”);(“\n”); // milik // milik loop forloop for luar luar}}
FUNGSIFUNGSI
Adalah subrutin/ subprogram/ potongan programAdalah subrutin/ subprogram/ potongan program Mempunyai tugas tertentuMempunyai tugas tertentu Mempunyai bagian RETURN VALUE dan Mempunyai bagian RETURN VALUE dan
PARAMETER/ ARGUMENPARAMETER/ ARGUMEN Ada istilah deklarasi & prototype fungsiAda istilah deklarasi & prototype fungsi
tipe_return_valuetipe_return_value nama_fungsinama_fungsi ( (parameterparameter)){{
statemen2;statemen2; // badan fungsi// badan fungsireturnreturn (return_value/ variabel); (return_value/ variabel);
}}
ARRAY 1 DIMENSIARRAY 1 DIMENSI
ARRAY adalah TIPE DATA TURUNANARRAY adalah TIPE DATA TURUNAN 1 variabel1 variabel bisa untuk menyimpan bisa untuk menyimpan banyakbanyak
data yang data yang bertipe samabertipe sama Memiliki Memiliki indeksindeks untuk tiap elemen untuk tiap elemen Umumnya menggunakan Umumnya menggunakan LOOPINGLOOPING
untuk INPUT, PROSES & OUTPUT data-untuk INPUT, PROSES & OUTPUT data-datanyadatanya
ARRAY MULTIDIMENSI (2)ARRAY MULTIDIMENSI (2)
Mempunyai elemen Mempunyai elemen BARIS & KOLOMBARIS & KOLOM Dapat dipakai untuk representasi sebuah Dapat dipakai untuk representasi sebuah
MATRIKMATRIK Struktur data untuk rekapitulasi informasi Struktur data untuk rekapitulasi informasi
berdasar baris dan kolom berdasar baris dan kolom TABEL, TABEL, misal: penjualan barangmisal: penjualan barang
Memakai Memakai NESTED LOOPINGNESTED LOOPING dalam dalam operasinyaoperasinya
STRUCTSTRUCT
STRUCT adalah TIPE DATA TURUNANSTRUCT adalah TIPE DATA TURUNAN 1 variabel1 variabel bisa untuk menyimpan bisa untuk menyimpan
beberapabeberapa data yang bisa data yang bisa berbeda berbeda tipenyatipenya
Menggunakan Menggunakan operator titikoperator titik (.) untuk (.) untuk mengakses tiap elemen datanya.mengakses tiap elemen datanya.
Seringkali dikombinasikan dengan Seringkali dikombinasikan dengan ARRAY ARRAY ARRAY of STRUCTARRAY of STRUCT
POINTERPOINTER
Adalah TIPE DATA TURUNANAdalah TIPE DATA TURUNAN Variabel bertipe pointer digunakan untuk Variabel bertipe pointer digunakan untuk
menyimpan menyimpan ALAMATALAMAT sebuah data, sebuah data, BUKAN NILAIBUKAN NILAI datanya. datanya.
Operator yang sering dipakai:Operator yang sering dipakai: && mendapatkan mendapatkan alamatalamat memori memori
** mengakses mengakses nilainilai dari sebuah pointer dari sebuah pointer