Rabu, 06 November 2013

JINCHURIKI

Jinchūriki (人 柱 力; harfiah berarti " Kekuatan Pengorbanan Manusia " ) adalah manusia yang memiliki binatang berekor disegel dalam diri mereka . Mereka menunjukkan kekuatan yang luar biasa karena cadangan chakra besar yang mereka miliki . Para jinchūriki biasanya orang yang kesepian , dilihat oleh orang di sekitar mereka sebagai binatang berekor yang telah disegel di dalam mereka , yang menyebabkan prasangka dan dibenci dan ditakuti . Menurut Deidara , dua yang pertama jinchūriki Akatsuki telah menangkap kemanusiaan dibenci , dan desa-desa mereka sebenarnya senang bisa menyingkirkan mereka . [ 1 ] Namun, beberapa jinchūriki menolak untuk goyah , meskipun mereka telah dijauhi , dan mereka akhirnya mendapatkan rasa hormat . Contoh tersebut termasuk Naruto Uzumaki , Killer B , Yagura , Yugito Nii , dan Gaara . Isi [show ] sejarah Sepuluh ekor dan Sage dari Enam Jalan The Sage dari Enam Jalan dan Sepuluh -ekor . Dulu sebelum berdirinya desa tersembunyi , selama era perang tak berujung antara umat manusia , ada ada Shinju , sebuah pohon yang dipuja sebagai dewa yang berbuah sekali setiap seribu tahun . Meskipun dilarang untuk mengkonsumsi buah Shinju , itu dimakan oleh Putri Kaguya Ōtsutsuki , yang menggunakan kekuasaan itu diberikan untuk mengakhiri perang mengganggu tanah . Beberapa waktu setelah ini, Kaguya melahirkan seorang putra yang menjadi manusia pertama lahir dengan chakra . Marah oleh pencurian listrik , yang Shinju diasumsikan bentuk mengerikan dari apa yang banyak dibaptis sebagai " Sepuluh -ekor " . [ 2 ] Sepuluh-ekor mengamuk di seluruh tanah sampai anak Kaguya yang berhasil sendirian mengalahkan binatang itu dan disegel itu dalam dirinya sendiri , menjadi jinchūriki pertama dalam sejarah . Tindakan ini , bersama dengan banyak perbuatan besar lainnya sepanjang hidupnya , mengakibatkan dengan anak Kaguya yang dipuja sebagai " Sage dari Enam Jalan " . Namun, mengetahui bahwa kematiannya akan melepaskan Sepuluh - ekor kembali ke dunia untuk melanjutkan mengamuk dan merebut kembali chakra bahwa manusia sekarang memiliki , Sage dipisahkan chakra rakasa itu dari tubuhnya sebelum menggunakan Chibaku Tensei untuk menutup kulit dalam apa yang akan menjadi bulan . Dari sana, Sage menggunakan Penciptaan nya Semua Hal kemampuan untuk membagi chakra ke sembilan ekor binatang [ 3 ] [ 4 ] . Berabad-abad kemudian, pada saat pembentukan desa shinobi , Emas dan Perak Brothers Kumogakure ditugaskan untuk menangkap Kurama , tapi keduanya ditelan utuh oleh rubah . Namun, mereka berhasil bertahan hidup dengan memakan beberapa daging sendiri biasanya - mematikan selama dua minggu , menjadi yang pertama orang dikenal sejak Sage yang akan diwarnai dengan chakra ekor [ 5 ] [ 6 ] Mito Uzumaki kemudian disegel Kurama dalam dirinya setelah . kemenangan suaminya melawan Madara Uchiha di Lembah Akhir . [ 7 ] Selama waktunya sebagai Hokage Pertama , Hashirama menggunakan Kayu Release nya kekkei genkai untuk menangkap dan memberikan tailed binatang beberapa desa shinobi lain sebagai perjanjian damai , untuk menstabilkan keseimbangan kekuasaan di antara mereka . [ 8 ] Kedua Kazekage Sunagakure adalah yang pertama untuk penelitian jinchūriki , dengan desa-desa lain berikut segera setelah itu, dengan berharap untuk menggunakan binatang sebagai senjata pada host manusia , atau dalam kasus Konohagakure , menjaga binatang dari merugikan desa mereka , sentimen bahwa binatang berekor benar-benar membenci [ 9 ] . Untuk mencegah jinchūriki dari balik pengkhianat , adalah tradisi untuk host yang akan dipilih dari keluarga Kage desa sendiri . Dengan cara ini , jinchūriki tidak hanya memiliki ikatan yang kuat kesetiaan ke desa dan pemimpin mereka , tetapi mereka juga melayani untuk memamerkan kekuatan Kage [ 10 ] Sebagai contoh , Gaara adalah anak dari Kazekage Keempat , dan Killer B adalah . Yang adik angkat dan mitra dari Raikage Keempat . Sealing Akatsuki penggalian Shukaku Shukaku yang diekstrak dari Gaara oleh Akatsuki . Setiap desa telah menggunakan segel yang berbeda saat membuat jinchūriki mereka. Sebagai contoh, Konoha menggunakan Delapan Trigram Sealing Style , dan Kumogakure menggunakan Seal Armour Besi . Akatsuki , sebuah organisasi yang berperan dalam seri ini untuk menangkap jinchūriki , menggunakan Teknik Sealing : phantom Dragons Sembilan Mengkonsumsi teknik Segel untuk mengekstrak dan menutup tailed binatang dalam Patung iblis dari Jalan Luar untuk penggunaan masa depan . Ini telah terbukti semacam kompatibilitas antara ekor dan potensi jinchūriki diperlukan, [ 11 ] [ 12 ] untuk menjadi tuan rumah dari Sepuluh -ekor , seseorang harus menjadi orang yang sepenuhnya hidup , sebagai lawan untuk memiliki tubuh mayat hidup diciptakan oleh Panggil : Impure Dunia Reinkarnasi [ 13 ] Jika ekor dihapus dari tubuh jinchūriki nya itu, jinchūriki akan mati . . Demikian pula, jika jinchūriki mati dengan ekor masih disegel di dalam mereka , binatang akan mati juga . Karena itu , binatang berekor cenderung sangat protektif terhadap jinchūriki mereka , dan akan mengambil tindakan apapun kapan hidup mereka dalam bahaya . Namun , ia mengungkapkan bahwa binatang berekor benar-benar dapat bertahan kematian jinchūriki mereka , dengan satu-satunya konsekuensi adalah bahwa hal itu akan memakan waktu bagi mereka untuk bangkit kembali tanpa tuan rumah . [ 14 ] [ 15 ] Juga , pengecualian langka dari jinchūriki hidup ekstraksi dapat terjadi , jika tuan rumah mengatakan memiliki stamina yang cukup tinggi [ 16 ] . Segel yang membuat ekor dalam jinchūriki perempuan adalah pada terlemah saat dia melahirkan , karena memelihara anak dalam rahim mengambil diutamakan daripada penguatan segel , yang melemahkan segel dalam proporsi langsung . Dengan demikian , seorang ninja yang diperlukan untuk menjaga segel utuh selama melahirkan , dan mengembalikan segel kembali ke kekuatan penuh setelah itu. Sebuah kehamilan penuh panjang untuk jinchūriki wanita adalah sekitar sepuluh bulan . [ 17 ] kemampuan transformasi Artikel utama : Jinchūriki Formulir dan Sembilan-ekor mode Chakra teknik Lihat juga : Ekor Binatang Keterampilan Penciptaan tinta B Pembunuh mendemonstrasikan Binatang Keterampilan Ekor . Dengan akses jinchūriki terhadap binatang berekor ' cadangan chakra besar dan pelatihan , mereka menggunakan binatang berekor ' kemampuan yang cukup untuk mengembangkan gaya bertarung yang unik mereka sendiri : Gaara memanipulasi pasir, Yugito bernafas api , Yagura terwujud karang, Roshi menciptakan dan memanipulasi lava , Utakata menghasilkan korosif alkali , Fu mampu penerbangan, [ 18 ] Pembunuh B memproduksi tinta , dan Naruto memiliki regenerasi cepat dan dapat mendeteksi emosi negatif . Seperti mengubah jinchūriki diri menjadi rupa binatang ekor mereka, selanjutnya akan meningkatkan kekuatan kemampuan mereka . kontrol Artikel utama: Ekor Binatang Kontrol HachibiV2 B Pembunuh mengandung daya Gyūki dalam bentuk humanoid . Para jinchūriki memiliki potensi untuk mengontrol kekuatan binatang ekor mereka , namun memerlukan pelatihan intensif dan kemauan belaka untuk benar menggunakannya. Menurut Gerotora , setiap kali jinchūriki menarik keluar sejumlah binatang berekor ' chakra , binatang ' jiwa sendiri akan sekering bersama dengan itu , yang biasanya melibatkan sebuah perjuangan batin antara mereka sebagai jinchūriki masuk lebih dalam bentuk tailed binatang mereka . Jika jinchūriki adalah untuk benar-benar memberikan ke pengaruhnya , segel yang berisi mereka akan pecah dan ekor akan dirilis . [ 19 ] Untuk jinchūriki untuk memiliki kontrol penuh , mereka harus menemukan sesuatu untuk mengisi kekosongan dalam kesepian mereka hati untuk memberi mereka kekuatan . [ 20 ] Daftar Jinchūriki Shukaku Shukaku Pertama Jinchūriki [ 21 ] Kedua Shukaku Jinchūriki [ 21 ] gaara Matatabi Yugito Nii Isobu Rin Nohara [ 22 ] Yagura Son Goku Roshi Kokuo han Saiken Utakata Chōmei Fu Gyūki Pastor Fukai itu [ 23 ] Fukai Paman [ 23 ] Fukai pembunuh B Kurama Mito Uzumaki Kushina Uzumaki Minato Namikaze ( setengah Yin ) Naruto Uzumaki ( Yang setengah ) Shinju Hagoromo Ōtsutsuki Obito Uchiha [ 24 ] Kasus serupa Ketika seseorang memiliki chakra ekor binatang itu tetapi tidak binatang itu sendiri , orang tersebut dianggap sebagai pseudo- jinchūriki . , [ 25 ] (人柱 力 もどき, jinchūrikimodoki TV Inggris " Simulasi - jinchūriki " ) Ada tiga kasus yang berhasil ini sejauh ini : . Gold dan Silver Brothers [ 6 ] Sora ( anime saja ) , [ 26 ] dan Fukai (setelah reinkarnasi , anime saja ) [ 27 ] Karena keberhasilan Emas dan Perak Brother dalam memperoleh kekuasaan ekor binatang itu , yang tidak disebutkan namanya Kumo - nin mencoba untuk menyalin metode mereka dengan makan salah satu tentakel Gyūki , tapi bukannya menjadi jinchūriki , ia meninggal sebagai akibatnya . [ 28 ] Hal ini mengatakan bahwa Kinkaku dan Ginkaku adalah " sesuatu yang istimewa " dan dinyatakan oleh Raikage Keempat bahwa mereka mungkin akan jauh terkait dengan Sage dari Enam Jalan . [ 29 ] Dalam anime , Yūkimaru memiliki kemampuan untuk mengendalikan sebagian Isobu [ 30 ] Isobu tidak benar-benar disegel dalam Yūkimaru bagaimanapun, dan dengan demikian , ia bukan jinchūriki benar. . Dalam anime , Kabuto Yakushi digunakan Teknik Rekreasi Tubuh dengan beberapa chakra Kurama dalam rangka untuk membuat tiruan dari bentuk empat ekor Naruto . Membuktikan terlalu kuat untuk kontrol Kabuto , clone mampu menyedot chakra Kurama itu untuk sementara meningkatkan kekuasaannya . [ 31 ] Dalam Naruto : Shippūden the Movie , Yomi dirasuki setan jahat bernama Mōryō , yang disegel pergi oleh ibu Shion . Di Naruto Shippuden 2 : Obligasi , baik Amaru dan Shinnō masing-masing telah menyadap kekuatan Zero -ekor pada waktu yang berbeda , yang disegel dalam Tanah Langit , namun , karena Nol Ekor bukanlah binatang berekor yang sebenarnya , juga tidak makhluk disegel dalam salah satu dari mereka , Amaru dan Shinnō tidak dianggap jinchūriki . Di Naruto 5 : Blood Prison , Muku , seorang anak muda dikorbankan untuk Box Buddha Sukhavati , menjadi dimiliki oleh yōkai bernama Satori . Dalam Naruto 6 : Road to Ninja , mitra Naruto di Genjutsu Dunia , Menma , adalah jinchūriki dari mitra Kurama , Black Sembilan-ekor . Di Naruto Shippuden : Naga blade Tawarikh , utama antagonis Kuroma Tatsushiro direncanakan untuk bergabung dengan lima Genryū untuk menjadi Dragon cahaya sehingga ia dapat menggunakan kekuatannya untuk menghancurkan dunia , yang Yamato dan Naruto pikir mirip dengan menjadi jinchūriki . Kemudian dalam permainan , Akari Tatsushiro malah bergabung dengan Genryū dan menjadi Dragon cahaya , tetapi dikembalikan ke normal oleh Naruto dan Naga blade . keremehan Karena asal-muasal bulan dan itu menjadi pemegang tubuh Sepuluh - ekor ' , ekor dan kemudian jinchūriki mereka dipengaruhi oleh itu , dan masih banyak lagi sehingga saat bulan purnama . Menurut Gaara , Shukaku relishes kesempatan untuk membunuh siapa pun di depan mata setiap saat karena kemarahan bawaan dan haus darah , tapi khususnya pada saat bulan purnama . [ 32 ] Dalam anime , Fukai , selama waktu sebagai Gyūki itu jinchūriki , mencatat bahwa ia akan mengalami kesulitan tidur di malam hari , terutama saat bulan purnama dan pada satu titik terbukti memiliki menekan manifestasi parsial ekor Gyūki setelah ia menatap bulan purnama . Fukai juga ditunjukkan untuk mengambil pil tidur untuk membantu dengan ini efek samping menjadi jinchūriki . [ 33 ] Gaara tewas ketika Akatsuki dihapus Shukaku dari tubuhnya , [ 34 ] tetapi ia kemudian dihidupkan kembali melalui upaya gabungan dari Chiyo dan Naruto . [ 35 ] Meskipun ia tidak lagi memiliki Shukaku disegel dalam dirinya , Gaara masih mempertahankan kemampuan untuk memanipulasi pasir . Kushina mampu selamat dari ekstraksi ekor nya karena vitalitas klan-nya . [ 16 ] Konsep pseudo - jinchūriki dieksplorasi di busur anime - eksklusif , di mana Sora terungkap telah memiliki chakra sisa dari Kurama , dikumpulkan setelah mengamuk Konoha , disegel ke dalam dirinya . Ini terjadi sebelum pengenalan konsep dalam manga dengan Emas dan Perak Brothers. Anak-anak jinchūriki perempuan tampaknya untuk menampilkan pengaruh dari ekor . Satu-satunya contoh menjadi Naruto yang memiliki kumis seperti tanda-tanda pipi yang juga dipamerkan oleh Brothers Gold dan Silver yang ditelan oleh Kurama . Hal ini juga tampaknya menjadi kasus jika ekor binatang disegel dalam diri anak sementara mereka masih dalam kandungan . Ini mungkin menjadi alasan di balik Gaara permanen eye - tanda sementara yang sama dipamerkan oleh ayahnya , bersifat sementara . Takigakure adalah satu-satunya desa yang tidak termasuk salah satu dari Lima Negara Besar Shinobi diketahui telah memiliki jinchūriki . [ 36 ] Isobu adalah hanya dikenal ekor memiliki jinchūriki dari dua desa terpisah, baik Kirigakure dan Konohagakure . Inggris menjuluki terdapat beberapa kesalahan pada apa jinchūriki adalah : misalnya, Shikamaru mengatakan dalam Naruto : Shippūden episode 83 yang Hidan dan Kakuzu mencari " jinchūriki dalam Naruto " , bukannya mengatakan " Fox dalam Naruto " atau " tailed binatang dalam Naruto " . Madara mencatat bahwa ia tidak bisa menjadi Sepuluh -ekor ' jinchūriki dengan tubuhnya reinkarnasi . [ 37 ] Obito berhasil memiliki bereinkarnasi jinchūriki tuan tailed binatang mereka lagi sebagai akibat dari menggunakan penerima chakra dan Jalan Outer untuk sementara mengikat ekor binatang untuk jinchūriki mereka [ 38 ] . Minato Namikaze memiliki setengah Yin Kurama disegel ke kanan jiwanya sendiri sebelum kematiannya : karena ini, ia bisa mengakses mode Chakra Sembilan-ekor setelah bereinkarnasi oleh Orochimaru , [ 39 ] dan karena chakra Kurama disegel ke dalam dirinya memiliki kesadaran sendiri ia dianggap sebagai jinchūriki sejati. [ 40 ] Dalam anime , jinchūriki enam yang digunakan sebagai Obito Enam Jalan of Pain , semua berbagi aktor suara dengan salah satu satu sama lain masing ekor .

NARUTO UZUMAKI

