Algoritme dan Pemrograman Kuliah #1 Kontrak Perkuliahan Pendahuluan ILKOM IPB
KARLINA KHIYARIN NISA karlinanisa@gmail.com DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Link to Dokumen Kontrak Perkuliahan DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB
PENDAHULUAN DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Program Komputer Komputer hanyalah sebuah mesin. Komputer bekerja sesuai perintah atau instruksi yang diberikan. Perintah atau instruksi yang diberikan kepada komputer untuk memecahkan suatu masalah disebut program komputer. Program komputer ini memandu kerja dari komputer yang secara berstruktur disusun oleh manusia. Bahasa yang digunakan untuk menyusun program komputer disebut bahasa pemrograman komputer. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Membuat Program Komputer Pemrograman komputer harus dilakukan secara sistematis, dimulai dengan merancang atau mendesain langkah-langkah yang tepat yang menjelaskan jawaban dari suatu masalah. Langkah-langkah yang disusun secara berstruktur dan terurut untuk menjawab suatu persoalan dengan menggunakan bahasa manusia inilah yang sering disebut dengan algoritme. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Langkah Membuat Program Komputer MASALAH Fase pemecahan masalah ALGORITME Langkah sulit PROGRAM KOMPUTER Fase implementasi, coding DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Penulisan algoritme Sebenarnya, cara menuliskan algoritme adalah bebas. Namun, agar dapat dipahami oleh orang lain, maka penulisan algoritme cenderung baku, sering disebut sebagai pseudocode. Salah satu contoh: procedure jumlah { read a, b c = a+b print c } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Contoh Algoritme #1 Menjumlahkan dua bilangan bulat ALGORITME 1a. MENJUMLAHKAN DUA BILANGAN baca dua buah bilangan bulat (misalnya a dan b). jumlahkan dua bilangan tersebut dan simpan hasilnya ke peubah c (c a + b). cetak nilai c. ALGORITME 1b. MENJUMLAHKAN DUA BILANGAN baca a dan b. c a + b. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Contoh Algoritme #2 Menentukan kelulusan dari tiga nilai Perumusan masalah: Diberikan tiga buah nilai ujian. Jika rata-rata dari tiga nilai kurang dari 50, maka statusnya adalah TIDAK LULUS, sedangkan lainnya (lebih besar atau sama dengan 50) dinyatakan LULUS. procedure kelulusan { read nil1, nil2, nil3 r = (nil1+nil2+nil3)/3 if (r<50) then print "TIDAK LULUS" else print "LULUS“ } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Latihan Kelas Buat algoritme untuk melakukan hal-hal berikut: Menjumlahkan 4 bilangan bulat. Menentukan bilangan terbesar dan terkecil dari tiga bilangan bulat. Memeriksa apakah suatu bilangan bulat adalah positif, negatif, atau 0. Jika positif maka akan dicetak kata 'POSITIF', jika negatif maka akan dicetak 'NEGATIF', dan tidak menghasilkan apapun jika bilangan tersebut adalah 0. Menentukan apakah sebuah bilangan bulat habis dibagi a ataukah tidak (a > 0). Menentukan apakah sebuah bilangan bulat adalah bilangan genap atau ganjil DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
If(a > b ) then besar=a else besar=b If(c > besar ) then besar=c ALGORITME Baca a,b,c If(a > b ) then besar=a else besar=b If(c > besar ) then besar=c cetak besar If(a < b ) then kecil=a else kecil=b If(c < kecil ) then kecil=c cetak kecil PSEUDOCODE procedure besar { read a,b,c if(a>b) then besar=a else besar=b If(c > besar ) then besar=c print besar if(a<b) then kecil=a else kecil=b If(c < kecil ) then kecil=c print kecil } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
If(a > 0 ) then print “POSITIF” Baca a If(a > 0 ) then print “POSITIF” else If(a < 0 ) then print “NEGATIF” DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
procedure habisDibagi { read(a, b) if (b mod a==0) then print ”HABIS DIBAGI” else print “TIDAK HABIS DIBAGI“ } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
procedure ganjilGenap { read(b) if (b mod 2==0) then print ”GENAP” else print “GANJIL“ } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Algoritme Baca a,b,c,d e=a+b+c+d Cetak e Pseudocode Procedure jumlah{ Read a,b,c,d Print e } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
If(a > b > c ) maka d=a If(b> a > c ) maka d=b Baca a,b,c Untuk nilai maksimum If(a > b > c ) maka d=a If(b> a > c ) maka d=b If(c > a > b ) maka d=c Cetak d Untuk nilai minimum If(a <b < c ) maka e=a If(b <a < c ) maka e=b If(c <a < b ) maka e=c Cetak e DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
If(a > b ) then besar=a else besar=b If(c>d) then besar=c Baca a,b,c If(a > b ) then besar=a else besar=b If(c>d) then besar=c Cetak besar If(a < b ) then kecil=a else kecil=b If(c<d) then kecil=c Cetak kecil DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
If(a > b ) then besar=a else besar=b If(c>besar) then besar=c Baca a,b,c,d If(a > b ) then besar=a else besar=b If(c>besar) then besar=c If(d>besar) then besar=d Cetak besar DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
If(a > b & a>c) then print a else if(b>c ) print b Baca a,b,c,d If(a > b & a>c) then print a else if(b>c ) print b else print c DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Jika a ≥ b, maka besar a, kecil b, selainnya besar b, kecil a Baca (a, b, c) Jika a ≥ b, maka besar a, kecil b, selainnya besar b, kecil a Jika c ≥ besar, maka besar c Jika c ≤ kecil, maka kecil c Cetak (besar, kecil) DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR