Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

PERTEMUAN 2 Algoritma & Pemrograman

Presentasi serupa


Presentasi berjudul: "PERTEMUAN 2 Algoritma & Pemrograman"— Transcript presentasi:

1 PERTEMUAN 2 Algoritma & Pemrograman
Presented by : Sity Aisyah, M.Kom Blog : yeshasalsabila.blogspot.com 1

2 STRUKTUR DASAR ALGORITMA
Pada dasarnya terdapat tiga buah struktur dasar yang digunakan dalam menyusun suatu algoritma. Ketiga struktur dasar tersebut adalah : Sekuensial (runtunan) Seleksi Pengulangan Struktur Sekuensial Pada struktur sekuensial, langkah-langkah yang dilakukan dalam algoritma diproses secara berurutan sebagaimana diperlihatkan pada gambar di bawah. Langkah 1 Langkah 1 Langkah 2 Langkah 3 Langkah 2 Langkah 3 2

3 Contoh : Buatlah algoritma untuk menukarkan isi dua buah variabel. a b 50 60 Keadaan awal 60 50 Keadaan setelah penukaran Solusi : Untuk menukarkan isi dua buah variabel diperlukan sebuah variabel yg digunakan untuk membantu penukaran data. Algoritma yang diperlukan : Masukkan (a, b) c ← a a ← b b ← c Tampilkan (a,b) 3

4 Struktur Seleksi Struktur seleksi menyatakan pemilihan langkah yang didasarkan oleh suatu kondisi (pengambilan keputusan). JIKA kondisi benar MAKA Langkah 1 SEBALIKNYA Langkah 2 AKHIR-JIKA benar Kondisi salah Langkah 1 Langkah 2 4

5 Pembayaran ← pembelian - diskon
Contoh : Suatu swalayan memberikan diskon sebesar 10% bagi siapa saja yang berbelanja sebesar atau lebih. Buatlah algoritma untuk menghitung nilai uang yang harus dibayar oleh pembeli. Solusi : Pemecahan masalah ini dalam bentuk diagram alir & pseudokode dapat dilihat pada gambar berikut. PSEUDOKODE : Masukkan (pembelian) JIKA pembelian >= MAKA diskon ← 0,1 x pembelian SEBALIKNYA diskon ← 0 AKHIR-JIKA pembayaran ← pembelian – diskon Tampilkan (pembayaran) Masukkan pembelian pembelian >= benar salah diskon ← pembelian / 10 diskon ← 0 Pembayaran ← pembelian - diskon Tampilkan pembayaran 5

6 Struktur Pengulangan Pengulangan menyatakan suatu tindakan atau langkah yang dijalankan beberapa kali. (titik masuk) ULANG SELAMA kondisi benar Prosedur AKHIR-ULANG salah Kondisi benar Prosedur (titik keluar) 6

7 Tampilkan “Algoritma”
Contoh : Buatlah algoritma untuk menampilkan 5 buah tulisan “Algoritma” dengan menggunakan pengulangan. Solusi : Pemecahan masalah ini dalam bentuk diagram alir & pseudokode dapat dilihat pada gambar berikut. PSEUDOKODE : Pencacah ← 1 ULANG SELAMA pencacah < 6 tampilkan(“Algoritma”) pencacah ← pencacah + 1 AKHIR-ULANG pencacah ← 1 pencacah < 6 salah benar Tampilkan “Algoritma” pencacah ← pencacah + 1 Selesai 7

8 PENGENALAN BAHASA C Bahasa C merupakan perkembangan dari bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun selanjutnya bahasa ini memberikan ide kepada Ken Thomson yang kemudian mengembangkan bahasa yang disebut bahasa B pada tahun perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories Inc (sekarang adalah AT&T Bell Laboratories). Bahasa C pertama kali dipergunakan di Computer Digital Equipment Corporation PDP-11 yang menggunakan sistem operasi UNIX. Hingga saat ini bahasa C masih populer dan penggunaanya tersebar di berbagai platform; dari Windows sampai Linux dan dari PC hingga mainframe. C++ adalah bahasa yang relatif baru dibandingkan dengan C. bahasa C++ diciptakan oleh Bjarne Stroustroup sekitar tahun Bahasa C++ merupakan pengembangan dari bahasa C dan mendukung pemrograman berorientasi objek. Dengan menggunakan C++, Anda tetap dapat menulis program C. 8