Naruto Uzumaki (うずまき ナルト, Uzumaki Naruto ) adalah karakter judul dan protagonis utama dari seri : Naruto . Dia adalah shinobi genin - tingkat dari Konohagakure , dan anggota Tim Kakashi . Sebuah keturunan ibu dari klan Uzumaki , Naruto adalah jinchūriki dari Yang setengah Kurama - Sembilan-ekor . Meskipun pernah dikucilkan oleh mayoritas desa, ia sekarang dianggap sebagai pahlawan , layak mewarisi posisi ayahnya sendiri pernah diadakan . Isi [show ] latar belakang Naruto dan Kushina2 Sebuah Naruto baru lahir dengan Kushina ibunya . Naruto lahir sebagai putra Hokage Keempat , Minato Namikaze dan Kushina Uzumaki , Kurama kedua jinchūriki . Orang tua Naruto menamainya setelah karakter utama buku pertama Jiraiya , sehingga membuat Sannin walinya . [ 8 ] Sebelum kelahiran Naruto , orang tuanya dan Hokage Ketiga Hiruzen Sarutobi takut bahwa kelahirannya akan membuka segel yang terus Kurama di Kushina . Rencana untuk memastikan hal itu tidak terjadi adalah untuk Kushina untuk dibawa ke lokasi rahasia di luar desa dengan Biwako Sarutobi dan Taji sebagai bidan , sebuah beberapa ANBU sebagai jaminan , dan Minato menjaga segel di tempat . Namun , kata Kushina melahirkan mencapai seorang ninja bertopeng yang ditujukan untuk mengambil rubah untuk tujuan jahatnya sendiri . Membunuh bidan dan ANBU , pria bertopeng mengambil sandera Naruto yang baru lahir untuk menjaga Minato jauh dari Kushina sehingga segel dapat hancur . [ 9 ] Minato dan Kushina melindungi Naruto Minato dan Kushina melindungi Naruto dari Kurama . Meskipun Naruto dibawa ke lokasi yang lebih aman , ninja bertopeng berhasil melepaskan Kurama dan menggunakannya untuk menghancurkan Konoha . Setelah menyimpan Kushina , Minato meninggalkan Naruto dengan dia karena dia pergi untuk menyelamatkan desa mereka. [ 9 ] Setelah putus kontrol bertopeng ninja atas ekor , Minato menyadari satu-satunya cara untuk menghentikan Kurama adalah untuk menutup dalam Naruto , percaya bahwa nya anak suatu hari nanti akan memiliki kebutuhan daya rubah untuk mengalahkan ninja bertopeng ketika ia kembali . [ 10 ] Namun , chakra Kurama itu terlalu besar untuk seal untuk menahan , memaksa Minato terlebih dahulu melemahkan setan , membelah nya Yin dan Yang chakra , penyegelan mantan menjadi Hokage sendiri dan yang terakhir ke anaknya . Ini upaya besar datang pada harga Minato mengorbankan jiwanya serta Kushina mengambil pukulan fatal dari fox dimaksudkan untuk anak mereka . Tiba-tiba yatim , Naruto dibiarkan tumbuh tahu apa-apa dari orang tuanya , hanya menerima nama belakang ibunya sebagai Hiruzen percaya itu adalah terbaik yang tak seorang pun tahu bahwa ia terkait dengan Hokage Keempat . [ 11 ] Naruto seperti seorang anak kecil Naruto sebagai seorang anak . Meskipun permintaan akhir Minato untuk Hiruzen bagi penduduk desa untuk melihat Naruto sebagai pahlawan yang telah membantu mengalahkan Kurama , hanya Hokage Ketiga dan beberapa desa menghormati permintaannya . Orang lain bukan membencinya untuk berisi binatang yang telah menghancurkan rumah mereka , beberapa bahkan melihat dia sebagai rubah sendiri . Selanjutnya , Hiruzen membuat keputusan untuk melarang penyebutan alam Naruto sebagai jinchūriki dengan harapan bahwa anak-anak lain tidak akan membencinya . Namun, bahkan tanpa mengetahui alasannya , sebagian besar anak-anak mengikuti contoh orangtua mereka dan dikucilkan Naruto . [ 12] isolasi sosial akan menyebabkan Naruto untuk mengembangkan kebutuhan untuk diakui melalui kerusakan. Naruto kemudian mendaftar di Akademi. Dalam anime , suatu hari , ia dihadapkan oleh Sakura Haruno , Ino Yamanaka , Shikamaru Nara , dan Choji Akimichi . Mereka menuduhnya membuat seseorang bernama Yota , yang masih asing bagi desa , menghilang. Melihat mereka menatapnya dengan ketidakpercayaan seperti seperti sisa desa , Naruto tumbuh marah dan lari , begitu marah bahwa orang-orang ingin bahkan orang luar di atasnya . Dia kemudian mendengar seorang anak menangis muda yang aneh muncul untuk mengendalikan cuaca , sehingga hujan dengan air matanya . Naruto kemudian menyadari anak ini harus Yota . Segera mengambil suka dengan Naruto , anak laki-laki memintanya untuk mengajarinya bagaimana bersiul seperti ia melihat Naruto lakukan sebelumnya. Seperti Naruto mulai mengajar dia, dua segera menjadi teman dekat . Kemudian, Naruto dan Yota mulai bermain bersama dengan anak-anak lain Konoha yang tahu tentang Yota . Suatu hari , sambil bermain game dari persembunyian , Yota bersikeras untuk menyembunyikan dengan Naruto . Ketika Naruto menyuruhnya untuk bersembunyi di tempat lain , Yota keliru mengira Naruto tidak menyukainya lagi dan lari menangis . Tangisnya menyebabkan rainshower lain, yang memperingatkan ANBU . Ketika mereka mengambil Yota tawanan , Naruto dan yang lainnya mencoba untuk menghentikan ANBU , tetapi untuk keberhasilan . [ 13 ] Bertekad untuk menyelamatkan temannya pertama kalinya , Naruto dan yang lain dipentaskan rencana dengan Naruto bertindak sebagai pengalih perhatian . Meskipun menemukan Yota , ANBU mudah menggagalkan rencana mereka . Naruto dengan cepat bergabung dengan teman-temannya , menolak untuk membiarkan Yota akan terus tahanan . Melihat berapa banyak Naruto peduli untuk dia dan kemudian mendapat tertimpa oleh ANBU , Yota memanggil baut petir untuk mengetuk ANBU keluar . Sangat lemah oleh tindakan , Naruto dilakukan Yota keluar dari desa dengan orang lain , bertekad untuk membawanya ke kebebasan. Setelah mencapai sungai , tidak bisa berjalan di atasnya lagi, mereka memilih untuk berenang . Upaya mereka terbukti sia-sia dan hampir tenggelam , hanya untuk diselamatkan oleh Yota . Setelah overtaxed sendiri , Yota merasa memudar hidupnya . Senang memiliki teman-teman , Yota tidak ingin mereka menderita dengan memori ini sedih dan menghapus semua pengetahuan tentang dia dari pikiran mereka . [ 14 ] Sasuke muda dan Naruto Naruto dan Sasuke persaingan masa kanak-kanak mereka. Naruto akhirnya menjadi mahasiswa Iruka Umino dan bertemu kelasnya pasangan Sasuke Uchiha ketika dua dipasangkan untuk spar terhadap satu sama lain . Meskipun senang pada kesempatan untuk mencapai popularitas dengan mengalahkan Sasuke , Naruto mudah dikalahkan . Dengan melihat mata Sasuke , Naruto menyadari bahwa mereka dipenuhi dengan kebencian . Ketika Iruka mengatakan kepada mereka untuk membuat segel rekonsiliasi , mereka berdua menolak . [ 15 ] Sejak itu , Naruto datang untuk melihat Sasuke sebagai saingan dan dimaksudkan untuk mengalahkan dia . Ketika Naruto menemukan bahwa Sasuke juga yatim piatu , ia diam-diam senang karena tidak menjadi satu-satunya sendirian dan ingin berbicara dengannya , tapi tidak bisa karena kecemburuannya terhadap keterampilan Sasuke . [ 16 ] Namun , Naruto berharap , suatu hari nanti , Sasuke akan mengakui dia sebagai sama. [ 17 ] Dalam anime , ketika Naruto menarik sebuah lelucon pada sekelompok anak laki-laki karena tidak diundang untuk " uji nyali " mereka, ia menolak untuk kembali ke Akademi setelah memelototi oleh Iruka dengan tatapan marah sama orang lain memberinya . Kemudian , Naruto telah ditipu oleh anak laki-laki pemimpin , Hibachi , untuk mendapatkan dirinya dibunuh oleh musuh ninja di perbukitan . Belajar dari hal ini , Iruka akhirnya menyelamatkan Naruto dari trio Takigakure kunoichi sebelum Kakashi Hatake dikirim pengejar mereka . Segera setelah itu, Naruto mulai kelas menghadiri lagi pada waktu itu bahwa Iruka , yang kini bertindak sebagai saudara pengganti untuk menjaga anak itu sejalan , memberikan ceramah tentang Kehendak Api yang menginspirasi Naruto menjadi Hokage berikutnya suatu hari nanti untuk mencapai pengakuan dia berjuang untuk [ 18 ] Terlepas dari Hiruzen dan Iruka , Naruto juga menemukan keluarga pengganti dengan pemilik Ramen Ichiraku : . Teuchi dan Ayame putrinya sampai batas tertentu . kepribadian Foto Naruto Naruto Ninja Formulir Pendaftaran foto. Naruto riang , kurang ajar , lalai , dan lalai untuk klasemen formalitas atau sosial. Dia mewarisi menangkap-frase " Dattebayo ! " (だって ば よ! ) Dari ibunya , yang akan mengatakan " ( da ) ttebane " ( (だ)って ばね) saat gembira atau frustrasi. [ 19 ] Naruto memiliki sejumlah sifat kekanak-kanakan, seperti menjaga uangnya dalam gemuk , dompet hijau - katak dia sayang panggilan " Gama - chan " , [ 20 ] menjadi sangat pemilih makanan (dia hampir secara eksklusif makan ramen dan merupakan pelanggan sering di Ramen Ichiraku ) , dan menjadi takut hantu . Dia juga agak menyimpang , sesuatu yang cenderung ditegur karena oleh Sakura Haruno dan Iruka , tetapi hanya menjadi bahkan lebih setelah bertemu mentornya Jiraiya , menyebabkan banyak orang mengatakan bahwa Jiraiya mengangkat replika sempurna dirinya [ 21 ] Namun . , setiap kali seseorang sayang kepadanya dalam kesulitan atau situasi panggilan untuk itu , Naruto bisa sangat serius , dan langsung akan mencoba untuk datang membantu mereka . Menurut Kakashi , Naruto belajar melalui tubuhnya , karena ia relatif naif , sederhana, dan yang lambat untuk memahami prinsip atau situasi , yang sering membutuhkan analogi disederhanakan dalam rangka memahami apa yang sedang menjelaskan kepadanya . [ 22 ] Secara keseluruhan , Naruto terbaik untuk merespon persaingan dan memiliki banyak kepercayaan diri , keras menyatakan bahwa ia akan menguasai teknik apa pun dia belajar dalam sebagian kecil dari waktu yang biasa , [ 23 ] meskipun ia tidak ragu-ragu untuk meminta bantuan jika ia membutuhkan itu . [ 24 ] Sementara naif seperti ia tampaknya hampir seluruh seri , Naruto telah terbukti memiliki mata yang tajam untuk hal-hal tertentu yang kebanyakan orang tidak melihat , menunjukkan bahwa dia bisa lebih pintar dari apa yang kebanyakan orang , terutama Sakura , bersedia memberinya kredit untuk ketika ia ingin menjadi , sesuatu yang bahkan komentar Chōji pada sekali-sekali . Hal ini terlihat ketika Naruto adalah yang pertama untuk melihat perbedaan dalam buku Sai , [ 25 ] kemudian membantu sekarat pesan menguraikan Jiraiya kiri dari Fukasaku di punggungnya dan berhasil membantu memecahkan pesan melalui buku Kakashi Icha Icha . [ 26 ] Dia adalah juga cukup jeli dalam hal perasaan orang lain ( meskipun ia tak menyadari cinta Hinata untuk dia sampai dia mengaku perasaannya kepadanya ) dan mampu melihat kebenaran dari niat orang , seperti ketika Sakura menyatakan ia mencintainya dan tidak Sasuke apapun lagi, Naruto langsung tahu dia berbohong tentang bagaimana perasaannya , setelah menyaksikan tanda-tanda yang paling ekstrim dan ditiru cinta untuk Sasuke . [ 27 ] Naruto juga melihat melalui kebohongan Iruka tentang makhluk liar baru di Turtle Island mereka berada di dengan mengingat Motoi menyatakan bahwa B telah dijinakkan semua binatang di pulau itu. [ 28 ] Janji Naruto Naruto membuat janji di " nice guy " berpose. Karena prasangka dan kesepian ia menderita di masa kecilnya , Naruto mengembangkan keinginan untuk pengakuan . Dalam rangka untuk mencapai hal ini , Naruto akan menarik pranks seluruh desa dan bahkan akan sejauh berusaha untuk judul Hokage . Bahkan setelah lulus dari Akademi , Naruto masih bertekad untuk diakui , tetapi karena ia membuat koneksi lebih banyak dengan orang lain , alasannya karena ingin menjadi Hokage mengalami perubahan , memiliki kurang untuk melakukan dengan keinginan untuk pengakuan , dan lainnya lakukan dengan menginginkan kekuatan untuk melindungi rumah dan orang-orang dekat dengannya . Sebagaimana dicatat oleh Tobi , Naruto memiliki Kehendak Api , yang menyamakan dia untuk Hashirama Senju dalam aspek ini [ 29 ] tekad Naruto dan dorongan kuat dampak kehidupan orang-orang di sekelilingnya , bahkan musuh-musuhnya telah dipengaruhi oleh empatinya . . Baik Kakashi dan Temari disebut menakjubkan karisma Naruto sebagai "kekuatan yang unik " yang memungkinkan dia untuk mengubah pandangan duniawi orang lain menjadi lebih baik , biasanya dengan membantu mereka mendapatkan kembali kepercayaan mereka hilang karena tragedi tertentu mereka menderita [ 30 ] [ 31 . ] Son Goku juga menganggapnya sebagai orang yang terbuka dan jujur ​​. [ 32 ] seperti Guy dan Rock Lee , ketika Naruto membuat janji , ia menganggap " nice guy berpose " dan menjadi didedikasikan untuk memenuhi hal itu , seperti yang ditunjukkan pada janjinya untuk Sakura membawa Sasuke kembali setelah yang terakhir membelot dari Konoha . [ 33 ] Bahkan Madara melihat Naruto sebagai " jantung" dari Aliansi Shinobi , lanjut terbukti ketika senjutsu - ditingkatkan Modus tailed Beast Naruto dikombinasikan dengan telepati menyebabkan emosi dan kenangan pribadi menjadi ditransfer kepada semua orang , ia berhasil menyalakan kembali semangat juang mereka setelah demoralisasi oleh Shinju mana Hashirama tidak bisa . [ 34 ] . Hashirama pergi sejauh untuk menyatakan bahwa perasaan Naruto dan masa lalu memberikan " harapan " untuk Aliansi Shinobi . [ 35 ] Pembelotan Sasuke terkejut Naruto ke inti , tapi dia tidak pernah goyah dalam tekadnya untuk membawa dia kembali ke Konoha . Ketika gurunya Jiraiya tewas dalam pertempuran dengan pemimpin Nyeri Akatsuki , ia bersumpah membalas dendam terhadap manusia dan Konoha kiri untuk waktu untuk melatih di senjutsu . [ 36 ] Setelah kembali ke rumah setelah Nyeri menghancurkan desa dan mengalah mengamuk , ia bertemu dan berbicara dengan ayahnya, yang menjelaskan kepadanya siklus kebencian dan mempercayakan dia dengan tugas menyelamatkan dunia ninja dari kebencian nya . [ 37 ] Setelah mendengarkan cerita Nagato tentang bagaimana kebencian dapat membentuk seseorang dan dunia kegelapan , Naruto bersumpah ia akan mengakhiri siklus kebencian dan membawa perdamaian ke dunia ninja . [ 38 ] keputusan ini , bagaimanapun, akan datang dalam oposisi langsung dalam usahanya untuk membawa pulang Sasuke , sesuatu yang pada awalnya dia sedih mendalam . [ 39 ] namun demikian , setelah bertemu lagi di Tanah Besi , Naruto memutuskan bahwa apabila ia harus , ia akan melawan dan berpotensi membunuh temannya untuk mengakhiri siklus kebencian dan menyelamatkan Sasuke dari putus asa, bahkan jika biaya hidupnya sendiri . [ 40 ] Ketika ia menemukan bahwa Keempat Shinobi Perang Dunia telah dimulai , Naruto berhasil misinya untuk mengakhiri perang semua oleh dirinya sendiri , sehingga tidak ada orang lain akan menderita . [ 41 ] Dia terus melakukannya sampai pertempuran dengan bereinkarnasi Nagato dan Itachi Uchiha . Setelah berjuang , meskipun Itachi mengakui Naruto telah menjadi kuat , ia menjelaskan kepada Naruto bahwa jika ia tetap percaya bahwa dia bisa melakukan semuanya sendirian , ia akan menjadi sombong seperti Madara . Itachi juga mengatakan bahwa jika Naruto ingin menjadi Hokage , dia tidak boleh lupa teman-temannya atau melakukan semuanya sendiri . [ 42 ] Setelah itu , Naruto mengakui kekurangannya dalam upayanya untuk melakukan hal-hal sendiri , dan membiarkan orang lain untuk membantu dia bukan memikul membebani dirinya . Setelah mengekspos identitas Tobi sebagai Obito Uchiha dan mengekspresikan ketidaksetujuan dari pandangan nihilistik tentang kehidupan , Naruto menyatakan untuk Obito bahwa ia tidak akan membiarkan dia membunuh rekan-rekannya [ 43 ] Akibatnya , Obito memutuskan untuk menempatkan dia dan Sekutu Shinobi . pasukan dalam keputusasaan yang sama ia alami , yaitu dengan membunuh salah satu teman Naruto , Neji Hyuga . Ini , bersama dengan cacian Obito terhadap Naruto dan keyakinannya , melaju shinobi muda menjadi periode kekacauan mental dan emosional . Meskipun hampir menyerah pada godaan Obito , Naruto dibawa keluar dari depresi dengan Hinata , yang menjelaskan kepadanya makna kata-kata terakhir Neji yang hidupnya tidak hanya sendiri , memulihkan kepercayaan dirinya saat ia berterima kasih padanya untuk tinggal di sisinya . [ 44 ] Segera setelah itu, Naruto memberitahu Kakashi dan rekan-rekannya bahwa ia jelas memahami bahwa shinobi dimaksudkan untuk bertahan , percaya bahwa jika mengingat teman-temannya adalah kutukan , dia dengan senang hati akan memikul beban itu dan menjaga Neji nyata dalam hatinya selamanya . [ 45 ] Hal ini menunjukkan seberapa jauh Naruto telah datang sebagai shinobi dan bahwa ia berada di atas perang psikologis Obito , mengatakan kepadanya bahwa tidak seperti Obito , dia ingin mempertahankan obligasi yang dia buat dengan teman-temannya . Dedikasinya untuk orang yang dicintainya dan kawan-kawan begitu besar , bahwa meskipun pertempuran , chakra nya merespon keinginan bawah sadar untuk menyelamatkan mereka dengan menyembuhkan mereka sendiri . [ 46 ] Namun, setelah mengalami visi masa lalu dan penyesalan Obito , Naruto bersimpati dia karena kehilangan - . bahkan akan sejauh untuk menangis [ 47 ] Meskipun Obito menyangkal hal itu , Naruto menyatakan bahwa itu tidak masuk akal baginya untuk menyembunyikan lagi serta bersumpah untuk merobek nya "benar " topeng sekali dan untuk semua . [ 48 ] gelap Naruto gelap Naruto Naruto gelap . Setelah Pembunuh B menolak untuk melatih Naruto , Motoi dipandu Naruto dan Yamato ke Falls Kebenaran , tempat dimana B dilatih untuk mengontrol kekuatan Gyūki itu . Dia menginstruksikan Naruto untuk duduk di panggung dan menutup matanya . Segera setelah itu, Naruto gelap (闇 ナルト, Yami Naruto ) , manifestasi dari kebencian yang ada dalam hati Naruto , muncul , memarahi Naruto untuk seberapa cepat orang dari Konoha mengubah cita-cita mereka tentang dia . [ 49 ] Dark Naruto berseru bahwa Kurama menyukainya lebih baik dan dia adalah Naruto nyata sementara Naruto adalah penipu [ 50 ] mereka mulai melawan , tetapi setelah beberapa saat , Naruto menyadari bahwa mereka berdua memiliki teknik yang sama , keterampilan , dan taktik . . Akibatnya , perjuangan mereka adalah imbang dan Naruto disebutkan bahwa jika mereka terus seperti ini , itu akan memakan waktu yang sangat lama untuk menyelesaikannya . Dia muncul sekali lagi setelah Naruto kembali ke Falls Kebenaran . Daripada berkelahi, Naruto diproyeksikan gambar dari pikirannya tanda tangan tanda tangannya bahwa ia tidak mampu untuk diberikan kepada shinobi Konoha . Hal ini membuat marah Naruto gelap , menunjukkan kepada Naruto bahwa orang-orang adalah bagian dari desa yang sama yang membuatnya menderita sebagai orang buangan , mengatakan kepadanya bahwa dia seharusnya tidak mempercayai mereka . Namun, Naruto menyatakan bahwa ia dipercaya penduduk desa karena mereka penting baginya , tapi apa yang juga penting adalah bahwa dia perlu memiliki iman dalam dirinya , sehingga ia akan memiliki kekuatan untuk hidup sesuai dengan kepercayaan penduduk desa ' dalam dirinya . Pernyataan Naruto mulai melemah Naruto gelap , memaksa dia untuk mempertanyakan apa alasan untuk keberadaannya . Naruto menyatakan bahwa Naruto gelap benar-benar dia dan berterima kasih Naruto gelap untuk mendorong dia untuk menjadi orang dia sekarang . Dia memeluk Naruto gelap ketika yang terakhir mencoba untuk menyerangnya , mengatakan Naruto Gelap bahwa itu semua akan baik-baik saja . Melepaskan kemarahan sendiri di masa lalu mereka , mata gelap Naruto meringankan saat ia memberikan kata-kata Naruto , dan menghilang . [ 51 ] Kemudian, ketika Naruto memasuki alam bawah sadarnya , Kurama menyatakan terkejut karena tidak bisa lagi merasakan kebencian apapun dalam Naruto , dan Naruto mempertanyakan tentang di mana " sebenarnya dia" itu , yang Naruto menjawab bahwa sebenarnya dia berada tepat di depannya. [ 52 ] Selama pertempuran dengan Kurama untuk memperoleh kekuatannya , rubah terinfeksi chakra dengan kebencian sendiri ketika Naruto mulai mendapatkan tangan atas . Ini sebagian disebabkan Naruto gelap lagi sebentar , sebelum ibu Naruto muncul dan membantu membuang dia [ 53 ] [ 54 ] . hubungan Artikel utama: Hubungan Naruto Uzumaki Karena sifat ramah dan karisma yang unik , Naruto telah membangun banyak hubungan selama seri yang telah ditetapkan dirinya dan orang lain , bahkan ekor binatang dan jinchūriki lainnya . Banyak dari hubungan ini dimulai antagonis , tetapi melalui kegigihan dan empati , mereka berkembang menjadi persahabatan yang mendalam dan abadi . penampilan Naruto kedua bagian Naruto dalam Bagian II ( kiri) dan di Bagian I ( kanan) masing-masing. Sebagaimana dinyatakan oleh Jiraiya , Naruto memiliki kemiripan yang mencolok kepada ayahnya , memiliki mata biru Minato dan pirang , rambut runcing . [ 55 ] Dari ibunya , Naruto mewarisi bentuk kedua mata dan wajahnya . [ 56 ] Selama Shinobi Keempat Dunia perang , dan Kato awalnya kesalahan dia untuk Nawaki karena kemiripan mencolok mereka serta [ 57 ] karakteristik fisik yang paling menonjol Naruto . , bagaimanapun, adalah tanda kumis di wajahnya . Mungkin disebutkan paling sering sifat Naruto sebelum paruh kedua dari seri (yang mudah terprovokasi dia) adalah perawakannya yang pendek untuk anak seusianya . [ 58 ] Setelah waktu melompat , ia memiliki percepatan pertumbuhan terasa signifikan yang membuatnya lebih tinggi daripada rekan- mate, Sakura [ 59 ] . Dalam Bagian I , baju Naruto terdiri dari olahraga oranye dengan biru pada area bahu atas serta di sekitar pinggang , pusaran putih dengan rumbai di sisi kiri , pusaran merah di belakang, kerah putih besar , celana oranye , sandal biru, dan pelindung dahi biru yang diberikan kepadanya oleh Iruka setelah ia lulus dari Akademi. Naruto terkadang mengenakan baju besi di bawah pakaiannya . [ 60 ] Naruto dengan jas dan gulir Naruto saat dia muncul selama pertempuran dengan Pain . Dalam Bagian II , baju Naruto mengalami modifikasi setelah dipakai-cabik selama pelatihan dengan Jiraiya . [ 61 ] pakaian tetap memiliki warna oranye serta berputar putih ( tanpa rumbai ) dan merah, tapi jaket pas bentuk yang jauh lebih dengan bagian-bagian biru berubah menjadi hitam dan warna membentang dari sekitar leher dan bahu , bagian depan dan lengan . Para pelindung dahi juga telah berubah dengan Naruto bergerak bagian logam ke bandana lagi hitam baru dan dia memakai sandal hitam bukan biru . Selama pertempuran dengan Pain , Naruto sebentar sported mantel merah lengan pendek dengan pola api hitam sepanjang hemline . Dia juga membawa gulir memanggil besar di punggungnya . Ketika ia masuk ke Mode Chakra Sembilan-ekor , tubuhnya ditutupi kain kafan kuning chakra , yang di atasnya segel terlihat jelas . Ia juga mendapatkan kalung magatama di lehernya . Akhirnya rambutnya paku ke atas, dengan dua kunci endmost menyerupai tanduk . Setelah ia dan Kurama menyatu chakra mereka , penampilannya berubah sekali lagi . Kain kafan perpecahan di tengah dan membuka ke jubah yang memiliki tampilan compang-camping . Sebelumnya lebih kecil ' tanduk ' tumbuh lebih besar , dan kumis nya menandai menjadi tebal . Di bawah 'mantel ' , para magatama masih terlihat dan dia mendapatkan satu set baru di sekitar ' kerah ' dari mantel . Di bawah ini perubahan segel sekali lagi membuka keluar ke lingkaran bukannya berputar . Ia juga mendapatkan segel pada tangan dan kakinya . Jubah ini juga memiliki sembilan , seperti ekor pelengkap terbentuk dari jubah dan mengalir dari itu dengan garis-garis mengalir di tengah masing-masing. kemampuan futon Rasenshuriken Penggunaan Naruto dari petinggi ninjutsu seperti Shadow Clone Teknik dan Wind Release : Rasenshuriken . Naruto adalah seorang mahasiswa biasa-biasa saja di Akademi dan dia berjuang untuk melakukan teknik bahkan dasar . Satu-satunya " kemampuan " dicatat adalah Seksi Teknik . Sementara kreatif dan gangguan yang efektif terhadap orang-orang tertentu , Teknik Seksi hampir tidak memiliki manfaat praktis , bahkan, penemuan Naruto itu di tempat pertama pendapat lain hanya disemen ' bahwa ia tidak cocok untuk menjadi seorang ninja [ 62 ] Namun . Naruto , didorong oleh impiannya untuk menjadi Hokage , bertahan . Ini, ditambah dengan potensi alam nya , memungkinkan Naruto lulus dari Akademi dan menjadi shinobi resmi . Naruto berkembang cepat selama Bagian I , belajar beberapa jutsu rumit dalam waktu singkat . Penampilannya selama Chunin Ujian mengesankan banyak orang yang sama yang mengenalnya sebagai kegagalan di Akademi , bahkan Sasuke , yang merupakan puncak wisudawan mereka , menjadi cemburu bahwa Naruto adalah penangkapan kepadanya begitu cepat . Setelah Naruto mengalahkan Kabuto Yakushi , Orochimaru mengakui Naruto sebagai ancaman masa depan dan mencoba membunuhnya untuk mencegah hal ini terjadi . [ 63 ] Jiraiya melihat potensi yang sama bahwa Orochimaru tidak ketika ia bertemu Naruto di Bagian I. Alih-alih membunuhnya , bagaimanapun , Jiraiya mengambil Naruto sebagai mahasiswa dan menghabiskan dua - dan-a - setengah tahun melatih dia . Meskipun gaya bertarung tetap sama , dengan fokus utama pada pertempuran jarak pendek , waktu Naruto dengan Jiraiya membuat kemampuannya lebih bulat . Ketika ia kembali ke Konoha dalam Bagian II , ia melanjutkan perbaikannya cepat, menguasai semakin rumit jutsu dan bentuk dan bahkan merancang beberapa teknik jangka panjang untuk mengisi kesenjangan dalam repertoar . Melalui pertemuan yang sering dengan anggota S - pangkat Akatsuki , Naruto keuntungan beberapa ketenaran , pertama mengalahkan Kakuzu , dan kemudian untuk mengalahkan Pain. Konoha menganggap dia seorang pahlawan untuk pemenuhan kedua , yang mengarah ketenarannya menyebar ke desa-desa ninja lainnya . Akhirnya , selama Perang Dunia Keempat Shinobi , Kage lima , Hokage sebelumnya , dan dunia ninja pada umumnya mengakui Naruto - masih Genin , tidak pernah memiliki kesempatan untuk naik melalui pangkat - sebagai satu-satunya orang yang bisa mengakhiri perang , menyimpan dan mengubah dunia . [ 64 ] ia juga telah tercatat telah melampaui ayahnya [ 65 ] dan bahkan telah dibandingkan dengan Hashirama Senju beberapa kali , dengan Tobirama bahkan mencatat bahwa ia bisa menjadi Hokage besar dari Hashirama . [ 66 ] Angkatan Hidup dan Chakra Kontrol Karena Uzumaki garis keturunannya , cadangan chakra Naruto secara alami besar dan tangguh , memberikan dia stamina luar biasa dan vitalitas . Berasal dari ini adalah potensi rentang hidup yang sangat panjang dan tingkat penyembuhan dipercepat ( yang terakhir awalnya terakreditasi untuk chakra Sembilan-ekor ' ) , memungkinkan Naruto untuk pulih dari kelelahan pada sebagian kecil dari waktu atau cedera untuk memperbaiki diri . [ 67 ] nya miskin kinerja di Akademi karena dia tidak memiliki kontrol yang tepat cadangan nya , memimpin dia untuk mengalokasikan chakra kurang . Ketika ia menyadari Sembilan-ekor disegel dalam dirinya , ia mampu meningkatkan hasil chakra nya cukup untuk melakukan teknik berhasil , tapi ia sebenarnya habis chakra lebih dari yang diperlukan . Karena seberapa besar cadangan temannya , hal ini tidak menyebabkan dia masalah langsung, tetapi Ebisu - dan kemudian Jiraiya - tetap mengajar Naruto bagaimana menggunakan chakra nya lebih efisien [ 68 ] . Lee memutuskan untuk melawan Naruto berbagi beberapa chakra Kurama itu . Meskipun ukuran alam cadangan chakra nya , Sembilan-ekor ' jauh lebih besar , Kakashi memperkirakan bahwa cadangan chakra Naruto adalah empat kali lebih besar dibandingkan sendiri tanpa ekor dan seratus kali lebih besar dengan itu [ 69 ] chakra Naruto telah . pencampuran dengan Sembilan - ekor ' sejak hari ia dilahirkan , memperkuat cadangan yang sudah besar itu . Karena simbiosis ini , Naruto dapat melakukan begitu banyak chakra -berat jutsu dan begitu pesat berurutan . Sepanjang Bagian I dan Bagian II banyak , Sembilan-ekor Naruto memberikan akses singkat ke chakra , tetapi hanya sedemikian rupa sehingga berguna bagi rubah . Setelah Naruto berteman dan belajar nama Sembilan-ekor ' , Kurama , ia diberikan akses lengkap untuk chakra . Setelah lama menguasai kontrol chakra dan sudah berpengalaman dengan memanipulasi jumlah besar chakra , Naruto memanfaatkan cepat dari apa Kurama memberinya , mencampurnya dengan sendiri sehingga ia dapat , pada gilirannya , berbagi dengan orang lain . [ 70 ] Kekuatan kafan untuk menyerupai jubah ekor nya bersama dengan memungkinkan mereka untuk menggunakan senjutsu - diberdayakan Rasengan . Bila menggunakan chakra dia dapatkan dari enam ekor binatang dalam dan pemogokan akhir Sasuke pada Obito , binatang berekor bereaksi terhadap chakra dan chakra dari ekor binatang yang mempertahankan Shinju keluar , sehingga dia memulai tarik - dari perang untuk mengambil binatang keluar . Transformasi jinchūriki Artikel utama : Jinchūriki Formulir dan Sembilan-ekor mode Chakra Glowingnaruto Awal bentuk jinchūriki Naruto . Naruto perjalanan untuk mengakses dan mengendalikan kekuatan Kurama (dan kemudian berteman dengan ekor ) adalah satu panjang dan sulit. Setelah jinchūriki untuk seluruh hidupnya , Naruto selalu manfaat dari kehadirannya . Setelah mengetahui keberadaan Kurama , Naruto mulai memanfaatkan cadangan chakra , melengkapi sendiri dan meningkatkan kekuatan dan kecepatan dalam proses. Hal ini juga menambah kekuatan penyembuhan Naruto , mampu meregenerasi daging kehilangan dalam hitungan detik tanpa tanda-tanda berlama-lama . Tapi Naruto tidak , pada kenyataannya , secara sadar mengakses kekuatan Kurama pada beberapa kesempatan pertama. Sebaliknya , Kurama mengintervensi ketika hidup Naruto dalam bahaya atau mengambil keuntungan dari kemarahan Naruto untuk mengerahkan pengaruhnya . Jiraiya mengajarkan Naruto bagaimana berkomunikasi dengan Kurama , memungkinkan Naruto untuk selanjutnya meminta sumbangan kekuatannya . Kemampuannya untuk memanfaatkan dan jumlah ia dapat mengakses tumbuh selama Bagian I , yang berpuncak pada kemampuannya untuk memasukkan satu versi berekor 1 negara, yang meningkatkan pertahanan Naruto dan memungkinkan dia untuk lengan chakra manifest yang meningkatkan jangkauan nya . Jiraiya membantu Naruto meningkatkan kekuasaannya kekuasaan Kurama selama dua - dan -a - setengah tahun mereka bersama-sama . Naruto mampu mencapai versi tiga ekor 1 form, yang secara bertahap meningkatkan kecepatan dan kekuatannya . Meskipun Naruto menjadi lebih keras kepala , bahkan kekerasan , bila menggunakan versi 1 jubah , ia tetap memegang kendali . Puas dengan hasil tersebut , Jiraiya mengendur segel yang terus Kurama disegel di dalam Naruto dengan harapan akan memberikan Naruto peningkatan akses ke chakra . Ini secara tidak sengaja memicu versi 2 negara, kemampuan Naruto tumbuh ke ketinggian eksponensial dalam versi 2 , tapi Naruto tidak lagi tetap dalam kendali akal sehatnya, menyebabkan dia menyerang siapapun yang terlihat. Jiraiya hampir tewas dalam percobaan pertama mereka dan Naruto ingat apa-apa tentang hal itu kemudian . Dari titik yang lebih lanjut , Jiraiya mendorong Naruto untuk berhati-hati dalam memanfaatkan kekuasaan Kurama dan , setelah kembali ke Konoha , Jiraiya diam-diam menyarankan orang lain tentang bagaimana mencegah Naruto dari kehilangan kontrol . [ 71 ] Karena dia tidak pernah diberitahu tentang versi pertama 2 pengalamannya , peringatan Jiraiya tidak membuat kesan pada Naruto . Ditambahkan terhadap bahaya meningkatnya dia dan wajah teman-temannya dan frustrasi yang datang bersama mereka , Naruto akhirnya memasuki versi 2 membentuk kedua kalinya . Meskipun ia dapat menggunakannya untuk mengalahkan Orochimaru , ia menyerang Sakura dalam proses. Yamato , yang telah secara khusus bekerja sama dengan Naruto untuk menekan Kurama jika diperlukan , campur tangan pada waktunya untuk menyelamatkannya . [ 72 ] Yamato memberitahu Naruto setelah apa yang terjadi . Kesal bahwa ia bisa menjadi bahaya bagi orang-orang yang peduli untuk , Naruto berhenti mengandalkan Kurama dan mencari cara-cara baru untuk mendapatkan kuat . Dia berhasil untuk sementara waktu , tetapi sekali lagi menyerah kepada marah selama berkelahi dengan Nyeri dan memasuki 2 bentuk versi lain . Rasenrangan Anime 1 Naruto dalam Mode Chakra Sembilan-ekor . Keputusasaan Naruto kekuasaan untuk mengalahkan Nyeri hampir membuatnya melepaskan Kurama , menyebabkan dia menyadari bahwa menghindari bukanlah solusi . Dia malah memutuskan untuk mengontrol Kurama , dan mencari bimbingan dari Pembunuh B , yang jinchūriki dari Delapan -ekor . Dengan bantuan B ia mampu menaklukkan Kurama dan mendapatkan akses gratis ke sebagian dari kekuatannya , fokus kekuatannya menjadi mode Chakra Sembilan-ekor . Mode Chakra Sembilan-ekor meningkatkan kekuatannya , kecepatan , dan pertahanan melampaui apa yang mereka berada di versi 1 dan 2 , ia menjadi lebih terampil dengan senjata chakra , dan ia dapat merasakan emosi negatif , metode deteksi bahkan sensor tipe ninja yang tidak bisa lakukan . [ 73 ] kecepatan Nya khususnya melampaui A , yang adalah shinobi tercepat di dunia sejak Minato Namikaze meninggal . [ 74 ] Sembilan - ekor mode Chakra menjadi instrumen untuk mengubah gelombang Keempat Shinobi Perang Dunia , membiarkannya mengalahkan gerombolan reinkarnasi shinobi . Bijudama Naruto Naruto dalam mode tailed Beast. Kurama menaklukkan tidak sama dengan bekerja sama dengan itu , dan Naruto harus tetap berhati-hati ketika awalnya menggunakan Sembilan-ekor mode Chakra . Setelah melihat apa yang Naruto telah melalui selama hidupnya dan tipe orang ia telah menjadi , Kurama memutuskan untuk menghentikan lawan Naruto dan menerima tawaran Naruto persahabatan . Kurama bebas memberikan Naruto sebanyak chakra karena dapat, memungkinkan dia untuk masuk ke mode Ekor Beast. Dalam Tailed Modus Binatang , Naruto bisa fokus kekuatan Kurama menjadi apa hanyalah lebih hiasan Sembilan - ekor mode Chakra atau bentuk Kurama sepenuhnya terwujud , dalam melakukannya melepaskan kekuatan penuh Kurama , termasuk Balls tailed Beast . [ 75 ] kecepatan Nya , kekuatan, dan daya tahan juga meningkat jumlah mengesankan . Dia bisa memegang sendiri terhadap tiga ekor binatang dalam pertempuran dan sama dengan kekuatan gabungan dari lima dengan Ball tailed Beast tunggal dalam bentrokan . [ 76 ] [ 77 ] Naruto bahkan mampu berbaur chakra mereka bersama sehingga dia bisa lulus kepada orang lain , memberi mereka versi 1 seperti jubah yang membuat mereka tetap aman dan memperkuat kekuasaan mereka . Meskipun awalnya hanya memiliki esensi Yang chakra Kurama , efektif memberikan setengah Naruto kekuasaan penuh Kurama , reinkarnasi Minato , yang disegel esensi Yin ke dalam dirinya sendiri , kemudian dipindahkan hampir semua chakra Yin ke Naruto . taijutsu UzumakiNarutoCombo Naruto pertempuran Kiba . Meski tidak spesialisasinya , Naruto tidak menggunakan taijutsu cukup sering . Ia tetap bermanuver dalam perkelahian , mampu mendekati bahkan praktisi taijutsu terampil dan berdebat dengan mereka untuk sementara waktu , tetapi jika ia adalah untuk pada akhirnya mengalahkan mereka dalam kecepatan atau kekuatan ia harus memanfaatkan baik Kurama atau, dalam Bagian II , Sage Mode . Bahkan jika keterampilan taijutsu ofensif tidak luar biasa, keterampilan defensif cukup tinggi . Dia bisa bereaksi cukup cepat untuk mencegat serangan atau , jika pemblokiran akan menjadi tidak praktis , menghapus dirinya sendiri atau sekutu-sekutunya dari bahaya . [ 78 ] ninjutsu Shadow Clone Teknik 1st Penggunaan The Shadow Clone Naruto menggunakan Shadow Clone Teknik Beberapa . Naruto terkenal karena dia menggunakan Shadow Clone Teknik . Dimana ninja rata harus berhati-hati dalam penciptaan klon bayangan sehingga mereka tidak menguras cadangan chakra mereka , Naruto dapat menciptakan ke atas dari seribu klon dan mempertahankan jumlah yang layak chakra di masing-masing [ 79 ] . Ini memungkinkan dia membanjiri lawan dengan angka yang jelas atau melakukan banyak tugas sekaligus. Hal ini karena klon bayangan bahwa Naruto dapat menjadi begitu efektif selama Perang Dunia Keempat Shinobi , karena ia bisa muncul di beberapa medan perang pada waktu yang sama . Selama Bagian II , Naruto belajar bahwa apa pun klon bayangannya belajar , ia , yang asli , juga akan belajar . Dia sering menggunakan ini untuk menyelesaikan satu tahun pelatihan dalam beberapa hari . Dalam pertempuran , juga memungkinkan dia pramuka suatu daerah atau menguji kemampuan lawan , membiarkan dia mengukur berapa banyak klon bayangan dia benar-benar perlu untuk bertarung daripada chakra limbah pada ribuan kelebihan klon . [ 80 ] Panggil Teknik Panggil Teknik Naruto menggunakan Teknik Panggil . Dalam rangka mendorong meningkatkan pengawasan atas chakra Kurama , Jiraiya mengajarkan Naruto untuk melakukan Teknik Panggil . Dengan menawarkan sejumlah chakra , Naruto bisa memanggil kodok dari Gunung Myōboku sebagai sekutu yang melawan sampingnya . Dia awalnya dibatasi untuk berudu karena kontrol chakra yang buruk , tetapi sebagai kendalinya meningkatkan dia bisa memanggil kodok kecil seperti Gamakichi kemudian - muda atau Gamatatsu . Selama Bagian I ia harus bergantung pada chakra Kurama untuk memanggil kodok ukuran Gamabunta , tapi oleh Bagian II , bantuan Kurama hanyalah opsional . Rasengan Rasengan Naruto menggunakan Rasengan . Setelah Naruto mendapat menggantung memanggil , Jiraiya mengajarinya Rasengan . Alasannya untuk mengajarkannya kepada Naruto berbagai : pelatihan terlibat dalam belajar Rasengan meningkatkan kontrol chakra nya , melainkan dalam banyak mitra untuk Chidori Sasuke , itu diciptakan oleh ayah Naruto . Karena kontrol chakra yang sangat rumit yang Rasnegan Membutuhkan , Naruto berjuang untuk menguasainya , dan tidak dibantu oleh batas waktu yang membebankan pada dirinya selama pelatihan . Meskipun Rasengan dimaksudkan sebagai teknik satu tangan , Naruto belajar untuk menggunakannya dengan lebih dari satu tangan , khususnya klon bayangan itu : ia memberikan chakra yang akan membuat Rasengan sementara clone bentuk menjadi bentuk. Chōōdama Rasengan Naruto menggunakan Ultra - Big Bola Rasengan . Dari pelatihan lebih lanjut dengan Jiraiya , Naruto mampu menciptakan versi yang lebih besar dari Rasengan di Bagian II , seperti Rasengan Bola Big . Jumlah waktu persiapan yang diperlukan untuk membentuk Rasengan telah menurun , tapi ia masih bergantung pada klon bayangan untuk membantu dia ketika dalam bentuk normal . Untuk menebus kebutuhan untuk klon bayangan , Naruto terus meningkatkan jumlah Rasengan ia menggunakan pada suatu waktu , baik dengan memiliki bayangan klon bentuk Rasengan di kedua tangannya atau memiliki klon bayangan membuat Rasengan mereka sendiri untuk membombardir target dengan . Hanya dengan chakra Kurama dan kafan menghasilkan bahwa Naruto dapat membuat Rasengan sendiri . Dia melakukannya sebentar di akhir Bagian I , menggunakan versi 1 jubah sebagai shell untuk Rasengan Kurama bertenaga . Dengan mode Chakra Sembilan -ekor , ia menggunakan tangan ekstra senjata chakra untuk membuat Rasengan baru, seperti Sphere Penyerapan Spiralling dan Rasengan Planetary . Karena Rasengan secara konseptual berdasarkan Ball tailed Beast , dia mencoba untuk membawanya ke paralel lebih lanjut dengan Beast Rasengan tailed . [ 81 ] Ia gagal ketika pertama kali mencoba untuk menggunakannya , tetapi dengan bantuan Kurama kemudian menciptakan Super Binatang Mini - tailed ball. [ 82 ] Transformasi Alam Wind Release Rasengan Naruto menggunakan Wind Release : Rasengan . Sebagai alternatif yang mungkin untuk chakra Kurama , Kakashi mengajarkan Naruto bagaimana untuk mengambil keuntungan dari alam elemental afinitas nya : angin. Sifat angin pujian Naruto , sebagai sifat angin adalah pertandingan yang bagus bagi para pejuang jarak pendek . Karena Rasengan awalnya ditujukan untuk dikombinasikan dengan transformasi alam pengguna , Naruto menetapkan untuk menggabungkan afinitas angin dengan Rasengan . Dia berjuang dengan itu , menemukan sebagai hampir mustahil seperti ayahnya sebelum dia, tapi sekali lagi menemukan solusi dengan klon bayangan : sementara ia menyediakan chakra dan klon menyediakan bentuk, seperti yang dilakukan dengan biasa Rasengan , klon kedua menanamkan dengan sifat mereka . Ini hasil dalam penciptaan Wind Release : Rasengan , dan kemudian Wind Release : Rasenshuriken . Pada kontak dengan target , Rasenshuriken meledak menjadi semburan angin yang memotong mereka di tingkat sel . Pada awalnya , Naruto menggunakan seperti benda tumpul bahwa ia memaksa menjadi lawan , menyebabkan dia untuk menerima tingkat yang sama kerusakan seperti yang mereka lakukan . Setelah belajar Sage Mode ia menjadi mampu membuangnya , mencegah kerugian bagi dirinya dan pada saat yang sama meningkatkan kecepatan dan daya pemotongan . [ 83 ] Dalam Sembilan-ekor mode Chakra ia lebih lanjut dapat meningkatkan ukurannya , membuat versi miniatur , raksasa versi , atau bahkan Twin Rasenshuriken , semua tanpa bantuan klon bayangan . [ 84 ] Teknik kolaborasi Air dan Angin Naruto dan Gamatatsu menggunakan mereka Wind Release : Toad Gun . Dalam anime , Jiraiya memberikan pelatihan khusus Naruto dalam teknik kolaborasi sehingga ia dapat menggabungkan afinitas angin dengan afinitas dari memanggil kodok , menciptakan salah satu teknik tunggal yang lebih kuat daripada jumlah bagiannya . Naruto akhirnya berhasil untuk melakukan sinkronisasi dengan Gamakichi dan Gamatatsu , pertama dengan Wind Release : Toad Gun , dan kemudian Wind Release : Toad Oil Api Bullet . Susanoo Konoha 11 Naruto dalam Ekor Binatang Modus Susanoo berpakaian dengan Sasuke dan sebagian besar anggota Konoha 11 . Naruto sebentar bekerja sama dengan Yamato , menggabungkan Wind Release : Rasengan untuk menciptakan Vortex Teknik Air Topan . Dia kemudian melakukan kerjasama lain dengan Sasuke , memproduksi Rilis hangus : Halo Gale Jet Black Panah Gaya Nol . Tobirama Senju mencatat ini diperlukan keseimbangan sempurna antara rasio kombinasi teknik dan sulit untuk dicapai. [ 85 ] kolaborasi lain dengan Sasuke adalah ketika Sasuke dapat membentuk Susanoo sekitar Sage Mode tailed Beast Naruto , dengan Naruto menambahkan chakra dan senjutsu ke Susanoo pedang sehingga mereka dapat mengalahkan bahkan pedang Obito dari Nunoboko . [ 86 ] [ 87 ] ia juga bisa berkolaborasi dengan sebagian besar anggota dari Konoha 11 , bahkan memberi mereka Binatang mantel mode Ekor sementara mereka memegang Rasengan ia ciptakan [ 88 ] . senjutsu Naruto AnimeSagemode Naruto dalam Mode Sage . Setelah Jiraiya dibunuh oleh Pain, Naruto diajarkan senjutsu oleh Fukasaku , mantan guru dari Jiraiya , untuk mempersiapkan dirinya untuk hari ketika Nyeri datang setelah dia. Selama pelatihan ia terbukti memiliki bakat besar untuk senjutsu dari Jiraiya , membantu dalam ada bagian kecil oleh tingkat chakra tentu yang tinggi . Dia berlangsung melalui langkah-langkah pembelajaran dengan cepat , menjadi mampu untuk merasakan dan kemudian mengumpulkan energi alam di sekitarnya dan sempurna menyeimbangkan dengan chakra sendiri . Namun, melakukan hal ini membutuhkan mutlak tenang , yang tidak dapat dicapai atau dipertahankan di tengah pertempuran. Untuk alasan ini , Fukasaku dan istrinya secara teoritis akan bersatu dengan dia , mengumpulkan energi alam baginya untuk digunakan . Selama semua upaya fusi , Kurama menolak Fukasaku , ancaman bagi kekuasaannya , meninggalkan Naruto dengan tidak ada cara untuk memasukkan Sage Mode. Naruto menemukan diri menggunakan klon bayangan sebagai solusi. Sementara ia berkelahi , klon mengumpulkan energi alami untuk dia dan kemudian , ketika ia membutuhkan , ia telah mereka bubar , mentransfer energi alami mereka kepadanya . Meskipun hal ini memungkinkan dia memasukkan Sage Mode Jiraiya sempurna yang tidak pernah bisa , metode ini membatasi jumlah maksimum klon bayangan bahwa dia dapat membuat sampai lima selama klon yang mengumpulkan energi alam , sebagai sesuatu yang lebih akan mengganggu fokus mereka . Untuk memastikan ia telah cukup klon bayangan untuk digunakan dalam pertempuran , Naruto hanya memiliki dua bayangan klon senjutsu mengumpulkan chakra , sehingga dia masuk ke Mode Sage total tiga kali . Modus kodok Fox Naruto menggabungkan chakra Kurama dan Sage Mode. Setelah di Sage Mode , kecepatan Naruto , kekuatan, daya tahan , dan kemampuan dengan Rasengan dan variannya meningkat . Dia bisa memanfaatkan Frog Kata - bentuk taijutsu yang menggunakan energi alam di sekitar pengguna untuk meningkatkan jangkauan dan potensi serangan mereka - . Dan kemampuan sensorik efektif bahkan pada rentang panjang [ 89 ] kemampuan-Nya penginderaan juga membiarkan dia memprediksi pergerakan musuh-musuhnya untuk pembalasan mudah [ 90 ] Setelah berteman nya Kurama , ia bahkan dapat menggabungkan Sage mode dengan Ekor Binatang mode, yang memiliki bonus tambahan membiarkan dia mengumpulkan energi alam lebih cepat . . [ 91 ] Penipuan dan Strategi Naruto kejutan Kakashi Naruto menyelinap di belakang Kakashi . Dari tahun sebagai lelucon , Naruto mengakuisisi licik dan imajinasi yang berguna dalam pertempuran . Strategi Naruto biasanya melibatkan klon bayangan : ia mungkin mengarahkan perhatian lawannya terhadap salah satu klon untuk menyamarkan gerakan sendiri , ia dapat mengubah mereka menjadi objek atau individu lain untuk serangan kejutan , ia dapat membuat dirinya tampak diprediksi dengan menciptakan pola, hanya untuk melemparkan mereka off dengan melanggar itu. Naruto adalah akal dalam perkelahian bahkan tanpa klon , merumuskan rencana multi-langkah dan bahkan backup untuk rencana tersebut di tengah-tengah pertempuran Dia adalah jeli , mampu melihat rincian lain mungkin mengabaikan , . Setelah bertanya-tanya bagaimana Raikage Ketiga , yang terkenal dalam hidup untuk pertahanannya , bisa menerima bekas luka , Naruto menyimpulkan bahwa bekas luka itu diakibatkan diri sendiri , dan kemudian mengambil keuntungan dari pengetahuan itu untuk memanipulasi gerakan Raikage dan menggunakan dia untuk mengalahkan dirinya sendiri . Bahkan ketika diberi informasi baru dia bisa bertindak cepat , . Ketika ia mengetahui bahwa Kakashi dan Tobi Kamui yang terhubung , ia membentuk sebuah rencana untuk mengirim salah satu klon nya ke dimensi lain yang memungkinkan dia untuk menghancurkan topeng Tobi [ 93 ] Naruto adalah keras kepala dan sering bertindak tanpa memikirkan tindakannya melalui, sehingga sulit bagi orang lain untuk berkomunikasi pertempuran mereka atau rencana pelajaran kepadanya . Untuk alasan ini, ia kadang-kadang dianggap padat . Namun, ia adalah pelajar taktil ahli , yang berarti bahwa ia belajar lebih baik melalui melaksanakan tugas daripada berteori tentang hal itu . [ 22 ] Setelah mereka melihat dia beraksi , bahkan orang-orang seperti Hokage Kedua merevisi pikiran mereka tentang kecerdasan . [ 94 ] Keterampilan Lainnya Setelah waktu-skip , Naruto telah meningkatkan pengetahuan keterampilan ninja lainnya sementara di bawah bimbingan Jiraiya . Dia telah ditampilkan beberapa keterampilan terbatas dalam shurikenjutsu . [ 95 ] [ 96 ] Naruto telah ditunjukkan untuk menjaga kunai pegas lengan bajunya untuk akses cepat [ 97 ] Meskipun ia tidak memiliki keterampilan dalam genjutsu , dia setidaknya tahu . Bagaimana menghilangkan dan menghindari jatuh mangsa untuk itu . Keterampilan dengan fūinjutsu belum dieksplorasi sangat , tapi ia tahu bagaimana menggunakan kunci segel itu setelah menerima Gerotora , dan kemudian disegel kembali Kurama setelah ia memisahkan sebagian besar chakra dari ekor . [ 98 ] Jiraiya telah meninggalkan Naruto dengan kunci membantunya menyelesaikan seperti yang belum diketahui teknik yang ia , Naruto , dan Minato telah bekerja pada , tetapi tidak pernah selesai . Naruto menyatakan bahwa ia siap untuk menyelesaikannya . [ 99 ]

Jumat, 27 September 2013

http://www.prodaslab.com/
Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa :
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
  1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan  algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
  2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
4.    Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
  1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
  2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
  3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
  4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
  5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.

Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :
a)     Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila    tidak semua bahasa pemrograman membutuhkannya.
b)    Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c)     Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.
d)    Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.
e)     Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f)     Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.


