Pertemuan 4 PROGRAMMING LANGUAGE
PROLOG: THE COMPUTER SYSTEM HARDWARE SOFTWARE BRAINWARE PROGRAMMING O/ S GAMES APPLICATIONS
PROGRAMMING FRAMEWORK FILE APLIKASI COMPILING RUNNING SOURCE CODE MEMORI/ RAM OPERATING CODING USER PROGRAMMER
LATIHAN SOAL Buatlah algoritma + flowchart untuk memasak mi instan! Buatlah algoritma + flowchart untuk naik angkot/ bus kota! Buatlah algoritma + flowchart untuk memasak telur!
AKAR PERS. KUADRAT Mulai Masukkan nilai variabel A, B, C Hitung D = B2 – 4*A*C Jika D = 0 maka X1 = X2 = – B/(2*A) Tapi jika D < 0 maka X1, X2 Imaginer selain itu maka X1,2 = (– B ± √D)/(2*A) Tampilkan X1, X2 Selesai
FLOWCHART AKAR PERSAMAAN 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) Y T D < 0 ? X1, X2 Imaginer DIKET: Y = AX2 + BX + C FLOWCHART AKAR PERSAMAAN KUADRAT
Bilangan Faktorial Mulai Masukkan N (N adalah bilangan yang akan dihitung nilai faktorialnya) Set variabel Faktorial 1 Set variabel Angka 1 Hitung Faktorial Faktorial * Angka Angka Angka + 1 Apakah Angka > N ? Jika TIDAK kembali ke langkah (4). Jika YA tampilkan nilai Faktorial. Selesai
Faktorial = Faktorial * Angka FLOWCHART FAKTORIAL EX. 4! = 4 x 3 x 2 x 1 = 24 Start Input N Faktorial = Faktorial * Angka A Angka > N ? Cetak Faktorial End Faktorial 1 Angka 1 Angka = Angka + 1 T Y
PROGRAMMING STEPS ANALISA MASALAHNYA KETIK SOURCE CODE-NYA INPUT-NYA APA SAJA? ALGORITMA PROSESNYA BAGAIMANA? OUTPUT-NYA APA? KETIK SOURCE CODE-NYA HEADER FILES #include < library > GLOBAL SECTIONS VARIABEL GLOBAL, FUNGSI BANTU MAIN SECTIONS VARIABEL LOKAL, INPUT, PROSES, OUTPUT JALANKAN PROGRAMNYA ADA ERROR ? TES HASILNYA SUDAH BENAR ? BUAT ARSIP/ DOKUMENTASINYA
VARIABEL & TIPE DATA Variabel = penyimpan nilai/ data. Setiap masalah harus dianalisa terlebih dahulu variabel apa saja yang terlibat/ dibutuhkan. Setiap variabel ditentukan tipe datanya yang sesuai. Variabel Utama menyimpan data input/ output Bantu dipakai selama proses Tipe data Angka int, float, double, long, single Karakter char Turunan array, struct, union, pointer
INPUT & OUTPUT FORMAT Angka %i, %d, %f Huruf/ karakter %c String/ array of char %s Alamat memori %p INPUT scanf(format, variabel) scanf ( “%d”, &angka ); getch(), getche(), getchar() gets(variabel) gets ( nama ); OUTPUT printf(kalimat, variabel) printf ( “IPK = %f“, ipk ); putch(), putchar() puts(variabel) puts ( alamat );
CONTROL STRUCTURES SEQUENTIAL/ URUTAN BRANCHING/ PERCABANGAN Program dijalankan mulai dari perintah paling atas/ awal sampai paling akhir secara berurutan/ sekuensial. BRANCHING/ PERCABANGAN Penyeleksian kondisi (TRUE/ FALSE) untuk menentukan proses selanjutnya LOOPING/ PERULANGAN Mengulangi proses selama syarat/ kondisi tertentu terpenuhi
SEQUENTIAL/ URUTAN Action 1 Action 2 Action 3 Entry Exit
BRANCHING/ PERCABANGAN Entry Condition 1 Action 1 Condition 2 Action 3 Action 2 Exit TRUE FALSE
LOOPING/ PERULANGAN Action 1 Action 2 Action 3 Entry Exit if 1 if 2
IF - ELSE Biasa digunakan untuk seleksi nilai/ data Kondisi jamak ((kondisi_1) &&/ || (kondisi_2)) if (kondisi=TRUE) jalankan_statement_ini if (kondisi=TRUE) statement_1 else statement_2 // if kondisi=FALSE else if (kondisi=TRUE) statement_2 else statement_3 // if kondisi=FALSE if (kondisi=TRUE) if (kondisi=TRUE) nested_statement
SWITCH - CASE Biasa digunakan untuk membuat menu dalam program switch (variabel_pilihan) { case nilai_1 : statemen_1; break; case nilai_2 : statemen_2; break; case nilai_3 : statemen_3; break; … default: statemen_default; } Bisa berbentuk nested/ bersarang
LOOP FOR Syntax source code lebih ringkas Biasa dipakai untuk perulangan yang sudah jelas jumlah perulangannya for(nilai_awal; syarat_ulang; inc/dec) { statemen_yang_akan_diulang2; }
LOOP WHILE & DO-WHILE Biasa dipakai untuk perulangan dengan kondisi bersyarat/ logika while (kondisi=TRUE) { jalankan_statemen_ini; } do
NESTED LOOP Perulangan bersarang (terjadi di dalam perulangan) Yang biasa dipakai adalah loop FOR karena lebih mudah & ringkas Contoh kasus yang sering dipakai adalah pengolahan tampilan, angka dan matrik for(int i=1; i<=5; i++) { for(int j=1; j<=i; j++) printf(“%d “, j); // milik loop for dalam printf(“\n”); // milik loop for luar }
FUNGSI Adalah subrutin/ subprogram/ potongan program Mempunyai tugas tertentu Mempunyai bagian RETURN VALUE dan PARAMETER/ ARGUMEN Ada istilah deklarasi & prototype fungsi tipe_return_value nama_fungsi (parameter) { statemen2; // badan fungsi return (return_value/ variabel); }
ARRAY 1 DIMENSI ARRAY adalah TIPE DATA TURUNAN 1 variabel bisa untuk menyimpan banyak data yang bertipe sama Memiliki indeks untuk tiap elemen Umumnya menggunakan LOOPING untuk INPUT, PROSES & OUTPUT data-datanya
ARRAY MULTIDIMENSI (2) Mempunyai elemen BARIS & KOLOM Dapat dipakai untuk representasi sebuah MATRIK Struktur data untuk rekapitulasi informasi berdasar baris dan kolom TABEL, misal: penjualan barang Memakai NESTED LOOPING dalam operasinya
STRUCT STRUCT adalah TIPE DATA TURUNAN 1 variabel bisa untuk menyimpan beberapa data yang bisa berbeda tipenya Menggunakan operator titik (.) untuk mengakses tiap elemen datanya. Seringkali dikombinasikan dengan ARRAY ARRAY of STRUCT
POINTER Adalah TIPE DATA TURUNAN Variabel bertipe pointer digunakan untuk menyimpan ALAMAT sebuah data, BUKAN NILAI datanya. Operator yang sering dipakai: & mendapatkan alamat memori * mengakses nilai dari sebuah pointer