9 #include <stdio.h> int main() { printf(“Selamat Belajar C\n”);
Contoh Program C : Menyertakan berkas header stdio.h Tipe kode keluar program #include <stdio.h> int main() { printf(“Selamat Belajar C\n”); return 0; } Awal tubuh fungsi main() Pernyataan untuk menampilkan string Akhir tubuh fungsi main() Pernyataan untuk memberi kode keluar program Output : Selamat Belajar C 9

10 Penjelasan : Berkas header (berekstensi .h) adalah berkas yang berisi prototipe fungsi, definisi konstanta, dan definisi variabel. prototipe fungsi berupa judul suatu fungsi yang dilengkapi dengan argumen dan tipe argumen serta tipe nilai balik untuk fungsi yang memberikan nilai balik. Praprosesor #include adalah suatu perintah yang digunakan untuk mengatur kompiler agar membaca berkas header yang disertakan di belakang kata include saat pelaksanaan kompilasi. Main() adalah fungsi yang akan dijalankan pertama kali ketika program dieksekusi. Kata int di depan main() menyatakan bahwa program memberikan nilai balik yang bertipe int. tipe Int adalah tipe yang menyatakan bilangan bulat. Nilai balik program ditentukan oleh pernyataan return. Return 0 menyatakan bahwa nilai balik program adalah nol. Nilai balik nol biasa digunakan untuk menyatakan bahwa program berhasil melaksanakan tugas yang dibebankannya. Pernyataan dalam C adalah suatu perintah yang dapat berdiri sendiri dalam melaksanakan aksi dan dijalankan ketika program dieksekusi. Setiap pernyataan ditulis dengan diakhiri tanda titik-koma (;). 10

11 KELEBIHAN & KEKURANGAN BAHASA C
Bahasa C tersedia hampir disemua jenis komputer. Kode bahasa C sifatnya adalah portable & fleksibel u/ semua jenis komputer. Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata kunci. Proses executable program bahasa C lebih cepat. Dukungan pustaka yang banyak. C adalah bahasa yang terstruktur. Bahasa C termasuk bahasa tingkat menengah. Banyak operator serta fleksibelitas penulisan program kadang-kadang membingungka n pemakai. Bagi pemula pada umumnya akan kesulitan menggunakan pointer. 11

12 TIPE DATA, VARIABEL, NILAI & EKSPRESI
Ada dua kategori dari tipe data, yaitu : tipe dasar dan tipe bentukan. TIPE DASAR Bilangan Bulat (integer) Bilangan atau angka yang tidak memiliki titik desimal atau pecahan, seperti 10, +255, Tipe dituliskan sbg integer atau int. Jangkauan nilai : bergantung pada implementasi hardware komputer, misalnya dari s/d , untuk algoritma tidak dibatasi. Operasi aritmetik : tambah +, kurang -, kali *, bagi /, sisa hasil bagi %. Operasi pembandingan : <, <=, >, >=, =, tidak sama (><, <> atau !=). 12

13 Tipe dituliskan sbg real atau float.
Bilangan Biasa (real) Bilangan atau angka yang bisa memiliki titik desimal atau pecahan, seperti , , Tipe dituliskan sbg real atau float. Jangkauan nilai : bergantung pada implementasi hardware komputer, misalnya dari -2.9E-39 s/d +1.7E+38, untuk algoritma tidak dibatasi. Operasi aritmetik dan pembandingan juga berlaku nagi bilangan biasa. Bilangan Tetap (const) Adalah tipe bilangan, baik bernilai bulat maupun tidak, yang nilanya tidak berubah selama algoritma dilaksanakan. Tipe dituliskan sbg const. Jangkauan nilai meliputi semua bilangan yang mungkin. 13