Langkah-langkah dalam pemrograman komputer

1.       Mendefinisikan masalah
Ini merupakan langkah pertama yang sering dilupakan orang. Menurut hukum Murphy
(oleh Henry Ledgard):
“Semakin cepat menulis program, akan semakin lama kita dapat menyelesaikannya”.
Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya, apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya.

2.       Menemukan solusi
Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan solusi.
Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut dipecah menjadi
modul-modul kecil agar lebih mudah diselesaikan.
Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa
modul:
�� meminta masukkan berupa matriks bujur sangkar
�� mencari invers matriks
�� menampilkan hasil kepada pengguna
Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan
mudah dilihat.

3.       Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut

4.       Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika
sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan
platform lainnya.

5.       Menguji program
Setelah program jadi, silahkan uji program tersebut dengan segala macam kemungkinan yang ada, termasuk error-handlingnya sehingga program tersebut akan benar-benar handal dan layak digunakan.

6.       Menulis dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan
perubahan atau membaca source code yang sudah kita tulis dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan menuliskan komentarkomentar kecil tentang apa maksud kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa, dan parameter-parameter yang ada pada suatu prosedur dan fungsi.

7.       Merawat program
Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan fasilitas
baru yang dulu tidak ada.

Jenis Proses Algoritma


1.       Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.
2.       Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
3.       Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
4.       Concurrent Process: beberapa instruksi dikerjakan secara bersama.

