<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Rifqi Ryan on Medium]]></title>
        <description><![CDATA[Stories by Rifqi Ryan on Medium]]></description>
        <link>https://medium.com/@ryanavilar?source=rss-1b4a38e7165------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*sgDm9Ef8U6UA4693z8uCBA.jpeg</url>
            <title>Stories by Rifqi Ryan on Medium</title>
            <link>https://medium.com/@ryanavilar?source=rss-1b4a38e7165------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Tue, 26 May 2026 22:36:52 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@ryanavilar/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[How CDXP can make better Public Service in Indonesia]]></title>
            <link>https://medium.com/@ryanavilar/how-cdxp-can-make-better-public-service-in-indonesia-ba4ce8bdca43?source=rss-1b4a38e7165------2</link>
            <guid isPermaLink="false">https://medium.com/p/ba4ce8bdca43</guid>
            <category><![CDATA[indonesia]]></category>
            <category><![CDATA[digital-government]]></category>
            <category><![CDATA[public-service]]></category>
            <category><![CDATA[customer-data-platform]]></category>
            <category><![CDATA[big-data]]></category>
            <dc:creator><![CDATA[Rifqi Ryan]]></dc:creator>
            <pubDate>Sat, 03 Dec 2022 23:16:37 GMT</pubDate>
            <atom:updated>2022-12-03T23:21:29.250Z</atom:updated>
            <content:encoded><![CDATA[<blockquote>Note : This article is purely my own opinion based on my experience building a CDXP together with Feedloop &amp; Accenture Indonesia <a href="https://feedloop_io.gitlab.io/aixp-docs/">(Feedloop AIXP)</a>.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/688/0*9pmHZQLTDWEyESxh.jpg" /><figcaption>© magic pictures, Shutterstock</figcaption></figure><p>In July 2022, the Government of Indonesia announced the integration of the national identity number (NIK) and tax identification number (NPWP) that will be in full effect as of January 2024. This is a progressive step for the government in providing convenience for the citizen in fulfilling obligations as obedient taxpayers — less identities, less cards, and less bureaucracy.</p><p>Now, imagine if the government could integrate not only NIK and NPWP but also all existing data from many identity cards issued by different government institutions into a single identity number (SIN). The SIN can be used for many purposes, giving advantages to both the government and citizens. It can result in better tax management, policy implementation more on target, and welfare increase. Then the question would be “Is it possible…?”</p><p>By using technology, yes, it is surely possible! And the technology is already there, ready to be utilized; It is called CDXP (Customer Data Experience Platform). Hence, this article will explore the main concept of CDXP and how it can be an effective solution to many unused silo-ed data and use it for better public services.</p><p>First of all, what is CDXP? CDXP is a platform that can capture and integrate many digital touchpoints (such as mobile apps, web apps, Admin systems, CRM, IoT Edge devices, etc.) as long as they are connected with CDXP. The data that send to CDXP is called an event. An event can be any activity on apps, admin entry, data process, or upload of data manually. And from the collection of events with the same identity will build a profile.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1022/1*pdOZntCvaHHWfCh_fTquqQ.png" /><figcaption>Pic 01. How CDXP works</figcaption></figure><p>CDXP has 7 main features, <br>1. Event Tracker<br>2. Identity Resolution &amp; Event Profile Mapping<br>3. Profile, Segment &amp; Event Log<br>4. Insight Dashboard<br>5. Engage<br>6. Customer API<br>7. Data Security &amp; Access Control<br>I will give examples of how each feature interacts, to explain why I think the platform is suitable to build better public service in Indonesia.</p><p><strong>Event Tracker<br></strong>Event Tracker is the main data source for the platform. The idea is to install the tracker on every touchpoint that wants to be tracked and define which events and properties need to be processed in the platform. For example, if we install a tracker in PeduliLindungi to track users’ check-in, then every check-in made by users will trigger a new event to the platform that states the location and COVID-19 status of the users on the platform. Another example is if we install a tracker on the Kominfo Phone Registration System, so every time we register our new phone number, the system will trigger a new event to the platform and it will link the phone number with the NIK so in the future our phone number will automatically link with any government service that we use.</p><p>All the events captured then can be seen in the event logs. Each user has its own specific event logs to see their detailed activity.</p><p><strong>Identity Resolution &amp; Event Properties Mapping<br></strong>This feature is the brain of the grouping mechanism, So it basically maps the event properties and identity to a specific profile or creates a new one if the identity is not found.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0Vtsu1dL3Rrpd98sShs91A.png" /><figcaption>Pic02. Illustration from Segments Profile (source: <a href="https://segment.com/docs/profiles/identity-resolution/">https://segment.com/docs/profiles/identity-resolution/</a>)</figcaption></figure><p>For Identity Resolution, we can set up multiple different identities. For example, a profile can have one NIK, multiple Phone Numbers, one PeduliLindungi ID, multiple emails, one driving license for each type, etc. If an event brings some identity, it will solve it one by one based on prioritization. So let&#39;s say a person buys a new SIM card they need to register it with NIK, so by the time they complete the process, we can identify the specific NIK that will have that registered phone number. And if they use the phone number to register to Peduli Lindungi, the platform can know that this Peduli Lindungi ID is linked to a certain NIK (without further input for user, so more User Friendly). Furthermore, if BPJS is already integrated, we can know this Peduli Lindungi ID is linked to this BPJS ID.</p><p>Meanwhile, Event Properties<strong> </strong>Mapping is the one whose function is to map specific properties of the events to build profile property. For example, if a parent registers their new-born child to have a birth certificate from the Population and Civil Registration Agency (Disdukcapil), by the time the admin completes the process, the new-born child will have his/her name and NIK number as profile property.</p><p>The usage of this feature enables the integration of multiple identities from multiple systems of different government institutions. This allows the government to track what public service citizen A just accessed, or maybe, which social assistance citizen B just received.</p><pre><strong>Demo Illustration</strong><br>1. ID Prioritization that Set : No.1 NIK &amp; No.2 Phone Number (multiple) <br>2. Setup Register Event that map NIK, Phone Number, and Name Properties<br>3.One Register Event tracked in the platform with NIK 123 , Phone Number 081234567890, and Properties Name Ryan<br>4. One Profile for Ryan created with NIK 123 &amp; Phone Number 081234567890<br>5. Another event tracked from different app with NIK 123, and different phone number 089876543210<br>6. Ryan profile found with NIK 123 because it is on the first priority and link the second phone number 089876543210<br>7. Another event tracked again with NIK 321 it will become a new profile based on the NIK as first prioritization</pre><p>Note regarding Identity Resolution: Identity Resolution has no validation mechanism, therefore, cannot be used to validate identity as well. This is because it automatically merges many identities from the event without filtering whether the identity is true or not — the data sent to the platform will always be assumed valid. Use the registered Profile as validation before identity submission can be handled by Profile API (this will be explained later in this article).</p><p><strong>Profile, Segment &amp; Event Log</strong></p><p>All of the events captured will become a Profile. As mentioned before each of the profiles will have its own event log which relates to its activity within the tracked environment.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/961/1*QDUVqQzC6p0mN3ff2XY_BA.png" /><figcaption>Pic 03. Profile Illustration by use Insider (source: <a href="https://useinsider.com/customer-data-platform/">https://useinsider.com/customer-data-platform/</a> )</figcaption></figure><p>Here are the big picture illustration of the data integration in Indonesia:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/851/1*deDlGuNfFwcb83YHxirTQg.png" /><figcaption>Pic 04. CDXP Integration Illustration (Example)</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/861/1*AZkvNXuKbIhhKdw1_Ror1Q.png" /><figcaption>Pic 05. Event &amp; Event to Profile Example</figcaption></figure><p>The more systems/touchpoints integrated into the CDXP, the profile for each citizen will become richer in that it is able to show the citizen&#39;s income; the tax amount they pay/owe; the BPJS benefit they access, and their monthly payment obedience; the abroad travel log; financial credit and loan application history; and even derivative elements such as the citizens’ eligibility to get specific social assistance scheme, or their eligibility to buy subsidized gas and petrol.</p><p>We can also create segments, a group/persona that is based on a specific filter with CDXP. For instance, the government wants to have a list of citizen profiles eligible for social assistance. The criteria are the income must be lower than IDR 1 million per month. With the creation of segments, CDXP not only can automatically show the number of people who match the criteria but can also produce a dataset to be used by other features later. With this feature, CDXP can enable the government to define the policy target group with a higher degree of accuracy, while on the citizens’ side, CDXP can help them have more clarity regarding what government policy/assistance they are eligible for.</p><p><strong>Insight Dashboard<br></strong>The insight dashboard feature is in line with a spirit of data-driven decision-making. We believe that using data to back decisions will guide us to efficient approaches to achieve our objectives for public needs.</p><p>With no hassle, after the data was collected in CDXP, we can easily create data visualization insight, it provides an executive/monitoring dashboard for decision making. For example, we can have a dashboard that shows the spread of redeemed subsidized gas across Indonesia in map format or a trend on how many people redeemed social assistance each week, or what trend of disease is currently infected in Indonesia vs how much redeemed BPJS to support that. The dashboard is able to create any insights that you need.</p><p><strong>Engage<br></strong>A good policy concept is nothing if the target group has no idea about its existence. Thus, engage feature will help the government to reach them. With the ability to use and integrate any method of communication such as email, SMS, WhatsApp, Push Notifications, Telegram, and other Social Media, CDXP is able to help reach many kinds of citizen groups. <em>First</em>, we can use the created segments mentioned above to target, for example, low-income profiles. After that, we choose the communication tools that will be used to reach the segments, for example, SMS and WhatsApp to reach a wide range of people. Third, we can customize the message that will be sent to let them know the social assistance program and how to access it, and the last step, send the message out. It will be sent to the citizens whose phone numbers are registered on their profiles.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Va6OfI_4_oLbWTJmfstfQA.png" /><figcaption>Pic 06. Engage Illustration of MoEngage (source: <a href="https://help.moengage.com/hc/en-us/articles/206184196-Create-In-App-Campaign#h_01F9H2RCZ3V3374C9E9Y7QZXEF">https://help.moengage.com/hc/en-us/articles/206184196-Create-In-App-Campaign#h_01F9H2RCZ3V3374C9E9Y7QZXEF</a>)</figcaption></figure><p>Imagine if citizens never miss out on what policy can benefit them and have a guide to accessing it every time a new policy/assistance scheme is issued. It will surely increase public trust in the performance of the government. Moreover, CDXP also enables advertisement/lookalike retargeting, which means that we can use the segments to make government ads to be more precisely reach the correct audiences. To spread it, the government can use engage and ads feature that connects to Google or Facebook ads which are also possible in CDXP. Do not worry! The data sent to other services like Google or Facebook is demographic lookalike (not confidential data) to target the audience that has a similar demographic to the one to that we send messages before.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/1*KvLpXE0_3tlbkSP2SipYHg.jpeg" /><figcaption>Pic 07. Example of Promoted Tweet</figcaption></figure><p><strong>Profile</strong> <strong>API<br></strong>If event tracking is inbound to become profile data, the profile then can be accessed outbound by other systems using Profile API. The usage of the profile API is to give a tailored experience to the specific user on their app. For example, if you need to renew your old passport, normally you need to copy some documents and bring them to the immigration office, but imagine if you just need to create a renewal request in some e-passport app, then the system will get all the needed documents using Profile API and you just need to check whether there are any incorrect data that need to be changed or updated then set an appointment for photos. That’s it. In the next few days, you will get a notification message if your new passport is finished and ready to collect. How convenient is it, right?</p><p><strong>Data Security &amp; Access Control<br></strong>Ever since data hacks are everywhere in Indonesia, of course, one of the main concerns is data privacy protection in this powerful platform. So how can I make sure it is safe? The answer is there is no silver bullet to make data unhackable, but, yes, there is a preventive measure to restrain unwanted data access by having encryption at rest on the database level so even though somebody dumps the database (which means the network security is breached) without a correct encryption key, they will just get the random strings that are unreadable. Furthermore having the crucial data stored on-premise and not connected directly to the internet also helps the security measurement.</p><p>Furthermore, as an additional but still important measure, there should be restrictions on who will get access to the data in the platform as the platform contains many citizens’ confidential data. Not all government officials can access the data. There also need to have access control management based on the role of the government official, so specific government role can only access limited feature and/or data they need related to their job.</p><p>Ideally, implementing CDXP is also in line with the open government initiative; to give the public more access to public data. The government can create a super portal, say gov.id, for the public to see their own profile and history activity. This portal can become a source of information for any citizen that wants to know what government assistance or program is eligible for them.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/471/1*20sa71X7hkuOdOnadVtKdQ.png" /><figcaption>Pic 08. CDXP x GOV.ID Portal</figcaption></figure><p>The further implementation of CDXP is connecting the captured data to machine learning for AI Automation to identify duplicate or fake data of e-KTP, so each citizen can only have one e-KTP. The further challenge that could happen is regarding data governance. CDXP is a powerful system, however, wrong data input will create messy big data.</p><p>The technology is there. CDXP is one example of how technology can make public service better. In the end, it is a strong political will from the government to initiate the changes that will decide the good usage of this powerful technology.</p><p>I’ll discuss some detail regarding the further implementation or its data governance later. Thank you for reading my article. I’d be glad to receive your comments or feedback.</p><p>See you at the next one.</p><p>Special thanks to my wife <a href="https://medium.com/u/94ce90d45e34">Nadia Anindya</a> for editing this article!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ba4ce8bdca43" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Dengan ini kamu bisa bantu selesaikan Coronavirus, Nomor 1 ternyata sangat mudah dilakukan]]></title>
            <link>https://medium.com/@ryanavilar/dengan-ini-kamu-bisa-bantu-selesaikan-coronavirus-nomor-1-ternyata-sangat-mudah-dilakukan-5dcf5af6a230?source=rss-1b4a38e7165------2</link>
            <guid isPermaLink="false">https://medium.com/p/5dcf5af6a230</guid>
            <category><![CDATA[virus]]></category>
            <category><![CDATA[corona]]></category>
            <category><![CDATA[coronavirus]]></category>
            <category><![CDATA[flu]]></category>
            <category><![CDATA[sick]]></category>
            <dc:creator><![CDATA[Rifqi Ryan]]></dc:creator>
            <pubDate>Mon, 23 Mar 2020 08:14:43 GMT</pubDate>
            <atom:updated>2020-03-23T08:14:43.521Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*IRPvLSYMsOgkmcsZ" /><figcaption>Photo by <a href="https://unsplash.com/@kellysikkema?utm_source=medium&amp;utm_medium=referral">Kelly Sikkema</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Yakin nih, pasti udah capek juga dengan info macem-macem terkait Coronavirus dan banyak kata-kata baru yang bingung juga ini harusnya gimana sih, di artikel ini pengen ngejelasin solusi sederhana buat coronavirus yang harapannya lebih gampang diterima sama temen-temen sekalian.</p><h3>Sekilas Tentang Coronavirus</h3><p>Jadi Coronavirus ini bisa nyebar cepet banget gara-gara virus ini tahan lama dan kebanyakkan sekarang nyebar dari orang ke orang. Ketika artikel ini ditulis udah ada 300 ribu kasus Corona virus yang terdeteksi seluruh dunia dan ada 13 ribu korban corona virus yang meninggal (Sekitar 3% angka kematian) data dapat dilihat lewat <a href="https://ncov2019.live/">https://ncov2019.live</a> terlebih lagi coronavirus ini obatnya masih dalam proses. Nah kalo gampang nyebar gini dan banyak yang udah jadi korban apalagi belum ada obatnya bahaya dong ya. YA IYALAH GIMANA SIH PAKEK NANYA *sorry ngegas</p><h3><strong>TAPI TENANG KAMU BISA JADI BAGIAN DARI SOLUSI</strong></h3><p>Duh panik sekarang harus gimana dong, “Obat belum ada, Vaksin belum ada, Jadi apakah ini hukuman dari Tuhan ?” Bentar-Bentar tenang dulu semua belum berakhir ada pasien yang sembuh juga kok dari Coronavirus karena badannya sehat dan dirawat dengan benar. Vaksin dan Obat sedang proses pembuatan nah sambil nunggu ini semua apa yang bisa kita lakuin nih biar ga makin parah wabah ini</p><p><strong>JANGAN NONGKRONG !!! <br></strong>Jauhi Keramaian, keluar kalo ada perlu aja dan itu juga penting dan mendesak. Apa hubungannya dah Coronavirus sama ga boleh nongkrong sok ngatur aja lu. — Ih ngeyel dah dibilangin. Gini lho kan kita pake cerita deh ala-ala soal cerita matematika jaman sekolah dulu</p><pre>Budi seorang mahasiswa tingkat akhir Ilmu Komputer yang sedang disibukkan dengan skripsi. Pagi hari setelah Budi bangun, dia langsung ke warkop langganannya di situ dia ketemu temen-temen kampusnya Anton, Chandra, dan pemilik warkopnya Donny. Setelah makan siang Donny pergi ke kampus untuk 2 kelas, masing-masing kelas terdiri dari 30 orang. Lalu Budi pulang nongkrong sama temen se-gengnya berjumlah 5 orang termasuk Budi (di luar Anton dan Chandra). Malemnya Budi sebelum tidur nongkrong di warung makan Pak Ero yang waktu itu sepi tidak ada orang selain pemiliknya bersama 3 orang temennya. <strong>Jadi berapa banyak orang yang Budi temuin hari ini ?</strong></pre><pre><strong>Diketahui</strong><br>Jumlah orang yang bertemu Budi<br>Pagi : 3 orang (Anton, Chandra, Donny)<br>Siang : 60 orang (30 orang x 2 kelas)<br>Sore : 5 orang (Temen se-geng Budi)<br>Malam : 4 orang (3 orang temen nongkrong + Pak Ero)</pre><pre><strong>Ditanyakan<br></strong>Jumlah orang yang Budi temuin</pre><pre><strong>Jawab<br></strong>= 3 + 60 + 5 + 4<br>= 72 orang</pre><p>Jika keesokan harinya Budi divonis positif Corona maka 72 orang ini harus di cek karena mereka bisa menjadi korban, virus ini bisa menyebar dari kontak 1 orang ke yang lainnya bahkan lewat bersin ataupun batuk. Terlebih jika kita juga dapat terkena coronavirus namun tanpa gejala (disebut <em>carrier</em>) yang sama gampangnya ditularkannya. Nah masuklah ke soal cerita selanjutnya,</p><pre>Rumah Sakit Ayah Ibu dan Tetangga mempunyai 50 kasur untuk pasien yang dirawat. Jika pada hari ini terdapat 30 pasien dari hari kemarin. Lalu pada hari ini terdapat 30 pasien yang harus masuk hari ini. Lalu Budi juga perlu dirawat. Jadi berapa jumlah kasur yang kurang agar seluruh pasien dapat masuk ?</pre><pre><strong>Diketahui<br></strong>Jumlah Kasur di RS : 50 kasur<br>Pasien Sekarang : 30 pasien<br>Tambahan Pasien : 31 pasien ( 30 + Budi )</pre><pre><strong>Ditanyakan<br></strong>Jumlah kasur yang kurang</pre><pre><strong>Jawab<br></strong>= 50 - (30 + 31)<br>= 50 - 61<br>= -11 </pre><pre>Jadi Kurang 11 kasur agar seluruh pasien Rumah Sakit Ayah Ibu dan Tetangga bisa dirawat </pre><p>Nah di Rumah Sakit Ayah Ibu dan Tetangga aja sekarang udah ga bisa nerima Budi, terus bagaimana nasib 72 yang ada kemungkinan besar Budi tularkan Coronavirus ? Terus belum jika 72 orang ini sama kaya Budi menularkan ke temen-temennya juga. Sementara rata-rata pasien coronavirus yang bener-bener sakit butuh perawatan optimal agar bisa sembuh. Jumlah Fasilitas Kesehatan hanya sedikit yang tersedia jadi ga semua orang kalo sakit bisa langsung dirawat. Perlu adanya pembagian masuk RSnya agar tidak berbondong-bondong semua ke RS. Jadi apa yang bisa kita lakukan ?</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/1*yk1gdLA7NBdK0bZBET8tag.gif" /><figcaption><a href="https://twitter.com/lassehmadsen/status/1241623460335489024?s=21">https://twitter.com/lassehmadsen/status/1241623460335489024?s=21</a></figcaption></figure><ol><li>JANGAN NONGKRONG!</li><li>DIEM DI RUMAH kecuali memang ada acara yang sangat teramat penting kalopun keluar minimalkan kontak ato ketemu sama orang (jangan salaman)</li><li>SELALU CUCI TANGAN dengan sabun dan dengan desinfektan agar virus dapat mati.</li><li>Nah coronavirus punya masa inkubasi 14 hari, jadi jika selama 14 hari gejala flu, batuk, demam, susah nafas itu muncul segeralah hubungi dokter.</li><li>Jika gejala tersebut tidak muncul, tetap lakukan nomor 1,2 dan 3 !</li></ol><p>Dengan mengikuti petunjuk simpel di atas maka Jumlah naiknya pasien dapat lebih terkontrol sehingga RS dapat memprosesnya satu demi satu dan ketika pasien sembuh dapat digantikan dengan pasien yang baru lagi. Jika tidak seperti ini maka kasus seperti di Italia akan terjadi dan kamu merupakan bagian dari pahlawan yang ikut membantu menyelesaikan coronavirus di Indonesia.</p><p>Semoga membantu :)</p><p><strong>Sumber</strong><br>1. <a href="https://news.sky.com/story/coronavirus-they-call-it-the-apocalypse-inside-italys-hardest-hit-hospital-11960597">https://news.sky.com/story/coronavirus-they-call-it-the-apocalypse-inside-italys-hardest-hit-hospital-11960597</a> <br>2. <a href="https://ncov2019.live/">https://ncov2019.live</a><br>3. <a href="http://www.chinadaily.com.cn/a/202003/21/WS5e75e182a310128217280f49.html">http://www.chinadaily.com.cn/a/202003/21/WS5e75e182a310128217280f49.html</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5dcf5af6a230" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Coding 101 : Belajar Koding itu Simple Kok (Part 01)]]></title>
            <link>https://medium.com/@ryanavilar/coding-101-belajar-koding-itu-simple-kok-part-01-a66afd0e03?source=rss-1b4a38e7165------2</link>
            <guid isPermaLink="false">https://medium.com/p/a66afd0e03</guid>
            <category><![CDATA[coding101]]></category>
            <category><![CDATA[lifestyle]]></category>
            <category><![CDATA[lifehacks]]></category>
            <category><![CDATA[koding]]></category>
            <category><![CDATA[coding]]></category>
            <dc:creator><![CDATA[Rifqi Ryan]]></dc:creator>
            <pubDate>Wed, 22 May 2019 11:38:52 GMT</pubDate>
            <atom:updated>2022-12-14T00:45:04.727Z</atom:updated>
            <content:encoded><![CDATA[<h3>Coding 101 : Belajar Koding itu Simple Kok</h3><p>Apa sih itu Koding ? Bikin aplikasi gimana sih ? Itu ketik-ketik di komputer harus apal semua ya ? Lah itu tulisan-tulisan abstrak itu bisa jadi gambar ? Itu beberapa statement yang gw terima ketika gw ngoding di kantor yang memang notabene bukan dunia IT, nah maka dari itu gw akan coba bahas Koding dari awal banget dan gw coba analogikan ke hal yang lebih mudah untuk semua orang cerna. Biar adem coba sambil dengerin ini :</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F5VnlCW4JHR8%3Ffeature%3Doembed&amp;url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D5VnlCW4JHR8&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F5VnlCW4JHR8%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/ec85766822e7900eebf52a24b9a086c4/href">https://medium.com/media/ec85766822e7900eebf52a24b9a086c4/href</a></iframe><p><strong>Apa itu Koding ?</strong></p><p>Koding itu simpelnya kita analogikan sebagai bahasa, let’s say kita ngobrol sama bule yang cuman bisa bahasa inggris kalo kita paham bahasa inggris aman, interaksi bisa terjalin. Semisal kita mau minta tolong si bule buat ambilin kecap (ini ceritanya lagi di warung bakso dan dia duduk di meja sebelah nah kecap di meja kita abis adanya di meja dia). Coba kita ngomong pake bahasa indonesia “Mr Kecap please Kecap”, lah terus dia nyodorin Saus Tomat, ga salah dong (kan Ketchup-saus tomat ejaannya mirip Kecap) tapi yang kita maksud bukan itu. Nah tapi kalo kita bisa bahasa inggris “Could you pass me the soy sauce pls” Nah dia langsung kasih tuh kecap beneran. Sekarang kalo koding itu bahasa mesin, supaya kita bisa minta tolong sama komputer ga pake salah tapi ya harus diketik.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*OZL7Gp5giWJrzHSv" /><figcaption>Photo by <a href="https://unsplash.com/@hiteshchoudhary?utm_source=medium&amp;utm_medium=referral">Hitesh Choudhary</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p><strong>Terus Perintah Sederhananya apa aja sih ?</strong></p><p>Nah berikut perintah-perintah sederhana (basic) yang sering dipakai di dunia perkodingan dan bisa diaplikasikan ke semua bahasa pemprograman yang ada :</p><p><strong>Variabel<br></strong>Variabel ini maksudnya kita minta tolong ke mesin untuk nginget-nginget sesuatu dengan ngasih nama ke hal yang minta diinget itu. Contoh paling simpel kita semua tau <strong><em>phi(</em>π)<em> = </em>3.14159, </strong>jadi ketika orang lain nanya <em>phi </em>itu berapa kita bisa kasih angka tersebut. Kita bisa tau <em>phi</em> itu berapa karena sebelumnya ada yang pernah bilang ngasih tau ke kita. Begitu juga dengan mesin kalo kita bilang <strong>abc = 12345</strong>. Maka mesin tiap ditanya abc berapa dia akan menjawab 12345. <strong>Satu hal yang perlu diingat nama variabel ga boleh pake spasi dan symbol aneh-aneh</strong></p><p><strong>Tipe Variabel<br></strong>Tipe Variabel seperti yang di nomer 1 itu ada beberapa tipe, berikut merupakan variabel yang <strong>sering</strong> dipakai : <br>1. <strong>String</strong> : kata atau kalimat terlihat dengan tanda kutip(“ ”) di depan dan belakangnya , contoh : <strong>nasiGoreng = “enak” </strong>(maksudnya dibuat variabel nasiGoreng yang isinya “enak”<br>2. <strong>Integer</strong> : angka (ga pake koma atau pecahan) variabel ini bisa diotak atik pake fungsi matematika (+, - ,x , : ) contoh : <strong>nasiUduk = 5000 </strong>(perlu diingat angka ini tidak perlu pake .(titik))<br>3. <strong>Float</strong> : angka yang sama seperti Integer tapi lebih detil (bisa pake koma) <br>4. <strong>Boolean</strong> : iya(<strong>true</strong>) atau tidak(<strong>false</strong>), ini tipe paling gampang karena isinya hanya 2 kalo ga iya berarti tidak. Tipe ini sering dipakai untuk memberi opsi kepada mesin. contoh : <strong>udahBayar = false</strong>, berarti terbuat variabel <strong>udahBayar </strong>yang berisi tidak/belom</p><p><strong>Array<br></strong>Array ini sederhananya salah satu jenis variabel yang isinya merupakan kumpulan dari banyak variabel. Analoginya pas kita sekolah dulu kita kan dibagi jadi banyak kelas tuh dan di tiap kelas ada puluhan murid. Contoh semisal ada pengumuman buat kelas 3A harus kumpul di lapangan, semua murid yang kelasnya 3A harus datang langsung ke lapangan. Kalo di mesin semisal ada variabel <strong>anakGeng = [ ‘Budi’ , ’Jono’ , ’Tono’ , ’Kamto’] </strong>dari situ berarti Budi, Jono, Tono, dan Kamto akan terpanggil jika <strong>anakGeng</strong> terpanggil.</p><p><strong>Print<br></strong>Eiits print ini bukan nge print dokumen ya. Ini lebih ke istilah supaya mesin bisa ngasih timbal balik atau reaksi dalam bentuk text ke kita.</p><p><strong>Conditionals (IF - Else If - Else &amp; Switch - Case)<br></strong>Conditionals ini simpelnya kayak perandaian, pernah ga kaya suatu ketika sebelum bikin keputusan kita mikir kalo ambil A nanti gini ambil B nanti gini. Nah ini juga kaya gtu, kita ngasih pilihan ke mesin. Nah jenisnya conditionals ini ada 2 (If — Else dan Switch Case). Apa sih bedanya dari 2 itu ?</p><pre><strong>IF, Else If, Else</strong></pre><pre>if(kondisi a) aksiA<br>else if(kondisi b) aksiB<br>else aksiBiasa</pre><p>Yang pertama If, Else If, dan Else ini cara bacanya : Jika kondisi a maka aksiA terjadi tapi jika kondisi b maka aksiB terjadi dan jika kondisi a dan b ga terjadi maka berjalanlah aksiBiasa. Simpel kan ? ini bisa dicontoh simpelkan semisal temen kita ke pasar terus kita nitip “Eh kalo di pasar ada duren nitip ya 2 tapi kalo adanya apel 5 juga gapapa”. Nah temen kita pas ke pasar cari duren dulu kalo ada beli 2 kalo ga ada baru cari apel, kalo duren dan apelnya ga ada yaudah aksiBiasanya dia ga beli titipan kita.</p><pre><strong>Switch Case</strong></pre><pre>switch(variabel) ...<br>case(1): ... break; --&gt; akan kepanggil kalo variabel = 1<br>case(2): ... break; --&gt; akan kepanggil kalo variabel = 2<br>default: ... break; --&gt; akan kepanggil kalo variabel bukan 1 atau 2</pre><p>Kalo switch case ini bisa kita bayangin kaya kita lagi milah-milah barang nah variabel ini kaya barang yang lagi kita pilah, case-case ini adalah kondisi barangnya gimana. Penggambarannya seperti ini : Semisal ada box buah yang isinya campur-campur, terus kita lagi pilah-pilah terutama apel, jeruk, dan mangga buat ditaroh d piring masing-masing. Setiap kita ambil satu buah itu masuk ke switch statement, Jika apel ditaroh di piring merah, jika jeruk piring jingga, jika mangga piring hijau, dan lainnya tetep ditaroh di box. Ketika kita udah ambil satu buah langsung ditaroh sesuai jenis buahnya.</p><p><strong>Tadi Tentang Conditionals Terus Kondisinya apa aja ?<br></strong>Berikut detail tentang operator-operator yang dapat dipakai untuk di conditionals.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/636/1*xFFfQHLsW5e3acmZG4UlyQ.png" /><figcaption>Conditionals Operator</figcaption></figure><p><strong>Loop Statement (While &amp; For)<br></strong>Nah kalo Loop Statement ini tuh kaya rutinitas yang harus dilakukan berulang hingga kondisi dipenuhi. Loop ini jenisnya ada 2 tipe yaitu For loop dan While loop. Apa sih bedanya ? Simple kok</p><pre><strong>While Loop</strong></pre><pre>While(kondisi)<br>aksi</pre><p>cara baca while loop di atas itu, Selama kondisi masih berlangsung maka aksi harus dilakukan. Biasanya aksi di sini ada aksi yang merubah kondisi supaya looping bisa berhenti.</p><pre><strong>For Loop</strong></pre><pre>For(i = 0; i &lt; 5; i++) <br>aksi</pre><p>itu apa tuh yang ada di kurungan for kok keliatan ribet ? No itu simpel kok :) , cara baca for loop itu aksi akan berjalan hingga i telah lebih dari 5 dan awalnya i itu 0 dan setelah aksi berakhir i tambahkan dengan 1 (i++) jadi jika while loop hanya memberikan kondisi tapi kalo for loop diberi tau di awal akan berlangsung berapa kali.</p><p><strong>Function<br></strong>Function ini kaya kumpulan perintah yang dijadikan satu dan bisa langsung dipanggil, contoh simpelnya nih ketika kita mandi pasti kan ada urutan-urutannya, semisal urutan kita mandi kaya dibawah ini.</p><pre>mandi :<br>1. buka pakaian<br>2. basahin badan<br>3. sabunan<br>4. shampoan<br>5. sikat gigi<br>6. keringin badan<br>hasilnya badan bersih</pre><p>Nah terus semisal pas hari libur, kita belum mandi seharian ada temen yang tau terus bilang “Mandi sana” nah gara-gara itu kita langsung mandi, nah pas mandi kita ngelakuin aksi-aksi di atas berurutan, begitu juga dengan fungsi. Pertama kita cuman perlu state apa aja yang perlu dilakukan nah berikutnya kita tinggal menggunakan fungsi yang udah kita buat tanpa harus state perintah-perintahnya lagi. Lalu setelah selesai mandi kita hasilnya badan langsung bersih, kalau di fungsi ini disebut return yang dihasilkan dari fungsi tersebut. Jika set aksi di atas diubah jadi fungsi kurang lebih seperti di bawah:</p><pre>function mandi()<br>print &quot;Buka Pakaian&quot;<br>print &quot;Basahin Badan&quot;<br>print &quot;Sabunan&quot;<br>print &quot;Shampoan&quot;<br>print &quot;Sikat Gigi&quot;<br>print &quot;Keringin Badan&quot;<br>return &quot;Badan Bersih&quot;</pre><p>Fungsi juga bisa membawa variabel yang bisa dipakai di dalam fungsi tersebut semisal :</p><pre>function makan(menu)<br>if menu == &quot;nasi goreng&quot; <br>print &quot;Kenyang&quot;<br>else <br>print &quot;Kurang Kenyang&quot;<br><br>-------------------------</pre><pre>Lalu dipanggi seperti ini<br>makan(&quot;nasi goreng&quot;) --&gt; &quot;Kenyang&quot;<br>makan(&quot;takoyaki&quot;) --&gt; &quot;Belum Kenyang&quot;</pre><p>Nah jadi variabel yang ikut ke fungsi bisa digunakan langsung di dalam fungsi tersebut.</p><p><strong>Udah jago nih, Sekarang yuk belajar Pseudo-Code :</strong></p><p>Wah pseudo-code apa lagi tuh ? Ribet ah. Tenang ini simpel kok pseudo-code ini kalo kita lagi gambar atau nulis itu kaya kerangka awal. Sebelum belajar bahasa pemprograman macem-macem kalo kita udah bisa pseudo-code, kita kasarannya tinggal translate aja itu ke bahasa pemprograman yang kita mau. Mari kita baca sekilas pseudo-code dibawah</p><pre>function makan()<br>nasiUduk = 10000<br>ayamGoreng = 5000<br>lalapan = 1000<br>esTeh = 2000<br>return nasiUduk + ayamGoreng + lalapan + esTeh<br><br>-------------------------</pre><pre>function nambahMakan(uangDiDompet)<br>return uangDiDompet - makan()</pre><pre>-------------------------</pre><pre><strong>KODE UTAMA:</strong><br>uangDiDompet = 50000<br>uangDiDompet = uangDiDompet - makan()<br>jumlahMakan = 1<br>while(uangDiDompet &gt; makan()){<br>uangDiDompet = nambahMakan(uangDiDompet)<br>}<br>print &quot;Aku makan &quot;+jumlahMakan+ &quot; kali&quot;</pre><pre>=================================================================<br>hasil :<br>Aku makan 2 kali</pre><p>Case di atas itu case sehari-hari dimana kita punya uang di dompet 50 ribu terus pingin makan komplit yang harga masing-masingnya nasi uduk 10 ribu, ayam goreng 5 ribu, lalapan seribu, dan esTeh 2ribu. Nah setelah makan kalau uang di dompet masih cukup makan nambah makannya pake menu yang sama sampe uang di dompet ga cukup buat nambah. Setelah makannya rampung dia me-memberi timbal balik makannya berapa kali.</p><pre>function akuSuka()<br>belumSuka = true<br>levelSuka = 0<br>while(belumSuka)<br>var pdktSukses = PDKT(levelSuka)<br>if(pdktSukses) belumSuka = false<br>levelSuka = levelSuka +1</pre><pre>print &quot;Jadian Yuk&quot;</pre><pre>-------------------------</pre><pre>function akuTidakSuka()<br>print &quot;Cari Lagi&quot;</pre><pre>-------------------------</pre><pre>function PDKT(levelSuka)<br>if levelSuka &gt; 3 return true<br>else return false</pre><pre>-------------------------</pre><pre><strong>KODE UTAMA:</strong><br>cewekItu = &quot;badai&quot;<br>if(cewekItu == &quot;badai&quot;) akuSuka()<br>else akuTidakSuka()</pre><pre>=================================================================<br>hasil :<br>Jadian Yuk</pre><p>Case kedua ini lebih kompleks, tapi bisa dikorelasikan ke kehidupan sehari-hari. Semisal kita jadi satu cowok liat satu cewek, simpelnya kalo dia badai kita suka kalo ga badai ga suka. Kita mulai dari semisal ga badai lalu masuk ke fungsi akuTidakSuka dan ngasih timbal balik “Cari Lagi”. Tapi dalam case ini ceweknya badai jadi masuk ke fungsi akuSuka. Nah di fungsi akuSuka otomatis ceweknya awal belumSuka kan makanya <strong>belumSuka = true</strong> dan diibaratkan ada <strong>levelSuka</strong> cewek itu yang start dari 0. Lalu Selama dia belumSuka dan PDKT belum sukses kita selalu menjalankan fungsi PDKT yang membawa variabel levelSuka. Di fungsi PDKT ini hanya membagi jika levelSuka udah lebih dari 3 maka pdktSukses dan belumSuka berubah jadi false dan otomatis keluar dari while loop. Dan memberikan timbal balik Jadian Yuk.</p><p>Nah simpel kan ngoding ? Kalau ada pertanyaan yang ingin ditanyakan silahkan komentar di bawah atau jika cukup mendetail silahkan kontak saja di : ryanavilar@gmail.com</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a66afd0e03" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>