Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

TEL 2112 Dasar Komputer & Pemograman Pengantar Algoritma

Presentasi serupa


Presentasi berjudul: "TEL 2112 Dasar Komputer & Pemograman Pengantar Algoritma"— Transcript presentasi:

1 TEL 2112 Dasar Komputer & Pemograman Pengantar Algoritma
Abdillah, S.Si, MIT Website:

2 Tujuan Mampu memecahkan masalah-masalah sederhana dalam sebuah algoritma menggunakan notasi pseudocode dan translasinya ke dalam bahasa C.

3 Algorithm berasal dari kata algoritmi, nama latin cendikiawan muslim yang bernama Abu Ja’far Muhammad bin Musa Al- Khwarizmi, lahir sekitar tahun 780 di Khwārizm (sekarang Uzbekistan).

4 Apa itu Algoritma? Definisi :
Algoritma adalah urutan logis langkah-langkah penyelesaian masalah

5 Apa Hubungan Algoritma dan Program Komputer?
Program komputer adalah realisasi teknis dari sebuah algoritma.

6 Belajar Bahasa Pemrograman
Belajar bahasa pemrograman berarti belajar memakai suatu bahasa pemrograman, aturan tata bahasanya, instruksinya, tata cara pengoperasian kompilernya dan memanfaatkan istruksi tersebut untuk membuat program yang ditulis dalam bahasa tersebut.

7 Belajar Memprogram Belajar memprogram berarti belajar tentang metodologi pemecahan masalah, kemudian menuangkan algoritma pemecahan masalah dalam suatu notasi algoritmik

8 Notasi Algoritmik Notasi algoritmik bersifat independen terhadap bahasa pemrograman sehingga dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Ada dua notasi yang umum digunakan: Flow chart (diagram alir) Pseudo-code (menyerupai notasi bahasa pemrograman tingkat tinggi)

9 Struktur Teks Pseudo-code
PROGRAM Nama Program { Penjelasan tentang algoritma, yang berisi uraian singkat mengenai masalah yang akan diselesaikan } DEKLARASI { Semua nama yang dipakai, meliputi nama tipe, konstanta, peubah, prosedur dan fungsi diumumkan di sini } ALGORITMA: { Semua langkah/aksi algoritma dituliskan di sini }

10 Contoh Masalah Tinjau sebuah masalah sederhana yakni mempertukarkan isi dari dua buah gelas. Gelas A berisi air kopi dan gelas B berisi air susu. Kita ingin mempertukarkan isi kedua gelas itu sedemikian hingga gelas A akan berisi air susu dan gelas B berisi air kopi.

11 Contoh Algoritma Misalkan seseorang menuliskan langkah-langkah pertukaran isi kedua gelas tersebut ke dalam program Tukar_Isi dengan algoritma sbb: PROGRAM Tukar_Isi {Diberikan dua buah gelas, A dan B; gelas A berisi air kopi dan gelas B berisi air susu. Pertukarkan isi kedua gelas} DEKLARASI A, B : gelas ALGORITMA: Tuangkan air dari gelas A ke dalam gelas B Tuangkan air dari gelas B ke dalam gelas A Perhatikan bahwa algoritma Tukar_Isi di atas tidak akan menghasilkan pertukaran yang benar. Langkah-langkahnya tidak logis.

12 Perhatikan langkah pemecahan berikut:

13 Algoritma Pemecahan Masalah
C  A { simpan A di tempat penampungan sementara C } A  B { sekarang A dapat diisi dengan nilai B } B  C { isi B dengan nilai A semula yang tadi disimpan di C }

14 Contoh Masalah Buatlah algoritma untuk mempertukarkan nilai dari dua variabel. Algoritma pertukaran dua nilai ini sama seperti algoritma mempertukarkan isi dari dua buah gelas. Misalkan A = 8 dan B = 5. Kita ingin mempertukarkan nilai A dan B sehingga setelah pertukaran nilai A = 5 dan B = 8.

15 Algoritma Pemecahan Masalah
PROGRAM Tukar_Nilai { Mempertukarkan nilai A dan B. Nilai A dan B dibaca terlebih dahulu } DEKLARASI A, B, temp : integer ALGORITMA: read (A,B) {Baca nilai A dan B terlebih dahulu} {Proses pertukaran} temp  A {simpan A di tempat sementara, temp} A  B {sekarang A dapat diisi dengan nilai B} B  temp {isi B dengan nilai A semula yang tadi disimpan di temp} write (A,B){cetak nilai A dan B setelah pertukaran}