Contoh Algoritma
Algoritma menghitung luas persegi panjang:
1.       Masukkan panjang (P)
2.       Masukkan lebar (L)
3.       L ← P * L
4.       Tulis L
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.

Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.
Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan
Contoh Pseudo-code:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan
langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
Contoh Algoritma
1. Masukkan bilangan pertama (a)
2. Masukkan bilangan kedua (b)
3. if a > b then kerjakan langkah 4
4. print a
5. print b

Algoritma Pemrograman


Definisi Program/Pemrograman
- Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)

Paradigma Pemrograman
1. Pemrograman Prosedural
�� Berdasarkan urutan-urutan, sekuensia 
�� Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan.
�� Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.

2. Pemrograman Fungsional
�� Berdasarkan teori fungsi matematika
�� Fungsi merupakan dasar utama program.

3. Pemrograman Terstruktur
�� Secara berurutan dan terstrukrtur.
�� Program dapat dibagai-bagi menjadi prosedur dan fungsi.
�� Contoh: PASCAL dan C

4. Pemrograman Modular
�� Pemrograman ini membentuk banyak modul.
�� Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri
�� Sebuah program dapat merupakan kumpulan modul-modul.
�� Contoh: MODULA-2 atau ADA

5. Pemrograman Berorientasi Obyek
�� Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi
�� Contoh: C++, Object Pascal, dan Java.