14 Beberapa aturan penting dalam menuliskan berbagai literal/konstanta :
Tipe Keterangan int Tanda pemisah ribuan tidak boleh digunakan. long int Tanda pemisah ribuan tidak boleh digunakan, tanda L atau l (huruf l kecil) perlu disertakan dibagian akhir literal untuk menyatakan tipe long int secara eksplisit. Contoh : L float Harus ditulis dengan akhiran F atau f. tanda pecahan berupa titik, notasi sains seperti 2.2e+04 diperkenankan (artinya 2,2 x 104), huruf e dapat ditulis E. double Seperti pada float tetapi tidak perlu akhiran F atau f, char Ditulis dg awalan dan akhiran petik tunggal (‘) 14

15 Tipe dituliskan sbg char.
Karakter (character) Karakter adalah data tunggal yang mewakili semua huruf, simbol baca, dan juga simbol angka yang tidak dapat dioperasikan secara matematis, misalnya ‘A’, ‘B’,…dst. Tipe dituliskan sbg char. Jangkauan nilai meliputi semua karakter dalam kode ASCII, atau yang tertera pada setiap tombol keyboard. Operasi pembandingan dapat dilakukan dan dievaluasi menurut urutan kode ASCII sehingga huruf ‘A’ (Hex 41) sebenarnya lebih kecil dari huruf ‘a’ (Hex 61). Logik (Logical) Adalah tipe data yang digunakan untuk memberi nilai pada hasil pembandingan, atau kombinasi pembandingan. Tipe dituliskan sbg boolean. Jangkauan nilai ada dua yaitu true atau false. Contoh : 45 > 50, hasilnya false, Amir < Hasan hasilnya true. Ada beberapa operasi untuk data jenis logik, antara lain and, or, dan not. 15

16 A B A and B A or B Not A False True 16

17 C dan C++ menyediakan berbagai tipe data dasar, yaitu :
Keterangan char Menyatakan sebuah karakter (berupa huruf A dan a, digit 0 atau 8, atau simbol seperti * dan &) double Menyatakan bilangan real dg ketelitian tinggi float Menyatakan bilangan real dg ketelitian rendah int Menyatakan bilangan bulat antara s.d 32767 Long int Menyatakan bilangan bulat berkisar antara s.d 17

18 TIPE BENTUKAN Array Adalah tipe data bentukan yang merupakan wadah untuk menampung nilai-nilai data yang sejenis. Kumpulan bilangan bulat adalah array integer, kumpulan bilangan tidak bulat adalah array real. Cara mendefinisikan ada 2 macam, yaitu : Nilai_ujian : array[1..10] of integer; atau Int nilai_ujiain[10]; Kedua definisi di atas menunjukkan bahwa nilai_ujian adalah kumpulan dari 10 niali bertipe bilangan bulat. String Adalah tipe data bentukan yang merupakan deretan karakter yang membentuk satu kata atau satu kalimat, yang biasanya diapit oleh dua tanda kutip. Contoh : nama, alamat, dll Cara mendefinisikannya : String Nama, Alamat; atau Nama, Alamat : String; 18

19 Cara mendefinisikan record mahasiswa tsb adalah sbb:
Record (Rekaman) Adalah tipe data bentukan yang merupakan wadah untuk menampung elemen data yang tipenya tidak perlu sama dengan tujuan untuk mewakili satu jenis objek. Sebagai contoh, mahasiswa sebagai satu jenis objek memiliki beberapa elemen data, seperti nim, nama, umur, dll. Cara mendefinisikan record mahasiswa tsb adalah sbb: Type DataMhs : record < nim : integer, nama : string, umur : integer; > 19

20 Variabel Adalah nama yang mewakili suatu elemen data, seperti jk untuk jenis kelamin. Ada aturan tertentu yang waib diikuti dalam pemberian nama variabel : Harus dimulai dg abjad, tidak boleh dg angka atau simbol. Tidak boleh ada spasi diantaranya. Jangan menggunakan simbol-simbol yg bisa membingungkan, seperti titik dua, titik koma, koma, dsb. Sebaiknya memiliki arti yg sesuai dg elemen data. Sebaiknya tidak terlalu panjang. 20

