Senin, 28 Agustus 2017

ALGORITMA

1. Luas Persegi Panjang

Input    : panjang dan lebar        
Proses  : panjang x lebar           
Output : luas persegi panjang
   
 Algoritma    : 1. Masukkan panjang
                        2. Masukkan lebar
                        3. Luas Persegi panjang adalah panjang dikalikan lebar

                        4. Tampilkan luas persegi panjang
2. Ada tiga pasang kakak beradik (kakak laki-laki sedangkan adiknya perempuan) akan melintasi sungai. Di tepi sungai terdapat sebuah perahu rakitan yang hanya cukup membawa 2 orang. Tuliskan algoritma untuk menyeberangkan ketiga pasang kakak beradik tersebut. Dengan catatan, tiap adik perempuannya tidak mau menyeberang tanpa kakaknya. 

Jawab :


 Pasangan kakak dan adik 1 menyebrang kesungai 
2Kakak dari pasangan kakak dan adik 1 kembali untuk mengembalikan perahu 
3Pasangan kakak dan adik 2 menyebrang kesungai 
4. Kakak dari pasangan kakak dan adik 2 kembali untuk mengembalikan perahu 
5. Pasangan kakak dan adik 3 menyebrang kesungai
6.  Kakak dari pasangan kakak dan adik 3 kembali untuk mengembalikan perahu 7Kakak pasangan          kakak adik 1 dan 2 menyebrang sungai
8.  Kakak pasangan kakak adik 1 kembali mengembalikan perahu
9.  Kakak pasangan kakak adik 1 dan 3 menyebrang sungai . selesai











MENGENAL TIPE DATA


1. TIPE DATA
Tipe data adalah jenis data yang mempunyai batasan tempat dan karakteristik sesuai dengan interprestasi data dan dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer. Tipe data pada umumnya termasuk tipe data primitif, yaitu interger, floating point number dan character (string). Kumpulan dari tipe data primitif yang sejenis juga dapat disatukan dalam sebuah blok yang disebut array.
Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer). Salah satu tugas penting seorang programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang efisien dan berkinerja tinggi. 
 JENIS-JENIS TIPE DATA
Didalam bahasa pemograman sebenarnya terdapat banyak jenis-jenis tipe data, namun tipe data yang tersedia tergantung dari jenis bahasa pemrograman yang dipakai. Secara umum tipe data di seluruh bahasa pemrograman terbagi menjadi:
1)      Numeric/Number
Adalah Tipe data yang digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk bilangan atau angka baik angka atau bilangan tersebut merupakan bilangan bulat ataupun bilangan real.
Tipe data Numeric/Number terbagi menjadi 2 bagian antara lain :
  • Tipe Bilangan Bulat
Adalah tipe bilangan yang hanya dapat menampung data bernilai positif, negatif dan nol ( 0 ). Didalam tipe bilangan bulat sendiri sebenarnya masih dapat terbagi lagi menjadi beberapa golongan berdasarkan rentang datanya. Misalnya, jika yang digunakan adalaha bahasa pemrograman java maka tipe bilangan bulat dibagi menjadi sebagai berikut :
Tipe DataUkuran (bit)Range
Byte8-128 s.d. 127
Short16-32768 s.d. 32767
Int32-2147483648 s.d. 2147483647
Long64-9223372036854775808  s.d. 9223372036854775807
  • Tipe Bilangan Pecahan