16 Translasi Algoritma ke Program
/*Program Tukar_Nilai*/ #include <stdio.h> main() { int A, B, temp; printf("Masukkan nilai A: "); scanf("%d",&A); printf("Masukkan nilai B: "); scanf("%d",&B); /* ALGORITMA */ temp = A; A = B; B = temp; printf("Nilai A setelah pertukaran adalah: %d\n", A); printf("Nilai B setelah pertukaran adalah: %d", B); }

17 Masalah Selanjutnya.. Buatlah algoritma untuk mempertukarkan nilai dari dua buah peubah, A dan B tanpa menggunakan peubah bantu.

18 Algoritma Pemecahan Masalah
PROGRAM Pertukaran_Nilai { Program untuk mempertukarkan nilai A dan B tanpa peubah bantu. Nilai A dab B dibaca terlebih dahulu} DEKLARASI A, B : integer ALGORITMA: read (A,B) { baca nilai A dan B terlebih dahulu } write (A,B) { cetak nilai A dan B sebelum pertukaran } A  A + B { proses pertukaran } B  A - B A  A - B write (A,B) { cetak nilai A dan B setelah pertukaran }

19 Translasi Algoritma ke Program
/*Program Tukar_Nilai*/ #include <stdio.h> main() { int A, B; printf("Masukkan nilai A: "); scanf("%d",&A); printf("Masukkan nilai B: "); scanf("%d",&B); /* ALGORITMA */ A = A + B; B = A - B; A = A - B; printf("Nilai A setelah pertukaran adalah: %d\n", A); printf("Nilai B setelah pertukaran adalah: %d", B); }

20 Contoh Algoritma PROGRAM Gaji_Karyawan
{ Menghitung gaji bersih = gaji pokok + tunjangan – pajak, tunjangan = 20% dari gaji pokok dan pajak = 15% dari gaji pokok ditambah tunjangan } DEKLARASI const persen_tunjangan = 0.2 const persen_pajak = 0.15 nama_karyawan : string gaji_pokok, tunjangan, pajak, gaji_bersih : real ALGORITMA: read (nama_karyawan, gaji_pokok) tunjangan  persen_tunjangan * gaji_pokok pajak  persen_pajak * (gaji_pokok + tunjangan) gaji_bersih  gaji_pokok + tunjangan - pajak write (nama_karyawan, gaji_bersih)

21 Translasi Algoritma ke Program
/* PROGRAM Gaji_Karyawan */ #include <stdio.h> void main() { const float persen_tunjangan = 0.2; const float persen_pajak = 0.15; char nama[20]; float gaji_pokok, tunjangan, pajak, gaji_bersih; printf(“Nama karyawan: "); scanf("%s", nama); printf(“Gaji pokok: Rp. "); scanf("%f",&gaji_pokok); /* ALGORITMA */ tunjangan = persen_tunjangan * gaji_pokok; pajak = persen_pajak * (gaji_pokok + tunjangan); gaji_bersih = gaji_pokok + tunjangan - pajak; printf("Nama karyawan adalah: %s\n", nama); printf("Gaji bersih adalah: Rp. %.2f", gaji_bersih); }

22 Contoh Algoritma PROGRAM Konversi_ke_Jam_Menit_Detik
{ Membaca durasi waktu dalam detik. Kemudian mengkonversi waktu ke dalam jam, menit dan detik. } DEKLARASI type Jam = record < hh, mm,dd : integer > durasi : Jam total_detik, sisa : integer ALGORITMA: read (total_detik) durasi.hh  total_detik div 3600 sisa  total_detik mod 3600 durasi.mm  sisa div 60 durasi.ss  sisa mod 60 write (durasi.hh, durasi.mm, durasi.ss)

23 Translasi Algoritma ke Program
/* Program Konversi_ke_Jam_Menit_Detik */ #include <stdio.h> void main() { typedef struct {int hh, mm, ss;} Jam; Jam J; int total_detik, sisa; /* ALGORITMA */ printf("Ketikkan durasi dalam detik = "); scanf("%d",&total_detik); J.hh = total_detik / 3600; sisa = total_detik % 3600; J.mm = sisa / 60; J.ss = sisa % 60; printf("Durasi = %d jam %d menit %d detik", J.hh, J.mm, J.ss); }


Download ppt "TEL 2112 Dasar Komputer & Pemograman Pengantar Algoritma"

Presentasi serupa


Iklan oleh Google