21 Variabel Jawab N ? Bilangan Semester 1 PERUSAHAAN 3Bulan Nilai_akhir
Latihan ! Berikan tanda ( √ ) jika varibel di bawah ini Benar, dan berikan tanda ( X ) jika Salah. Variabel Jawab N ? Bilangan Semester 1 PERUSAHAAN 3Bulan Nilai_akhir modal*bunga 21

22 Variabel Jawab N √ Bilangan X Semester 1 PERUSAHAAN 3Bulan Nilai_akhir
Latihan ! Berikan tanda ( √ ) jika varibel di bawah ini Benar, dan berikan tanda ( X ) jika Salah. Variabel Jawab N Bilangan X Semester 1 PERUSAHAAN 3Bulan Nilai_akhir modal*bunga 22

23 Pemberian Nilai Ada dua cara yang dapat digunakan untuk memberi nilai pada suatu variabel, yaitu melalui proses assignment dan pembacaan. Pemberian nilai dg assignment mempunyai bentuk umum sbb : Variable ← nilai; Variable1 ← variable2; Variable ← ekspresi; Contoh : Nama ← “Umar bin Khattab” X ← Jarak; Pemberian nilai dg cara pembacaan dapat dilakukan melalui instruksi pembacaan, atau sering disebut sebagai instruksi input, dg bentuk umum sbb : read (variable); read (variable1, variable2, …); Contoh : read(Nama); 23

24 Pseudokode Pernyataan C
Berikut contoh cara mengkonversi pernyataan dalam pseudokode ke dalam bentuk penyataan C. Pseudokode Pernyataan C n ← 8 n = 8 ; n ← n + 1 n = n + 1 ; luas ← panjang x lebar luas = panjang * lebar ; 24

25 Menampilkan Nilai Agar hasil pelaksanaan algoritma dapat dikomunikasikan/ditayangkan maka nilai variabel yg telah diproses dalam algoritma dapat ditampilkan. Instruksi untuk menampilkan sesuatu sering disebut sbg instruksi output, dg bentuk sbb : write(variabel, …); menampilkan nilai variabel, atau writeln(variabel, …); menampilkan nilai kemudian pindah ke baris berikutnya. Contoh : Write(“nama anda : ”, Nama); 25

26 Ekspresi Adalah transformasi data dan peubah/variabel dalam bentuk persamaan yg direlasikan oleh operator dan operand. Operand adalah data, tetapan, peubah/variabel, atau hasil dari suatu fungsi. Operator adalah simbol-simbol yg memiliki fungsi untuk menghubungkan operand sehingga terjadi transformasi. Jenis-jenis operator adalah sbb : Operator Aritmetika : operator untuk melakukan fungsi aritmetika seperti : + (menjumlah), - (mengurangkan), * (mengalikan), / (membagi), Pelaksanaan operator aritmetika memiliki urutan tertentu, sbb : Urutan pertama : ekspresi dalam tanda kurung (….) Urutan kedua : perkalian (*) atau pembagian (/) Urutan ketiga : penjumlahan (+) atau pengurangan (-) 26

27 13 Contoh : 3 + 5 * 2 hasilnya ?.... Latihan : (3+5) * 2 ?
6/3 * ? 6/ (3*2) + 4 ? Jawaban : 16 8 5 Operator Relational : operator untuk menyatakan relasi / perbandingan antara 2 operand, seperti >, < , >=, <=, ==, tdk sama dengan ( != , < >, > < ). Operator Logik : operator untuk merelasikan operand secara logis, seperti && (and), || (or) dan ! (not). Operator String : operator untuk memanipulasi string, seperti : + (concatenation, menggabung) len (menghitung panjang string), dan Substr (substring, mencuplik) 27

