STMIK Mercusuar

STMIK Mercusuar

Java Platform Standard Edition 8 Documentation

Oracle has two products that implement Java Platform Standard Edition (Java SE) 8: Java SE Development Kit (JDK) 8 and Java SE Runtime Environment (JRE) 8.
JDK 8 is a superset of JRE 8, and contains everything that is in JRE 8, plus tools such as the compilers and debuggers necessary for developing applets and applications. JRE 8 provides the libraries, the Java Virtual Machine (JVM), and other components to run applets and applications written in the Java programming language. Note that the JRE includes components not required by the Java SE specification, including both standard and non-standard Java components.
The following conceptual diagram illustrates the components of Oracle's Java SE products:
JDK Java Language
Java Language
  
Tools &
Tool APIs
javajavacjavadocjarjavapjdepsScripting
SecurityMonitoringJConsoleVisualVMJMCJFR
JPDAJVM TIIDLRMIJava DBDeployment
InternationalizationWeb ServicesTroubleshooting
JREDeployment
Java Web StartApplet / Java Plug-in
User Interface
Toolkits
JavaFX
SwingJava 2DAWTAccessibility
Drag and DropInput MethodsImage I/OPrint ServiceSound
Java SE
API
Integration
Libraries
IDLJDBCJNDIRMIRMI-IIOPScripting
Compact
Profiles
Other Base
Libraries
BeansSecuritySerializationExtension Mechanism
JMXXML JAXPNetworkingOverride Mechanism
JNIDate and TimeInput/OutputInternationalization
lang and util
Base Libraries
lang and util
MathCollectionsRef ObjectsRegular Expressions
LoggingManagementInstrumentationConcurrency Utilities
ReflectionVersioningPreferences APIJARZip
Java Virtual Machine
Java HotSpot Client and Server VM
  


Sumber : http://docs.oracle.com/javase/8/docs/  
Print Friendly and PDF

3 MACAM STRUKTUR DASAR ALGORITMA

Struktur Dasar Algoritma terdiri dari 3 macam, yaitu  struktur sekuensial, struktur pemilihan dan struktur perulangan.

1.      Struktur Sekuensial (runtutan)
Runtunan  merupakan struktur dasar algoritma terdiri dari satu atau lebih instruksi, yang setiap instruksinya dikerjakan secara berurutan sesuai dengan urutan penulisan algoritma tersebut. Sebuah instruksi dikerjakan setelah instruksi sebelumnya dikerjakan.
2.      Struktur Pemilihan (selection)
Sruksur seleksi menyatakan pemilihan  langkah yang didasarkan  oleh suatu kondisi atau pengambilan suatu keputusan. Struktur ini ditandai selalu dengan bentuk flowcart decision (flowcart yang berbentuk belah ketupat).
Bentuk Instruksi pemilihan :
-          Instruksi IF
Instruksi ini lebih cocok digunakan untuk pengambilan keputusan berdasarkan perbandingan nilai dengan operator <, <=, >, >= maupun operator = =,!=.
Bentuk-bentuk instruksi IF :
a.       Pernyataan IF Sederhana
b.      Pernyataan IF-ELSE
c.       Pernyataan IF Bertingkat
-          Instruksi SWITCH
Instruksi ini lebih cocok dipakai untuk pengambilan keputusan berdasarkan perbandingan nilai = =.
3.      Struktur Perulangan
Struktur ini memberikan suatu perintah atau tindakkan yang dilakukan beberapa kali. Misalnya jika teman mau menuliskan kata “Belajar C” sebanyak sepuluh kali. Akan  lebih efisien jika teman menggunakan sturktur ini dari pada sekedar menuliskannya berturut-turut sebanyak sepuluh kali.
Print Friendly and PDF

Tujuan Mempelajari Algoritma


Selamat beraktivitas sobat,  jumpa kembali dengan saya.  kali ini saya akan memberikan sebuah informasi yang mungkin sudah banyak tersebar di Internet ini.  Namun, tidak ada salahnya untuk membuatnya menjadi lebih banyak lagi . Oke langsung saja simak dengan baik sobat.