6. Pemrograman Berorientasi Fungsi
�� Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.
�� Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.

7. Pemrograman Deklaratif
�� Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.
�� Contoh: PROLOG

Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M

Definisi Algoritma
- Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998)
 
- Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)
Contoh Algoritma dalam kehidupan nyata:

- Jika seorang ingin memasak atau membuat kue, baik itu melihat resep ataupun tidak
pasti akan melakukan suatu langkah-langkah tertentu sehingga masakannya atau
kuenya jadi.

- Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang
harus dilakukan adalah:

�� Menulis surat
�� Surat dimasukkan ke dalam amplop tertutup
�� Amplop ditempeli perangko secukupnya.
�� Pergi ke Kantor Pos terdekat untuk mengirimkannya.

Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
Pelaksana algoritma adalah Komputer.
Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program.
Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman.
Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama.


Contoh Algoritma Menghitung Volume Bangun Ruang (Pseudocode)
Menghitung volume bangun ruang dimana terdapat 6 buah bangun ruang yaitu kubus, balok, bola, limas, kerucut dan tabung.
Masing-masing bangun ruang tersebut akan kita cari volume, dengan formula sebagaimana yang telah diajarkan di sekolah dasar, kali ini kita menggunakan percabangan if.
Penyelesaiannya sebagai berikut:
{
char pilihan;
float volume, sisi, panjang, lebar, tinggi, jari;
pilihan <--- input
if (pilihan=='A'||pilihan=='a')
{
sisi <--- input
volume <--- sisi*sisi*sisi
output <--- volume
}
if (pilihan=='B'||pilihan=='b')
{
panjang <--- input
lebar <--- input
tinggi <--- input
volume <--- panjang*lebar*tinggi
output <--- volume
}
if (pilihan=='C'||pilihan=='c')
{
jari input
volume <--- 3,14*4*jari*jari
output <--- volume
}
if (pilihan='D'||pilihan=='d')
{
panjang <--- input
lebar <--- input
tinggi <--- input
volume <--- (panjang*lebar)/3*tinggi
output <--- volume
}
if (pilihan=='E'||=='e')
{
jari <--- input
tinggi <--- input
volume <--- (3,14*jari*jari)/3*tinggi
output <--- volume
}
if (pilihan=='F'||=='f')
{
jari <--- input
tinggi <--- input
volume <--- 3,14*jari*jari*tinggi
output <--- volume
}
Algoritma dan Flowchart, Dasar Pemrograman

Tujuan Pembelajaran
Diharapkan dapat:
1.  Mengerti tentang algoritma
2.  Membuat algoritma dari suatu permasalahan
3.  Mengerti tentang flowchart
4.  Membuat flowchart dari suatu permasalahan

Pendahuluan
1.  Komputer adalah alat bantu untuk menyelesaikan masalah
2.  Dalam menyelesaikan masalah dengan komputer perlu merumuskan langkah-langkah penyelesaian masalah dalam sekumpulan instruksi
3.  sekumpulan instruksi yang dimengerti oleh komputer disebut dengan program


Bahasa Pemrograman
1.  Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer yaitu dalam bahasa pemrograman, dibedakan menjadi:
·         Bahasa tingkat rendah (low level language):
                        Bahasa yang berorientasi ke mesin.
·         Bahasa tingkat tinggi (high level language):
                       Bahasa yang berorientasi ke manusia (seperti bahasa inggris). Contoh bahasa Pascal, bahasa C, dll.
2.  Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (kenal dengan biner digit) dengan menggunakan penerjemah.
             Penerjemah:
·         Interpreter : menerjemahkan baris per baris instruksi. Contoh bahasa Basic.
·         Compiler : menerjemahkan setelah seluruh instruksi ditulis. Contoh bahasa Pascal, bahasa C/C++, dll.
Algoritma
Arti umum adalah serangkaian urutan langkah-langkah yang tepat, logis, terperinci, dan terbatas untuk menyelesaikan suatu masalah yang disusun secara sistematis.
1.  Algoritma adalah inti dari ilmu komputer
2.  Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah
3.  Algoritma adalah blueprint dari program
4.  Sebaiknya disusun sebelum membuat program
5.  Kriteria suatu algoritma:
·         Ada input dan output
·         Efektifitas dan efisien
·         Terstruktur

Contoh:
Algoritma TUKAR ISI BEJANA
Diberikan 2 buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan warna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A ke dalam bejana B
2.  Tuangkan larutan dari bejana B ke dalam bejana A

Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah pertukaran kedua larutan tersebut.
Untuk itu pertukaran isi dua bejana, diperlukan sebuah tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut:

Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian hingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A ke dalam bejana C.
2.  Tuangkan larutan dari bejana B ke dalam bejana A.
3.  Tuangkan larutan dari bejana C ke dalam bejana B.

Ciri Penting Algoritma
1.  Algoritma harus berhenti setelah menjalankan sejumlah langkah terbatas.
2.  Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguitas).
3.  Algortima memiliki nol atau lebih masukan.
4.  Algoritma memiliki nol atau lebih keluaran.
5.  Algoritma harus efektif (setiap langkah sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).

Memrogram dan Bahasa Pemrograman:
1.  Belajar memrogram adalah belajar tentang metode pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
2.  Belajar bahasa pemrograman adalah memakai suatu bahasa, aturan, tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja.

Notasi Algoritma:
1.  Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
2.  Notasi algoritma dapat berupa:
·         Uraian kalimat deskriptif (narasi):
Contoh:
Algoritma kelulusan mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersenut dinyatakan lulus, jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
Deskripsi:
Baca nama dan nilai mahasiswa
            Jika nilai >= 60 maka
            Keterangan = lulus
                  Tetapi jika salah
                  Keterangan = tidak lulus
            Tulis nama dan keterangan.

Tahapan Pembuatan Program:
1.  Mendefinisikan masalah dan menganalisanya. Mencangkup : tujuan pembuatan, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman yang digunakan.
2.  Merealisasikan dengan langkah-langkah sebagai berikut:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw452HNSD755LE0pc8a6jAV1J0tpbL_pfm4j3Wqfx-DUQmRCw4IzlubYTndhw1sNrTxyvufhZxjH8M6XsgN6T-9vYESt_rRpysWLeuNsN6QkY5glCl1A98ZIWR-a1_Um0WXQ2mcXrx0_4_/s400/screenshot1.png


Contoh Algoritma:
1.  Mengirim surat kepada teman:
·         Tulis surat pada secarik kertas surat
·         Ambil sampul surat
·         Masukkan surat ke dalam sampul
·         Tutup sampul surat dengan perekat
·         Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul
·         Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
·         Tempel prangko pada sampul
·         Bawa sampul ke kantor pos untuk diposkan
2.  Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap:
·         Masukkan sebuah bilangan sembarang
·         Bagi bilangan tersebut dengan 2
·         Hitung sisa hasil bagi pada langkah 2
·         Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap
·         Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil


Flowchart
1.  Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian suatu masalah
2.  Merupakan cara penyajian dari suatu algoritma
3.  Ada 2 macam flowchart:
·         System flowchart:
                       Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis penyimpanan dalam proses pengolahan data.
·         Program flowchart:
                       Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.

Contoh program Flowchart


Simbol-simbol Flowchart
1.  Flow Direction Symbols (simbol penghubung alur)
2.  Processing Symbols (simbol proses)
3.  Input-Output Symbols (simbol input-output)

Tabel Simbol-simbol Flowchart

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDe5pdfp-g_EbRG_LjctIpiYpMxglht9yjCgX3JTGPbcYfSgv6UZxsPSYSnUhRNN9LEpHf1QFsTTMZzMgVw1tPcQJ7CgfTlIIzoMCs0bcFoyi2IEMcBatv5wkySUklQaJXwQIwekm2RsV9/s400/screenshot3.png

Pembuatan Flowchart
1.  Tidak ada kaidah yang baku
2.  Flowchart = gambaran hasil analisa suatu masalah
3.  Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya.
4.  Secara garis besar ada 3 bagian utama:
·         Input
·         Proses
·         Output
5.  Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
6.  Jalannnya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
7.  Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.


Pseudocode:
1.  Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus.
Deklarasi:
Nama          : String
Nilai            : Integer
Keterangan  : String
      Deskripsi:
            Read (nama, nilai)
            if nilai >= 60 then
            Keterangan = 'lulus'
            else
            Keterangan = 'tidak lulus'
            write (nama, keterangan)

Aturan Penulisan Teks Algoritma
1.  Judul Algoritma
          Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
2.  Deklarasi
          Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedure, dan fungsi.
3.  Deskripsi
          Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan dijelaskan selanjutnya.

Contoh Pseudocode:
1.  Algoritma Luas_Keliling_Lingkaran (ini merupakan judul algoritma)
          {
Menghitung luas dan keliling untuk ukuran jari-jari tertentu. Algoritma menerima masukkan jari-jari lingkaran, menghitung luas dan kelilingnya, dan mencetak luas lingkaran ke piranti keluaran
          }      (ini spesifikasi algoritma)
2.  Deklarasi
const phi = 3.14 {nilai konstanta phi}
R          : real {jari-jari lingkaran}
Luas     : real {luas lingkaran}
Keliling : real {keliling lingkaran}
3.       Deskripsi
Read (R)
Luas     = phi * R * R
Keliling       = 2 * phi * R
Write (luas, keliling)

 


http://www.prodaslab.com/
Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa :
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
  1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan  algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
  2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
4.    Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
  1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
  2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
  3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
  4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
  5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.

Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :
a)     Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila    tidak semua bahasa pemrograman membutuhkannya.
b)    Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c)     Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.
d)    Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.
e)     Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f)     Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.


Langkah-langkah dalam pemrograman komputer

1.       Mendefinisikan masalah
Ini merupakan langkah pertama yang sering dilupakan orang. Menurut hukum Murphy
(oleh Henry Ledgard):
“Semakin cepat menulis program, akan semakin lama kita dapat menyelesaikannya”.
Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya, apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya.

2.       Menemukan solusi
Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan solusi.
Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut dipecah menjadi
modul-modul kecil agar lebih mudah diselesaikan.
Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa
modul:
�� meminta masukkan berupa matriks bujur sangkar
�� mencari invers matriks
�� menampilkan hasil kepada pengguna
Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan
mudah dilihat.

3.       Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut

4.       Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika
sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan
platform lainnya.

5.       Menguji program
Setelah program jadi, silahkan uji program tersebut dengan segala macam kemungkinan yang ada, termasuk error-handlingnya sehingga program tersebut akan benar-benar handal dan layak digunakan.

6.       Menulis dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan
perubahan atau membaca source code yang sudah kita tulis dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan menuliskan komentarkomentar kecil tentang apa maksud kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa, dan parameter-parameter yang ada pada suatu prosedur dan fungsi.

7.       Merawat program
Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan fasilitas
baru yang dulu tidak ada.

Jenis Proses Algoritma


1.       Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.
2.       Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
3.       Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
4.       Concurrent Process: beberapa instruksi dikerjakan secara bersama.

Contoh Algoritma
Algoritma menghitung luas persegi panjang:
1.       Masukkan panjang (P)
2.       Masukkan lebar (L)
3.       L ← P * L
4.       Tulis L
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.

Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.
Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan
Contoh Pseudo-code:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan
langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
Contoh Algoritma
1. Masukkan bilangan pertama (a)
2. Masukkan bilangan kedua (b)
3. if a > b then kerjakan langkah 4
4. print a
5. print b

Algoritma Pemrograman


Definisi Program/Pemrograman
- Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)

Paradigma Pemrograman
1. Pemrograman Prosedural
�� Berdasarkan urutan-urutan, sekuensia 
�� Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan.
�� Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.

2. Pemrograman Fungsional
�� Berdasarkan teori fungsi matematika
�� Fungsi merupakan dasar utama program.

3. Pemrograman Terstruktur
�� Secara berurutan dan terstrukrtur.
�� Program dapat dibagai-bagi menjadi prosedur dan fungsi.
�� Contoh: PASCAL dan C

4. Pemrograman Modular
�� Pemrograman ini membentuk banyak modul.
�� Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri
�� Sebuah program dapat merupakan kumpulan modul-modul.
�� Contoh: MODULA-2 atau ADA

5. Pemrograman Berorientasi Obyek
�� Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi
�� Contoh: C++, Object Pascal, dan Java.

6. Pemrograman Berorientasi Fungsi
�� Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.
�� Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.

7. Pemrograman Deklaratif
�� Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.
�� Contoh: PROLOG

Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M

Definisi Algoritma
- Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998)
 
- Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)
Contoh Algoritma dalam kehidupan nyata:

- Jika seorang ingin memasak atau membuat kue, baik itu melihat resep ataupun tidak
pasti akan melakukan suatu langkah-langkah tertentu sehingga masakannya atau
kuenya jadi.

- Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang
harus dilakukan adalah:

�� Menulis surat
�� Surat dimasukkan ke dalam amplop tertutup
�� Amplop ditempeli perangko secukupnya.
�� Pergi ke Kantor Pos terdekat untuk mengirimkannya.

Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
Pelaksana algoritma adalah Komputer.
Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program.
Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman.
Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama.


Contoh Algoritma Menghitung Volume Bangun Ruang (Pseudocode)
Menghitung volume bangun ruang dimana terdapat 6 buah bangun ruang yaitu kubus, balok, bola, limas, kerucut dan tabung.
Masing-masing bangun ruang tersebut akan kita cari volume, dengan formula sebagaimana yang telah diajarkan di sekolah dasar, kali ini kita menggunakan percabangan if.
Penyelesaiannya sebagai berikut:
{
char pilihan;
float volume, sisi, panjang, lebar, tinggi, jari;
pilihan <--- input
if (pilihan=='A'||pilihan=='a')
{
sisi <--- input
volume <--- sisi*sisi*sisi
output <--- volume
}
if (pilihan=='B'||pilihan=='b')
{
panjang <--- input
lebar <--- input
tinggi <--- input
volume <--- panjang*lebar*tinggi
output <--- volume
}
if (pilihan=='C'||pilihan=='c')
{
jari input
volume <--- 3,14*4*jari*jari
output <--- volume
}
if (pilihan='D'||pilihan=='d')
{
panjang <--- input
lebar <--- input
tinggi <--- input
volume <--- (panjang*lebar)/3*tinggi
output <--- volume
}
if (pilihan=='E'||=='e')
{
jari <--- input
tinggi <--- input
volume <--- (3,14*jari*jari)/3*tinggi
output <--- volume
}
if (pilihan=='F'||=='f')
{
jari <--- input
tinggi <--- input
volume <--- 3,14*jari*jari*tinggi
output <--- volume
}
Algoritma dan Flowchart, Dasar Pemrograman

Tujuan Pembelajaran
Diharapkan dapat:
1.  Mengerti tentang algoritma
2.  Membuat algoritma dari suatu permasalahan
3.  Mengerti tentang flowchart
4.  Membuat flowchart dari suatu permasalahan

Pendahuluan
1.  Komputer adalah alat bantu untuk menyelesaikan masalah
2.  Dalam menyelesaikan masalah dengan komputer perlu merumuskan langkah-langkah penyelesaian masalah dalam sekumpulan instruksi
3.  sekumpulan instruksi yang dimengerti oleh komputer disebut dengan program


Bahasa Pemrograman
1.  Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer yaitu dalam bahasa pemrograman, dibedakan menjadi:
·         Bahasa tingkat rendah (low level language):
                        Bahasa yang berorientasi ke mesin.
·         Bahasa tingkat tinggi (high level language):
                       Bahasa yang berorientasi ke manusia (seperti bahasa inggris). Contoh bahasa Pascal, bahasa C, dll.
2.  Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (kenal dengan biner digit) dengan menggunakan penerjemah.
             Penerjemah:
·         Interpreter : menerjemahkan baris per baris instruksi. Contoh bahasa Basic.
·         Compiler : menerjemahkan setelah seluruh instruksi ditulis. Contoh bahasa Pascal, bahasa C/C++, dll.
Algoritma
Arti umum adalah serangkaian urutan langkah-langkah yang tepat, logis, terperinci, dan terbatas untuk menyelesaikan suatu masalah yang disusun secara sistematis.
1.  Algoritma adalah inti dari ilmu komputer
2.  Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah
3.  Algoritma adalah blueprint dari program
4.  Sebaiknya disusun sebelum membuat program
5.  Kriteria suatu algoritma:
·         Ada input dan output
·         Efektifitas dan efisien
·         Terstruktur

Contoh:
Algoritma TUKAR ISI BEJANA
Diberikan 2 buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan warna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A ke dalam bejana B
2.  Tuangkan larutan dari bejana B ke dalam bejana A

Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah pertukaran kedua larutan tersebut.
Untuk itu pertukaran isi dua bejana, diperlukan sebuah tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut:

Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian hingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A ke dalam bejana C.
2.  Tuangkan larutan dari bejana B ke dalam bejana A.
3.  Tuangkan larutan dari bejana C ke dalam bejana B.

Ciri Penting Algoritma
1.  Algoritma harus berhenti setelah menjalankan sejumlah langkah terbatas.
2.  Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguitas).
3.  Algortima memiliki nol atau lebih masukan.
4.  Algoritma memiliki nol atau lebih keluaran.
5.  Algoritma harus efektif (setiap langkah sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).