Adalah tipe bilangan yang hanya dapat menampung data bernilai positif, negatif, nol, yang bernilai pecahan. Didalam tipe bilangan pecahan sendiri sebenarnya masih dapat terbagi lagi menjadi beberapa golongan berdasarkan rentang datanya. Misalnya, jika yang digunakan adalaha bahasa pemrograman java maka tipe bilangan bulat dibagi menjadi sebagai berikut :
TipeUkuran
Range
Presisi (jumlah digit)
bytesbit
float432+/- 3.4 x 10386-7
double864+/- 1.8 x 1030815
1)      String/Karakter
Adalah Tipe data yang digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk karakter (angka, huruf, karakter khusus atau simbol).
2)      Boolean
Adalah tipe data yang digunakan untuk menampung nilai logika, yaitu nilai yang hanya memiliki dua buah kemungkinan (benar atau salah).
3)      Tipe – Data Lain
Sebenarnya selain dari ketiga tipe diatas,dalam bahasa pemrograman masih ada tipe data lain yang tidak mungkin dapat disebutkan dan jelaskan satu persatu. Contoh dari tipe data selain Numerik,String dan Boolean adalah sebagai berikut :
  • Array
Yaitu tipe data sejenis yang dapat menampung data secara bertumpuk,jadi satu tipe data tetapi datanya bisa lebih dari satu.
  •  Date
Yaitu tipe data yang hanya dapat menampung data dalam format tanggal saja
  • Time
Yaitu tipe data yang hanya dapat menampung data dalam format waktu saja
  • Char
Sebenarnya tipe data char hampir sama dengan tipe data String,akan tetapi kalau tipe data string panjangnya tidak tetap sedangkan tipe data char panjangnya selalu tetap sesuai dengan inisialisasi awal pemesanan tipe data.
  • Dll.

2. OPERASI TIPE DATA
Selain tipe data berfungsi sebagai tempat untuk menampung data, tipe data juga dapat melakukan perhitungan aritmatika (tipe data numerik), operasi penggabungan (tipe data sting),dll.
1. Operasi tipe data numerik
  • Operasi aritmatika
Di dalam operasi ini nilai dari suatu tipe data bisa digunakan untuk melakukan perhitungan aritmatik (penambahan(+), pengurangan (-), perkalian (x), pembagian (/),dll).
Contoh :
Private int kuis,uts,uas,na;
Na=(kuis+uts+uas)/3
  • Operasi operator relational
Operasi operator relational sebenarnya harus dikombinasikan dengan operasi aritmatika dan operasi fungsi logika. Berikut simbol dari operator relational:
–          Sama dengan (=)
–          Tidak sama dengan (!=)
–          Lebih kecil dari (<)
–          Lebih besar dari (>)
–          Lebih kecil dari atau sama dengan (<=)
–          Lebih besar dari atau sama dengan (>=)
Contoh :
Private string keterangan;
Private int nilai_akhir=61;
If (nilai_akhir>=61){
Keterangan=”lulus”;
}

2Operasi tipe data String
Di dalam operasi ini nilai dari suatu tipe data bisa digunakan untuk melakukan pemenggalan, perhitungan panjang string penggabungan dll.
  • Operasi Pemenggalan
Operasi yang digunakan untuk mengambil suatu karakter dalam nilai data string.
Contoh :
Substring(“sulis wijayanti”,9,4);
Maka hasil diatas adalah “jaya”
  •  Operasi Perhitungan Panjang String
Operasi yang digunakan untuk mengetahui panjang karakter dalam nilai data string.
Contoh :
Length(“sulistiana”);
Maka hasil diatas adalah 10
  •  Operasi Penggabungan
Operasi yang digunakan untuk menggabungan nilai data string.
Contoh :
Concat(“sulis”,”soni”);
Maka hasil diatas adalah sulissoni
  •  Operasi Pencarian Posisi
Operasi yang digunakan untuk mengetahui posisi karakter dalam nilai string
Contoh :
Index(“intan sari wijayanti”,”sari”);
Maka hasil diatas adalah 7
  •  Dan masih banyak lagi, misalnya UPPER untuk menjadikan huruf kapital,LOWER untuk menjadikan huruf kecil,L TRIM dan R TRIM untuk menghilangkan spasi pada nilai string dll.