Apa itu algoritma?
Algoritma merupakan sebuah rangkaian proses komputasional yang mengkonversi satu atau beberapa masukan (input) menjadi satu atau beberapa keluaran (output). Kata algoritma sendiri berasal dari nama seorang matematikawan Persia(sekarang Iraq) yaitu Abu Ja`far Mohammed ibn Musa al- Khowarizmi. Al-Khowarizmi sendiri sekarang merupakan sebuah kota Rusia yang bernama Khiva. Dari Al-Khowarizmi diturunkan namanya menjadi Algoritma.

Kenapa harus belajar Algoritma?
Secara singkat, kita mempelajari algoritma supaya kita bisa menyelesaikan permasalahan-permasalahan komputasional secara effiisien.
Secara lebih spesifk, tujuan mempelajari algoritma adalah sebagai berikut :
  • Dari segi praktikal, kita bisa menyelesaikan berbagai permasalahan yang ada dengan menggunakan sekumpulan algoritma yang sudah tersedia. Sebagai contohnya, jika kita ingin mengurut sejumlah bilangan secara menaik/menurun maka kita bisa menggunakan algoritma pengurutan yang tersedia misalnya Bubble Sort,Merge Sort,Quick Sort dan sebagainya. Selain itu, kita juga bisa merancang algoritma baru yang e_sien untuk permasalahan yang lebih spesifik lagi.
  • Dari segi teoritikal, algoritma merupakan bagian terpenting dari pembelajaran Teknik Informatika/Ilmu Komputer. Pembelajaran algoritma sendiri merupakan inti dari Teknik Informatika dan wajib dipahami oleh mahasiswa sebelum mempelajari mata kuliah tingkat lanjutan.


Ciri – ciri algoritma:
1.      Ada input.
2.      Ada proses.
3.      Ada output.
4.      Memiliki instruksi-instruksi yang jelas dan tidak ambigu.
5.      Harus mempunyai stopping role.

Sifat algoritma :
1.      Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman.
2.      Tidak tergantung pada suatu bahasa pemrograman.
3.      Notasi – notasinya dapat digunakan untuk seluruh bahasa manapun

Algoritma dapat digunakan untuk merepresentasikan suatu urutan kejadian secara logis dan dapat diterapkan di semua kejadian sehari-hari. Contoh kasus dalam kehidupan sehari-hari:

Algoritma memasak mie instan.
1.      Rebus air hingga mendidih.
2.      Masukkan mie instan ke dalam air mendidih tersebut.
3.      Tunggu beberapa hingga mie terlihat matang.
4.      Jika mie sudah dirasa matang, angkat dan tiriskan.
5.      Campurkan bumbu-bumbu, dan aduk hingga rata.

Algoritma menghitung luas persegi panjang.
1.      Masukkan panjang.
2.      Masukkan lebar.
3.      Nilai luas adalah panjang * lebar.
4.      Tampilkan luas.

Jadi algoritma adalah jembatan untuk mempermudah pemahaman alur kerja suatu proses Pseudo-code. Pseudo-code adalah kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu  masalah. seudo-code sering digunakan oleh seseorang untuk menuliskan algoritma dari suatu permasalahan. Pseudo-code berisikan langkah-langkah untuk menyelesaikan suatu permasalahan [hampir sama dengan algoritma], hanya saja bentuknya sedikit berbeda dari algoritma.

Pseudo-code menggunakan bahasa yang hampir menyerupai bahasa pemrograman. Selain itu biasanya pseudo-code menggunakan bahasa yang mudah dipahami secara universal dan juga lebih ringkas dari pada algoritma. Beda antara algoritma dan pseudo-code.

Contoh algoritma mencari luas persegi panjang :
Algoritma
Pseudo-code
Masukkan panjang
Input panjang
Masukkan Lebar
Input panjang
Nilai luas adalah panjang x lebar
Luas ←panjang x lebar
Tampilkan luas
Print luas

Contoh lain;
Algoritma
Pseudo-code
Jika sudah selesai, cetak invoice
IF KONDISI_SELESAI = “DONE” 
THEN PRINT INVOICE
Nilai A dibagi dengan 2
A←A/2
Jika nilai A lebih besar dari 2
maka nilai A dikalikan 3
IF A > 2 THEN A ← A x 3
Dari dua bilangan A dan B, cari bilangan yang terbesar
IF A > B THEN PRINT A ELSE PRINT Bini
Masukkan semua mata kuliah
yang ingin diambil pada semester
ini
DARI MATKUL = 0 SAMPAI MATKUL <= MATKUL_DIINGINKAN, MASUKAN
DATA MATKUL

Sebenarnya tidak ada aturan mengikat tentang penulisan algoritma dan pseudo-code, karena guna kedua hal ini adalah untuk memudahkan seseorang untuk menggambarkan urutan suatu kejadian. Biasanya untuk para programmer, guna kedua hal ini adalah sebagai dasar alur pembuatan program. Di mana dapat merepresentasikan alur cerita dari client tentang kebutuhan dasar dari sebuah program, sehingga lebih mudah untuk dipahami.Jadi pseudo-code bisa dikatakan juga sebagai algortima yang sudah sedikit digabungkan dengan bahasa pemrograman yang akan digunakan.

FLOWCHART
Definisi:
Bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial
Fungsi:
1.      Untuk mendesain program.
2.      Untuk merepresentasikan program.

Input –>Proses –> Output

Secara garis besar, unsur-unsur pemrograman adalah Semua bahasa pemrograman, pasti mempunyai komponen-komponen sebagai berikut:
1.      Input (scanf).
2.      Percabangan (if, switch).
3.      Perulangan (while, for, for each, loop).
4.      Output (printf).
Print Friendly and PDF

Notasi Algoritma dan Aturan Penulisan Teks Algoritma

Notasi Algoritma
Dalam suatu penulisan algoritma terkadang kita sulit untuk mengerti dan memahami maksud dari algoritma tersebut. Selain itu juga kita sulit untuk menuliskan algoritmanya. Untuk itu agar mempermudahnya dapat dilakukan notasi – notasi algoritma. Notasi algoritma merupakan rancangan penyelesaian masalah (algoritma) yang dituliskan ke dalam notasi (cara penulisan khusus).
Notasi algoritma yang sering dijumpai ada 3 macam yaitu :
Notasi deskriptif, yaitu dengan cara menuliskan langkah-langkah penyelesaian masalah dengan kalimat-kalimat yang jelas dan deskriptif disertai dengan urutan (nomor urut) yang jelas. Selain itu juga Dengan notasi ini, deskripsi setiap langkah dijelaskan dengan bahasa yang jelas. Notasi ini cocok untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relatif sukar.
Notasi bagan alir (flow chart), yaitu algoritma menggunakan bagan alir dengan memanfaatkan bentuk-bentuk geometri seperti persegi panjang, jajaran genjang, lingkaran dan sebagainya. Sama halnya dengan notasi deskriptif, notasi ini cocok untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relatif sukar.
Notasi pseudo-code, yaitu notasi algoritma yang praktis dan mirip dengan bahasa pemrograman tingkat tinggi seperti Pascal. Banyak notasi pseudo-code yang digunakan oleh para ahli komputer dan berbeda-beda sehingga tidak ada aturan baku dalam penulisan pseudo-code ini, tetapi yang paling banyak digunakan dalam algoritma pemrograman adalah yang mendekati bahasa pascal. Keuntungan menggunakan notasi pseudo code adalah kemudahan mengkonversinya lebih tepat yang disebut mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudo code dengan notasi bahasa pemrograman.
Aturan Penulisan Teks Algoritma
Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis alam bentuk notasi apapun , asalkan mudah dibaca dan dimengerti. Tidak ada notasi yang baku dalam penulisan teks algoritma. Tiap orang dapat membuat aturan penulisan dan algoritma sendiri. Namun, agar notasi algoritma dapat dengan mudah ditranslasi ke alam notasi bahasa pemrograman, maka sebaiknya notasi algoritma itu berkoresponden dengan notasi bahasa pemrograman secara umum. Pada dasarnya, teks algoritma disusun atas tiga bagian (blok) : bagian judul (header) agoritma, bagian deklarasi, dan bagian deskripsi. Setiap bagian dapat diberi komentar untuk memperjelas maksud teks yang dituliskan. Komentar biasanya ditulis menggunakan kurung kurawal.
1) Judul Algoritma
Judul algoritma adalah bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama algoritma sebaiknya singkat, namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut. Di bawah nama algoritma disertai dengan penjelasan singkat (intisari) tentang apa yang dilakukan oleh algoritma. Penjelasan di bawah nama algoritma sering dinamakan juga spesifikasi algoritma. Algoritma harus ditulis sesuai dengan spesifikasi yang didefinisikan.
2) Deklarasi
Di dalam algoritma, deklarasi nama adalah bagian untuk mendefinisikan semua nama yang dipakai di dalam algoritma. Nama tersebut dapat berupa nama tetapan, nama peubah, nama tipe, nama prosedur dan nama fungsi.
3) Deskripsi
Deskripsi adalah bagian terpenting dari struktur algoritma. Bagian ini berisi uraian langkah-langkah penyelesaian masalah. Langkah-langkah ini dituliskan dengan notasi yang lazim dalam penulisan algoritma. Setiap langkah algoritma dibaca dari langkah paling atas hingga langkah paling bawah. Urutan penulisan menentukan urutan pelaksanaan perintah.

— Algoritma berisi langkah-langkah penyelesaian masalah. Langkah-langkah tersebut dapat ditulis dalam notasi apapun, asalkan mudah dibaca dan dimengerti, karena memang tidak ada notasi baku dalam penulisan algoritma.
— Agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkorespnden dengan notasi bahasa pemrograman secara umum.
— Judul adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan nama dengan menentukan apakah teks tersebut adalah program, prosedur, fungsi. Setelah judul disarankan untuk menuliskan spesifikasi singkat dari teks algoritma tersebut. Nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut.
— Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan :
— Nama type
— Nama konstanta
— Nama variabel
— Nama fungsi
— Nama prosedur
— Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan. Komponen teks algoritma dalam pemrograman procedural dapat berupa :
◦ Instruksi dasar seperti input/output, assignment
◦ Sequence (runtutan)
◦ Analisa kasus
◦ Perulangan
— Setiap langkah algoritma dibaca dari “atas” ke “bawah”. Urutan deskripsi penulisan menentuan urutan langkah pelaksanaan perintah.

Referensi :
http://www.amazinglight.info/program-programming-dan-notasi-algoritma.html
yusufhdc.edublogs.org/files/2010/01/cara-penulisan-algoritma.ppt
Print Friendly and PDF

Conditional (ternary) Operator

The conditional (ternary) operator is the only JavaScript operator that takes three operands. This operator is frequently used as a shortcut for the if statement.

SyntaxEDIT

condition ? expr1 : expr2 

Parameters

condition
An expression that evaluates to true or false.
expr1expr2
Expressions with values of any type.

DescriptionEDIT

If condition is true, the operator returns the value of expr1; otherwise, it returns the value of expr2. For example, to display a different message based on the value of the isMember variable, you could use this statement:
'The fee is ' + (isMember ? '$2.00' : '$10.00');
You can also assign variables depending on a ternary result:
var elvisLives = Math.PI > 4 ? 'Yep' : 'Nope';
Multiple ternary evaluations are also possible (note: the conditional operator is right associative):
var firstCheck = false,
    secondCheck = false,
    access = firstCheck ? 'Access denied' : secondCheck ? 'Access denied' : 'Access granted';
  
console.log(access); // logs "Access granted"
You can also use ternary evaluations in free space in order to do different operations:
var stop = false, age = 16;

age > 18 ? location.assign('continue.html') : stop = true;
You can also do more than one single operation per case, separating them with a comma:
var stop = false, age = 23;

age > 18 ? (
    alert('OK, you can go.'),
    location.assign('continue.html')
) : (
    stop = true,
    alert('Sorry, you are much too young!')
);
You can also do more than one operation during the assignation of a value. In this case, the last comma-separated value of the parenthesis will be the value to be assigned.
var age = 16;

var url = age > 18 ? (
    alert('OK, you can go.'), 
    // alert returns "undefined", but it will be ignored because
    // isn't the last comma-separated value of the parenthesis
    'continue.html' // the value to be assigned if age > 18
) : (
    alert('You are much too young!'),
    alert('Sorry :-('),
    // etc. etc.
    'stop.html' // the value to be assigned if !(age > 18)
);

location.assign(url); // "stop.html"

SpecificationsEDIT

SpecificationStatusComment
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Conditional Operator' in that specification.
Draft 
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Conditional Operator' in that specification.
Standard 
ECMAScript 5.1 (ECMA-262)
The definition of 'The conditional operator' in that specification.
Standard 
ECMAScript 1st Edition (ECMA-262)
The definition of 'The conditional operator' in that specification.
StandardInitial definition. Implemented in JavaScript 1.0.
Print Friendly and PDF