Memrogram dan Bahasa Pemrograman:
1.  Belajar memrogram adalah belajar tentang metode pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
2.  Belajar bahasa pemrograman adalah memakai suatu bahasa, aturan, tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja.

Notasi Algoritma:
1.  Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
2.  Notasi algoritma dapat berupa:
·         Uraian kalimat deskriptif (narasi):
Contoh:
Algoritma kelulusan mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersenut dinyatakan lulus, jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
Deskripsi:
Baca nama dan nilai mahasiswa
            Jika nilai >= 60 maka
            Keterangan = lulus
                  Tetapi jika salah
                  Keterangan = tidak lulus
            Tulis nama dan keterangan.

Tahapan Pembuatan Program:
1.  Mendefinisikan masalah dan menganalisanya. Mencangkup : tujuan pembuatan, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman yang digunakan.
2.  Merealisasikan dengan langkah-langkah sebagai berikut:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw452HNSD755LE0pc8a6jAV1J0tpbL_pfm4j3Wqfx-DUQmRCw4IzlubYTndhw1sNrTxyvufhZxjH8M6XsgN6T-9vYESt_rRpysWLeuNsN6QkY5glCl1A98ZIWR-a1_Um0WXQ2mcXrx0_4_/s400/screenshot1.png


Contoh Algoritma:
1.  Mengirim surat kepada teman:
·         Tulis surat pada secarik kertas surat
·         Ambil sampul surat
·         Masukkan surat ke dalam sampul
·         Tutup sampul surat dengan perekat
·         Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul
·         Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
·         Tempel prangko pada sampul
·         Bawa sampul ke kantor pos untuk diposkan
2.  Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap:
·         Masukkan sebuah bilangan sembarang
·         Bagi bilangan tersebut dengan 2
·         Hitung sisa hasil bagi pada langkah 2
·         Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap
·         Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil


Flowchart
1.  Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian suatu masalah
2.  Merupakan cara penyajian dari suatu algoritma
3.  Ada 2 macam flowchart:
·         System flowchart:
                       Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis penyimpanan dalam proses pengolahan data.
·         Program flowchart:
                       Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.

Contoh program Flowchart


Simbol-simbol Flowchart
1.  Flow Direction Symbols (simbol penghubung alur)
2.  Processing Symbols (simbol proses)
3.  Input-Output Symbols (simbol input-output)

Tabel Simbol-simbol Flowchart

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDe5pdfp-g_EbRG_LjctIpiYpMxglht9yjCgX3JTGPbcYfSgv6UZxsPSYSnUhRNN9LEpHf1QFsTTMZzMgVw1tPcQJ7CgfTlIIzoMCs0bcFoyi2IEMcBatv5wkySUklQaJXwQIwekm2RsV9/s400/screenshot3.png

Pembuatan Flowchart
1.  Tidak ada kaidah yang baku
2.  Flowchart = gambaran hasil analisa suatu masalah
3.  Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya.
4.  Secara garis besar ada 3 bagian utama:
·         Input
·         Proses
·         Output
5.  Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
6.  Jalannnya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
7.  Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.


Pseudocode:
1.  Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus.
Deklarasi:
Nama          : String
Nilai            : Integer
Keterangan  : String
      Deskripsi:
            Read (nama, nilai)
            if nilai >= 60 then
            Keterangan = 'lulus'
            else
            Keterangan = 'tidak lulus'
            write (nama, keterangan)

Aturan Penulisan Teks Algoritma
1.  Judul Algoritma
          Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
2.  Deklarasi
          Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedure, dan fungsi.
3.  Deskripsi
          Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan dijelaskan selanjutnya.

Contoh Pseudocode:
1.  Algoritma Luas_Keliling_Lingkaran (ini merupakan judul algoritma)
          {
Menghitung luas dan keliling untuk ukuran jari-jari tertentu. Algoritma menerima masukkan jari-jari lingkaran, menghitung luas dan kelilingnya, dan mencetak luas lingkaran ke piranti keluaran
          }      (ini spesifikasi algoritma)
2.  Deklarasi
const phi = 3.14 {nilai konstanta phi}
R          : real {jari-jari lingkaran}
Luas     : real {luas lingkaran}
Keliling : real {keliling lingkaran}
3.       Deskripsi
Read (R)
Luas     = phi * R * R
Keliling       = 2 * phi * R
Write (luas, keliling)

 

http://www.prodaslab.com/
Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa :
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
  1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan  algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
  2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
4.    Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
  1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
  2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
  3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
  4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
  5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.

Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :
a)     Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila    tidak semua bahasa pemrograman membutuhkannya.
b)    Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c)     Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.
d)    Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.
e)     Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f)     Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.


Langkah-langkah dalam pemrograman komputer

1.       Mendefinisikan masalah
Ini merupakan langkah pertama yang sering dilupakan orang. Menurut hukum Murphy
(oleh Henry Ledgard):
“Semakin cepat menulis program, akan semakin lama kita dapat menyelesaikannya”.
Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya, apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya.

2.       Menemukan solusi
Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan solusi.
Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut dipecah menjadi
modul-modul kecil agar lebih mudah diselesaikan.
Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa
modul:
�� meminta masukkan berupa matriks bujur sangkar
�� mencari invers matriks
�� menampilkan hasil kepada pengguna
Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan
mudah dilihat.

3.       Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut

4.       Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika
sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan
platform lainnya.

5.       Menguji program
Setelah program jadi, silahkan uji program tersebut dengan segala macam kemungkinan yang ada, termasuk error-handlingnya sehingga program tersebut akan benar-benar handal dan layak digunakan.

6.       Menulis dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan
perubahan atau membaca source code yang sudah kita tulis dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan menuliskan komentarkomentar kecil tentang apa maksud kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa, dan parameter-parameter yang ada pada suatu prosedur dan fungsi.

7.       Merawat program
Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan fasilitas
baru yang dulu tidak ada.

Jenis Proses Algoritma


1.       Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.
2.       Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
3.       Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
4.       Concurrent Process: beberapa instruksi dikerjakan secara bersama.

Contoh Algoritma
Algoritma menghitung luas persegi panjang:
1.       Masukkan panjang (P)
2.       Masukkan lebar (L)
3.       L ← P * L
4.       Tulis L
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.

Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.
Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan
Contoh Pseudo-code:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan
langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
Contoh Algoritma
1. Masukkan bilangan pertama (a)
2. Masukkan bilangan kedua (b)
3. if a > b then kerjakan langkah 4
4. print a
5. print b

Algoritma Pemrograman


Definisi Program/Pemrograman
- Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)

Paradigma Pemrograman
1. Pemrograman Prosedural
�� Berdasarkan urutan-urutan, sekuensia 
�� Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan.
�� Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.

2. Pemrograman Fungsional
�� Berdasarkan teori fungsi matematika
�� Fungsi merupakan dasar utama program.

3. Pemrograman Terstruktur
�� Secara berurutan dan terstrukrtur.
�� Program dapat dibagai-bagi menjadi prosedur dan fungsi.
�� Contoh: PASCAL dan C

4. Pemrograman Modular
�� Pemrograman ini membentuk banyak modul.
�� Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri
�� Sebuah program dapat merupakan kumpulan modul-modul.
�� Contoh: MODULA-2 atau ADA

5. Pemrograman Berorientasi Obyek
�� Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi
�� Contoh: C++, Object Pascal, dan Java.

6. Pemrograman Berorientasi Fungsi
�� Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.
�� Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.

7. Pemrograman Deklaratif
�� Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.
�� Contoh: PROLOG

Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M

Definisi Algoritma
- Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998)
 
- Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)
Contoh Algoritma dalam kehidupan nyata:

- Jika seorang ingin memasak atau membuat kue, baik itu melihat resep ataupun tidak
pasti akan melakukan suatu langkah-langkah tertentu sehingga masakannya atau
kuenya jadi.

- Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang
harus dilakukan adalah:

�� Menulis surat
�� Surat dimasukkan ke dalam amplop tertutup
�� Amplop ditempeli perangko secukupnya.
�� Pergi ke Kantor Pos terdekat untuk mengirimkannya.

Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
Pelaksana algoritma adalah Komputer.
Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program.
Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman.
Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama.


Contoh Algoritma Menghitung Volume Bangun Ruang (Pseudocode)
Menghitung volume bangun ruang dimana terdapat 6 buah bangun ruang yaitu kubus, balok, bola, limas, kerucut dan tabung.
Masing-masing bangun ruang tersebut akan kita cari volume, dengan formula sebagaimana yang telah diajarkan di sekolah dasar, kali ini kita menggunakan percabangan if.
Penyelesaiannya sebagai berikut:
{
char pilihan;
float volume, sisi, panjang, lebar, tinggi, jari;
pilihan <--- input
if (pilihan=='A'||pilihan=='a')
{
sisi <--- input
volume <--- sisi*sisi*sisi
output <--- volume
}
if (pilihan=='B'||pilihan=='b')
{
panjang <--- input
lebar <--- input
tinggi <--- input
volume <--- panjang*lebar*tinggi
output <--- volume
}
if (pilihan=='C'||pilihan=='c')
{
jari input
volume <--- 3,14*4*jari*jari
output <--- volume
}
if (pilihan='D'||pilihan=='d')
{
panjang <--- input
lebar <--- input
tinggi <--- input
volume <--- (panjang*lebar)/3*tinggi
output <--- volume
}
if (pilihan=='E'||=='e')
{
jari <--- input
tinggi <--- input
volume <--- (3,14*jari*jari)/3*tinggi
output <--- volume
}
if (pilihan=='F'||=='f')
{
jari <--- input
tinggi <--- input
volume <--- 3,14*jari*jari*tinggi
output <--- volume
}
Algoritma dan Flowchart, Dasar Pemrograman

Tujuan Pembelajaran
Diharapkan dapat:
1.  Mengerti tentang algoritma
2.  Membuat algoritma dari suatu permasalahan
3.  Mengerti tentang flowchart
4.  Membuat flowchart dari suatu permasalahan

Pendahuluan
1.  Komputer adalah alat bantu untuk menyelesaikan masalah
2.  Dalam menyelesaikan masalah dengan komputer perlu merumuskan langkah-langkah penyelesaian masalah dalam sekumpulan instruksi
3.  sekumpulan instruksi yang dimengerti oleh komputer disebut dengan program


Bahasa Pemrograman
1.  Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer yaitu dalam bahasa pemrograman, dibedakan menjadi:
·         Bahasa tingkat rendah (low level language):
                        Bahasa yang berorientasi ke mesin.
·         Bahasa tingkat tinggi (high level language):
                       Bahasa yang berorientasi ke manusia (seperti bahasa inggris). Contoh bahasa Pascal, bahasa C, dll.
2.  Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (kenal dengan biner digit) dengan menggunakan penerjemah.
             Penerjemah:
·         Interpreter : menerjemahkan baris per baris instruksi. Contoh bahasa Basic.
·         Compiler : menerjemahkan setelah seluruh instruksi ditulis. Contoh bahasa Pascal, bahasa C/C++, dll.
Algoritma
Arti umum adalah serangkaian urutan langkah-langkah yang tepat, logis, terperinci, dan terbatas untuk menyelesaikan suatu masalah yang disusun secara sistematis.
1.  Algoritma adalah inti dari ilmu komputer
2.  Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah
3.  Algoritma adalah blueprint dari program
4.  Sebaiknya disusun sebelum membuat program
5.  Kriteria suatu algoritma:
·         Ada input dan output
·         Efektifitas dan efisien
·         Terstruktur

Contoh:
Algoritma TUKAR ISI BEJANA
Diberikan 2 buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan warna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A ke dalam bejana B
2.  Tuangkan larutan dari bejana B ke dalam bejana A

Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah pertukaran kedua larutan tersebut.
Untuk itu pertukaran isi dua bejana, diperlukan sebuah tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut:

Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian hingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A ke dalam bejana C.
2.  Tuangkan larutan dari bejana B ke dalam bejana A.
3.  Tuangkan larutan dari bejana C ke dalam bejana B.

Ciri Penting Algoritma
1.  Algoritma harus berhenti setelah menjalankan sejumlah langkah terbatas.
2.  Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguitas).
3.  Algortima memiliki nol atau lebih masukan.
4.  Algoritma memiliki nol atau lebih keluaran.
5.  Algoritma harus efektif (setiap langkah sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).

Memrogram dan Bahasa Pemrograman:
1.  Belajar memrogram adalah belajar tentang metode pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
2.  Belajar bahasa pemrograman adalah memakai suatu bahasa, aturan, tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja.

Notasi Algoritma:
1.  Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
2.  Notasi algoritma dapat berupa:
·         Uraian kalimat deskriptif (narasi):
Contoh:
Algoritma kelulusan mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersenut dinyatakan lulus, jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
Deskripsi:
Baca nama dan nilai mahasiswa
            Jika nilai >= 60 maka
            Keterangan = lulus
                  Tetapi jika salah
                  Keterangan = tidak lulus
            Tulis nama dan keterangan.

Tahapan Pembuatan Program:
1.  Mendefinisikan masalah dan menganalisanya. Mencangkup : tujuan pembuatan, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman yang digunakan.
2.  Merealisasikan dengan langkah-langkah sebagai berikut:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw452HNSD755LE0pc8a6jAV1J0tpbL_pfm4j3Wqfx-DUQmRCw4IzlubYTndhw1sNrTxyvufhZxjH8M6XsgN6T-9vYESt_rRpysWLeuNsN6QkY5glCl1A98ZIWR-a1_Um0WXQ2mcXrx0_4_/s400/screenshot1.png


Contoh Algoritma:
1.  Mengirim surat kepada teman:
·         Tulis surat pada secarik kertas surat
·         Ambil sampul surat
·         Masukkan surat ke dalam sampul
·         Tutup sampul surat dengan perekat
·         Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul
·         Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
·         Tempel prangko pada sampul
·         Bawa sampul ke kantor pos untuk diposkan
2.  Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap:
·         Masukkan sebuah bilangan sembarang
·         Bagi bilangan tersebut dengan 2
·         Hitung sisa hasil bagi pada langkah 2
·         Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap
·         Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil


Flowchart
1.  Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian suatu masalah
2.  Merupakan cara penyajian dari suatu algoritma
3.  Ada 2 macam flowchart:
·         System flowchart:
                       Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis penyimpanan dalam proses pengolahan data.
·         Program flowchart:
                       Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.

Contoh program Flowchart


Simbol-simbol Flowchart
1.  Flow Direction Symbols (simbol penghubung alur)
2.  Processing Symbols (simbol proses)
3.  Input-Output Symbols (simbol input-output)

Tabel Simbol-simbol Flowchart

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDe5pdfp-g_EbRG_LjctIpiYpMxglht9yjCgX3JTGPbcYfSgv6UZxsPSYSnUhRNN9LEpHf1QFsTTMZzMgVw1tPcQJ7CgfTlIIzoMCs0bcFoyi2IEMcBatv5wkySUklQaJXwQIwekm2RsV9/s400/screenshot3.png

Pembuatan Flowchart
1.  Tidak ada kaidah yang baku
2.  Flowchart = gambaran hasil analisa suatu masalah
3.  Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya.
4.  Secara garis besar ada 3 bagian utama:
·         Input
·         Proses
·         Output
5.  Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
6.  Jalannnya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
7.  Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.


Pseudocode:
1.  Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus.
Deklarasi:
Nama          : String
Nilai            : Integer
Keterangan  : String
      Deskripsi:
            Read (nama, nilai)
            if nilai >= 60 then
            Keterangan = 'lulus'
            else
            Keterangan = 'tidak lulus'
            write (nama, keterangan)

Aturan Penulisan Teks Algoritma
1.  Judul Algoritma
          Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
2.  Deklarasi
          Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedure, dan fungsi.
3.  Deskripsi
          Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan dijelaskan selanjutnya.

Contoh Pseudocode:
1.  Algoritma Luas_Keliling_Lingkaran (ini merupakan judul algoritma)
          {
Menghitung luas dan keliling untuk ukuran jari-jari tertentu. Algoritma menerima masukkan jari-jari lingkaran, menghitung luas dan kelilingnya, dan mencetak luas lingkaran ke piranti keluaran
          }      (ini spesifikasi algoritma)
2.  Deklarasi
const phi = 3.14 {nilai konstanta phi}
R          : real {jari-jari lingkaran}
Luas     : real {luas lingkaran}
Keliling : real {keliling lingkaran}
3.       Deskripsi
Read (R)
Luas     = phi * R * R
Keliling       = 2 * phi * R
Write (luas, keliling)

 