3. Operasi tipe data boolean
Pada tipe data boolean hanya dapat melakukan operasi logika dan fungsi logika tersebut dapat dikombinasikan dengan fungsi logical(and,or,not,dll) serta dapat dikombinasikan dengan operator relational.
Contoh :
Private int na=61;
Private string predikat;
If ( (na>=61) and (na<=70){
Predikat=”C”;
}else If ( (na>=71) and (na<=80){
Predikat=”B”;

3. TIPE DATA SINGLE DAN LONGINT
  1. Single atau juga disebut single precision merupakan tipe data pecahan dengan kisaran antara -3.402823E+38 hingga 3.402823E, dengan ukuran 4 byte.
  2. Long merupakan tipe data numeric yang mirip dengan integer, kisarannya antara -2.147.483.648 sampai 2.147.483.647

4. TIPE DATA KARAKTER DAN STRING
  1. String merupakan tipe data alfanumeric yang artinya bisa diberikan nilai berupa angka, huruf, ataupun karakter khusus, dengan ukuran 1 byte
  2. Karakter (char). Karakter merupakan tipe data yang hanya mampu menyimpan 1 digit karakter.  Ukuran
    untuk tipe data karakter adalah 1 byte (1 byte = 8 bit). Adapun macam karakter yang ada
    sejumlah 256 macam karakter yaitu dari kode karakter (ASCII) 0 sampai dengan 255.
    Untuk penulisan karakter menggunakan tanda petik tunggal (‘ )  di depan dan belakang
    karakter yang ditulis. Contoh : ‘a’, ‘A’,’&’ dll. Nilai-nilai yang termasuk karakter adalah :
    a. Karakter huruf  : ‘a’..’z’,’A’..’Z’
    b. Karakter angka  : ‘0’..’9’
    c. Karakter tanda baca  : titik, koma, titik koma, titik dua dan sebagainya
    d. Karakter khusus : $, %, #, @ dan sebagainya
    Apabila kita ingin menuliskan karakter kosong, maka cukup menuliskan lambang kutip
    tunggal dua kali (‘’) tanpa spasi.
    Karakter yang dapat ditemui pada keyboard adalah karakter 0 – 126, sisanya (127 – 255)
    adalah karakter khusus.
    Karakter yang perlu anda ketahui :
    • #32 = spasi
    • #13 = enter
    • #27 = escape
    • #0 – #31, #127 = tidak dapat dicetak pada printer (non printable)
    • #32 – 126 = dapat dicetak (printable)

Senin, 21 Agustus 2017

BAHASA PEMROGRAMAN


Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.
Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
  1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
  2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya kode_mesin|MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
  3. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
  4. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.Komputer dapat mengerti bahasa manusia itu diperlukan program compiler atau interpreter.
Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah.

Pengertian Bahasa Pemrograman

Bahasa Pemrograman (programming language) adalah sebuah instruksi standar untuk memerintah komputer agar menjalankan fungsi tertentu. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.

Fungsi

Fungsi bahasa pemrograman yaitu memerintah komputer untuk mengolah data sesuai dengan alur berpikir yang kita inginkan. Keluaran dari bahasa pemrograman tersebut berupa program/aplikasi. Contohnya adalah program yang digunakan oleh kasir di mal-mal atau swalayan, penggunaan lampu lalu lintas di jalan raya, dll.

Bahasa Pemrograman yang kita kenal ada banyak sekali di belahan dunia, tentang ilmu komputer dan teknologi dewasa ini. Perkembangannya mengikuti tingginya inovasi yang dilakukan dalam dunia teknologi. Contoh bahasa pemrograman yang kita kenal antara lain adalah untuk membuat aplikasi game, antivirus, web, dan teknologi lainnya.
Bahasa pemrograman komputer yang kita kenal antara lain adalah Java, Visual Basic, C++, C, Cobol, PHP, .Net, dan ratusan bahasa lainnya. Namun tentu saja kebutuhan bahasa ini harus disesuaikan dengan fungsi dan perangkat yang menggunakannya.
Secara umum bahasa pemrograman terbagi menjadi 4 kelompok, yaitu :
  • Object Oriented Language (Visual dBase, Visual FoxPro, Delphi, Visual C)
  • High Level Language (seperti Pascal dan Basic)
  • Middle Level Language (seperti bahasa C), dan
  • Low Level Language (seperti bahasa Assembly)

Tingkatan

Bahasa Tingkat Tinggi

Bahasa pemrograman masuk tingkat ini karena bahasa tersebut mendekati bahasa manusia. Contohnya bahasa Basic, Visual Basic, Pascal, Java, PHP.

Bahasa Tingkat Menengah

Disebut tingkat menengah karena bisa masuk ke dalam bahasa tingkat tinggi maupun rendah. Contohnya bahasa C.


Bahasa Tingkat Rendah

Bahasa pemrograman masuk tingkat ini karena bahasanya masih jauh dari bahasa manusia. Contohnya bahasa Assembly.


PENGERTIAN BAHASA PEMROGRAMAN TINGKAT TINGGI DAN TINGKAT RENDAH

1. Bahasa Pemrograman Tingkat Tinggi
          
     Bahasa pemrograman tingkat tinggi adalah sebuah bahasa pemrograman yang jika dibandingkan dengan bahasa pemrograman tingkat rendah memiliki sifat lebih mudah digunakan, lebih portabel (mudah diadaptasikan) antar-platform, dan lebih abstrak. Bahasa-bahasa semacam ini sering melakukan abstraksi terhadap beberapa operasi CPU, seperti halnya pengaksesan memori.

     A) Fitur - fitur bahasa pemrograman tingkat tinggi
Istilah "bahasa pemrograman tingkat tinggi" tidak serta merta menjadikan bahasa tersebut lebih baik dibandingkan dengan bahasa pemrograman tingkat rendah. Akan tetapi, maksud dari "tingkat tinggi" di sini merujuk kepada abstraksi yang lebih tinggi dibandingkan dengan bahasa tingkat rendah terhadap bahasa mesin. Dibandingkan dengan harus berurusan dengan register, alamat memori dan stack-stack panggilan, bahasa pemrograman tingkat tinggi akan berurusan dengan variabellarik, dan ekspresi aritmetika atau aljabar Boolean. Selain itu, tidak seperti bahasa rakitan, bahasa tingkat tinggi tidak memiliki opcode atau kode operasi yang dapat secara langsung menjadikan bahasa tersebut menjadi kode mesin. Fitur lainnya seperti rutin-rutin penanganan string, fitur pemrograman berorientasi objek, input/output terhadap berkas juga terdapat di dalam jenis bahasa ini.
Secara umum, bahasa tingkat tinggi akan membuat pemrograman komputer yang kompleks menjadi lebih sederhana, sementara bahasa tingkat rendah cenderung untuk membuat kode yang lebih efisien. Dalam sebuah bahasa tingkat tinggi, elemen-elemen kompleks dapat dipecah ke dalam beberapa elemen yang lebih sederhana, meski masih dapat dianggap kompleks, di mana bahasa tersebut menyediakan abstraksi. Karena alasan ini, kode-kode yang harus berjalan dengan efisien dapat ditulis dalam bahasa pemrograman tingkat rendah, sementara bahasa tingkat tinggi digunakan untuk mempermudah pemrograman.
Akan tetapi, dengan bertambah rumitnya arsitektur mikroprosesor modern, kompilator-kompilator bahasa pemrograman tingkat tinggi dapat membuat kode yang lebih efisien dibandingkan dengan para programmer bahasa pemrograman tingkat rendah yang melakukannya secara manual.
Perlu dicatat bahwa istilah "tingkat tinggi" dan "tingkat rendah" adalah relatif. Pada awalnya, bahasa rakitan dianggap sebagai bahasa tingkat rendah, sementara COBOLC, dan lain-lainnya dianggap sebagai bahasa tingkat tinggi, mengingat mereka mengizinkan abstraksi terhadap fungsi, variabel, dan evaluasi ekspresi. Akan tetapi, banyak programmer saat ini mungkin menganggap bahasa C sebagai bahasa pemrograman tingkat rendah, mengingat bahasa pemrograman tersebut mengizinkan akses memori secara langsung dengan menggunakan alamatnya, dan juga dapat menggunakan beberapa direktif bahasa rakitan.

Ada tiga buah model eksekusi untuk bahasa tingkat tinggi, yakni:
·         Diinterpretasikan
Bahasa jenis ini akan dibaca dan dieksekusi secara langsung tanpa adanya proses atau tahap kompilasi oleh kompilator. Alat bantu yang mampu melakukannya disebut sebagai penerjemah (interpreter).
·         Dikompilasi
Bahasa jenis ini akan ditransformasikan ke dalam bentuk yang dapat dieksekusi sebelum dijalankan. Ada dua jenis kompilasi yang sering digunakan, yakni:
·         Intermediate representation
Ketika sebuah bahasa dikompilasi ke dalam intermediate representation, representasi tersebut dapat dioptimalkan atau disimpan untuk eksekusi pada lain waktu tanpa adanya kebutuhan untuk membaca lagi kode sumber program. Ketika representasi intermediate disimpan, umumnya, hal tersebut dinamakan dengan bytecode.
·         Machine code generation
Beberapa bahasa dapat melakukan kompilasi secara langsung ke dalam bahasa mesin.
·         Ditranslasikan
Sebuah bahasa juga dapat ditranslasikan ke dalam bahasa pemrograman tingkat rendah di mana kompilator kode bahasa asli telah beredar luas. Bahasa pemrograman C merupakan salah satu target yang umum untuk translator seperti ini.
·         Say no to tytyd



2. Bahasa Pemrogaman Tingkat Rendah

     Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya kode mesin MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.

     Bahasa rakitan atau lebih umum dikenal sebagai Assembly digunakan dalam pemrograman komputer, mikroprosesor, pengendali mikro, dan perangkat lainnya yang dapat diprogram. Bahasa rakitan mengimplementasikan representasi atas kode mesin dalam bentuk simbol-simbol yang secara relatif lebih dapat dipahami oleh manusia. Berbeda halnya dengan bahasa-bahasa tingkat tinggi yang berlaku umum, bahasa rakitan biasanya mendukung secara spesifik untuk suatu ataupun beberapa jenis arsitektur komputer tertentu. Dengan demikian, portabilitas bahasa rakitan tidak dapat menandingi bahasa-bahasa lainnya yang merupakan bahasa pemrograman tingkat tinggi. Namun, bahasa rakitan memungkinkan programmer memanfaatkan secara penuh kemampuan suatu perangkat keras tertentu yang biasanya tidak dapat ataupun terbatas bila dibuat dengan menggunakan bahasa pemrograman tingkat tinggi.
     Pada bahasa rakitan, programmer umumnya menggunakan sebuah program utilitas yang disebut sebagai perakit (bahasa Inggris: assembler) yang digunakan untuk menerjemahkan kode dalam bahasa rakitan tersebut ke dalam kode mesin untuk perangkat keras tertentu. Sebuah perintah dalam bahasa rakitan biasanya akan diterjemahkan menjadi sebuah instruksi mnemonic dalam kode mesin, berbeda halnya dengan kompiler pada bahasa pemrograman tingkat tinggi yang menerjemahkan sebuah perintah menjadi sejumlah instruksi dalam kode mesin.
     Beberapa perangkat lunak bahasa rakitan terkenal biasanya menyediakan tambahan fitur untuk memfasilitasi proses pengembangan program, mengontrol proses perakitan, dan alat bantu debugging.