28 Ekspresi Aritmetika : ekspresi yg memuat operator aritmetika. Contoh :
Berdasarkan pada jenis operator yg digunakan maka ada 4 macam ekspresi, yaitu ekspresi aritmetika, ekspresi relasional, ekspresi logik, dan ekspresi string. Ekspresi Aritmetika : ekspresi yg memuat operator aritmetika. Contoh : T ← 5 * ( C + 32 ) / 9 ; Ekspresi Relasional : ekspresi yg memuat operator relasional. (A + B) < (C + D) Ekspresi Logik : ekspresi yg memuat operator Logik. M ← (x > y) && (5 + z) Ekspresi String : ekspresi yg memuat operator string. Alamat ← “Jl. P. Kemerdekaan” + “Km 9 Tangerang” 28

29 Contoh Algoritma : Susun algoritma yg menghitung PPN 12.50% dengan meminta harga barang yang dibeli dari pengguna program. Langkah utama dalam masalah ini adalah : masukkan/baca harga barang, hitung pajaknya, hitung total yg harus dibayar, kemudian menampilkan hasilnya. Jawab : Algoritma PPN {menghitung PPN 12.50% dari harga barang} Definisi Variabel real harga, pajak, total; Rincian Langkah write(“Masukkan harga barang :”); Read(harga); pajak ← * harga; total = harga + pajak; write(“Harga=“,harga, “pajaknya=“,pajak); write(“Total =“,total); 29

30 ARRAY OF CHARACTER DAN ESCAPE CHARACTER
String Dalam Bahasa C Dalam bahasa pemrograman C, string adalah array bertipe karakter (char). Untuk menampilkan string yang dikandung oleh sebuah array, karakter format yang yang dipergunakan adalah "%s". Ketika kita menginstruksikan komputer untuk menampilkan string, komputer akan memeriksa satu per satu elemen array dan menampilkannya ke layar monitor. Komputer akan berhenti memeriksa elemen array yang selanjutnya jika menemukan null character ('\0'). 30

31 String diakhiri dengan karakter NULL
String pada C dan C++ selalu diakhiri dengan karakter NULL (\0). Sebagai contoh, jika terdapat string “Yogya”, secara internal string itu disajikan seperti berikut : Y o g y a \0 String diakhiri dengan karakter NULL Variabel yg digunakan untuk menyimpan string perlu dideklarasikan sbb : char nama[15]; Pada deklarasi diatas, nama dideklarasikan sebagai variabel string yang dapat menampung hingga 15 karakter (termasuk untuk karakter NULL). Penugasan literal string ke variabel string harus dilakukan melalui fungsi bernama strcpy(). 31

32 #include <stdio.h> void main(){ char nama[20]; nama[0]='B';
Contoh 1 : #include <stdio.h> void main(){ char nama[20]; nama[0]='B'; nama[1]='u'; nama[2]='d'; nama[3]='i'; nama[4]='m'; nama[5]='a'; nama[6]='n'; nama[7]='\0'; printf("%s\n",nama); /* output : Budiman */ nama[4]='\0'; /* output : Budi ---- karena elemen 4 berisi null */ } 32

33 Output : 33

34 Contoh 2 : Output : 34

35 strcpy(info, “Nama “ David Beckam”);
Penjelasan : Pada program di atas, char info[25]; Digunakan untuk mendeklarasikan variabel string bernama info yg dapat menyimpan hingga 24 karakter (plus sebuah karakter NULL). Melalui pernyataan : strcpy(info, “Nama “ David Beckam”); Variabel string info diisi dengan string “Nama : David Beckam”, Selanjutnya, pernyataan strcpy(info, “Info : Pemain Sepakbola”); Diganti dengan “info : Pemain Sepakbola” 35

36 Karakter Escape Adalah sebuah karakter yg ditulis dengan awalan tanda \. Karakter Keterangan \0 Karakter NULL (tulisannya berupa \ dan angka nol) \a Karakter bel \b Karakter backspace \f Formfeed (ganti halaman ) \n Linefeed (disebut juga newline atau pindah baris) \r Carriage return (ke kolom pertama, baris yang sama) \t Tab horisontal \v Tab vertikal \\ Karakter \ \’ Karakter petik tunggal \” Karakter petik ganda \? Karakter tanda tanya 36

37 Thank You 37


Download ppt "PERTEMUAN 2 Algoritma & Pemrograman"

Presentasi serupa


Iklan oleh Google