http://www.prodaslab.com/
Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa :
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
  1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan  algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
  2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
4.    Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
  1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
  2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
  3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
  4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
  5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.

Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :
a)     Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila    tidak semua bahasa pemrograman membutuhkannya.
b)    Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c)     Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.
d)    Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.
e)     Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f)     Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.


Langkah-langkah dalam pemrograman komputer

1.       Mendefinisikan masalah
Ini merupakan langkah pertama yang sering dilupakan orang. Menurut hukum Murphy
(oleh Henry Ledgard):
“Semakin cepat menulis program, akan semakin lama kita dapat menyelesaikannya”.
Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya, apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya.

2.       Menemukan solusi
Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan solusi.
Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut dipecah menjadi
modul-modul kecil agar lebih mudah diselesaikan.
Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa
modul:
�� meminta masukkan berupa matriks bujur sangkar
�� mencari invers matriks
�� menampilkan hasil kepada pengguna
Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan
mudah dilihat.

3.       Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut

4.       Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika
sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan
platform lainnya.

5.       Menguji program
Setelah program jadi, silahkan uji program tersebut dengan segala macam kemungkinan yang ada, termasuk error-handlingnya sehingga program tersebut akan benar-benar handal dan layak digunakan.

6.       Menulis dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan
perubahan atau membaca source code yang sudah kita tulis dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan menuliskan komentarkomentar kecil tentang apa maksud kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa, dan parameter-parameter yang ada pada suatu prosedur dan fungsi.

7.       Merawat program
Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan fasilitas
baru yang dulu tidak ada.

Jenis Proses Algoritma


1.       Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.
2.       Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
3.       Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
4.       Concurrent Process: beberapa instruksi dikerjakan secara bersama.

Contoh Algoritma
Algoritma menghitung luas persegi panjang:
1.       Masukkan panjang (P)
2.       Masukkan lebar (L)
3.       L ← P * L
4.       Tulis L
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.

Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.
Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan
Contoh Pseudo-code:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan
langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
Contoh Algoritma
1. Masukkan bilangan pertama (a)
2. Masukkan bilangan kedua (b)
3. if a > b then kerjakan langkah 4
4. print a
5. print b

Algoritma Pemrograman


Definisi Program/Pemrograman
- Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)

Paradigma Pemrograman
1. Pemrograman Prosedural
�� Berdasarkan urutan-urutan, sekuensia 
�� Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan.
�� Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.

2. Pemrograman Fungsional
�� Berdasarkan teori fungsi matematika
�� Fungsi merupakan dasar utama program.

3. Pemrograman Terstruktur
�� Secara berurutan dan terstrukrtur.
�� Program dapat dibagai-bagi menjadi prosedur dan fungsi.
�� Contoh: PASCAL dan C

4. Pemrograman Modular
�� Pemrograman ini membentuk banyak modul.
�� Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri
�� Sebuah program dapat merupakan kumpulan modul-modul.
�� Contoh: MODULA-2 atau ADA

5. Pemrograman Berorientasi Obyek
�� Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi
�� Contoh: C++, Object Pascal, dan Java.

6. Pemrograman Berorientasi Fungsi
�� Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.
�� Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.

7. Pemrograman Deklaratif
�� Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.
�� Contoh: PROLOG

Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M

Definisi Algoritma
- Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998)
 
- Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)
Contoh Algoritma dalam kehidupan nyata:

- Jika seorang ingin memasak atau membuat kue, baik itu melihat resep ataupun tidak
pasti akan melakukan suatu langkah-langkah tertentu sehingga masakannya atau
kuenya jadi.

- Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang
harus dilakukan adalah:

�� Menulis surat
�� Surat dimasukkan ke dalam amplop tertutup
�� Amplop ditempeli perangko secukupnya.
�� Pergi ke Kantor Pos terdekat untuk mengirimkannya.

Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
Pelaksana algoritma adalah Komputer.
Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program.
Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman.
Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama.


Contoh Algoritma Menghitung Volume Bangun Ruang (Pseudocode)
Menghitung volume bangun ruang dimana terdapat 6 buah bangun ruang yaitu kubus, balok, bola, limas, kerucut dan tabung.
Masing-masing bangun ruang tersebut akan kita cari volume, dengan formula sebagaimana yang telah diajarkan di sekolah dasar, kali ini kita menggunakan percabangan if.
Penyelesaiannya sebagai berikut:
{
char pilihan;
float volume, sisi, panjang, lebar, tinggi, jari;
pilihan <--- input
if (pilihan=='A'||pilihan=='a')
{
sisi <--- input
volume <--- sisi*sisi*sisi
output <--- volume
}
if (pilihan=='B'||pilihan=='b')
{
panjang <--- input
lebar <--- input
tinggi <--- input
volume <--- panjang*lebar*tinggi
output <--- volume
}
if (pilihan=='C'||pilihan=='c')
{
jari input
volume <--- 3,14*4*jari*jari
output <--- volume
}
if (pilihan='D'||pilihan=='d')
{
panjang <--- input
lebar <--- input
tinggi <--- input
volume <--- (panjang*lebar)/3*tinggi
output <--- volume
}
if (pilihan=='E'||=='e')
{
jari <--- input
tinggi <--- input
volume <--- (3,14*jari*jari)/3*tinggi
output <--- volume
}
if (pilihan=='F'||=='f')
{
jari <--- input
tinggi <--- input
volume <--- 3,14*jari*jari*tinggi
output <--- volume
}
Algoritma dan Flowchart, Dasar Pemrograman

Tujuan Pembelajaran
Diharapkan dapat:
1.  Mengerti tentang algoritma
2.  Membuat algoritma dari suatu permasalahan
3.  Mengerti tentang flowchart
4.  Membuat flowchart dari suatu permasalahan

Pendahuluan
1.  Komputer adalah alat bantu untuk menyelesaikan masalah
2.  Dalam menyelesaikan masalah dengan komputer perlu merumuskan langkah-langkah penyelesaian masalah dalam sekumpulan instruksi
3.  sekumpulan instruksi yang dimengerti oleh komputer disebut dengan program


Bahasa Pemrograman
1.  Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer yaitu dalam bahasa pemrograman, dibedakan menjadi:
·         Bahasa tingkat rendah (low level language):
                        Bahasa yang berorientasi ke mesin.
·         Bahasa tingkat tinggi (high level language):
                       Bahasa yang berorientasi ke manusia (seperti bahasa inggris). Contoh bahasa Pascal, bahasa C, dll.
2.  Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (kenal dengan biner digit) dengan menggunakan penerjemah.
             Penerjemah:
·         Interpreter : menerjemahkan baris per baris instruksi. Contoh bahasa Basic.
·         Compiler : menerjemahkan setelah seluruh instruksi ditulis. Contoh bahasa Pascal, bahasa C/C++, dll.
Algoritma
Arti umum adalah serangkaian urutan langkah-langkah yang tepat, logis, terperinci, dan terbatas untuk menyelesaikan suatu masalah yang disusun secara sistematis.
1.  Algoritma adalah inti dari ilmu komputer
2.  Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah
3.  Algoritma adalah blueprint dari program
4.  Sebaiknya disusun sebelum membuat program
5.  Kriteria suatu algoritma:
·         Ada input dan output
·         Efektifitas dan efisien
·         Terstruktur

Contoh:
Algoritma TUKAR ISI BEJANA
Diberikan 2 buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan warna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A ke dalam bejana B
2.  Tuangkan larutan dari bejana B ke dalam bejana A

Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah pertukaran kedua larutan tersebut.
Untuk itu pertukaran isi dua bejana, diperlukan sebuah tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut:

Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian hingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A ke dalam bejana C.
2.  Tuangkan larutan dari bejana B ke dalam bejana A.
3.  Tuangkan larutan dari bejana C ke dalam bejana B.

Ciri Penting Algoritma
1.  Algoritma harus berhenti setelah menjalankan sejumlah langkah terbatas.
2.  Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguitas).
3.  Algortima memiliki nol atau lebih masukan.
4.  Algoritma memiliki nol atau lebih keluaran.
5.  Algoritma harus efektif (setiap langkah sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).

Memrogram dan Bahasa Pemrograman:
1.  Belajar memrogram adalah belajar tentang metode pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
2.  Belajar bahasa pemrograman adalah memakai suatu bahasa, aturan, tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja.

Notasi Algoritma:
1.  Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
2.  Notasi algoritma dapat berupa:
·         Uraian kalimat deskriptif (narasi):
Contoh:
Algoritma kelulusan mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersenut dinyatakan lulus, jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
Deskripsi:
Baca nama dan nilai mahasiswa
            Jika nilai >= 60 maka
            Keterangan = lulus
                  Tetapi jika salah
                  Keterangan = tidak lulus
            Tulis nama dan keterangan.

Tahapan Pembuatan Program:
1.  Mendefinisikan masalah dan menganalisanya. Mencangkup : tujuan pembuatan, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman yang digunakan.
2.  Merealisasikan dengan langkah-langkah sebagai berikut:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw452HNSD755LE0pc8a6jAV1J0tpbL_pfm4j3Wqfx-DUQmRCw4IzlubYTndhw1sNrTxyvufhZxjH8M6XsgN6T-9vYESt_rRpysWLeuNsN6QkY5glCl1A98ZIWR-a1_Um0WXQ2mcXrx0_4_/s400/screenshot1.png


Contoh Algoritma:
1.  Mengirim surat kepada teman:
·         Tulis surat pada secarik kertas surat
·         Ambil sampul surat
·         Masukkan surat ke dalam sampul
·         Tutup sampul surat dengan perekat
·         Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul
·         Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
·         Tempel prangko pada sampul
·         Bawa sampul ke kantor pos untuk diposkan
2.  Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap:
·         Masukkan sebuah bilangan sembarang
·         Bagi bilangan tersebut dengan 2
·         Hitung sisa hasil bagi pada langkah 2
·         Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap
·         Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil


Flowchart
1.  Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian suatu masalah
2.  Merupakan cara penyajian dari suatu algoritma
3.  Ada 2 macam flowchart:
·         System flowchart:
                       Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis penyimpanan dalam proses pengolahan data.
·         Program flowchart:
                       Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.

Contoh program Flowchart


Simbol-simbol Flowchart
1.  Flow Direction Symbols (simbol penghubung alur)
2.  Processing Symbols (simbol proses)
3.  Input-Output Symbols (simbol input-output)

Tabel Simbol-simbol Flowchart

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDe5pdfp-g_EbRG_LjctIpiYpMxglht9yjCgX3JTGPbcYfSgv6UZxsPSYSnUhRNN9LEpHf1QFsTTMZzMgVw1tPcQJ7CgfTlIIzoMCs0bcFoyi2IEMcBatv5wkySUklQaJXwQIwekm2RsV9/s400/screenshot3.png

Pembuatan Flowchart
1.  Tidak ada kaidah yang baku
2.  Flowchart = gambaran hasil analisa suatu masalah
3.  Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya.
4.  Secara garis besar ada 3 bagian utama:
·         Input
·         Proses
·         Output
5.  Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
6.  Jalannnya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
7.  Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.


Pseudocode:
1.  Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus.
Deklarasi:
Nama          : String
Nilai            : Integer
Keterangan  : String
      Deskripsi:
            Read (nama, nilai)
            if nilai >= 60 then
            Keterangan = 'lulus'
            else
            Keterangan = 'tidak lulus'
            write (nama, keterangan)

Aturan Penulisan Teks Algoritma
1.  Judul Algoritma
          Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
2.  Deklarasi
          Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedure, dan fungsi.
3.  Deskripsi
          Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan dijelaskan selanjutnya.

Contoh Pseudocode:
1.  Algoritma Luas_Keliling_Lingkaran (ini merupakan judul algoritma)
          {
Menghitung luas dan keliling untuk ukuran jari-jari tertentu. Algoritma menerima masukkan jari-jari lingkaran, menghitung luas dan kelilingnya, dan mencetak luas lingkaran ke piranti keluaran
          }      (ini spesifikasi algoritma)
2.  Deklarasi
const phi = 3.14 {nilai konstanta phi}
R          : real {jari-jari lingkaran}
Luas     : real {luas lingkaran}
Keliling : real {keliling lingkaran}
3.       Deskripsi
Read (R)
Luas     = phi * R * R
Keliling       = 2 * phi * R
Write (luas, keliling)

 

http://www.prodaslab.com/
Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa :
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
  1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan  algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
  2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
4.    Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
  1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
  2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
  3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
  4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
  5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.

Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :
a)     Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila    tidak semua bahasa pemrograman membutuhkannya.
b)    Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c)     Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.
d)    Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.
e)     Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f)     Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.


Langkah-langkah dalam pemrograman komputer

1.       Mendefinisikan masalah
Ini merupakan langkah pertama yang sering dilupakan orang. Menurut hukum Murphy
(oleh Henry Ledgard):
“Semakin cepat menulis program, akan semakin lama kita dapat menyelesaikannya”.
Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya, apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya.

2.       Menemukan solusi
Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan solusi.
Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut dipecah menjadi
modul-modul kecil agar lebih mudah diselesaikan.
Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa
modul:
�� meminta masukkan berupa matriks bujur sangkar
�� mencari invers matriks
�� menampilkan hasil kepada pengguna
Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan
mudah dilihat.

3.       Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut

4.       Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika
sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan
platform lainnya.

5.       Menguji program
Setelah program jadi, silahkan uji program tersebut dengan segala macam kemungkinan yang ada, termasuk error-handlingnya sehingga program tersebut akan benar-benar handal dan layak digunakan.

6.       Menulis dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan
perubahan atau membaca source code yang sudah kita tulis dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan menuliskan komentarkomentar kecil tentang apa maksud kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa, dan parameter-parameter yang ada pada suatu prosedur dan fungsi.

7.       Merawat program
Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan fasilitas
baru yang dulu tidak ada.

Jenis Proses Algoritma


1.       Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.
2.       Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
3.       Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
4.       Concurrent Process: beberapa instruksi dikerjakan secara bersama.

Contoh Algoritma
Algoritma menghitung luas persegi panjang:
1.       Masukkan panjang (P)
2.       Masukkan lebar (L)
3.       L ← P * L
4.       Tulis L
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.

Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.
Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan
Contoh Pseudo-code:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan
langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
Contoh Algoritma
1. Masukkan bilangan pertama (a)
2. Masukkan bilangan kedua (b)
3. if a > b then kerjakan langkah 4
4. print a
5. print b

Algoritma Pemrograman


Definisi Program/Pemrograman
- Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)

Paradigma Pemrograman
1. Pemrograman Prosedural
�� Berdasarkan urutan-urutan, sekuensia 
�� Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan.
�� Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.

2. Pemrograman Fungsional
�� Berdasarkan teori fungsi matematika
�� Fungsi merupakan dasar utama program.

3. Pemrograman Terstruktur
�� Secara berurutan dan terstrukrtur.
�� Program dapat dibagai-bagi menjadi prosedur dan fungsi.
�� Contoh: PASCAL dan C

4. Pemrograman Modular
�� Pemrograman ini membentuk banyak modul.
�� Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri
�� Sebuah program dapat merupakan kumpulan modul-modul.
�� Contoh: MODULA-2 atau ADA

5. Pemrograman Berorientasi Obyek
�� Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi
�� Contoh: C++, Object Pascal, dan Java.

6. Pemrograman Berorientasi Fungsi
�� Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.
�� Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.

7. Pemrograman Deklaratif
�� Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.
�� Contoh: PROLOG

Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M

Definisi Algoritma
- Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998)
 
- Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)
Contoh Algoritma dalam kehidupan nyata:

- Jika seorang ingin memasak atau membuat kue, baik itu melihat resep ataupun tidak
pasti akan melakukan suatu langkah-langkah tertentu sehingga masakannya atau
kuenya jadi.

- Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang
harus dilakukan adalah:

�� Menulis surat
�� Surat dimasukkan ke dalam amplop tertutup
�� Amplop ditempeli perangko secukupnya.
�� Pergi ke Kantor Pos terdekat untuk mengirimkannya.

Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
Pelaksana algoritma adalah Komputer.
Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program.
Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman.
Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama.


Contoh Algoritma Menghitung Volume Bangun Ruang (Pseudocode)
Menghitung volume bangun ruang dimana terdapat 6 buah bangun ruang yaitu kubus, balok, bola, limas, kerucut dan tabung.
Masing-masing bangun ruang tersebut akan kita cari volume, dengan formula sebagaimana yang telah diajarkan di sekolah dasar, kali ini kita menggunakan percabangan if.
Penyelesaiannya sebagai berikut:
{
char pilihan;
float volume, sisi, panjang, lebar, tinggi, jari;
pilihan <--- input
if (pilihan=='A'||pilihan=='a')
{
sisi <--- input
volume <--- sisi*sisi*sisi
output <--- volume
}
if (pilihan=='B'||pilihan=='b')
{
panjang <--- input
lebar <--- input
tinggi <--- input
volume <--- panjang*lebar*tinggi
output <--- volume
}
if (pilihan=='C'||pilihan=='c')
{
jari input
volume <--- 3,14*4*jari*jari
output <--- volume
}
if (pilihan='D'||pilihan=='d')
{
panjang <--- input
lebar <--- input
tinggi <--- input
volume <--- (panjang*lebar)/3*tinggi
output <--- volume
}
if (pilihan=='E'||=='e')
{
jari <--- input
tinggi <--- input
volume <--- (3,14*jari*jari)/3*tinggi
output <--- volume
}
if (pilihan=='F'||=='f')
{
jari <--- input
tinggi <--- input
volume <--- 3,14*jari*jari*tinggi
output <--- volume
}
Algoritma dan Flowchart, Dasar Pemrograman

Tujuan Pembelajaran
Diharapkan dapat:
1.  Mengerti tentang algoritma
2.  Membuat algoritma dari suatu permasalahan
3.  Mengerti tentang flowchart
4.  Membuat flowchart dari suatu permasalahan

Pendahuluan
1.  Komputer adalah alat bantu untuk menyelesaikan masalah
2.  Dalam menyelesaikan masalah dengan komputer perlu merumuskan langkah-langkah penyelesaian masalah dalam sekumpulan instruksi
3.  sekumpulan instruksi yang dimengerti oleh komputer disebut dengan program


Bahasa Pemrograman
1.  Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer yaitu dalam bahasa pemrograman, dibedakan menjadi:
·         Bahasa tingkat rendah (low level language):
                        Bahasa yang berorientasi ke mesin.
·         Bahasa tingkat tinggi (high level language):
                       Bahasa yang berorientasi ke manusia (seperti bahasa inggris). Contoh bahasa Pascal, bahasa C, dll.
2.  Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (kenal dengan biner digit) dengan menggunakan penerjemah.
             Penerjemah:
·         Interpreter : menerjemahkan baris per baris instruksi. Contoh bahasa Basic.
·         Compiler : menerjemahkan setelah seluruh instruksi ditulis. Contoh bahasa Pascal, bahasa C/C++, dll.
Algoritma
Arti umum adalah serangkaian urutan langkah-langkah yang tepat, logis, terperinci, dan terbatas untuk menyelesaikan suatu masalah yang disusun secara sistematis.
1.  Algoritma adalah inti dari ilmu komputer
2.  Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah
3.  Algoritma adalah blueprint dari program
4.  Sebaiknya disusun sebelum membuat program
5.  Kriteria suatu algoritma:
·         Ada input dan output
·         Efektifitas dan efisien
·         Terstruktur

Contoh:
Algoritma TUKAR ISI BEJANA
Diberikan 2 buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan warna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A ke dalam bejana B
2.  Tuangkan larutan dari bejana B ke dalam bejana A

Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah pertukaran kedua larutan tersebut.
Untuk itu pertukaran isi dua bejana, diperlukan sebuah tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut:

Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian hingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A ke dalam bejana C.
2.  Tuangkan larutan dari bejana B ke dalam bejana A.
3.  Tuangkan larutan dari bejana C ke dalam bejana B.

Ciri Penting Algoritma
1.  Algoritma harus berhenti setelah menjalankan sejumlah langkah terbatas.
2.  Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguitas).
3.  Algortima memiliki nol atau lebih masukan.
4.  Algoritma memiliki nol atau lebih keluaran.
5.  Algoritma harus efektif (setiap langkah sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).

