DASAR-DASAR ALGORITMA
STEPHANUS ANDRIAN YUDISTIRA
1. KONSEP DAN STRUKTUR ALGORITMA PENEMU KONSEP ALGORITMA MUHAMMAD IBN MUSA AL-KHAWARIZMI Merupakan Sarjana penemu Konsep Algoritma Flowchart (Diagram Alur) Wafat tahun 850 di Bagdad
COBA PERHATIKAN
DEFINISI ALGORITMA Algoritma adalah URUTAN LANGKAH PEMECAHAN MASALAH YANG DISUSUN SECARA SISTEMATIS DAN LOGIS. LOGIS NILAI KEBENARAN DAPAT DITENTUKAN (BENAR ATAU SALAH) dan TIDAK AMBIGU SISTEMATIS langkah-langkah yang ada pada algoritma harus dapat diikuti atau ditelusuri dengan baik sehingga mencapai hasil akhir yang diinginkan.
STRUKTUR ALGORITMA
STRUKTUR ALGORITMA 1. Nama / Judul Algoritma : Nama Algoritma memberikan gambaran secara singkat apa tujuan dari Algoritma. Dalam Algoritma komputer biasanya nama algoritma dituliskan tanpa menggunakan spasi.
2. Deklarasi : Bagian deklarasi merupakan tahap persiapan dari algoritma. Pada bagian ini dijelaskan kebutuhan agar algoritma dapat berjalan. 3. Deskripsi : Pada bagian ini dijelaskan serangkaian langkah-langkah (instruksi) atau pernyataan (statement) untuk memproses alat dan bahan atau inputan untuk menghasilkan output sesuai yang diharapkan.
STRUKTUR ALGORTIMA
PENYAJIAN ALGORITMA Penyajian ALGORITMA dilihat dari BENTUKnya dapat dibedakan :
1. Tulisan metode struktur ATAU Bahasa NATURAL 2. Menggunakan Pseudocode 3. Gambar Diagram Alir / FlowChart
2. ALGORITMA DENGAN BAHASA NATURAL Penggunaan bahasa natural dalam algoritma sering dijumpai pada algoritma di kehidupan sehari-hari. Bahasa yang digunakan tentunya bahasa yang dipahami oleh pengguna algoritma. Menggunakan kalimat deskriptif, yakni kalimat yang menjelaskan secara detail suatu algoritma dengan bahasa yang mudah dipahami.
ALGORITMA YANG BAIK ADALAH ALGORITMA YANG DAPAT DIPAHAMI DAN DIJALANKAN OLEH PENGGUNANYA.
CONTOH
PENYAJIAN ALGORTIMA YANG BAIK OLEH DONALD ERVIN KNUTH Kriteria : 1. Input 2. Output 3. Finite (terbatas) 4. Definite (Pasti) 5. Efisien
3. PENGENALAN VARIABEL ALGORITMA PEMROGRAMAN Variabel adalah suatu nama simbolik, bisa dinyatakan dengan alfabet (huruf) tunggal atau rangkaian huruf, atau rangkaian huruf dan angka atau simbol-simbol, yang akan diberikan informasi atau nilai tertentu.
Nilai-nilai tersebut tidaklah selalu berupa bilangan bisa berupa karakter, rangkaian karakter (string), nilai benar salah (boolean), dan sebagainya yang disebut sebagai tipe data. Penentuan variabel tergantung dengan kebutuhan dari algoritma.
Variabel dapat diberinama dengan sebuah huruf, atau huruf diikuti huruf lain atau angka atau simbol seperti – atau _. Tidak disarankan memberikan nama variabel diawali dengan bukan huruf, misalkan diawali angkaatau simbol lain.
PENGENALAN VARIABEL ALGORITMA PEMROGRAMAN 1. Variabel adalah suatu nama simbolik yang digunakan untuk menyimpan nilai dalam algoritma
2. Variabel dapat berupa input, output atau segala sesuatu yang terlibat dalam proses atau langkahlangkah algoritma
CONTOH VARIABEL Tentukan variabel-variabel pada Algoritma mengkonversi suhu dalam derajat Celcius menjadi Farenheit, Reamur, dan Kelvin. Tentukan variabel-variabel pada Algoritma menentukan kelulusan seorang murid ketika ujian nasional (UAN). Algoritma ini membutuhkan input berupa nama anak, nilai matematika, nilai bahasa indonesia dan nilai bahasa Inggris. Anak dinyatakan lulus jika rata-ratanya lebih dari 60. Outputnya adalah status=LULUS atau Belum LULUS.
4. TIPE DATA Setiap variabel mempunyai tipe data yang berbeda-beda untuk disimpan, ada bilangan bulat, bilangan real, barisan karakter (string), dan sebagainya. Tipe data adalah jenis data yang akan diolah oleh algoritma atau program komputer untuk diharapkan. Secara garis besar 3 macam tipe data yaitu TIPE DATA SEDERHANA, tipe DATA TERSTRUKTUR dan tipe DATA POINTER.
TIPE DATA SEDERHANA SEDERHANA MEMUAT DATA TUNGGAL SAJA (BILANGAN INTEGER, REAL, KARAKTER, DAN BOOELAN)
DATA INTEGER INTEGER BILANGAN BULAT (BULAT NEGATIF, NOL, BULAT POSTIF) Contoh variabel yang dapat menggunakan tipe data ini misalkan, banyaknya data, tinggi badan, panjang kata, suku ke-n dari sebuah barisan, jumlah anak, tahun, bulan (dalam angka), dan sebagainya
BILANGAN REAL Tipe data ini juga merupakan tipe data berupa bilangan, namun berbeda dengan tipe data integer, yang termasuk tipe data ini adalah bilangan rasional pecahan atau irrasional, atau bilangan yang disajikan dalam bentuk koma. Sebagai contoh: 1.5, 458.543, -0.569, 22/7, Phi (π), √2 dan sebagainya.
Contoh variabel yang menggunakan tipe data ini, Luas Lingkaran, Rerata, Volume Tabung, suhu, dan sebagainya.
KARAKTER Data karakter adalah data sebuah tipe data berupa digit, huruf atau simbol tunggal. Yang membedakan tipe data ini dengan tipe data lainnya adalah biasanya nilai tipe data ini diapit oleh tanda petik. Contoh: “a”, “H”, “6”, “^”, “>” dan sebagainya. Meskipun terdapat angka 6, tapi karena diapit oleh tanda petik, maka dia bukan lagi suatu nilai bilangan tapi berupa karakter. Contoh variabel yang menggunak tipe data ini adalah JenisKelamin, bisa “L” atau “P”, persetujuan bisa “Y” atau “N”, Huruf Depan Nama, dan sebagainya.
STRING Tipe data string merupakan susunan dari satu atau lebih karakter. Sebagai contoh: “abc”, “HAPPY”, “100102001”. Biasanya untuk mendefinisikan tipe data string ini harus diberikan batasan maksimal berapa ukuran atau panjang maksimal string yang bisa dialokasikan. Sebagai contoh: variabel nama bertipe data String[30], artinya maksimal panjang nama adalah 30. Variabel lain yang menggunakan tipe data ini adalah Alamat, TempatLahir, NomorHP, Sekolah, dan sebagainya.
BOOELAN Boolean adalah tipe data yang digunakan untuk menyatakan status Benar atau Salah dari suatu variabel.
Jadi hanya dua nilai pada tipe data ini yaitu Benar dan Salah. Sebagai contoh variabel yag dapat digunakan tipe data ini adalah: statusKelulusan (bisa Benar atau Salah), StatusPrima, StatusMenikah (bisa benar atau salah)
DATA TERSTRUKTUR Berbeda dengan tipe data sederhana, tipe data terstruktur adalah tipe data yang terdiri dari kumpulan data-data tunggal. Data-data tunggal ini diorganisasi oleh suatu tipe data terstruktur. TIPE DATA TERSTRUKTUR :
1. ARRAY 2. RECORD 3. SET
ARRAY Array dapat diartikan sebagai larik, atau barisan. Array digunakan untuk menyimpan banyak data dengan tipe data yang sama. Tipe data array aldah tipe data yang menyimpan sejumlah data dengan tpe yang sama, misalkan integer semua atau real semua. Isi data dari variabel dngan tipe data ini dapat diakses dengan menggunakan indeks. Array juga dapat digunakan untuk menyimpan bentuk data lain baik bilangan real, karakter, atau bahkan bisa juga array dari array.
CONTOH ARRAY
RECORD Jika Array hanya mampu menyimpan sejumlah data yang bertipe sama, record, bisa menampung data-data dengan tipe yang berbeda. Sebagai contoh data seorang siswa, bisa terdiri dari Nama, Nomor Induk Siswa, Alamat, Tempat Lahir, Jenis Kelamin, Kelas Umur. Agar data tersebt menjadi satu kesatuan informasi maka perlu suatu wadah untuk menampung tipe data seperti itu, yaitu RECORD.
CONTOH RECORD
5. OPERATOR
BENTUK DI ATAS AKAN KITA SEBUT SEBAGAI EKSPRESI.
EKSPRESI ADALAH sesuatu yang jika dievaluasi menghasilkan suatu nilai. Dalam ekspresi terdapat operator dan operan. Maka OPERATOR adalah simbol yang mewakili aksi tertentu
Namun, ketika hasil suatu ekspresi diberikan pada sebuah variabel, maka ini disebut sebagai ASSIGNMENT (PENUGASAN). Contoh :
HargaAkhir=HargaNormal-HargaDiskon Volume =pxlxt Nilai=80
Format penulisan assignment berbeda-beda dalam berbagai bahasa pemrograman, pada Bahasa C digunakan tanda “=“, pada bahasa Pascal dituliskan “ := ‟, di beberapa penyajian algoritma ada yang menggunakan tanda „=‟ atau menggunakan perintah “SET”.
OPERATOR – OPERATOR DASAR 1. OPERATOR ARITMATIKA Operator aritmatika adalah operasi hitung dari bilangan-bilangan. Terdapat dua macam tipe data bilangan yaitu integer dan bilangan real.
OPERATOR – OPERATOR DASAR
METODE STRUKTUR (TULISAN) Baca data jam_kerja Hitung gaji adalah jam_kerja dikalikan tarif Tampilkan gaji
SIMBOL-SIMBOL FLOWCHART
FLOWCHART
MULAI
Baca Jam Kerja
HITUNG GAJI = Jam kerja x Tarif
Tampilkan Gaji
SELESAI
ALGORITMA PERCABANGAN Kondisi percabangan adalah sebuah struktur dalam algoritma atau pemrograman komputer yang melibatkan suatu kondisi atau persyaratan untuk melakukan operasi-operasi khusus tergantung dari kondisi yang disyaratkan. Kata kunci dari struktur percabangan adalah JIKA (kondisi) MAKA Pernyataan1 Pernyataan2 dst
STRUKTUR PERCABANGAN DENGAN PSEUDOCODE Jika kita menggunakan struktur percabangan, semua pernyataan yang terletak dalam struktur dibuat menjorok pada tepi yang sama, kecuali pembuat struktur. Pembuat strukturnya adalah kata kunci percabangan yaitu IF THEN, sehingga dalam pseudoce, percabangan dengan 1 syarat dapat disajikan dalam bentuk IF (kondisi) THEN Pernyataan1 Pernyataan2 Pernyataan3 Dst