Memrogram dan Bahasa Pemrograman:
1.  Belajar memrogram adalah belajar tentang metode pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
2.  Belajar bahasa pemrograman adalah memakai suatu bahasa, aturan, tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja.

Notasi Algoritma:
1.  Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
2.  Notasi algoritma dapat berupa:
·         Uraian kalimat deskriptif (narasi):
Contoh:
Algoritma kelulusan mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersenut dinyatakan lulus, jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
Deskripsi:
Baca nama dan nilai mahasiswa
            Jika nilai >= 60 maka
            Keterangan = lulus
                  Tetapi jika salah
                  Keterangan = tidak lulus
            Tulis nama dan keterangan.

Tahapan Pembuatan Program:
1.  Mendefinisikan masalah dan menganalisanya. Mencangkup : tujuan pembuatan, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman yang digunakan.
2.  Merealisasikan dengan langkah-langkah sebagai berikut:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw452HNSD755LE0pc8a6jAV1J0tpbL_pfm4j3Wqfx-DUQmRCw4IzlubYTndhw1sNrTxyvufhZxjH8M6XsgN6T-9vYESt_rRpysWLeuNsN6QkY5glCl1A98ZIWR-a1_Um0WXQ2mcXrx0_4_/s400/screenshot1.png


Contoh Algoritma:
1.  Mengirim surat kepada teman:
·         Tulis surat pada secarik kertas surat
·         Ambil sampul surat
·         Masukkan surat ke dalam sampul
·         Tutup sampul surat dengan perekat
·         Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul
·         Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
·         Tempel prangko pada sampul
·         Bawa sampul ke kantor pos untuk diposkan
2.  Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap:
·         Masukkan sebuah bilangan sembarang
·         Bagi bilangan tersebut dengan 2
·         Hitung sisa hasil bagi pada langkah 2
·         Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap
·         Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil


Flowchart
1.  Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian suatu masalah
2.  Merupakan cara penyajian dari suatu algoritma
3.  Ada 2 macam flowchart:
·         System flowchart:
                       Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis penyimpanan dalam proses pengolahan data.
·         Program flowchart:
                       Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.

Contoh program Flowchart


Simbol-simbol Flowchart
1.  Flow Direction Symbols (simbol penghubung alur)
2.  Processing Symbols (simbol proses)
3.  Input-Output Symbols (simbol input-output)

Tabel Simbol-simbol Flowchart

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDe5pdfp-g_EbRG_LjctIpiYpMxglht9yjCgX3JTGPbcYfSgv6UZxsPSYSnUhRNN9LEpHf1QFsTTMZzMgVw1tPcQJ7CgfTlIIzoMCs0bcFoyi2IEMcBatv5wkySUklQaJXwQIwekm2RsV9/s400/screenshot3.png

Pembuatan Flowchart
1.  Tidak ada kaidah yang baku
2.  Flowchart = gambaran hasil analisa suatu masalah
3.  Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya.
4.  Secara garis besar ada 3 bagian utama:
·         Input
·         Proses
·         Output
5.  Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
6.  Jalannnya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
7.  Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.


Pseudocode:
1.  Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus.
Deklarasi:
Nama          : String
Nilai            : Integer
Keterangan  : String
      Deskripsi:
            Read (nama, nilai)
            if nilai >= 60 then
            Keterangan = 'lulus'
            else
            Keterangan = 'tidak lulus'
            write (nama, keterangan)

Aturan Penulisan Teks Algoritma
1.  Judul Algoritma
          Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
2.  Deklarasi
          Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedure, dan fungsi.
3.  Deskripsi
          Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan dijelaskan selanjutnya.

Contoh Pseudocode:
1.  Algoritma Luas_Keliling_Lingkaran (ini merupakan judul algoritma)
          {
Menghitung luas dan keliling untuk ukuran jari-jari tertentu. Algoritma menerima masukkan jari-jari lingkaran, menghitung luas dan kelilingnya, dan mencetak luas lingkaran ke piranti keluaran
          }      (ini spesifikasi algoritma)
2.  Deklarasi
const phi = 3.14 {nilai konstanta phi}
R          : real {jari-jari lingkaran}
Luas     : real {luas lingkaran}
Keliling : real {keliling lingkaran}
3.       Deskripsi
Read (R)
Luas     = phi * R * R
Keliling       = 2 * phi * R
Write (luas, keliling)

 

http://www.prodaslab.com/
Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa :
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
  1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan  algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
  2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
4.    Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
  1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
  2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
  3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
  4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
  5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.

Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :
a)     Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila    tidak semua bahasa pemrograman membutuhkannya.
b)    Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c)     Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.
d)    Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.
e)     Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f)     Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.


Langkah-langkah dalam pemrograman komputer

1.       Mendefinisikan masalah
Ini merupakan langkah pertama yang sering dilupakan orang. Menurut hukum Murphy
(oleh Henry Ledgard):
“Semakin cepat menulis program, akan semakin lama kita dapat menyelesaikannya”.
Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya, apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya.

2.       Menemukan solusi
Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan solusi.
Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut dipecah menjadi
modul-modul kecil agar lebih mudah diselesaikan.
Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa
modul:
�� meminta masukkan berupa matriks bujur sangkar
�� mencari invers matriks
�� menampilkan hasil kepada pengguna
Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan
mudah dilihat.

3.       Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut

4.       Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika
sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan
platform lainnya.

5.       Menguji program
Setelah program jadi, silahkan uji program tersebut dengan segala macam kemungkinan yang ada, termasuk error-handlingnya sehingga program tersebut akan benar-benar handal dan layak digunakan.

6.       Menulis dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan
perubahan atau membaca source code yang sudah kita tulis dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan menuliskan komentarkomentar kecil tentang apa maksud kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa, dan parameter-parameter yang ada pada suatu prosedur dan fungsi.

7.       Merawat program
Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan fasilitas
baru yang dulu tidak ada.

Jenis Proses Algoritma


1.       Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.
2.       Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
3.       Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
4.       Concurrent Process: beberapa instruksi dikerjakan secara bersama.

Contoh Algoritma
Algoritma menghitung luas persegi panjang:
1.       Masukkan panjang (P)
2.       Masukkan lebar (L)
3.       L ← P * L
4.       Tulis L
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.

Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.
Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan
Contoh Pseudo-code:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan
langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
Contoh Algoritma
1. Masukkan bilangan pertama (a)
2. Masukkan bilangan kedua (b)
3. if a > b then kerjakan langkah 4
4. print a
5. print b

Algoritma Pemrograman


Definisi Program/Pemrograman
- Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)

Paradigma Pemrograman
1. Pemrograman Prosedural
�� Berdasarkan urutan-urutan, sekuensia 
�� Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan.
�� Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.

2. Pemrograman Fungsional
�� Berdasarkan teori fungsi matematika
�� Fungsi merupakan dasar utama program.

3. Pemrograman Terstruktur
�� Secara berurutan dan terstrukrtur.
�� Program dapat dibagai-bagi menjadi prosedur dan fungsi.
�� Contoh: PASCAL dan C

4. Pemrograman Modular
�� Pemrograman ini membentuk banyak modul.
�� Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri
�� Sebuah program dapat merupakan kumpulan modul-modul.
�� Contoh: MODULA-2 atau ADA

5. Pemrograman Berorientasi Obyek
�� Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi
�� Contoh: C++, Object Pascal, dan Java.

6. Pemrograman Berorientasi Fungsi
�� Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.
�� Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.

7. Pemrograman Deklaratif
�� Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.
�� Contoh: PROLOG

Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M

Definisi Algoritma
- Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998)
 
- Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)
Contoh Algoritma dalam kehidupan nyata:

- Jika seorang ingin memasak atau membuat kue, baik itu melihat resep ataupun tidak
pasti akan melakukan suatu langkah-langkah tertentu sehingga masakannya atau
kuenya jadi.

- Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang
harus dilakukan adalah:

�� Menulis surat
�� Surat dimasukkan ke dalam amplop tertutup
�� Amplop ditempeli perangko secukupnya.
�� Pergi ke Kantor Pos terdekat untuk mengirimkannya.

Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
Pelaksana algoritma adalah Komputer.
Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program.
Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman.
Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama.


Contoh Algoritma Menghitung Volume Bangun Ruang (Pseudocode)
Menghitung volume bangun ruang dimana terdapat 6 buah bangun ruang yaitu kubus, balok, bola, limas, kerucut dan tabung.
Masing-masing bangun ruang tersebut akan kita cari volume, dengan formula sebagaimana yang telah diajarkan di sekolah dasar, kali ini kita menggunakan percabangan if.
Penyelesaiannya sebagai berikut:
{
char pilihan;
float volume, sisi, panjang, lebar, tinggi, jari;
pilihan <--- input
if (pilihan=='A'||pilihan=='a')
{
sisi <--- input
volume <--- sisi*sisi*sisi
output <--- volume
}
if (pilihan=='B'||pilihan=='b')
{
panjang <--- input
lebar <--- input
tinggi <--- input
volume <--- panjang*lebar*tinggi
output <--- volume
}
if (pilihan=='C'||pilihan=='c')
{
jari input
volume <--- 3,14*4*jari*jari
output <--- volume
}
if (pilihan='D'||pilihan=='d')
{
panjang <--- input
lebar <--- input
tinggi <--- input
volume <--- (panjang*lebar)/3*tinggi
output <--- volume
}
if (pilihan=='E'||=='e')
{
jari <--- input
tinggi <--- input
volume <--- (3,14*jari*jari)/3*tinggi
output <--- volume
}
if (pilihan=='F'||=='f')
{
jari <--- input
tinggi <--- input
volume <--- 3,14*jari*jari*tinggi
output <--- volume
}
Algoritma dan Flowchart, Dasar Pemrograman

Tujuan Pembelajaran
Diharapkan dapat:
1.  Mengerti tentang algoritma
2.  Membuat algoritma dari suatu permasalahan
3.  Mengerti tentang flowchart
4.  Membuat flowchart dari suatu permasalahan

Pendahuluan
1.  Komputer adalah alat bantu untuk menyelesaikan masalah
2.  Dalam menyelesaikan masalah dengan komputer perlu merumuskan langkah-langkah penyelesaian masalah dalam sekumpulan instruksi
3.  sekumpulan instruksi yang dimengerti oleh komputer disebut dengan program


Bahasa Pemrograman
1.  Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer yaitu dalam bahasa pemrograman, dibedakan menjadi:
·         Bahasa tingkat rendah (low level language):
                        Bahasa yang berorientasi ke mesin.
·         Bahasa tingkat tinggi (high level language):
                       Bahasa yang berorientasi ke manusia (seperti bahasa inggris). Contoh bahasa Pascal, bahasa C, dll.
2.  Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (kenal dengan biner digit) dengan menggunakan penerjemah.
             Penerjemah:
·         Interpreter : menerjemahkan baris per baris instruksi. Contoh bahasa Basic.
·         Compiler : menerjemahkan setelah seluruh instruksi ditulis. Contoh bahasa Pascal, bahasa C/C++, dll.
Algoritma
Arti umum adalah serangkaian urutan langkah-langkah yang tepat, logis, terperinci, dan terbatas untuk menyelesaikan suatu masalah yang disusun secara sistematis.
1.  Algoritma adalah inti dari ilmu komputer
2.  Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah
3.  Algoritma adalah blueprint dari program
4.  Sebaiknya disusun sebelum membuat program
5.  Kriteria suatu algoritma:
·         Ada input dan output
·         Efektifitas dan efisien
·         Terstruktur

Contoh:
Algoritma TUKAR ISI BEJANA
Diberikan 2 buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan warna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A ke dalam bejana B
2.  Tuangkan larutan dari bejana B ke dalam bejana A

Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah pertukaran kedua larutan tersebut.
Untuk itu pertukaran isi dua bejana, diperlukan sebuah tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut:

Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian hingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A ke dalam bejana C.
2.  Tuangkan larutan dari bejana B ke dalam bejana A.
3.  Tuangkan larutan dari bejana C ke dalam bejana B.

Ciri Penting Algoritma
1.  Algoritma harus berhenti setelah menjalankan sejumlah langkah terbatas.
2.  Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguitas).
3.  Algortima memiliki nol atau lebih masukan.
4.  Algoritma memiliki nol atau lebih keluaran.
5.  Algoritma harus efektif (setiap langkah sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).

Memrogram dan Bahasa Pemrograman:
1.  Belajar memrogram adalah belajar tentang metode pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
2.  Belajar bahasa pemrograman adalah memakai suatu bahasa, aturan, tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja.

Notasi Algoritma:
1.  Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
2.  Notasi algoritma dapat berupa:
·         Uraian kalimat deskriptif (narasi):
Contoh:
Algoritma kelulusan mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersenut dinyatakan lulus, jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
Deskripsi:
Baca nama dan nilai mahasiswa
            Jika nilai >= 60 maka
            Keterangan = lulus
                  Tetapi jika salah
                  Keterangan = tidak lulus
            Tulis nama dan keterangan.

Tahapan Pembuatan Program:
1.  Mendefinisikan masalah dan menganalisanya. Mencangkup : tujuan pembuatan, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman yang digunakan.
2.  Merealisasikan dengan langkah-langkah sebagai berikut:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw452HNSD755LE0pc8a6jAV1J0tpbL_pfm4j3Wqfx-DUQmRCw4IzlubYTndhw1sNrTxyvufhZxjH8M6XsgN6T-9vYESt_rRpysWLeuNsN6QkY5glCl1A98ZIWR-a1_Um0WXQ2mcXrx0_4_/s400/screenshot1.png


Contoh Algoritma:
1.  Mengirim surat kepada teman:
·         Tulis surat pada secarik kertas surat
·         Ambil sampul surat
·         Masukkan surat ke dalam sampul
·         Tutup sampul surat dengan perekat
·         Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul
·         Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
·         Tempel prangko pada sampul
·         Bawa sampul ke kantor pos untuk diposkan
2.  Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap:
·         Masukkan sebuah bilangan sembarang
·         Bagi bilangan tersebut dengan 2
·         Hitung sisa hasil bagi pada langkah 2
·         Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap
·         Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil


Flowchart
1.  Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian suatu masalah
2.  Merupakan cara penyajian dari suatu algoritma
3.  Ada 2 macam flowchart:
·         System flowchart:
                       Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis penyimpanan dalam proses pengolahan data.
·         Program flowchart:
                       Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.

Contoh program Flowchart


Simbol-simbol Flowchart
1.  Flow Direction Symbols (simbol penghubung alur)
2.  Processing Symbols (simbol proses)
3.  Input-Output Symbols (simbol input-output)

Tabel Simbol-simbol Flowchart

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDe5pdfp-g_EbRG_LjctIpiYpMxglht9yjCgX3JTGPbcYfSgv6UZxsPSYSnUhRNN9LEpHf1QFsTTMZzMgVw1tPcQJ7CgfTlIIzoMCs0bcFoyi2IEMcBatv5wkySUklQaJXwQIwekm2RsV9/s400/screenshot3.png

Pembuatan Flowchart
1.  Tidak ada kaidah yang baku
2.  Flowchart = gambaran hasil analisa suatu masalah
3.  Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya.
4.  Secara garis besar ada 3 bagian utama:
·         Input
·         Proses
·         Output
5.  Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
6.  Jalannnya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
7.  Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.


Pseudocode:
1.  Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus.
Deklarasi:
Nama          : String
Nilai            : Integer
Keterangan  : String
      Deskripsi:
            Read (nama, nilai)
            if nilai >= 60 then
            Keterangan = 'lulus'
            else
            Keterangan = 'tidak lulus'
            write (nama, keterangan)

Aturan Penulisan Teks Algoritma
1.  Judul Algoritma
          Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
2.  Deklarasi
          Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedure, dan fungsi.
3.  Deskripsi
          Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan dijelaskan selanjutnya.

Contoh Pseudocode:
1.  Algoritma Luas_Keliling_Lingkaran (ini merupakan judul algoritma)
          {
Menghitung luas dan keliling untuk ukuran jari-jari tertentu. Algoritma menerima masukkan jari-jari lingkaran, menghitung luas dan kelilingnya, dan mencetak luas lingkaran ke piranti keluaran
          }      (ini spesifikasi algoritma)
2.  Deklarasi
const phi = 3.14 {nilai konstanta phi}
R          : real {jari-jari lingkaran}
Luas     : real {luas lingkaran}
Keliling : real {keliling lingkaran}
3.       Deskripsi
Read (R)
Luas     = phi * R * R
Keliling       = 2 * phi * R
Write (luas, keliling)